diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..ab30b7d03 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.gitignore +.git +2012-09-18-wheezy-raspbian.zip +lirc.tar +.DS_Store +Updates +.deb +opt/vc/src diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..a93a3560e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "usr/src/tools"] + path = usr/src/tools + url = https://github.com/raspberrypi/tools.git +[submodule "opt/raspberry/linux"] + path = opt/raspberry/linux + url = git://github.com/raspberrypi/linux.git diff --git a/COPYING b/COPYING new file mode 100644 index 000000000..37918e1be --- /dev/null +++ b/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/README.md b/README.md index 88174f0b9..036206634 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,11 @@ -xbian-1.0-fs-permissions-todo -============================= \ No newline at end of file +Dear XBian Forker, + +Last week we did some big changes on our main xbian repository. We are pleased to see that you have forked us but want to ask if you can delete your fork and re-fork us, so we are in sync again? + +Thanks in advanced! + +Regards, +CurlyMoo + +ps I. If you have any questions, you can contact me on development@xbian.org or the xbian.org forum.
+ps II. This not only counts for our main 'xbian' repo, but for all repo's you might have forked from us. diff --git a/boot/.firmware_revision b/boot/.firmware_revision new file mode 100644 index 000000000..d2786268a --- /dev/null +++ b/boot/.firmware_revision @@ -0,0 +1 @@ +47eba77cdaac2b94d1778c89030783c8f82a7b51 diff --git a/boot/COPYING.linux b/boot/COPYING.linux new file mode 100644 index 000000000..ca442d313 --- /dev/null +++ b/boot/COPYING.linux @@ -0,0 +1,356 @@ + + NOTE! This copyright does *not* cover user programs that use kernel + services by normal system calls - this is merely considered normal use + of the kernel, and does *not* fall under the heading of "derived work". + Also note that the GPL below is copyrighted by the Free Software + Foundation, but the instance of code that it refers to (the Linux + kernel) is copyrighted by me and others who actually wrote it. + + Also note that the only valid version of the GPL as far as the kernel + is concerned is _this_ particular version of the license (ie v2, not + v2.2 or v3.x or whatever), unless explicitly otherwise stated. + + Linus Torvalds + +---------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/boot/LICENCE.broadcom b/boot/LICENCE.broadcom new file mode 100644 index 000000000..bd04827cb --- /dev/null +++ b/boot/LICENCE.broadcom @@ -0,0 +1,29 @@ +Copyright (c) 2006, Broadcom Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* This software may only be used for the purposes of developing for, + running or using a Raspberry Pi device. +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Broadcom Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + diff --git a/boot/README.md b/boot/README.md new file mode 100644 index 000000000..be403ba6c --- /dev/null +++ b/boot/README.md @@ -0,0 +1,6 @@ +rpi-firmware +============ + +Firmware files for the Raspberry Pi. These are mirred in a seperate repo from the official one, because for updating the firmware, we're only interested in the files in the boot folder of the official repo. Git doesn't provide a way to clone only a single subfolder of a repo, and downloading the entire repo including the sample code and VC libs would take too long. + +If the boot firmware files are split off into a seperate repo, then the tool could be pointed at that repo instead of this one, as long as the firmware files are in the root of the repo. \ No newline at end of file diff --git a/boot/bootcode.bin b/boot/bootcode.bin new file mode 100644 index 000000000..88e1a00b5 Binary files /dev/null and b/boot/bootcode.bin differ diff --git a/boot/cmdline.txt b/boot/cmdline.txt new file mode 100755 index 000000000..2033aa5f5 --- /dev/null +++ b/boot/cmdline.txt @@ -0,0 +1 @@ +dwc_otg.fiq_fix_enable=1 sdhci-bcm2708.sync_after_dma=0 dwc_otg.lpm_enable=0 console=tty2 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait logo.nologo quiet loglevel=0 splash diff --git a/boot/config.txt b/boot/config.txt new file mode 100644 index 000000000..3a809e9fa --- /dev/null +++ b/boot/config.txt @@ -0,0 +1,7 @@ +arm_freq=840 +core_freq=375 +disable_overscan=1 +gpu_mem_256=128 +gpu_mem_512=128 +sdram_freq=400 +over_voltage=0 diff --git a/boot/fixup.dat b/boot/fixup.dat new file mode 100644 index 000000000..abc86c39a Binary files /dev/null and b/boot/fixup.dat differ diff --git a/boot/initramfs.gz b/boot/initramfs.gz new file mode 100755 index 000000000..6622e6f65 Binary files /dev/null and b/boot/initramfs.gz differ diff --git a/boot/kernel.img b/boot/kernel.img new file mode 100644 index 000000000..9d558fd2e Binary files /dev/null and b/boot/kernel.img differ diff --git a/boot/start.elf b/boot/start.elf new file mode 100644 index 000000000..2b00467ea Binary files /dev/null and b/boot/start.elf differ diff --git a/etc/bash_completion.d/xbian-config.sh b/etc/bash_completion.d/xbian-config.sh new file mode 100755 index 000000000..f3ae34191 --- /dev/null +++ b/etc/bash_completion.d/xbian-config.sh @@ -0,0 +1,17 @@ +_xbian-config() +{ + local cur prev opts + COMPREPLY=(); + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + if [ -d "/usr/local/include/xbian-config/modules/${prev}" ]; then + arguments=$(grep ARGUMENTS "/usr/local/include/xbian-config/modules/${prev}/main" | sed -ne 's/\(.*\)\((\)\(.*\)\().*\)/\3/p'); + COMPREPLY=($(compgen -W "${arguments}" -- $cur)) + return 0; + else + opts=$(ls /usr/local/include/xbian-config/modules/); + COMPREPLY=($(compgen -W "${opts}" -- ${cur})) + return 0; + fi +} +complete -F _xbian-config xbian-config diff --git a/etc/init.d/bootlocal b/etc/init.d/bootlocal new file mode 100755 index 000000000..073c9c68e --- /dev/null +++ b/etc/init.d/bootlocal @@ -0,0 +1,102 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of Xbian - XBMC on the Raspberry Pi. +# +#Xbian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#Xbian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with Xbian. If not, see +# +### BEGIN INIT INFO +# Provides: bootlocal +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: XBian boot scripts +# Description: +# +### END INIT INFO + +NAME=bootlocal +DESC="XBian boot scripts" +VERBOSE=no +SCRIPTNAME=/etc/init.d/bootlocal + +function resizesd() { + if [ $(grep "/dev/mmcblk0p2[\ ]\{1,\}/" /etc/fstab | wc -l) -eq 1 ] && [ $(grep noresizesd /proc/cmdline | wc -l) -eq 0 ]; then + # check if the partition needs resizing + FDISKBLOCKSIZE=$(/sbin/sfdisk -d /dev/mmcblk0 | grep Id=83 | awk '{printf "%d", $6}'); + FDISKBLOCKCOUNT=$(/sbin/fdisk -l /dev/mmcblk0 | grep Units | sed -ne 's/\(.*= \)\([0-9]\{1,\}\)\( bytes\)/\2/p'); + TUNE2FS=$(/sbin/tune2fs -l /dev/mmcblk0p2); + TUNEBLOCKSIZE=$(echo -e "${TUNE2FS}" | grep "Block size" | awk '{printf "%d", $3}'); + TUNEBLOCKCOUNT=$(echo -e "${TUNE2FS}" | grep "Block count" | awk '{printf "%d", $3}'); + TUNETOTALBLOCKS=$(($(($TUNEBLOCKCOUNT*$TUNEBLOCKSIZE))/1024/1024)); + FDISKTOTALBLOCKS=$(($(($FDISKBLOCKSIZE*$FDISKBLOCKCOUNT))/1024/1024)); + + # resize root partition + if [ $TUNETOTALBLOCKS -lt $FDISKTOTALBLOCKS ]; then + /sbin/resize2fs /dev/mmcblk0p2 + fi + + FDISKBLOCKSIZE=$(/sbin/sfdisk -d /dev/mmcblk0 | grep Id=83 | awk '{printf "%d", $6}'); + FDISKBLOCKCOUNT=$(/sbin/fdisk -l /dev/mmcblk0 | grep Units | sed -ne 's/\(.*= \)\([0-9]\{1,\}\)\( bytes\)/\2/p'); + TUNE2FS=$(/sbin/tune2fs -l /dev/mmcblk0p2); + TUNEBLOCKSIZE=$(echo -e "${TUNE2FS}" | grep "Block size" | awk '{printf "%d", $3}'); + TUNEBLOCKCOUNT=$(echo -e "${TUNE2FS}" | grep "Block count" | awk '{printf "%d", $3}'); + TUNETOTALBLOCKS=$(($(($TUNEBLOCKCOUNT*$TUNEBLOCKSIZE))/1024/1024)); + FDISKTOTALBLOCKS=$(($(($FDISKBLOCKSIZE*$FDISKBLOCKCOUNT))/1024/1024)); + + if [ $TUNETOTALBLOCKS -eq $FDISKTOTALBLOCKS ]; then + return 1; + else + return 0; + fi + fi +} + +function createswap() { + if [ ! -f /var/swapfile ] && [ $(grep noswapfile /proc/cmdline | wc -l) -eq 0 ]; then + dd if=/dev/zero of=/var/swapfile bs=1024 count=128000 + /sbin/mkswap /var/swapfile &>/dev/null + /sbin/swapon /var/swapfile &>/dev/null + fi + if [ -f /var/swapfile ] && [ $(grep /var/swapfile /etc/fstab | wc -l) -eq 0 ]; then + echo -e '/var/swapfile\tswap\tswap\tdefaults\t0\t0' >> /etc/fstab + fi +} + +case "$1" in + start) + resizesd; + if [ $? -eq 1 ]; then + createswap; + fi + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "" + /etc/rc.local + echo 1 | sudo tee /proc/sys/vm/drop_caches >/dev/null + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + sync + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop}" >&2 + exit 3 + ;; +esac + +: diff --git a/etc/init.d/lirc b/etc/init.d/lirc new file mode 100644 index 000000000..7d6e35184 --- /dev/null +++ b/etc/init.d/lirc @@ -0,0 +1,170 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: lirc +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Starts LIRC daemon. +# Description: LIRC is used to control different +# infrared receivers and transceivers. +### END INIT INFO + +load_modules () +{ + MODULES_MISSING=false + + log_daemon_msg "Loading LIRC modules" + for mod in $*; do + if [ $mod = "udev" ]; then + log_end_msg 0 + log_success_msg "Restarted via udev, don't reload modules" + break + else + modprobe $mod 2> /dev/null || MODULES_MISSING=true + fi + done + log_end_msg $? + + if $MODULES_MISSING; then + log_failure_msg "Unable to load LIRC kernel modules. Verify your" + log_failure_msg "selected kernel modules in /etc/lirc/hardware.conf" + START_LIRCMD=false + START_LIRCD=false + fi +} + +build_args () +{ + ARGS="$*" + + ## Try to find an lirc device. + if [ -z "$DEVICE" ]; then + if [ -c $dev ]; then + DEVICE="$dev" + break + fi + fi + + if [ -n "$DEVICE" ] && [ "$DEVICE" != "none" ]; then + ARGS="--device=$DEVICE $ARGS" + fi + + if [ -n "$DRIVER" ] && [ "$DRIVER" != "none" ]; then + ARGS="--driver=$DRIVER $ARGS" + fi + + echo $ARGS +} + +. /lib/lsb/init-functions + +test -f /usr/local/sbin/lircd || exit 0 +test -f /usr/local/sbin/lircmd || exit 0 + +START_LIRCMD=true +START_LIRCD=true +START_IREXEC=true + + +if [ -f /etc/lirc/hardware.conf ];then + . /etc/lirc/hardware.conf +fi + +if [ ! -f /etc/lirc/lircd.conf ] || grep -q "^#UNCONFIGURED" /etc/lirc/lircd.conf; then + if [ "$1" = "start" ]; then + log_success_msg "No valid /etc/lirc/lircd.conf has been found." + log_success_msg "Remote control support has been disabled." + log_success_msg "Reconfigure LIRC or manually replace /etc/lirc/lircd.conf to enable." + fi + + START_LIRCD=false + START_LIRCMD=false + START_IREXEC=false +fi + +if [ ! -f /etc/lirc/lircmd.conf ] || grep -q "^#UNCONFIGURED" /etc/lirc/lircmd.conf; then + START_LIRCMD=false +fi + +if [ ! -f /etc/lirc/lircrc ] || grep -q "^#UNCONFIGURED" /etc/lirc/lircrc; then + START_IREXEC=false +fi + +case "$1" in + start) + [ -d "/var/run/lirc" ] || mkdir -p "/var/run/lirc" + if [ "$LOAD_MODULES" = "true" ] && [ "$START_LIRCD" = "true" ]; then + load_modules $2 $MODULES + fi + + if [ "$START_LIRCD" = "true" ]; then + log_daemon_msg "Starting remote control daemon(s) : LIRC " + LIRCD_ARGS=`build_args $LIRCD_ARGS` + + if [ ! -z "$LIRCD_ARGS" ]; then + start-stop-daemon --start --quiet --oknodo --exec /usr/local/sbin/lircd -- $LIRCD_ARGS < /dev/null + # retain compatibility with old clients + ln -fs ../var/run/lirc/lircd /dev/lircd + log_end_msg $? + else + log_end_msg 1 + fi + fi + + if [ "$START_LIRCMD" = "true" ]; then + log_daemon_msg "Starting remote control mouse daemon : LIRCMD " + start-stop-daemon --start --quiet --oknodo --exec /usr/local/sbin/lircmd < /dev/null + log_end_msg $? + fi + + if [ "$START_IREXEC" = "true" ]; then + log_daemon_msg "Starting execution daemon: irexec" + start-stop-daemon --start --quiet --oknodo --exec /usr/local/bin/irexec -- -d /etc/lirc/lircrc < /dev/null + log_end_msg $? + fi + ;; + stop) + if [ "$START_IREXEC" = "true" ]; then + log_daemon_msg "Stopping execution daemon: irexec" + start-stop-daemon --stop --quiet --exec /usr/local/bin/irexec + log_end_msg $? + fi + + if [ "$START_LIRCMD" = "true" ]; then + log_daemon_msg "Stopping remote control mouse daemon: LIRCMD" + start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircmd + log_end_msg $? + fi + + if [ "$START_LIRCD" = "true" ]; then + log_daemon_msg "Stopping remote control daemon(s): LIRC" + start-stop-daemon --stop --quiet --exec /usr/local/sbin/lircd + log_end_msg $? + fi + ;; + reload|force-reload) + if [ "$START_IREXEC" = "true" ]; then + start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/bin/irexec + fi + + if [ "$START_LIRCD" = "true" ]; then + start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircd + fi + + if [ "$START_LIRCMD" = "true" ]; then + start-stop-daemon --stop --quiet --signal 1 --exec /usr/local/sbin/lircmd + fi + ;; + restart) + $0 stop + sleep 1 + #passes parameter $2 which is possibly our udev paramater + $0 start $2 + ;; + *) + echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}" + exit 1 +esac + +exit 0 diff --git a/etc/init.d/progress25 b/etc/init.d/progress25 new file mode 100755 index 000000000..ad288856f --- /dev/null +++ b/etc/init.d/progress25 @@ -0,0 +1,27 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: progress25 +# Required-Start: +# Required-Stop: +# Should-Start: +# Default-Start: S +# Default-Stop: +# Short-Description: +# Description: +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +case "$1" in + start|"") + if [ $(cat /boot/cmdline.txt | grep splash | /usr/bin/wc -l) -eq 1 ]; then +# if [ -d "/splash" ] && [ -f "/splash/splash" ]; then + if [ -f "/usr/bin/splash" ]; then +# $(/splash/splash --percentage=25); + $(splash --percentage=25); + fi + fi + ;; +esac + +: diff --git a/etc/init.d/progress37 b/etc/init.d/progress37 new file mode 100755 index 000000000..3deb78eaa --- /dev/null +++ b/etc/init.d/progress37 @@ -0,0 +1,27 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: progress37 +# Required-Start: $portmap $time +# Required-Stop: +# Should-Start: +# Default-Start: S +# Default-Stop: +# Short-Description: +# Description: +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +case "$1" in + start|"") + if [ $(cat /boot/cmdline.txt | grep splash | /usr/bin/wc -l) -eq 1 ]; then +# if [ -d "/splash" ] && [ -f "/splash/splash" ]; then + if [ -f "/usr/bin/splash" ]; then +# $(/splash/splash --percentage=37); + $(splash --percentage=37); + fi + fi + ;; +esac + +: diff --git a/etc/init.d/progress50 b/etc/init.d/progress50 new file mode 100755 index 000000000..de36e0858 --- /dev/null +++ b/etc/init.d/progress50 @@ -0,0 +1,27 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: progress50 +# Required-Start: hostname $local_fs +# Required-Stop: +# Should-Start: +# Default-Start: 1 2 3 4 5 +# Default-Stop: +# Short-Description: +# Description: +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +case "$1" in + start|"") + if [ $(cat /boot/cmdline.txt | grep splash | /usr/bin/wc -l) -eq 1 ]; then +# if [ -d "/splash" ] && [ -f "/splash/splash" ]; then + if [ -f "/usr/bin/splash" ]; then +# $(/splash/splash --percentage=50); + $(splash --percentage=50); + fi + fi + ;; +esac + +: diff --git a/etc/init.d/progress75 b/etc/init.d/progress75 new file mode 100755 index 000000000..67f654a62 --- /dev/null +++ b/etc/init.d/progress75 @@ -0,0 +1,27 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: progress75 +# Required-Start: sudo +# Required-Stop: +# Should-Start: +# Default-Start: 1 2 3 4 5 +# Default-Stop: +# Short-Description: +# Description: +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +case "$1" in + start|"") + if [ $(cat /boot/cmdline.txt | grep splash | /usr/bin/wc -l) -eq 1 ]; then +# if [ -d "/splash" ] && [ -f "/splash/splash" ]; then + if [ -f "/usr/bin/splash" ]; then +# $(/splash/splash --percentage=75); + $(splash --percentage=75); + fi + fi + ;; +esac + +: diff --git a/etc/init.d/umountfs b/etc/init.d/umountfs new file mode 100644 index 000000000..9b7805090 --- /dev/null +++ b/etc/init.d/umountfs @@ -0,0 +1,138 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: umountfs +# Required-Start: +# Required-Stop: umountroot +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Turn off swap and unmount all local file systems. +# Description: +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +. /lib/init/vars.sh + +. /lib/lsb/init-functions + +umask 022 + +do_stop () { + PROTECTED_MOUNTS="$(sed -n ':a;/^[^ ]* \/ /!{H;n;ba};{H;s/.*//;x;s/\n//;p}' /proc/mounts)" + WEAK_MTPTS="" # be gentle, don't use force + REG_MTPTS="" + TMPFS_MTPTS="" + while read -r DEV MTPT FSTYPE REST + do + echo "$PROTECTED_MOUNTS" | grep -qs "^$DEV $MTPT " && continue + case "$MTPT" in + /|/proc|/dev|/.dev|/dev/pts|/dev/shm|/dev/.static/dev|/proc/*|/sys|/sys/*|/run|/run/*) + continue + ;; + esac + case "$FSTYPE" in + proc|procfs|linprocfs|sysfs|usbfs|usbdevfs|devpts) + continue + ;; + tmpfs) + TMPFS_MTPTS="$MTPT $TMPFS_MTPTS" + ;; + *) + if echo "$PROTECTED_MOUNTS" | grep -qs "^$DEV "; then + WEAK_MTPTS="$MTPT $WEAK_MTPTS" + else + REG_MTPTS="$MTPT $REG_MTPTS" + fi + ;; + esac + done < /proc/mounts + + # + # Make sure tmpfs file systems are umounted before turning off + # swap, to avoid running out of memory if the tmpfs filesystems + # use a lot of space. + # + if [ "$TMPFS_MTPTS" ] + then + if [ "$VERBOSE" = no ] + then + log_action_begin_msg "Unmounting temporary filesystems" + fstab-decode umount $TMPFS_MTPTS + log_action_end_msg $? + else + log_daemon_msg "Will now unmount temporary filesystems" + fstab-decode umount -v $TMPFS_MTPTS + log_end_msg $? + fi + fi + + # + # Deactivate swap + # + if [ "$VERBOSE" = no ] + then + log_action_begin_msg "Deactivating swap" + swapoff -a >/dev/null + log_action_end_msg $? + else + log_daemon_msg "Will now deactivate swap" + swapoff -a -v + log_end_msg $? + fi + + # + # Unmount local filesystems + # + if [ "$WEAK_MTPTS" ]; then + # Do not use -f umount option for WEAK_MTPTS + if [ "$VERBOSE" = no ] + then + log_action_begin_msg "Unmounting weak filesystems" + fstab-decode umount -r -d $WEAK_MTPTS + log_action_end_msg $? + else + log_daemon_msg "Will now unmount weak filesystems" + fstab-decode umount -v -r -d $WEAK_MTPTS + log_end_msg $? + fi + fi + if [ "$REG_MTPTS" ] + then + if [ "$VERBOSE" = no ] + then + log_action_begin_msg "Sync local filesystems part 1" + sync + log_action_begin_msg "Sync local filesystems part 2" + sync + log_action_begin_msg "Unmounting local filesystems" + fstab-decode umount -f -r -d $REG_MTPTS + log_action_end_msg $? + else + log_action_begin_msg "Sync local filesystems part 1" + sync + log_action_begin_msg "Sync local filesystems part 2" + sync + log_daemon_msg "Will now unmount local filesystems" + fstab-decode umount -f -v -r -d $REG_MTPTS + log_end_msg $? + fi + fi +} + +case "$1" in + start) + # No-op + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + do_stop + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac + +: diff --git a/etc/init.d/umountroot b/etc/init.d/umountroot new file mode 100644 index 000000000..914a8d9e0 --- /dev/null +++ b/etc/init.d/umountroot @@ -0,0 +1,54 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: umountroot +# Required-Start: +# Required-Stop: +# Should-Stop: halt reboot kexec +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Mount the root filesystem read-only. +### END INIT INFO + +PATH=/sbin:/bin +. /lib/init/vars.sh + +. /lib/lsb/init-functions + +do_stop () { + + [ "$VERBOSE" = no ] || log_action_begin_msg "Sync root filesystem part 1" + sync + [ "$VERBOSE" = no ] || log_action_begin_msg "Sync root filesystem part 2" + sync + [ "$VERBOSE" = no ] || log_action_begin_msg "Mounting root filesystem read-only" + MOUNT_FORCE_OPT= + [ "$(uname -s)" = "GNU/kFreeBSD" ] && MOUNT_FORCE_OPT=-f + # This: + # mount -n -o remount,ro / + # will act on a bind mount of / if there is one. + # See #339023 and the comment in checkroot.sh + mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \ + || mount $MOUNT_FORCE_OPT -n -o remount,ro dummydev / 2>/dev/null \ + || mount $MOUNT_FORCE_OPT -n -o remount,ro / + ES=$? + [ "$VERBOSE" = no ] || log_action_end_msg $ES +} + +case "$1" in + start) + # No-op + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + do_stop + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac + +: diff --git a/etc/init.d/xbmc b/etc/init.d/xbmc new file mode 100644 index 000000000..fdb6bcf5d --- /dev/null +++ b/etc/init.d/xbmc @@ -0,0 +1,90 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see +# +### BEGIN INIT INFO +# Provides: xbmc +# Required-Start: bootlocal +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start and stop XBMC through init +# Description: +# +### END INIT INFO + +DESC=XBMC +NAME=xbmc.bin +DAEMON=/usr/local/lib/xbmc/$NAME +DAEMON_ARGS="--standalone" +PIDFILE=/var/run/xbmc.pid +SCRIPTNAME=/etc/init.d/xbmc + +. /lib/init/vars.sh +. /lib/lsb/init-functions + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +do_start() +{ + if [ $(ps -A | grep xbmc.bin | wc -l) -eq 0 ]; then + /usr/bin/black; + start-stop-daemon -c xbian -u xbian --start --quiet --pidfile $PIDFILE --exec $DAEMON --test || return 1; + echo $(start-stop-daemon -c xbian -u xbian -m --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS; RETURN=$?; case $RETURN in 0 ) pkill black; ;; 64 ) sudo halt ;; 66 ) sudo reboot; ;; esac || return 2) &exit + fi +} + +do_stop() +{ + start-stop-daemon --stop --signal 9 --retry 5 --quiet --pidfile $PIDFILE + pkill black; +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case 0 in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit 0 + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/etc/ld.so.conf.d/00-vmcs.conf b/etc/ld.so.conf.d/00-vmcs.conf new file mode 100644 index 000000000..b0a1aeb31 --- /dev/null +++ b/etc/ld.so.conf.d/00-vmcs.conf @@ -0,0 +1 @@ +/opt/vc/lib diff --git a/etc/lirc/hardware.conf b/etc/lirc/hardware.conf new file mode 100644 index 000000000..f820228e9 --- /dev/null +++ b/etc/lirc/hardware.conf @@ -0,0 +1,75 @@ +# +#Copyright 2012 CurlyMo +# +#Resize SD function is based on the corresponding function in raspi-config +#The overclocking function is copied from raspi-config +#raspi-config is created by Alex Bradbury +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see +# +#|-----------------------------------------------------| +#| Use the /etc/lirc/hardware/custom.conf file if you | +#| want to define a hardware configuration still | +#| unsupported by XBian. If you have created a working | +#| config for an unsupported remote, then please share | +#| it with us so we can include it in future builds. | +#|-----------------------------------------------------| + +if [ -f "/usr/local/share/xbmc/system/keymaps/remote.xml.xbian" ]; then + if [ -L "/usr/local/share/xbmc/system/keymaps/remote.xml" ]; then + rm /usr/local/share/xbmc/system/keymaps/remote.xml + fi + cp /usr/local/share/xbmc/system/keymaps/remote.xml.xbian /usr/local/share/xbmc/system/keymaps/remote.xml +fi + +. /etc/lirc/hardware/custom.conf +if [ -z $LIRCD_ARGS ] && [ $START_LIRCMD ] && [ $START_IREXEC ] && [ -z $LOAD_MODULES ] && [ -z $DRIVER ] && [ -z $DEVICE ] && [ -z $MODULES ] && [ -z $LIRCD_CONF ] && [ -z $LIRCMD_CONF ]; then + if [ $(dmesg | grep lirc_rpi | wc -l) -gt 0 ]; then + . /etc/lirc/hardware/lirc_rpi.conf + elif [ $(dmesg | grep mceusb | wc -l) -gt 0 ]; then + if [ $(cat /proc/bus/input/devices | grep 'Media Center Ed.' | wc -l) -gt 0 ]; then + if [ $(cat /proc/bus/input/devices | grep -m 1 -A 4 'Media Center Ed.' | grep -o event[0-9] | sed -e 's/event//g') -eq 0 ]; then + . /etc/lirc/hardware/mceusb_event0.conf + elif [ $(cat /proc/bus/input/devices | grep -m 1 -A 4 'Media Center Ed.' | grep -o event[0-9] | sed -e 's/event//g') -eq 1 ]; then + . /etc/lirc/hardware/mceusb_event1.conf + elif [ $(cat /proc/bus/input/devices | grep -m 1 -A 4 'Media Center Ed.' | grep -o event[0-9] | sed -e 's/event//g') -eq 2 ]; then + . /etc/lirc/hardware/mceusb_event2.conf + else + . /etc/lirc/hardware/mceusb.conf + fi + else + . /etc/lirc/hardware/mceusb.conf + fi + elif [ $(lsusb | grep -i xbox | wc -l) -gt 0 ]; then + . /etc/lirc/hardware/xbox.conf + elif [ $(dmesg | grep 'Philips RF Dongle' | wc -l) -gt 0 ]; then + . /etc/lirc/hardware/srm7500libusb.conf + elif [ $(dmesg | grep tigerfly | wc -l) -gt 0 ]; then + if [ ! -f "/usr/local/share/xbmc/system/keymaps/remote.xml.xbian" ]; then + mv /usr/local/share/xbmc/system/keymaps/remote.xml /usr/local/share/xbmc/system/keymaps/remote.xml.xbian + fi + ln -s /etc/lirc/remotes/tigerfly.xml /usr/local/share/xbmc/system/keymaps/remote.xml + . /etc/lirc/hardware/default.conf + elif [ $(dmesg | grep "HOLTEK[[:space:]]\{1,\}YaoCoo" | wc -l) -gt 0 ]; then + if [ ! -f "/usr/local/share/xbmc/system/keymaps/remote.xml.xbian" ]; then + mv /usr/local/share/xbmc/system/keymaps/remote.xml /usr/local/share/xbmc/system/keymaps/remote.xml.xbian + fi + ln -s /etc/lirc/remotes/speedlink.xml /usr/local/share/xbmc/system/keymaps/remote.xml + . /etc/lirc/hardware/default.conf + else + . /etc/lirc/hardware/default.conf + fi +fi diff --git a/etc/lirc/hardware/custom.conf b/etc/lirc/hardware/custom.conf new file mode 100644 index 000000000..dce653c21 --- /dev/null +++ b/etc/lirc/hardware/custom.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/custom.conf +# +# Arguments which will be used when launching lircd +#LIRCD_ARGS="" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=false + +#Try to load appropriate kernel modules +#LOAD_MODULES=false + +# Run "lircd --driver=help" for a list of supported drivers. +#DRIVER="" +# usually /dev/lirc0 is the correct setting for systems using udev +#DEVICE="" +#MODULES="" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" diff --git a/etc/lirc/hardware/default.conf b/etc/lirc/hardware/default.conf new file mode 100644 index 000000000..b582f1530 --- /dev/null +++ b/etc/lirc/hardware/default.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/default.conf +# +# Arguments which will be used when launching lircd +#LIRCD_ARGS="" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=false + +#Try to load appropriate kernel modules +#LOAD_MODULES=false + +# Run "lircd --driver=help" for a list of supported drivers. +DRIVER="default" +# usually /dev/lirc0 is the correct setting for systems using udev +#DEVICE="" +#MODULES="" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" \ No newline at end of file diff --git a/etc/lirc/hardware/lirc_rpi.conf b/etc/lirc/hardware/lirc_rpi.conf new file mode 100644 index 000000000..779adb83d --- /dev/null +++ b/etc/lirc/hardware/lirc_rpi.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/lirc_rpi.conf +# +# Arguments which will be used when launching lircd +LIRCD_ARGS="-u" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=false + +#Try to load appropriate kernel modules +LOAD_MODULES=true + +# Run "lircd --driver=help" for a list of supported drivers. +DRIVER="default" +# usually /dev/lirc0 is the correct setting for systems using udev +DEVICE="/dev/lirc0" +MODULES="lirc_rpi" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" diff --git a/etc/lirc/hardware/mceusb.conf b/etc/lirc/hardware/mceusb.conf new file mode 100644 index 000000000..ea4616a29 --- /dev/null +++ b/etc/lirc/hardware/mceusb.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/mceusb.conf +# +# Arguments which will be used when launching lircd +#LIRCD_ARGS="" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=true + +#Try to load appropriate kernel modules +LOAD_MODULES=true + +# Run "lircd --driver=help" for a list of supported drivers. +DRIVER="devinput" +# usually /dev/lirc0 is the correct setting for systems using udev +DEVICE="/dev/lirc0" +MODULES="lirc_dev mceusb" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" \ No newline at end of file diff --git a/etc/lirc/hardware/mceusb_event0.conf b/etc/lirc/hardware/mceusb_event0.conf new file mode 100644 index 000000000..4e02101c1 --- /dev/null +++ b/etc/lirc/hardware/mceusb_event0.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/mceusb_event0.conf +# +# Arguments which will be used when launching lircd +#LIRCD_ARGS="" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=false + +#Try to load appropriate kernel modules +LOAD_MODULES=true + +# Run "lircd --driver=help" for a list of supported drivers. +DRIVER="devinput" +# usually /dev/lirc0 is the correct setting for systems using udev +DEVICE="/dev/input/event0" +MODULES="lirc_dev mceusb" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" diff --git a/etc/lirc/hardware/mceusb_event1.conf b/etc/lirc/hardware/mceusb_event1.conf new file mode 100644 index 000000000..8b4787ec8 --- /dev/null +++ b/etc/lirc/hardware/mceusb_event1.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/mceusb_event1.conf +# +# Arguments which will be used when launching lircd +#LIRCD_ARGS="" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=false + +#Try to load appropriate kernel modules +LOAD_MODULES=true + +# Run "lircd --driver=help" for a list of supported drivers. +DRIVER="devinput" +# usually /dev/lirc0 is the correct setting for systems using udev +DEVICE="/dev/input/event1" +MODULES="lirc_dev mceusb" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" diff --git a/etc/lirc/hardware/mceusb_event2.conf b/etc/lirc/hardware/mceusb_event2.conf new file mode 100644 index 000000000..77ad5c7dc --- /dev/null +++ b/etc/lirc/hardware/mceusb_event2.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/mceusb_event2.conf +# +# Arguments which will be used when launching lircd +#LIRCD_ARGS="" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=false + +#Try to load appropriate kernel modules +LOAD_MODULES=true + +# Run "lircd --driver=help" for a list of supported drivers. +DRIVER="devinput" +# usually /dev/lirc0 is the correct setting for systems using udev +DEVICE="/dev/input/event2" +MODULES="lirc_dev mceusb" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" \ No newline at end of file diff --git a/etc/lirc/hardware/srm7500libusb.conf b/etc/lirc/hardware/srm7500libusb.conf new file mode 100644 index 000000000..d3574d3c5 --- /dev/null +++ b/etc/lirc/hardware/srm7500libusb.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/srm7500libusb.conf +# +# Arguments which will be used when launching lircd +LIRCD_ARGS="" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=false + +#Try to load appropriate kernel modules +#LOAD_MODULES=false + +# Run "lircd --driver=help" for a list of supported drivers. +DRIVER="srm7500libusb" +# usually /dev/lirc0 is the correct setting for systems using udev +DEVICE="macShortAddress=12:34,remoteShortAddress=56:78,macPANId=9a:bc" +#MODULES="" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" \ No newline at end of file diff --git a/etc/lirc/hardware/xbox.conf b/etc/lirc/hardware/xbox.conf new file mode 100644 index 000000000..47523697a --- /dev/null +++ b/etc/lirc/hardware/xbox.conf @@ -0,0 +1,23 @@ +# /etc/lirc/hardware/xbox.conf +# +# Arguments which will be used when launching lircd +#LIRCD_ARGS="" + +#Don't start lircmd even if there seems to be a good config file +#START_LIRCMD=false + +#Don't start irexec, even if a good config file seems to exist. +#START_IREXEC=false + +#Try to load appropriate kernel modules +LOAD_MODULES=true + +# Run "lircd --driver=help" for a list of supported drivers. +DRIVER="default" +# usually /dev/lirc0 is the correct setting for systems using udev +DEVICE="/dev/lirc0" +MODULES="lirc_xbox" + +# Default configuration files for your hardware if any +#LIRCD_CONF="" +#LIRCMD_CONF="" \ No newline at end of file diff --git a/etc/lirc/lircd.conf b/etc/lirc/lircd.conf new file mode 100644 index 000000000..dd9b59039 --- /dev/null +++ b/etc/lirc/lircd.conf @@ -0,0 +1,4 @@ +include "/etc/lirc/remotes/devinput.conf" +include "/etc/lirc/remotes/xbox.conf" +include "/etc/lirc/remotes/smt1000t.conf" +include "/etc/lirc/remotes/srm7500.conf" \ No newline at end of file diff --git a/etc/lirc/lircmd.conf b/etc/lirc/lircmd.conf new file mode 100644 index 000000000..8aa01687d --- /dev/null +++ b/etc/lirc/lircmd.conf @@ -0,0 +1,5 @@ +#UNCONFIGURED +# +# To find out how to get a proper configuration file please read: +# +# /usr/share/doc/lirc/README.Debian diff --git a/etc/lirc/remotes/devinput.conf b/etc/lirc/remotes/devinput.conf new file mode 100644 index 000000000..a9e779885 --- /dev/null +++ b/etc/lirc/remotes/devinput.conf @@ -0,0 +1,842 @@ +begin remote + + name devinput + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 16 + pre_data 0x1 + post_data_bits 32 + post_data 0x1 + gap 132799 + toggle_bit_mask 0x0 + + begin codes + KEY_NUMERIC_1 0x0201 + KEY_NUMERIC_2 0x0202 + KEY_NUMERIC_3 0x0203 + KEY_NUMERIC_4 0x0204 + KEY_NUMEIRC_5 0x0205 + KEY_NUMERIC_6 0x0206 + KEY_NUMEIRC_7 0x0207 + KEY_NUMEIRC_8 0x0208 + KEY_NUMEIRC_9 0x0209 + KEY_NUMERIC_STAR 0x020A + KEY_NUMERIC_0 0x0200 + KEY_NUMERIC_POUND 0x020B + KEY_0 0x000B + KEY_102ND 0x0056 + KEY_1 0x0002 + KEY_2 0x0003 + KEY_3 0x0004 + KEY_4 0x0005 + KEY_5 0x0006 + KEY_6 0x0007 + KEY_7 0x0008 + KEY_8 0x0009 + KEY_9 0x000A + KEY_A 0x001E + KEY_AB 0x0196 + KEY_AGAIN 0x0081 + KEY_ALTERASE 0x00DE + KEY_ANGLE 0x0173 + KEY_APOSTROPHE 0x0028 + KEY_ARCHIVE 0x0169 + KEY_AUDIO 0x0188 + KEY_AUX 0x0186 + KEY_B 0x0030 + KEY_BACK 0x009E + KEY_BACKSLASH 0x002B + KEY_BACKSPACE 0x000E + KEY_BASSBOOST 0x00D1 + KEY_BATTERY 0x00EC + KEY_BLUE 0x0191 + KEY_BOOKMARKS 0x009C + KEY_BREAK 0x019B + KEY_BRIGHTNESSDOWN 0x00E0 + KEY_BRIGHTNESSUP 0x00E1 + KEY_BRL_DOT1 0x01F1 + KEY_BRL_DOT2 0x01F2 + KEY_BRL_DOT3 0x01F3 + KEY_BRL_DOT4 0x01F4 + KEY_BRL_DOT5 0x01F5 + KEY_BRL_DOT6 0x01F6 + KEY_BRL_DOT7 0x01F7 + KEY_BRL_DOT8 0x01F8 + KEY_C 0x002E + KEY_CALC 0x008C + KEY_CALENDAR 0x018D + KEY_CAMERA 0x00D4 + KEY_CANCEL 0x00DF + KEY_CAPSLOCK 0x003A + KEY_CD 0x017F + KEY_CHANNEL 0x016B + KEY_CHANNELDOWN 0x0193 + KEY_CHANNELUP 0x0192 + KEY_CHAT 0x00D8 + KEY_CLEAR 0x0163 + KEY_CLOSE 0x00CE + KEY_CLOSECD 0x00A0 + KEY_COFFEE 0x0098 + KEY_COMMA 0x0033 + KEY_COMPOSE 0x007F + KEY_COMPUTER 0x009D + KEY_CONFIG 0x00AB + KEY_CONNECT 0x00DA + KEY_COPY 0x0085 + KEY_CUT 0x0089 + KEY_CYCLEWINDOWS 0x009A + KEY_D 0x0020 + KEY_DEL_EOL 0x01C0 + KEY_DEL_EOS 0x01C1 + KEY_DELETE 0x006F + KEY_DELETEFILE 0x0092 + KEY_DEL_LINE 0x01C3 + KEY_DIGITS 0x019D + KEY_DIRECTION 0x0099 + KEY_DIRECTORY 0x018A + KEY_DOCUMENTS 0x00EB + KEY_DOT 0x0034 + KEY_DOWN 0x006C + KEY_DVD 0x0185 + KEY_E 0x0012 + KEY_EDIT 0x00B0 + KEY_EJECTCD 0x00A1 + KEY_EJECTCLOSECD 0x00A2 + KEY_EMAIL 0x00D7 + KEY_END 0x006B + KEY_ENTER 0x001C + KEY_EPG 0x016D + KEY_EQUAL 0x000D + KEY_ESC 0x0001 + KEY_EXIT 0x00AE + KEY_F10 0x0044 + KEY_F11 0x0057 + KEY_F12 0x0058 + KEY_F13 0x00B7 + KEY_F14 0x00B8 + KEY_F15 0x00B9 + KEY_F1 0x003B + KEY_F16 0x00BA + KEY_F17 0x00BB + KEY_F18 0x00BC + KEY_F19 0x00BD + KEY_F20 0x00BE + KEY_F21 0x00BF + KEY_F22 0x00C0 + KEY_F23 0x00C1 + KEY_F24 0x00C2 + KEY_F2 0x003C + KEY_F 0x0021 + KEY_F3 0x003D + KEY_F4 0x003E + KEY_F5 0x003F + KEY_F6 0x0040 + KEY_F7 0x0041 + KEY_F8 0x0042 + KEY_F9 0x0043 + KEY_FASTFORWARD 0x00D0 + KEY_FAVORITES 0x016C + KEY_FILE 0x0090 + KEY_FINANCE 0x00DB + KEY_FIND 0x0088 + KEY_FIRST 0x0194 + KEY_FN 0x01D0 + KEY_FN_1 0x01DE + KEY_FN_2 0x01DF + KEY_FN_B 0x01E4 + KEY_FN_D 0x01E0 + KEY_FN_E 0x01E1 + KEY_FN_ESC 0x01D1 + KEY_FN_F 0x01E2 + KEY_FN_F10 0x01DB + KEY_FN_F1 0x01D2 + KEY_FN_F11 0x01DC + KEY_FN_F12 0x01DD + KEY_FN_F2 0x01D3 + KEY_FN_F3 0x01D4 + KEY_FN_F4 0x01D5 + KEY_FN_F5 0x01D6 + KEY_FN_F6 0x01D7 + KEY_FN_F7 0x01D8 + KEY_FN_F8 0x01D9 + KEY_FN_F9 0x01DA + KEY_FN_S 0x01E3 + KEY_FORWARD 0x009F + KEY_FORWARDMAIL 0x00E9 + KEY_FRONT 0x0084 + KEY_G 0x0022 + KEY_GOTO 0x0162 + KEY_GRAVE 0x0029 + KEY_GREEN 0x018F + KEY_H 0x0023 + KEY_HANGEUL 0x007A + KEY_HANJA 0x007B + KEY_HELP 0x008A + KEY_HENKAN 0x005C + KEY_HIRAGANA 0x005B + KEY_HOME 0x0066 + KEY_HOMEPAGE 0x00AC + KEY_HP 0x00D3 + KEY_I 0x0017 + KEY_INFO 0x0166 + KEY_INSERT 0x006E + KEY_INS_LINE 0x01C2 + KEY_ISO 0x00AA + KEY_J 0x0024 + KEY_K 0x0025 + KEY_KATAKANA 0x005A + KEY_KATAKANAHIRAGANA 0x005D + KEY_KBDILLUMDOWN 0x00E5 + KEY_KBDILLUMTOGGLE 0x00E4 + KEY_KBDILLUMUP 0x00E6 + KEY_KEYBOARD 0x0176 + KEY_KP0 0x0052 + KEY_KP1 0x004F + KEY_KP2 0x0050 + KEY_KP3 0x0051 + KEY_KP4 0x004B + KEY_KP5 0x004C + KEY_KP6 0x004D + KEY_KP7 0x0047 + KEY_KP8 0x0048 + KEY_KP9 0x0049 + KEY_KPASTERISK 0x0037 + KEY_KPCOMMA 0x0079 + KEY_KPDOT 0x0053 + KEY_KPENTER 0x0060 + KEY_KPEQUAL 0x0075 + KEY_KPJPCOMMA 0x005F + KEY_KPLEFTPAREN 0x00B3 + KEY_KPMINUS 0x004A + KEY_KPPLUS 0x004E + KEY_KPPLUSMINUS 0x0076 + KEY_KPRIGHTPAREN 0x00B4 + KEY_KPSLASH 0x0062 + KEY_L 0x0026 + KEY_LANGUAGE 0x0170 + KEY_LAST 0x0195 + KEY_LEFT 0x0069 + KEY_LEFTALT 0x0038 + KEY_LEFTBRACE 0x001A + KEY_LEFTCTRL 0x001D + KEY_LEFTMETA 0x007D + KEY_LEFTSHIFT 0x002A + KEY_LINEFEED 0x0065 + KEY_LIST 0x018B + KEY_M 0x0032 + KEY_MACRO 0x0070 + KEY_MAIL 0x009B + KEY_MAX 0x01FF + KEY_MEDIA 0x00E2 + KEY_MEMO 0x018C + KEY_MENU 0x008B + KEY_MHP 0x016F + KEY_MINUS 0x000C + KEY_MODE 0x0175 + KEY_MOVE 0x00AF + KEY_MP3 0x0187 + KEY_MSDOS 0x0097 + KEY_MUHENKAN 0x005E + KEY_MUTE 0x0071 + KEY_N 0x0031 + KEY_NEW 0x00B5 + KEY_NEXT 0x0197 + KEY_NEXTSONG 0x00A3 + KEY_NUMLOCK 0x0045 + KEY_O 0x0018 + KEY_OK 0x0160 + KEY_OPEN 0x0086 + KEY_OPTION 0x0165 + KEY_P 0x0019 + KEY_PAGEDOWN 0x006D + KEY_PAGEUP 0x0068 + KEY_PASTE 0x0087 + KEY_PAUSE 0x0077 + KEY_PAUSECD 0x00C9 + KEY_PC 0x0178 + KEY_PHONE 0x00A9 + KEY_PLAY 0x00CF + KEY_PLAYCD 0x00C8 + KEY_PLAYER 0x0183 + KEY_PLAYPAUSE 0x00A4 + KEY_POWER 0x0074 + KEY_POWER2 0x0164 + KEY_PREVIOUS 0x019C + KEY_PREVIOUSSONG 0x00A5 + KEY_PRINT 0x00D2 + KEY_PROG1 0x0094 + KEY_PROG2 0x0095 + KEY_PROG3 0x00CA + KEY_PROG4 0x00CB + KEY_PROGRAM 0x016A + KEY_PROPS 0x0082 + KEY_PVR 0x016E + KEY_Q 0x0010 + KEY_QUESTION 0x00D6 + KEY_R 0x0013 + KEY_RADIO 0x0181 + KEY_RECORD 0x00A7 + KEY_RED 0x018E + KEY_REDO 0x00B6 + KEY_REFRESH 0x00AD + KEY_REPLY 0x00E8 + KEY_RESERVED 0x0000 + KEY_RESTART 0x0198 + KEY_REWIND 0x00A8 + KEY_RIGHT 0x006A + KEY_RIGHTALT 0x0064 + KEY_RIGHTBRACE 0x001B + KEY_RIGHTCTRL 0x0061 + KEY_RIGHTMETA 0x007E + KEY_RIGHTSHIFT 0x0036 + KEY_RO 0x0059 + KEY_S 0x001F + KEY_SAT 0x017D + KEY_SAT2 0x017E + KEY_SAVE 0x00EA + KEY_SCREEN 0x0177 + KEY_SCROLLDOWN 0x00B2 + KEY_SCROLLLOCK 0x0046 + KEY_SCROLLUP 0x00B1 + KEY_SEARCH 0x00D9 + KEY_SELECT 0x0161 + KEY_SEMICOLON 0x0027 + KEY_SEND 0x00E7 + KEY_SENDFILE 0x0091 + KEY_SETUP 0x008D + KEY_SHOP 0x00DD + KEY_SHUFFLE 0x019A + KEY_SLASH 0x0035 + KEY_SLEEP 0x008E + KEY_SLOW 0x0199 + KEY_SOUND 0x00D5 + KEY_SPACE 0x0039 + KEY_SPORT 0x00DC + KEY_STOP 0x0080 + KEY_STOPCD 0x00A6 + KEY_SUBTITLE 0x0172 + KEY_SUSPEND 0x00CD + KEY_SWITCHVIDEOMODE 0x00E3 + KEY_SYSRQ 0x0063 + KEY_T 0x0014 + KEY_TAB 0x000F + KEY_TAPE 0x0180 + KEY_TEEN 0x019E + KEY_TEXT 0x0184 + KEY_TIME 0x0167 + KEY_TITLE 0x0171 + KEY_TUNER 0x0182 + KEY_TV 0x0179 + KEY_TV2 0x017A + KEY_TWEN 0x019F + KEY_U 0x0016 + KEY_UNDO 0x0083 + KEY_UNKNOWN 0x00F0 + KEY_UP 0x0067 + KEY_V 0x002F + KEY_VCR 0x017B + KEY_VCR2 0x017C + KEY_VENDOR 0x0168 + KEY_VIDEO 0x0189 + KEY_VOLUMEDOWN 0x0072 + KEY_VOLUMEUP 0x0073 + KEY_W 0x0011 + KEY_WAKEUP 0x008F + KEY_WWW 0x0096 + KEY_X 0x002D + KEY_XFER 0x0093 + KEY_Y 0x0015 + KEY_YELLOW 0x0190 + KEY_YEN 0x007C + KEY_Z 0x002C + KEY_ZENKAKUHANKAKU 0x0055 + KEY_ZOOM 0x0174 + BTN_0 0x0100 + BTN_1 0x0101 + BTN_2 0x0102 + BTN_3 0x0103 + BTN_4 0x0104 + BTN_5 0x0105 + BTN_6 0x0106 + BTN_7 0x0107 + BTN_8 0x0108 + BTN_9 0x0109 + BTN_A 0x0130 + BTN_B 0x0131 + BTN_BACK 0x0116 + BTN_BASE 0x0126 + BTN_BASE2 0x0127 + BTN_BASE3 0x0128 + BTN_BASE4 0x0129 + BTN_BASE5 0x012A + BTN_BASE6 0x012B + BTN_C 0x0132 + BTN_DEAD 0x012F + BTN_DIGI 0x0140 + BTN_EXTRA 0x0114 + BTN_FORWARD 0x0115 + BTN_GAMEPAD 0x0130 + BTN_GEAR_DOWN 0x0150 + BTN_GEAR_UP 0x0151 + BTN_JOYSTICK 0x0120 + BTN_LEFT 0x0110 + BTN_MIDDLE 0x0112 + BTN_MISC 0x0100 + BTN_MODE 0x013C + BTN_MOUSE 0x0110 + BTN_PINKIE 0x0125 + BTN_RIGHT 0x0111 + BTN_SELECT 0x013A + BTN_SIDE 0x0113 + BTN_START 0x013B + BTN_STYLUS 0x014B + BTN_STYLUS2 0x014C + BTN_TASK 0x0117 + BTN_THUMB 0x0121 + BTN_THUMB2 0x0122 + BTN_THUMBL 0x013D + BTN_THUMBR 0x013E + BTN_TL 0x0136 + BTN_TL2 0x0138 + BTN_TOOL_AIRBRUSH 0x0144 + BTN_TOOL_BRUSH 0x0142 + BTN_TOOL_DOUBLETAP 0x014D + BTN_TOOL_FINGER 0x0145 + BTN_TOOL_LENS 0x0147 + BTN_TOOL_MOUSE 0x0146 + BTN_TOOL_PEN 0x0140 + BTN_TOOL_PENCIL 0x0143 + BTN_TOOL_RUBBER 0x0141 + BTN_TOOL_TRIPLETAP 0x014E + BTN_TOP 0x0123 + BTN_TOP2 0x0124 + BTN_TOUCH 0x014A + BTN_TR 0x0137 + BTN_TR2 0x0139 + BTN_TRIGGER 0x0120 + BTN_WHEEL 0x0150 + BTN_X 0x0133 + BTN_Y 0x0134 + BTN_Z 0x0135 + end codes + +end remote + +# generated by devinput.sh (obsolete 32 bit version) +begin remote + + name devinput + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + pre_data_bits 16 + pre_data 0x8001 + gap 132799 + toggle_bit_mask 0x0 + + begin codes + KEY_0 0x000B + KEY_102ND 0x0056 + KEY_1 0x0002 + KEY_2 0x0003 + KEY_3 0x0004 + KEY_4 0x0005 + KEY_5 0x0006 + KEY_6 0x0007 + KEY_7 0x0008 + KEY_8 0x0009 + KEY_9 0x000A + KEY_A 0x001E + KEY_AB 0x0196 + KEY_AGAIN 0x0081 + KEY_ALTERASE 0x00DE + KEY_ANGLE 0x0173 + KEY_APOSTROPHE 0x0028 + KEY_ARCHIVE 0x0169 + KEY_AUDIO 0x0188 + KEY_AUX 0x0186 + KEY_B 0x0030 + KEY_BACK 0x009E + KEY_BACKSLASH 0x002B + KEY_BACKSPACE 0x000E + KEY_BASSBOOST 0x00D1 + KEY_BATTERY 0x00EC + KEY_BLUE 0x0191 + KEY_BOOKMARKS 0x009C + KEY_BREAK 0x019B + KEY_BRIGHTNESSDOWN 0x00E0 + KEY_BRIGHTNESSUP 0x00E1 + KEY_BRL_DOT1 0x01F1 + KEY_BRL_DOT2 0x01F2 + KEY_BRL_DOT3 0x01F3 + KEY_BRL_DOT4 0x01F4 + KEY_BRL_DOT5 0x01F5 + KEY_BRL_DOT6 0x01F6 + KEY_BRL_DOT7 0x01F7 + KEY_BRL_DOT8 0x01F8 + KEY_C 0x002E + KEY_CALC 0x008C + KEY_CALENDAR 0x018D + KEY_CAMERA 0x00D4 + KEY_CANCEL 0x00DF + KEY_CAPSLOCK 0x003A + KEY_CD 0x017F + KEY_CHANNEL 0x016B + KEY_CHANNELDOWN 0x0193 + KEY_CHANNELUP 0x0192 + KEY_CHAT 0x00D8 + KEY_CLEAR 0x0163 + KEY_CLOSE 0x00CE + KEY_CLOSECD 0x00A0 + KEY_COFFEE 0x0098 + KEY_COMMA 0x0033 + KEY_COMPOSE 0x007F + KEY_COMPUTER 0x009D + KEY_CONFIG 0x00AB + KEY_CONNECT 0x00DA + KEY_COPY 0x0085 + KEY_CUT 0x0089 + KEY_CYCLEWINDOWS 0x009A + KEY_D 0x0020 + KEY_DEL_EOL 0x01C0 + KEY_DEL_EOS 0x01C1 + KEY_DELETE 0x006F + KEY_DELETEFILE 0x0092 + KEY_DEL_LINE 0x01C3 + KEY_DIGITS 0x019D + KEY_DIRECTION 0x0099 + KEY_DIRECTORY 0x018A + KEY_DOCUMENTS 0x00EB + KEY_DOT 0x0034 + KEY_DOWN 0x006C + KEY_DVD 0x0185 + KEY_E 0x0012 + KEY_EDIT 0x00B0 + KEY_EJECTCD 0x00A1 + KEY_EJECTCLOSECD 0x00A2 + KEY_EMAIL 0x00D7 + KEY_END 0x006B + KEY_ENTER 0x001C + KEY_EPG 0x016D + KEY_EQUAL 0x000D + KEY_ESC 0x0001 + KEY_EXIT 0x00AE + KEY_F10 0x0044 + KEY_F11 0x0057 + KEY_F12 0x0058 + KEY_F13 0x00B7 + KEY_F14 0x00B8 + KEY_F15 0x00B9 + KEY_F1 0x003B + KEY_F16 0x00BA + KEY_F17 0x00BB + KEY_F18 0x00BC + KEY_F19 0x00BD + KEY_F20 0x00BE + KEY_F21 0x00BF + KEY_F22 0x00C0 + KEY_F23 0x00C1 + KEY_F24 0x00C2 + KEY_F2 0x003C + KEY_F 0x0021 + KEY_F3 0x003D + KEY_F4 0x003E + KEY_F5 0x003F + KEY_F6 0x0040 + KEY_F7 0x0041 + KEY_F8 0x0042 + KEY_F9 0x0043 + KEY_FASTFORWARD 0x00D0 + KEY_FAVORITES 0x016C + KEY_FILE 0x0090 + KEY_FINANCE 0x00DB + KEY_FIND 0x0088 + KEY_FIRST 0x0194 + KEY_FN 0x01D0 + KEY_FN_1 0x01DE + KEY_FN_2 0x01DF + KEY_FN_B 0x01E4 + KEY_FN_D 0x01E0 + KEY_FN_E 0x01E1 + KEY_FN_ESC 0x01D1 + KEY_FN_F 0x01E2 + KEY_FN_F10 0x01DB + KEY_FN_F1 0x01D2 + KEY_FN_F11 0x01DC + KEY_FN_F12 0x01DD + KEY_FN_F2 0x01D3 + KEY_FN_F3 0x01D4 + KEY_FN_F4 0x01D5 + KEY_FN_F5 0x01D6 + KEY_FN_F6 0x01D7 + KEY_FN_F7 0x01D8 + KEY_FN_F8 0x01D9 + KEY_FN_F9 0x01DA + KEY_FN_S 0x01E3 + KEY_FORWARD 0x009F + KEY_FORWARDMAIL 0x00E9 + KEY_FRONT 0x0084 + KEY_G 0x0022 + KEY_GOTO 0x0162 + KEY_GRAVE 0x0029 + KEY_GREEN 0x018F + KEY_H 0x0023 + KEY_HANGEUL 0x007A + KEY_HANJA 0x007B + KEY_HELP 0x008A + KEY_HENKAN 0x005C + KEY_HIRAGANA 0x005B + KEY_HOME 0x0066 + KEY_HOMEPAGE 0x00AC + KEY_HP 0x00D3 + KEY_I 0x0017 + KEY_INFO 0x0166 + KEY_INSERT 0x006E + KEY_INS_LINE 0x01C2 + KEY_ISO 0x00AA + KEY_J 0x0024 + KEY_K 0x0025 + KEY_KATAKANA 0x005A + KEY_KATAKANAHIRAGANA 0x005D + KEY_KBDILLUMDOWN 0x00E5 + KEY_KBDILLUMTOGGLE 0x00E4 + KEY_KBDILLUMUP 0x00E6 + KEY_KEYBOARD 0x0176 + KEY_KP0 0x0052 + KEY_KP1 0x004F + KEY_KP2 0x0050 + KEY_KP3 0x0051 + KEY_KP4 0x004B + KEY_KP5 0x004C + KEY_KP6 0x004D + KEY_KP7 0x0047 + KEY_KP8 0x0048 + KEY_KP9 0x0049 + KEY_KPASTERISK 0x0037 + KEY_KPCOMMA 0x0079 + KEY_KPDOT 0x0053 + KEY_KPENTER 0x0060 + KEY_KPEQUAL 0x0075 + KEY_KPJPCOMMA 0x005F + KEY_KPLEFTPAREN 0x00B3 + KEY_KPMINUS 0x004A + KEY_KPPLUS 0x004E + KEY_KPPLUSMINUS 0x0076 + KEY_KPRIGHTPAREN 0x00B4 + KEY_KPSLASH 0x0062 + KEY_L 0x0026 + KEY_LANGUAGE 0x0170 + KEY_LAST 0x0195 + KEY_LEFT 0x0069 + KEY_LEFTALT 0x0038 + KEY_LEFTBRACE 0x001A + KEY_LEFTCTRL 0x001D + KEY_LEFTMETA 0x007D + KEY_LEFTSHIFT 0x002A + KEY_LINEFEED 0x0065 + KEY_LIST 0x018B + KEY_M 0x0032 + KEY_MACRO 0x0070 + KEY_MAIL 0x009B + KEY_MAX 0x01FF + KEY_MEDIA 0x00E2 + KEY_MEMO 0x018C + KEY_MENU 0x008B + KEY_MHP 0x016F + KEY_MINUS 0x000C + KEY_MODE 0x0175 + KEY_MOVE 0x00AF + KEY_MP3 0x0187 + KEY_MSDOS 0x0097 + KEY_MUHENKAN 0x005E + KEY_MUTE 0x0071 + KEY_N 0x0031 + KEY_NEW 0x00B5 + KEY_NEXT 0x0197 + KEY_NEXTSONG 0x00A3 + KEY_NUMLOCK 0x0045 + KEY_O 0x0018 + KEY_OK 0x0160 + KEY_OPEN 0x0086 + KEY_OPTION 0x0165 + KEY_P 0x0019 + KEY_PAGEDOWN 0x006D + KEY_PAGEUP 0x0068 + KEY_PASTE 0x0087 + KEY_PAUSE 0x0077 + KEY_PAUSECD 0x00C9 + KEY_PC 0x0178 + KEY_PHONE 0x00A9 + KEY_PLAY 0x00CF + KEY_PLAYCD 0x00C8 + KEY_PLAYER 0x0183 + KEY_PLAYPAUSE 0x00A4 + KEY_POWER 0x0074 + KEY_POWER2 0x0164 + KEY_PREVIOUS 0x019C + KEY_PREVIOUSSONG 0x00A5 + KEY_PRINT 0x00D2 + KEY_PROG1 0x0094 + KEY_PROG2 0x0095 + KEY_PROG3 0x00CA + KEY_PROG4 0x00CB + KEY_PROGRAM 0x016A + KEY_PROPS 0x0082 + KEY_PVR 0x016E + KEY_Q 0x0010 + KEY_QUESTION 0x00D6 + KEY_R 0x0013 + KEY_RADIO 0x0181 + KEY_RECORD 0x00A7 + KEY_RED 0x018E + KEY_REDO 0x00B6 + KEY_REFRESH 0x00AD + KEY_REPLY 0x00E8 + KEY_RESERVED 0x0000 + KEY_RESTART 0x0198 + KEY_REWIND 0x00A8 + KEY_RIGHT 0x006A + KEY_RIGHTALT 0x0064 + KEY_RIGHTBRACE 0x001B + KEY_RIGHTCTRL 0x0061 + KEY_RIGHTMETA 0x007E + KEY_RIGHTSHIFT 0x0036 + KEY_RO 0x0059 + KEY_S 0x001F + KEY_SAT 0x017D + KEY_SAT2 0x017E + KEY_SAVE 0x00EA + KEY_SCREEN 0x0177 + KEY_SCROLLDOWN 0x00B2 + KEY_SCROLLLOCK 0x0046 + KEY_SCROLLUP 0x00B1 + KEY_SEARCH 0x00D9 + KEY_SELECT 0x0161 + KEY_SEMICOLON 0x0027 + KEY_SEND 0x00E7 + KEY_SENDFILE 0x0091 + KEY_SETUP 0x008D + KEY_SHOP 0x00DD + KEY_SHUFFLE 0x019A + KEY_SLASH 0x0035 + KEY_SLEEP 0x008E + KEY_SLOW 0x0199 + KEY_SOUND 0x00D5 + KEY_SPACE 0x0039 + KEY_SPORT 0x00DC + KEY_STOP 0x0080 + KEY_STOPCD 0x00A6 + KEY_SUBTITLE 0x0172 + KEY_SUSPEND 0x00CD + KEY_SWITCHVIDEOMODE 0x00E3 + KEY_SYSRQ 0x0063 + KEY_T 0x0014 + KEY_TAB 0x000F + KEY_TAPE 0x0180 + KEY_TEEN 0x019E + KEY_TEXT 0x0184 + KEY_TIME 0x0167 + KEY_TITLE 0x0171 + KEY_TUNER 0x0182 + KEY_TV 0x0179 + KEY_TV2 0x017A + KEY_TWEN 0x019F + KEY_U 0x0016 + KEY_UNDO 0x0083 + KEY_UNKNOWN 0x00F0 + KEY_UP 0x0067 + KEY_V 0x002F + KEY_VCR 0x017B + KEY_VCR2 0x017C + KEY_VENDOR 0x0168 + KEY_VIDEO 0x0189 + KEY_VOLUMEDOWN 0x0072 + KEY_VOLUMEUP 0x0073 + KEY_W 0x0011 + KEY_WAKEUP 0x008F + KEY_WWW 0x0096 + KEY_X 0x002D + KEY_XFER 0x0093 + KEY_Y 0x0015 + KEY_YELLOW 0x0190 + KEY_YEN 0x007C + KEY_Z 0x002C + KEY_ZENKAKUHANKAKU 0x0055 + KEY_ZOOM 0x0174 + BTN_0 0x0100 + BTN_1 0x0101 + BTN_2 0x0102 + BTN_3 0x0103 + BTN_4 0x0104 + BTN_5 0x0105 + BTN_6 0x0106 + BTN_7 0x0107 + BTN_8 0x0108 + BTN_9 0x0109 + BTN_A 0x0130 + BTN_B 0x0131 + BTN_BACK 0x0116 + BTN_BASE 0x0126 + BTN_BASE2 0x0127 + BTN_BASE3 0x0128 + BTN_BASE4 0x0129 + BTN_BASE5 0x012A + BTN_BASE6 0x012B + BTN_C 0x0132 + BTN_DEAD 0x012F + BTN_DIGI 0x0140 + BTN_EXTRA 0x0114 + BTN_FORWARD 0x0115 + BTN_GAMEPAD 0x0130 + BTN_GEAR_DOWN 0x0150 + BTN_GEAR_UP 0x0151 + BTN_JOYSTICK 0x0120 + BTN_LEFT 0x0110 + BTN_MIDDLE 0x0112 + BTN_MISC 0x0100 + BTN_MODE 0x013C + BTN_MOUSE 0x0110 + BTN_PINKIE 0x0125 + BTN_RIGHT 0x0111 + BTN_SELECT 0x013A + BTN_SIDE 0x0113 + BTN_START 0x013B + BTN_STYLUS 0x014B + BTN_STYLUS2 0x014C + BTN_TASK 0x0117 + BTN_THUMB 0x0121 + BTN_THUMB2 0x0122 + BTN_THUMBL 0x013D + BTN_THUMBR 0x013E + BTN_TL 0x0136 + BTN_TL2 0x0138 + BTN_TOOL_AIRBRUSH 0x0144 + BTN_TOOL_BRUSH 0x0142 + BTN_TOOL_DOUBLETAP 0x014D + BTN_TOOL_FINGER 0x0145 + BTN_TOOL_LENS 0x0147 + BTN_TOOL_MOUSE 0x0146 + BTN_TOOL_PEN 0x0140 + BTN_TOOL_PENCIL 0x0143 + BTN_TOOL_RUBBER 0x0141 + BTN_TOOL_TRIPLETAP 0x014E + BTN_TOP 0x0123 + BTN_TOP2 0x0124 + BTN_TOUCH 0x014A + BTN_TR 0x0137 + BTN_TR2 0x0139 + BTN_TRIGGER 0x0120 + BTN_WHEEL 0x0150 + BTN_X 0x0133 + BTN_Y 0x0134 + BTN_Z 0x0135 + end codes + +end remote diff --git a/etc/lirc/remotes/mceusb.conf b/etc/lirc/remotes/mceusb.conf new file mode 100644 index 000000000..06ad5ccf6 --- /dev/null +++ b/etc/lirc/remotes/mceusb.conf @@ -0,0 +1,74 @@ +begin remote + + name mceusb + bits 13 + flags RC6|CONST_LENGTH + eps 30 + aeps 100 + + header 2698 843 + one 461 423 + zero 461 423 + pre_data_bits 24 + pre_data 0x1BFF83 + gap 106225 + suppress_repeat 2 + + toggle_bit_mask 0x8000 + rc6_mask 0x100000000 + + begin codes + KEY_POWER 0x1B9A + KEY_POWER 0x1BF3 + KEY_RECORD 0x1BE8 + KEY_STOP 0x1BE6 + KEY_PAUSE 0x1BE7 + KEY_REWIND 0x1BEA + KEY_PLAY 0x1BE9 + KEY_FORWARD 0x1BEB + KEY_PREVIOUSSONG 0x1BE4 + KEY_NEXTSONG 0x1BE5 + KEY_BACK 0x1BDC + KEY_CONTEXT_MENU 0x1BF0 + KEY_UP 0x1BE1 + KEY_LEFT 0x1BDF + KEY_RIGHT 0x1BDE + KEY_DOWN 0x1BE0 + KEY_OK 0x1BDD + KEY_VOLUMEUP 0x1BEF + KEY_VOLUMEDOWN 0x1BEE + KEY_MUTE 0x1BF1 + KEY_CHANNELUP 0x1BED + KEY_CHANNELDOWN 0x1BEC + KEY_SUBTITLE 0x1BDB + KEY_TV 0x1BDA + KEY_TV 0x1BB9 + KEY_1 0x1BFE + KEY_2 0x1BFD + KEY_3 0x1BFC + KEY_4 0x1BFB + KEY_5 0x1BFA + KEY_6 0x1BF9 + KEY_7 0x1BF8 + KEY_8 0x1BF7 + KEY_9 0x1BF6 + KEY_STAR 0x1BE2 + KEY_0 0x1BFF + KEY_HASHTAG 0x1BE3 + KEY_DELETE 0x1BF5 + KEY_TEXT 0x1BA5 + KEY_RED 0x1BA4 + KEY_GREEN 0x1BA3 + KEY_YELLOW 0x1BA2 + KEY_BLUE 0x1BA1 + KEY_AUDIO 0x1BB8 + KEY_PICTURES 0x1BB6 + KEY_VIDEO 0x1BB5 + KEY_HOME 0x1BF2 + KEY_RECORD 0x1BB7 + KEY_GUIDE 0x1BD9 + KEY_SELECT 0x1BF4 + KEY_RETURN 0x1BD8 + end codes + +end remote diff --git a/etc/lirc/remotes/smt1000t.conf b/etc/lirc/remotes/smt1000t.conf new file mode 100644 index 000000000..95a417c5d --- /dev/null +++ b/etc/lirc/remotes/smt1000t.conf @@ -0,0 +1,59 @@ +begin remote + + name smt1000t + bits 16 + flags SPACE_ENC|CONST_LENGTH + eps 30 + aeps 100 + + header 9031 4430 + one 618 1625 + zero 618 503 + ptrail 618 + repeat 9029 2190 + pre_data_bits 16 + pre_data 0x202 + gap 107694 + toggle_bit_mask 0x0 + suppress_repeat 2 + + begin codes + KEY_POWER 0x50AF + KEY_MUTE 0x30CF + KEY_TV 0xF00F + KEY_1 0x807F + KEY_2 0x40BF + KEY_3 0xC03F + KEY_4 0x20DF + KEY_5 0xA05F + KEY_6 0x609F + KEY_7 0xE01F + KEY_8 0x10EF + KEY_9 0x906F + KEY_0 0x00FF + KEY_TEXT 0xA25D + KEY_AUDIO 0xB847 + KEY_MENU 0x02FD + KEY_EPG 0x58A7 + KEY_INFO 0x42BD + KEY_EXIT 0x827D + KEY_UP 0xD02F + KEY_DOWN 0x708F + KEY_LEFT 0x08F7 + KEY_RIGHT 0x8877 + KEY_VOLUMEDOWN 0x38C7 + KEY_VOLUMEUP 0xA857 + KEY_CHANNELDOWN 0x7887 + KEY_CHANNELUP 0xF807 + KEY_OK 0xB04F + KEY_RED 0x6897 + KEY_GREEN 0xE817 + KEY_YELLOW 0x18E7 + KEY_BLUE 0x9867 + KEY_FAVORITES 0xE21D + KEY_MEDIA_REPEAT 0xC23D + KEY_AB 0x629D + KEY_TIME 0x48B7 + end codes + +end remote \ No newline at end of file diff --git a/etc/lirc/remotes/speedlink.xml b/etc/lirc/remotes/speedlink.xml new file mode 100644 index 000000000..8fb4fea07 --- /dev/null +++ b/etc/lirc/remotes/speedlink.xml @@ -0,0 +1,544 @@ + + + + + + + + + + + +

Play

+ Queue + FastForward + Rewind + Left + Right + Up + Down + PageUp + PageDown + Select + Select + ParentDir + ActivateWindow(PlayerControls) + ActivateWindow(shutdownmenu) + PreviousMenu + Info + ContextMenu + ContextMenu + Pause + Stop + SkipNext + SkipPrevious + FullScreen + Screenshot + Screenshot + VolumeDown + VolumeUp + Number0 + Number1 + Number2 + Number3 + Number4 + Number5 + Number6 + Number7 + Number8 + Number9 + ToggleFullScreen + XBMC.ActivateWindow(Home) + ActivateWindow(Favourites) + + + ActivateWindow(MyPrograms) + XBMC.ActivateWindow(MyMusic) + Pause + Stop + VolumeUp + Mute + VolumeDown + SkipNext + SkipPrevious + + + FirstPage + LastPage + ParentDir + Play + + + +

Play

+ Stop +

Pause

+ FastForward + Rewind + SkipNext + SkipPrevious + Info + VolumeUp + VolumeDown + Mute + OSD + ActivateWindow(music) + ActivateWindow(pictures) + ActivateWindow(video) + + + XBMC.ShutDown() + XBMC.ActivateWindow(10134) + XBMC.ActivateWindow(Home) + + Screenshot + XBMC.ActivateWindow(10134) + XBMC.ActivateWindow(10003) + ContextMenu + VolumeDown +
+
+ + + XBMC.ShutDown() + + + + + info + XBMC.ShutDown() + + + + + Backspace + + + + + Highlight + Delete + Move + Rename + + + + + Playlist + Delete + MoveItemUp + MoveItemDown + Playlist + + + + + MoveItemUp + MoveItemDown + Delete + + + + + Playlist + Queue + + + + + Playlist + Queue + + + + + FastForward + Rewind + StepForward + StepBack + Fullscreen + SmallStepBack + BigStepForward + BigStepBack + OSD + OSD + OSD + Info + CodecInfo + AspectRatio + ShowSubtitles + NextSubtitle + StepBack + StepForward + BigStepForward + BigStepBack + AudioDelay + Fullscreen + XBMC.ActivateWindow(Teletext) + + + + + Select + Select + + + + + FastForward + Rewind + StepForward + Close + CodecInfo + Close + Close + OSD + + + + + Close + close + + + + + FastForward + Rewind + SkipNext + SkipPrevious + ActivateWindow(MusicOSD) + ActivateWindow(MusicOSD) + ActivateWindow(MusicOSD) + Info +

ActivateWindow(VisualisationPresetList)

+ ActivateWindow(VisualisationSettings) + ActivateWindow(MusicPlaylist) + SkipPrevious + SkipNext + IncreaseRating + DecreaseRating + CodecInfo + LockPreset + FullScreen +
+
+ + + Close + FastForward + Rewind + SkipNext + SkipPrevious + Close + Info + CodecInfo +

ActivateWindow(VisualisationPresetList)

+ ActivateWindow(VisualisationSettings) + ActivateWindow(MusicPlaylist) +
+
+ + + Close + FastForward + Rewind + SkipNext + SkipPrevious + Close + Info + CodecInfo +

ActivateWindow(VisualisationPresetList)

+ Close + ActivateWindow(MusicPlaylist) +
+
+ + + Close + FastForward + Rewind + SkipNext + SkipPrevious + Close + Info + CodecInfo +

Close

+ Close + ActivateWindow(MusicPlaylist) +
+
+ + + ZoomNormal + ZoomLevel1 + ZoomLevel2 + ZoomLevel3 + ZoomLevel4 + ZoomLevel5 + ZoomLevel6 + ZoomLevel7 + ZoomLevel8 + ZoomLevel9 + Info + CodecInfo + NextPicture + PreviousPicture + ZoomIn + ZoomOut + Rotate + PreviousMenu + + + + + NextCalibration + NextCalibration + ResetCalibration + NextResolution + + + + + NextCalibration + NextCalibration + ResetCalibration + + + + + Close + Close + + + + + Close + Close + Close + close + Info + CodecInfo + + + + + BigStepForward + BigStepBack + OSD + Info + CodecInfo + AspectRatio + ShowSubtitles + NextSubtitle + AudioDelay + Fullscreen + Select + Select + PreviousMenu + + + + + Close + Close + Info + CodecInfo + + + + + Close + Close + Info + CodecInfo + + + + + Close + Close + + + + + Delete + Playlist + ToggleWatched + + + + + Playlist + Queue + ToggleWatched + + + + + Playlist + Playlist + Delete + MoveItemUp + MoveItemDown + + + + + Close + Close + Close + + + + + Close + + + + + info + + + + + PreviousMenu + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + + + + + PreviousMenu + Close + + + + + PreviousMenu + + + + + Close + Close + + + + + Close + Close + Close + Close + + + + + Close + + + + + Close + + + + + Close + + + + + Close + PreviousMenu + + + + + Close + PreviousMenu + + + + + NextPicture + PreviousPicture + Close + Close + Close + Close + Pause + + + + + Close + Close + Close + + + + + Close + + + + + Close + + +
\ No newline at end of file diff --git a/etc/lirc/remotes/srm7500.conf b/etc/lirc/remotes/srm7500.conf new file mode 100644 index 000000000..8e563bd46 --- /dev/null +++ b/etc/lirc/remotes/srm7500.conf @@ -0,0 +1,65 @@ +begin remote + + name srm7500 + bits 16 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + gap 132799 + toggle_bit_mask 0x0 + post_data_bits 8 + post_data 0x01 + + begin codes + KEY_LEFT 0x0029 + KEY_RIGHT 0x0031 + KEY_UP 0x0023 + KEY_DOWN 0x0011 + KEY_OK 0x0039 + KEY_HOME 0x0015 + KEY_BACK 0x0024 + KEY_RECORD 0x0012 + KEY_PLAY 0x001A + KEY_PAUSE 0x0016 + KEY_STOP 0x0017 + KEY_FORWARD 0x0047 + KEY_REWIND 0x0007 + KEY_VOLUMEDOWN 0x002A + KEY_VOLUMEUP 0x0027 + KEY_CHANNELUP 0x0037 + KEY_CHANNELDOWN 0x003A + KEY_NEXT 0x004A + KEY_AGAIN 0x000A + KEY_MUTE 0x0028 + KEY_POWER 0x0035 + KEY_VIDEO 0x0036 + KEY_AUDIO 0x0026 + KEY_1 0x0008 + KEY_2 0x0018 + KEY_3 0x0048 + KEY_4 0x0009 + KEY_5 0x0019 + KEY_6 0x0049 + KEY_7 0x0004 + KEY_8 0x0014 + KEY_9 0x0044 + KEY_0 0x0013 + KEY_RED 0x0005 + KEY_GREEN 0x0002 + KEY_YELLOW 0x0045 + KEY_BLUE 0x0046 + KEY_DVD 0x0032 + KEY_CLEAR 0x0001 + KEY_ENTER 0x0041 + KEY_SETUP 0x0022 + KEY_CONTEXT_MENU 0x0033 + KEY_STAR 0x0003 + KEY_TEXT 0x0042 + KEY_HASHTAG 0x0043 + KEY_SWITCHVIDEOMODE 0x0006 + + end codes +end remote + diff --git a/etc/lirc/remotes/tigerfly.xml b/etc/lirc/remotes/tigerfly.xml new file mode 100644 index 000000000..b2add1350 --- /dev/null +++ b/etc/lirc/remotes/tigerfly.xml @@ -0,0 +1,54 @@ + + + + XBMC.ActivateWindow(Home) + XBMC.ActivateWindow(Music,Artists) + XBMC.ActivateWindow(Video,MovieTitles) + XBMC.ActivateWindow(Pictures) + XBMC.ActivateWindow(Videos,TvShowTitles) + SkipNext + SkipPrevious + FastForward + Rewind + Pause + Stop + AspectRatio + VolumeUp + VolumeDown + Mute + ContextMenu + Info + Back + PageUp + PageDown + Select + Up + Down + Left + Right + ShowSubtitles + NextSubtitles + ToggleFullScreen + + + + + Backspace + + + + + StepBack + StepForward + BigStepForward + BigStepBack + OSD + + + + + ZoomOut + ZoomIn + + + \ No newline at end of file diff --git a/etc/lirc/remotes/xbox.conf b/etc/lirc/remotes/xbox.conf new file mode 100644 index 000000000..4c840d145 --- /dev/null +++ b/etc/lirc/remotes/xbox.conf @@ -0,0 +1,44 @@ +# brand: Microsoft Xbox DVD Receiever (also works with generic) +begin remote + + name Microsoft_Xbox + bits 8 + eps 30 + aeps 100 + + one 0 0 + zero 0 0 + gap 163983 + toggle_bit_mask 0x0 + + begin codes + LEFT 0xA9 + UP 0xA6 + RIGHT 0xA8 + DOWN 0xA7 + SELECT 0x0B + 1 0xCE + 2 0xCD + 3 0xCC + 4 0xCB + 5 0xCA + 6 0xC9 + 7 0xC8 + 8 0xC7 + 9 0xC6 + 0 0xCF + MENU 0xF7 + DISPLAY 0xD5 + REVERSE 0xE2 + FORWARD 0xE3 + PLAY 0xEA + PAUSE 0xE6 + STOP 0xE0 + SKIP- 0xDD + SKIP+ 0xDF + TITLE 0xE5 + INFO 0xC3 + BACK 0xD8 + end codes + +end remote diff --git a/etc/modprobe.d/8192cu.conf b/etc/modprobe.d/8192cu.conf new file mode 100644 index 000000000..2c40e99da --- /dev/null +++ b/etc/modprobe.d/8192cu.conf @@ -0,0 +1 @@ +options 8192cu rtw_power_mgnt=0 rtw_enusbss=0 diff --git a/etc/motd b/etc/motd new file mode 100644 index 000000000..cf9439d0c --- /dev/null +++ b/etc/motd @@ -0,0 +1,22 @@ +------------------------------------------------------------------ + Y88b d88P 888888b. 8888888 d8888 888b 888 + Y88o88P 888 .88P 888 d88P888 88888b 888 + Y888P 8888888K. 888 d88P 888 888Y88b 888 + d888b 888 "Y88b 888 d88P 888 888 Y88b888 + d88P Y88b 888 d88P 888 d8888888888 888 Y8888 + d88P Y88b 8888888P" 8888888 d88P 888 888 Y888 +------------------------------------------------------------------ +XBian v1.0 - XBMC on the Raspbery Pi, Bleeding Edge, 2012 - 2013 +Find up as: http://www.xbian.org / https://github.com/xbianonpi/xbian + +XBian and all it's packages are distributed as free software; the +exact distribution terms for each program are described in the +individual files in /usr/share/doc/*/copyright. XBian itself is +distributed under the GNU GENERAL PUBLIC LICENSE v3. A full copy +of this license can be found under /etc/xbian_copying + +XBian v1.0 comes with ABSOLUTELY NO WARRANTY, to the extent +permitted by applicable law. + +!Important notice! +rpi-update breaks core features of xbian, use it at your own risk diff --git a/etc/network/interfaces b/etc/network/interfaces new file mode 100644 index 000000000..ffa444f9c --- /dev/null +++ b/etc/network/interfaces @@ -0,0 +1,12 @@ +auto lo + +iface lo inet loopback +iface eth0 inet dhcp + +allow-hotplug wlan0 +iface wlan0 inet manual +wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf +wireless-power off +iface default inet dhcp + + diff --git a/etc/profile b/etc/profile new file mode 100644 index 000000000..7266f186b --- /dev/null +++ b/etc/profile @@ -0,0 +1,37 @@ +# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) +# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). + +if [ "`id -u`" -eq 0 ]; then + PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +else + PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" +fi +export PATH + +if [ "$PS1" ]; then + if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then + # The file bash.bashrc already sets the default PS1. + # PS1=h:w$ + if [ -f /etc/bash.bashrc ]; then + . /etc/bash.bashrc + fi + else + if [ "`id -u`" -eq 0 ]; then + PS1=# + else + PS1=$ + fi + fi +fi + +# The default umask is now handled by pam_umask. +# See pam_umask(8) and /etc/login.defs. + +if [ -d /etc/profile.d ]; then + for i in /etc/profile.d/*.sh; do + if [ -r $i ]; then + . $i + fi + done + unset i +fi diff --git a/etc/rc.local b/etc/rc.local new file mode 100644 index 000000000..65634dfa4 --- /dev/null +++ b/etc/rc.local @@ -0,0 +1,14 @@ +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +exit 0 diff --git a/etc/usbmount/usbmount.conf b/etc/usbmount/usbmount.conf new file mode 100644 index 000000000..150858060 --- /dev/null +++ b/etc/usbmount/usbmount.conf @@ -0,0 +1,56 @@ +# Configuration file for the usbmount package, which mounts removable +# storage devices when they are plugged in and unmounts them when they +# are removed. + +# Change to zero to disable usbmount +ENABLED=1 + +# Mountpoints: These directories are eligible as mointpoints for +# removable storage devices. A newly plugged in device is mounted on +# the first directory in this list that exists and on which nothing is +# mounted yet. +MOUNTPOINTS="/media/usb0 /media/usb1 /media/usb2 /media/usb3 + /media/usb4 /media/usb5 /media/usb6 /media/usb7" + +# Filesystem types: removable storage devices are only mounted if they +# contain a filesystem type which is in this list. +FILESYSTEMS="ntfs vfat ext2 ext3 ext4 hfsplus exfat" + +############################################################################# +# WARNING! # +# # +# The "sync" option may not be a good choice to use with flash drives, as # +# it forces a greater amount of writing operating on the drive. This makes # +# the writing speed considerably lower and also leads to a faster wear out # +# of the disk. # +# # +# If you omit it, don't forget to use the command "sync" to synchronize the # +# data on your disk before removing the drive or you may experience data # +# loss. # +# # +# It is highly recommended that you use the pumount command (as a regular # +# user) before unplugging the device. It makes calling the "sync" command # +# and mounting with the sync option unnecessary---this is similar to other # +# operating system's "safely disconnect the device" option. # +############################################################################# +# Mount options: Options passed to the mount command with the -o flag. +# See the warning above regarding removing "sync" from the options. +MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime,rw" + +# Filesystem type specific mount options: This variable contains a space +# separated list of strings, each which the form "-fstype=TYPE,OPTIONS". +# +# If a filesystem with a type listed here is mounted, the corresponding +# options are appended to those specificed in the MOUNTOPTIONS variable. +# +# For example, "-fstype=vfat,gid=floppy,dmask=0007,fmask=0117" would add +# the options "gid=floppy,dmask=0007,fmask=0117" when a vfat filesystem +# is mounted. +FS_MOUNTOPTIONS="-fstype=ntfs,gid=xbian,uid=xbian,umask=0 \ + -fstype=vfat,gid=xbian,uid=xbian,umask=0 \ + -fstype=hfsplus,gid=xbian,uid=xbian,umask=0,force \ + -fstype=exfat,gid=xbian,uid=xbian,umask=0" + +# If set to "yes", more information will be logged via the syslog +# facility. +VERBOSE=no diff --git a/etc/xbian_copying b/etc/xbian_copying new file mode 100644 index 000000000..37918e1be --- /dev/null +++ b/etc/xbian_copying @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/etc/xbian_version b/etc/xbian_version new file mode 100644 index 000000000..0c1cef877 --- /dev/null +++ b/etc/xbian_version @@ -0,0 +1 @@ +1.0a5 diff --git a/home/xbian/.bashrc b/home/xbian/.bashrc new file mode 100644 index 000000000..247913b16 --- /dev/null +++ b/home/xbian/.bashrc @@ -0,0 +1,105 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +[ -z "$PS1" ] && return + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w \$\[\033[00m\] ' +else + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" + ;; +*) + ;; +esac + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + #alias dir='dir --color=auto' + #alias vdir='vdir --color=auto' + + alias grep='grep --color=auto' + alias fgrep='fgrep --color=auto' + alias egrep='egrep --color=auto' +fi + +# some more ls aliases +#alias ll='ls -l' +#alias la='ls -A' +#alias l='ls -CF' + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if [ -f /etc/bash_completion ] && ! shopt -oq posix; then + . /etc/bash_completion +fi + +sudo xbian-config diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/LICENSE.txt b/home/xbian/.xbmc/addons/plugin.xbianconfig/LICENSE.txt new file mode 100755 index 000000000..2d513a790 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/LICENSE.txt @@ -0,0 +1,282 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS +------------------------------------------------------------------------- diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/addon.xml b/home/xbian/.xbmc/addons/plugin.xbianconfig/addon.xml new file mode 100755 index 000000000..545c87b8d --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/addon.xml @@ -0,0 +1,19 @@ + + + + + + + executable + + + + Easily configure your XBian installation. + XBian is a free, Open Source media center distribution for the Raspberry Pi, which can be downloaded at http://www.xbian.org. Our slogan is “XBMC on Raspberry Pi, bleeding edge†as our main focus is delivering the fastest mediacenter solution for the Raspberry Pi. We believe that everyone can help make XBian better. Please visit our website for support and if you have suggestions, wishes or contributions, please share them with us! + all + + + + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/10_system.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/10_system.py new file mode 100755 index 000000000..8d2d16fbc --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/10_system.py @@ -0,0 +1,646 @@ +from resources.lib.xbmcguie.xbmcContainer import * +from resources.lib.xbmcguie.xbmcControl import * +from resources.lib.xbmcguie.tag import Tag +from resources.lib.xbmcguie.category import Category,Setting + +from resources.lib.xbianconfig import xbianConfig +from resources.lib.utils import * + + +import xbmcgui +import os + +dialog=xbmcgui.Dialog() + +class NewtorkLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Network')) + +class NetworkControl(MultiSettingControl): + XBMCDEFAULTCONTAINER = False + DHCP = 'DHCP' + STATIC = 'Static' + + def onInit(self) : + self.interface = SpinControlex(Tag('label','Interface')) + self.addControl(self.interface) + self.interfacelist = xbianConfig('network','list') + self.interfaceValue = {} + + for interface in self.interfacelist : + self.interfaceValue[interface] = {} + self.interfaceValue[interface]['content'] = Content(Tag('label',interface),defaultSKin=False) + self.interface.addContent(self.interfaceValue[interface]['content']) + + #create the interface group + self.interfaceValue[interface]['group'] = MultiSettingControl(Tag('visible','Container(%d).HasFocus(%d)'%(self.interface.getWrapListId(),self.interfaceValue[interface]['content'].getId()))) + self.addControl(self.interfaceValue[interface]['group']) + + #add status control + self.interfaceValue[interface]['status'] = ButtonControl(Tag('label',' -Status')) + self.interfaceValue[interface]['group'].addControl(self.interfaceValue[interface]['status']) + + #check if Wifi + self.interfaceValue[interface]['wifi'] = False + if xbianConfig('network','type',interface)[0] == '1': + self.interfaceValue[interface]['wifi'] = True + self.interfaceValue[interface]['ssid'] = ButtonControl(Tag('label',' -Ssid')) + self.interfaceValue[interface]['ssid'].onClick = lambda wifi : self.wifi(interface) + self.interfaceValue[interface]['group'].addControl(self.interfaceValue[interface]['ssid']) + + + #add interface mode Control (static/dhcp) + self.interfaceValue[interface]['mode'] = SpinControlex(Tag('label',' -Mode')) + dhcp = Content(Tag('label',self.DHCP),defaultSKin=False) + static = Content(Tag('label',self.STATIC),defaultSKin=False) + self.interfaceValue[interface]['mode'].addContent(dhcp) + self.interfaceValue[interface]['mode'].addContent(static) + self.interfaceValue[interface]['group'].addControl(self.interfaceValue[interface]['mode']) + + #add Static Group + self.interfaceValue[interface]['staticgroup'] = MultiSettingControl(Tag('visible','Container(%d).HasFocus(%d)'%(self.interfaceValue[interface]['mode'].getWrapListId(),static.getId()))) + self.interfaceValue[interface]['ipadress'] = ButtonControl(Tag('label',' -Adress')) + self.interfaceValue[interface]['ipadress'].onClick = lambda ipadress: ipadress.setValue(getIp('Ip adress',ipadress.getValue())) + self.interfaceValue[interface]['subnet'] = ButtonControl(Tag('label',' -Subnet')) + self.interfaceValue[interface]['subnet'].onClick = lambda subnet: subnet.setValue(getIp('Subnet',subnet.getValue())) + self.interfaceValue[interface]['gateway'] = ButtonControl(Tag('label',' -Gateway')) + self.interfaceValue[interface]['gateway'].onClick = lambda gateway: gateway.setValue(getIp('Gateway',gateway.getValue())) + self.interfaceValue[interface]['dns1'] = ButtonControl(Tag('label',' -Primary Dns')) + self.interfaceValue[interface]['dns1'].onClick = lambda dns1: dns1.setValue(getIp('Primary Dns',dns1.getValue())) + self.interfaceValue[interface]['dns2'] = ButtonControl(Tag('label',' -Secondary Dns')) + self.interfaceValue[interface]['dns2'].onClick = lambda dns2: dns2.setValue(getIp('Primary Dns',dns2.getValue())) + self.interfaceValue[interface]['staticgroup'].addControl(self.interfaceValue[interface]['ipadress']) + self.interfaceValue[interface]['staticgroup'].addControl(self.interfaceValue[interface]['subnet']) + self.interfaceValue[interface]['staticgroup'].addControl(self.interfaceValue[interface]['gateway']) + self.interfaceValue[interface]['staticgroup'].addControl(self.interfaceValue[interface]['dns1']) + self.interfaceValue[interface]['staticgroup'].addControl(self.interfaceValue[interface]['dns2']) + self.interfaceValue[interface]['group'].addControl(self.interfaceValue[interface]['staticgroup']) + + + def setValue(self,values): + default = values[0] + #self.interface.setValue(default) + networkValue = values[1] + for key in networkValue : + value = networkValue[key] + if value[0] == 'static' : + self.interfaceValue[key]['mode'].setValue(self.STATIC) + else: + self.interfaceValue[key]['mode'].setValue(self.DHCP) + + self.interfaceValue[key]['status'].setValue(value[1]) + self.interfaceValue[key]['ipadress'].setValue(value[2]) + self.interfaceValue[key]['subnet'].setValue(value[3]) + self.interfaceValue[key]['gateway'].setValue(value[4]) + self.interfaceValue[key]['dns1'].setValue(value[5]) + self.interfaceValue[key]['dns2'].setValue(value[6]) + + if self.interfaceValue[key]['wifi'] : + self.interfaceValue[key]['ssid'].setValue('%s'%value[7]) + + + def wifi(self,interface) : + pass + + def getValue(self) : + default = self.interface.getValue() + networkValue = {} + for interface in self.interfacelist : + networktmp = self.interfaceValue[interface]['group'].getValue() + #sort to be compliant to xbianconfig + networkValue[interface] = [] + if self.interfaceValue[interface]['wifi'] : + networkValue[interface].append(networktmp[2].lower()) + networkValue[interface].append(networktmp[0]) + networkValue[interface].append(networktmp[3]) + networkValue[interface].append(networktmp[4]) + networkValue[interface].append(networktmp[5]) + networkValue[interface].append(networktmp[6]) + networkValue[interface].append(networktmp[7]) + networkValue[interface].append(networktmp[1]) + else : + networkValue[interface].append(networktmp[1].lower()) + networkValue[interface].append(networktmp[0]) + networkValue[interface].append(networktmp[2]) + networkValue[interface].append(networktmp[3]) + networkValue[interface].append(networktmp[4]) + networkValue[interface].append(networktmp[5]) + networkValue[interface].append(networktmp[6]) + return [default,networkValue] + +class NetworkSetting(Setting) : + CONTROL = NetworkControl() + DIALOGHEADER = "Network Settings" + ERRORTEXT = "Error on updating" + OKTEXT = "Update ok" + SAVEMODE = Setting.ONUNFOCUS + +# def setControlValue(self,value): +# self.getControl().setValue(val) + + def onInit(self) : + self.control.wifi = self.connectWifi + + def connectWifi(self,interface) : + self.userValue = self.getUserValue() + if self.isModified() : + progress = dialogWait('Updating','Updating settings for %s'%(interface)) + progress.show() + self.setXbianValue(self.userValue) + progress.close() + + if wifiConnect(interface) : + progress = dialogWait('Refresh','Reloading values for %s'%(interface)) + progress.show() + interface_config = xbianConfig('network','status',interface) + lanConfig = [] + for config in interface_config : + try : + val = config.split(' ') + if val[0] == 'mode' and val[1] == 'manual': + val[1] = 'dhcp' + if val[0] == 'ssid' and not val[1]: + val[1] = 'Not connected' + if not val[0] in ('protection','key') : + lanConfig.append(val[1]) + except : + print 'XBian : Cannot refreh wifi settings' + lanConfig.append(None) + self.xbianValue[interface] = lanConfig + progress.close() + #sleep a bit otherwise windows is not ready, and there's a xbmc bug i think. + time.sleep(0.6) + self.setControlValue({interface : lanConfig}) + self.OKTEXT = '%s successfully connected'%interface + self.notifyOnSuccess() + else : + self.ERRORTEXT = 'Cannot connect %s'%interface + self.notifyOnError() + + def setControlValue(self,value) : + self.control.setValue([self.default,value]) + + def isModified(self) : + equal = False + for key in self.userValue : + if self.xbianValue[key][0] != self.userValue[key][0] : + equal = True + break + if self.userValue[key][0] != 'dhcp' : + j = (0,2,3,4,5,6) + for i in j : + if self.xbianValue[key][i] != self.userValue[key][i] : + equal = True + break + return equal + + def getUserValue(self): + tmp = self.getControl().getValue() + self.default = tmp[0] + return tmp[1] + + def getXbianValue(self): + self.default = False + self.lanConfig={} + for interface in self.getControl().interfacelist : + interface_config = xbianConfig('network','status',interface) + if interface_config[2] == 'UP' or not self.default : + self.default = interface + self.lanConfig[interface] = [] + for config in interface_config : + try : + val = config.split(' ') + if val[0] == 'mode' and val[1] == 'manual': + val[1] = 'static' + if val[0] == 'ssid' and not val[1]: + val[1] = 'Not connected' + if not val[0] in ('protection','key') : + self.lanConfig[interface].append(val[1]) + except : + self.lanConfig[interface].append(None) + return self.lanConfig + + def setXbianValue(self,values): + ok = True + for interface in values : + if values[interface] != self.xbianValue[interface]: + if values[interface][0].lower() == NetworkControl.DHCP.lower() : + mode = 'dhcp' + cmd = [mode,interface] + else : + mode = 'static' + cmd = [mode,interface,values[interface][2],values[interface][3],values[interface][4],values[interface][5],values[interface][6]] + rc = xbianConfig('network',*cmd) + if not rc : + ok = False + self.ERRORTEXT = "No return code from xbian-config" + elif rc[0] != '1' : + ok = False + self.ERRORTEXT = rc[1] + return ok + + +class LicenceLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Licenses')) + +class mpeg2License(Setting) : + CONTROL = ButtonControl(Tag('label','MPG2')) + DIALOGHEADER = "MPEG2 license" + ERRORTEXT = "Error updating" + OKTEXT = "Update ok" + BADUSERENTRYTEXT = "A license must be 9 or 10 characters long and looks like 0x00000000" + + def onInit(self) : + self.xbiankey = 'licensempg2' + + def getUserValue(self): + return getText(self.DIALOGHEADER,self.getControlValue()) + + def checkUserValue(self,value): + try : + hexvalue = int(value,16) + keyok = ((len(value) == 10) or (len(value) == 9)) and value[:2] == '0x' + except : + keyok = False + return keyok + + def getXbianValue(self): + licenseValue =xbianConfig(self.xbiankey,'select') + if licenseValue and licenseValue[0][:2] == '0x' : + self.XbianLicenseCmd = 'update' + return licenseValue[0] + else : + if len(licenseValue) == 0 or licenseValue[0] == "" : + self.XbianLicenseCmd = 'insert' + else : + self.XbianLicenseCmd = 'update' + return '0x' + + + def setXbianValue(self,value): + rc = xbianConfig(self.xbiankey,self.XbianLicenseCmd,value) + ok = True + if not rc: + ok = False + elif rc[0] != '1' : + ok = False + return ok + + +class vc1License(mpeg2License) : + CONTROL = ButtonControl(Tag('label','VC1')) + DIALOGHEADER = "VC1 license" + + def onInit(self) : + self.xbiankey = 'licensevc1' + +class connectivityLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Connectivity'),Tag('visible','skin.hasSetting(advancedmode)')) + +class videooutputControl(MultiSettingControl): + XBMCDEFAULTCONTAINER = False + + def onInit(self) : + self.videooutputlist = xbianConfig('videoflags','list') + self.videooutputcontrol = {} + for videooutput in self.videooutputlist : + guiname = videooutput.replace('_',' ').capitalize() + self.videooutputcontrol[videooutput] = RadioButtonControl(Tag('label',guiname)) + self.videooutputcontrol[videooutput].onClick = lambda forwardclick : self.onClick(self) + self.addControl(self.videooutputcontrol[videooutput]) + + def setValue(self,values) : + for key in values : + if values[key] == '1' : + boolvalue = True + else : + boolvalue = False + self.videooutputcontrol[key].setValue(boolvalue) + + def getValue(self) : + rc = {} + for videooutput in self.videooutputlist : + rc[videooutput] = str(self.videooutputcontrol[videooutput].getValue()) + return rc + + + + +class videooutput(Setting) : + CONTROL = videooutputControl(Tag('visible','skin.hasSetting(advancedmode)')) + DIALOGHEADER = "Video output " + ERRORTEXT = "Error on updating" + OKTEXT = "Update ok" + + def onInit(self) : + self.listvalue = xbianConfig('videoflags','list') + self.value = {} + + def getUserValue(self): + return self.getControlValue() + + def getXbianValue(self): + for value in self.listvalue : + if not self.value.has_key(value) : + self.value[value] = xbianConfig('videoflags','select',value)[0] + return self.value + + def setXbianValue(self,value): + #set xbian config here + for key in value : + if value[key] != self.xbianValue[key] : + rc = xbianConfig('videoflags','update',key,value[key]) + self.DIALOGHEADER = key.replace('_',' ').title() + break + if rc and rc[0] == '1' : + return True + else : + return False + +class SytemLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','System'),Tag('visible','skin.hasSetting(advancedmode)')) + + +class hostname(Setting) : + CONTROL = ButtonControl(Tag('label','Hostname'),Tag('visible','skin.hasSetting(advancedmode)')) + DIALOGHEADER = "Hostname" + ERRORTEXT = "Error updating" + OKTEXT = "Update ok" + BADUSERENTRYTEXT = "You used invalid characters in the new hostname" + + def getUserValue(self): + return getText(self.DIALOGHEADER,self.getControlValue()) + + def checkUserValue(self,value): + return value.isalnum() + + def getXbianValue(self): + licenseValue =xbianConfig('hostname','select') + if licenseValue : + return licenseValue[0] + else : + return '' + + def setXbianValue(self,value): + rc = xbianConfig('hostname','update',value) + ok = True + if not rc: + ok = False + elif rc[0] != '1' : + ok = False + return ok + +class kernel(Setting) : + CONTROL = SpinControlex(Tag('label','Kernel'),Tag('visible','skin.hasSetting(advancedmode)')) + DIALOGHEADER = "Kernel Version" + ERRORTEXT = "Error updating" + OKTEXT = "Update ok" + SAVEMODE = Setting.ONUNFOCUS + + def onInit(self): + kernellist =xbianConfig('kernel','list') + for kernel in kernellist : + content = Content(Tag('label',kernel),defaultSKin=False) + self.control.addContent(content) + + def getUserValue(self): + return self.control.getValue() + + def getXbianValue(self): + kernelVersion =xbianConfig('kernel','select') + if kernelVersion : + return kernelVersion[0] + else : + return '' + + def setXbianValue(self,value): + rc = xbianConfig('kernel','update',value) + ok = True + if not rc: + ok = False + elif rc[0] != '1' : + if rc[0] == '-1' : + self.ERRORTEXT = 'Insufficient number of arguments' + elif rc[0] == '-2' : + self.ERRORTEXT = 'Already running this kernel' + elif rc[0] == '-3' : + self.ERRORTEXT = "Kernel version doesn't exist" + ok = False + return ok + +class OverclockControl(MultiSettingControl): + XBMCDEFAULTCONTAINER = False + + def onInit(self) : + self.overclockMode = SpinControlex(Tag('label','Overclocking')) + self.addControl(self.overclockMode) + self.overclockinglist = xbianConfig('overclocking','list') + + for mode in self.overclockinglist : + content = Content(Tag('label',mode),defaultSKin=False) + self.overclockMode.addContent(content) + if mode == 'Custom' : + self.customOverclock = MultiSettingControl(Tag('visible','Container(%d).HasFocus(%d)'%(self.overclockMode.getWrapListId(),content.getId()))) + self.Arm = ButtonControl(Tag('label',' -Arm')) + self.Core = ButtonControl(Tag('label',' -Core')) + self.Sdram = ButtonControl(Tag('label',' -SDram')) + self.Overvoltage = ButtonControl(Tag('label',' -Overvoltage')) + self.customOverclock.addControl(self.Arm) + self.customOverclock.addControl(self.Core) + self.customOverclock.addControl(self.Sdram) + self.customOverclock.addControl(self.Overvoltage) + self.addControl(self.customOverclock) + + def setValue(self,value): + if value : + #trick to get list in lower case + for val in self.overclockinglist : + if value[0] == val.lower() : + break + self.overclockMode.setValue(val) + self.Arm.setValue(value[1]) + self.Arm.onClick = lambda arm: self.Arm.setValue(getNumeric('Arm Overclocking',value[1],400,1200)) + self.Core.setValue(value[2]) + self.Core.onClick = lambda core: self.Core.setValue(getNumeric('Arm Overclocking',value[2],100,600)) + self.Sdram.setValue(value[3]) + self.Sdram.onClick = lambda sdram: self.Sdram.setValue(getNumeric('Arm Overclocking',value[3],100,600)) + self.Overvoltage.setValue(value[4]) + self.Overvoltage.onClick = lambda overvolt: self.Overvoltage.setValue(getNumeric('Arm Overclocking',value[4],0,12)) + +class overclocking(Setting) : + CONTROL = OverclockControl(Tag('visible','skin.hasSetting(advancedmode)')) + DIALOGHEADER = "Overclocking" + ERRORTEXT = "Error updating" + OKTEXT = "Update ok" + SAVEMODE = Setting.ONUNFOCUS + + def getUserValue(self): + values = self.control.getValue() + if values : + values[0] = values[0].lower() + return values + + def getXbianValue(self): + overclock =xbianConfig('overclocking','select') + value = xbianConfig('overclocking','values') + if overclock and value: + overclock.extend(value[0].split(' ')) + return overclock + else : + return [] + + def setXbianValue(self,value): + if value[0] != 'custom' : + val = [value[0]] + else : + val = value + + rc = xbianConfig('overclocking','update',*val) + ok = True + if not rc: + ok = False + elif rc[0] != '1' : + if rc[0] == '-1' : + self.ERRORTEXT = "preset doesn't exist" + elif rc[0] == '-2' : + self.ERRORTEXT = 'invalid number of arguments' + elif rc[0] == '-3' : + self.ERRORTEXT = "non-numeric arguments" + ok = False + return ok + + +class timezone(Setting) : + CONTROL = ButtonControl(Tag('label','Timezone'),Tag('visible','skin.hasSetting(advancedmode)')) + DIALOGHEADER = "Timezone" + ERRORTEXT = "Error updating" + OKTEXT = "Update ok" + + def setControlValue(self,value) : + self.control.setValue('%s / %s'%(value[0].title(),value[1].title())) + + def getUserValue(self): + continentList = xbianConfig('timezone','list') + continentgui = [] + have_to_stop = False + while not have_to_stop : + for continent in continentList : + continentgui.append(continent.replace('_',' ').title()) + rcr = dialog.select('Region',continentgui) + if rcr == -1 : + have_to_stop = True + else : + countrylist = xbianConfig('timezone','list',continentList[rcr]) + countrygui = [] + for country in countrylist : + countrygui.append(country.replace('_',' ').title()) + rcc = dialog.select('Location',countrygui) + if rcc != -1 : + return [continentList[rcr],countrylist[rcc]] + return self.xbianValue + + def getXbianValue(self): + timezone =xbianConfig('timezone','select') + if timezone and timezone[0] != '-1': + return(timezone[0].split(' ')) + else : + return ['Not Set','Not Set'] + + def setXbianValue(self,value): + rc = xbianConfig('timezone','update',*value) + ok = True + if not rc or not rc[0]: + ok = False + return ok + +class AccountLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Account'),Tag('visible','skin.hasSetting(advancedmode)')) + + def onInit(self): + #check if advanced mode is set + #must check here and not in preference since value are read one by one when plugin start. + #and this setting is read before preference - advanced mode + key = 'advancedmode' + rc = self.getSetting(key) + if rc == '1' : + xbmc.executebuiltin('Skin.SetBool(%s)'%key) + else : + xbmc.executebuiltin('Skin.Reset((%s)'%key) + +class rootpwd(Setting) : + CONTROL = ButtonControl(Tag('label','root password'),Tag('visible','skin.hasSetting(advancedmode)')) + DIALOGHEADER = "User root password" + ERRORTEXT = "Error updating" + OKTEXT = "Update ok" + BADUSERENTRYTEXT = "Passwords don't match" + + def onInit(self): + self.forceUpdate = True + self.password = None + self.key = 'rootpass' + + def checkUserValue(self,value): + return self.password == self.confirmpwd + def getUserValue(self): + self.password = getText(self.DIALOGHEADER,hidden=True) + self.confirmpwd = getText('Confirm ' + self.DIALOGHEADER,hidden=True) + return '*****' + + def getXbianValue(self): + return '*****' + + def setXbianValue(self,value): + rc = xbianConfig(self.key,'update',self.password) + ok = True + if not rc: + ok = False + elif rc[0] != '1' : + ok = False + return ok + +class xbianpwd(rootpwd) : + CONTROL = ButtonControl(Tag('label','xbian password'),Tag('visible','skin.hasSetting(advancedmode)')) + DIALOGHEADER = "User xbian Password" + + def onInit(self): + self.forceUpdate = True + self.password = None + self.key = 'xbianpass' + +class sshroot(Setting) : + CONTROL = RadioButtonControl(Tag('label','Allow SSH root login'),Tag('visible','skin.hasSetting(advancedmode)')) + DIALOGHEADER = "SSH root" + ERRORTEXT = "Error on updating" + OKTEXT = "Update ok" + + + def getUserValue(self): + return str(self.getControlValue()) + + def setControlValue(self,value) : + if value == '1' : + value = True + else : + value = False + self.control.setValue(value) + + def getXbianValue(self): + rc = xbianConfig('sshroot','status') + return rc[0] + + def setXbianValue(self,value): + if value == '1': + cmd = 'enable' + else : + cmd = 'disable' + rc = xbianConfig('sshroot',cmd) + ok = True + if not rc: + ok = False + elif rc[0] != '1' : + ok = False + return ok + +#CATEGORY CLASS +class system(Category) : + TITLE = 'System' + SETTINGS = [SytemLabel,hostname,timezone,kernel,overclocking,AccountLabel,rootpwd,xbianpwd,sshroot,NewtorkLabel,NetworkSetting,connectivityLabel,videooutput,LicenceLabel,mpeg2License,vc1License] diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/20_services.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/20_services.py new file mode 100755 index 000000000..7eebf0a9d --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/20_services.py @@ -0,0 +1,360 @@ +import os +import subprocess +import time + +from resources.lib.xbmcguie.xbmcContainer import * +from resources.lib.xbmcguie.xbmcControl import * +from resources.lib.xbmcguie.tag import Tag +from resources.lib.xbmcguie.category import Category,Setting + +from resources.lib.xbianconfig import xbianConfig +from resources.lib.utils import * +import xbmcgui,xbmc +from xbmcaddon import Addon + +__addonID__ = "plugin.xbianconfig" +ADDON = Addon( __addonID__ ) +ADDON_DIR = ADDON.getAddonInfo( "path" ) +ROOTDIR = ADDON_DIR +BASE_RESOURCE_PATH = os.path.join( ROOTDIR, "resources" ) + +dialog = xbmcgui.Dialog() + +RUNNING = 'running' +STOPPED = 'stopped' +RESTART = 'Restart' +STOP = 'Stop' +START = 'Start' + +class ServicesControl(MultiSettingControl): + XBMCDEFAULTCONTAINER = False + + + def onInit(self) : + self.nbCustom = 10 + self.serviceStatus = xbianConfig('services','status') + self.customId = 0 + self.serviceList = [] + for service in self.serviceStatus : + self.serviceList.append(service.split(' ')[0]) + self.services = {} + for i in range(self.nbCustom) : + self.serviceList.append('custom%d'%i) + for service in self.serviceList : + self.services[service] = {} + xbmc.executebuiltin('Skin.Reset(%s)'%service) + self.services[service]['group'] = MultiSettingControl(Tag('visible','skin.hasSetting(%s)'%service)) + self.services[service]['label'] = CategoryLabelControl(Tag('label',service.title())) + self.services[service]['group'].addControl(self.services[service]['label']) + self.services[service]['status'] = ButtonControl(Tag('label','Status')) + self.services[service]['status'].onClick = lambda status : status.setValue(self.onStatusClick(self.getCurrentService(status),status.getValue())) + self.services[service]['group'].addControl(self.services[service]['status']) + self.services[service]['autostart'] = RadioButtonControl(Tag('label','Autostart')) + self.services[service]['autostart'].onClick = lambda autostart : autostart.setValue(self.onAutostartClick(self.getCurrentService(autostart),autostart.getValue())) + self.services[service]['group'].addControl(self.services[service]['autostart']) + self.services[service]['daemon'] = ButtonControl(Tag('label','Daemon'),Tag('visible','skin.hasSetting(advancedmode)')) + self.services[service]['daemon'].onClick = lambda daemon : daemon.setValue(self.onDaemonClick(self.getCurrentService(daemon),daemon.getValue())) + self.services[service]['group'].addControl(self.services[service]['daemon']) + self.services[service]['delete'] = ButtonControl(Tag('label','Delete service'),Tag('visible','skin.hasSetting(advancedmode)')) + self.services[service]['delete'].onClick = lambda delete : self.onDeleteClick(self.getCurrentService(delete)) + self.services[service]['group'].addControl(self.services[service]['delete']) + self.addControl(self.services[service]['group']) + #custom service + + + self.services['custom'] = {} + self.services['custom']['group'] = MultiSettingControl(Tag('visible','skin.hasSetting(advancedmode)')) + self.services['custom']['label'] = CategoryLabelControl(Tag('label','Others' )) + self.services['custom']['group'].addControl(self.services['custom']['label']) + self.services['custom']['addcustom'] = ButtonControl(Tag('label','Add a custom service')) + self.services['custom']['addcustom'].onClick = lambda addxbian : self.onAddCustomClick() + self.services['custom']['group'].addControl(self.services['custom']['addcustom']) + self.addControl(self.services['custom']['group']) + + def getCurrentService(self,control): + for service in self.serviceList : + if service[:6] != 'custom' : + for key in self.services[service] : + if self.services[service][key] == control : + return service + + def setCustom(self,service) : + if service not in self.serviceList : + self.services[service] = self.services['custom%d'%self.customId] + self.services[service]['label'].setLabel(service.title()) + self.serviceList.append(service) + self.customId += 1 + if self.customId > self.nbCustom : + self.services['custom']['addcustom'].setEnabled(False) + + def setVisible(self,service,state): + for serv in self.serviceList : + if self.services[serv] == self.services[service] : + if state : + xbmc.executebuiltin('Skin.SetBool(%s)'%serv) + else : + xbmc.executebuiltin('Skin.Reset(%s)'%serv) + break + + def onStatusClick(self,service,value) : + pass + + def onAutostartClick(self,service,value) : + pass + + def onDaemonClick(self,service,value) : + pass + + def onDeleteClick(self,service) : + pass + + def onAddCustomClick(self) : + pass + + def setValue(self,values): + for key in values : + if values[key][0] : + self.services[key]['status'].setValue(RUNNING) + else : + self.services[key]['status'].setValue(STOPPED) + self.services[key]['autostart'].setValue(values[key][1]) + if values[key][2] : + self.services[key]['daemon'].setValue(values[key][2]) + else : + self.services[key]['daemon'].setVisible(False) + + + def getValue(self) : + pass + + + +class servicesManager(Setting) : + CONTROL = ServicesControl() + DIALOGHEADER = "Xbian Services Manager" + ERRORTEXT = "Error" + OKTEXT = "OK" + APPLYTEXT = "Apply" + + def onInit(self) : + self.serviceInstalled = xbianConfig('services','list') + for service in self.serviceInstalled : + self.control.setVisible(service,True) + #xbmc.executebuiltin('Skin.SetBool(%s)'%service) + self.control.onStatusClick = self.onStatus + self.control.onAutostartClick = self.onAutoStart + self.control.onDaemonClick = self.onDaemon + self.control.onDeleteClick = self.onDelete + self.control.onAddCustomClick = self.onAddCustom + self.publicMethod['refresh'] = self.refresh + + def refresh(self) : + services = xbianConfig('services','list') + if services != self.serviceInstalled : + #check if i have to add service + for service in services : + if service not in self.serviceInstalled : + self.addService(service) + #check if i have to delete service + for service in self.serviceInstalled[:] : + if service not in services : + self.deleteService(service) + + def deleteService(self,service): + self.control.setVisible(service,False) + self.serviceInstalled.remove(service) + + def addService(self,name) : + self.control.setCustom(name) + #wait.update(line2='Refreshing Value') + serviceStatus = xbianConfig('services','status') + for service in serviceStatus : + status = service.split(' ') + if status[0] == name : + running = False + autostart = False + if status[1] == '3' : + autostart = True + elif status[1] == '4' : + running = True + elif status[1] == '5' : + running = True + autostart = True + #get dameon: + daemon = xbianConfig('services','select',status[0]) + if daemon : + daemon = daemon[0] + else : + daemon = False + self.xbianValue[status[0]] = [running,autostart,daemon] + self.setControlValue({status[0]:[running,autostart,daemon]}) + break + self.control.setVisible(name,True) + self.serviceInstalled.append(status[0]) + + + def onAddCustom(self) : + canInsert = False + name = "" + while not canInsert : + name = getText('Service Name',name) + if not name : + canInsert = True + else : + daemon = getText('Daemon (leave empty if none)') + if daemon != None : + self.APPLYTEXT = 'Do you want to insert %s ?'%name + if self.askConfirmation() : + progress = dialogWait('Inserting','Please wait while inserting %s...'%name) + progress.show() + rc = xbianConfig('services','insert',name,daemon) + if rc and rc[0] == '1' : + self.addService(name) + progress.close() + self.OKTEXT = 'Service %s added successfully'%name + self.notifyOnSuccess() + elif rc and rc[0] == '-2': + progress.close() + self.ERRORTEXT = '%s is not installed, please install it first'%name + self.notifyOnError() + else : + progress.close() + self.ERRORTEXT = 'Unknwown error' + self.notifyOnError() + canInsert = True + + + + def onDelete(self,service) : + self.APPLYTEXT = 'Do you want to delete %s?'%service + if self.askConfirmation() : + #self.control.setVisible(service,False) + rc = xbianConfig('services','delete',service) + if rc and rc[0] != '1' : + #self.control.setVisible(service,True) + self.ERRORTEXT = 'Unknwown error' + self.notifyOnError() + else : + self.deleteService(service) + self.OKTEXT = 'Service %s deleted successfully'%service + self.notifyOnSuccess() + + + def onDaemon(self,service,value) : + tmp = getText('%s daemon (separate by space)'%service,value) + if tmp and tmp != value: + self.APPLYTEXT = 'Do you want to udpate dameon?' + if self.askConfirmation() : + rc = xbianConfig('services','update',service,tmp) + if rc and rc[0] == '1' : + self.OKTEXT = 'Daemon updated successfully' + self.notifyOnSuccess() + return tmp + else : + self.ERRORTEXT = 'Unknwown error' + self.notifyOnError() + return value + + + def onAutoStart(self,service,value) : + self.APPLYTEXT = 'Do you want to change autostart?' + if self.askConfirmation() : + if value == 1 : + value = True + tmp = 'enable' + else : + value = False + tmp = 'disable' + rc = xbianConfig('services','autostart',service,tmp) + if rc and rc[0] == '1' : + self.OKTEXT = 'Autostart updated successfully' + self.notifyOnSuccess() + return value + else : + self.ERRORTEXT = 'Unknwown error' + self.notifyOnError() + return not value + + def onStatus(self,service,value) : + #ask if we want to change + if value == RUNNING : + #ask if stop or restart + select = dialog.select(service.title(),[STOP,RESTART]) + if select == -1 : + return value + else : + if select == 0 : + self.APPLYTEXT = 'Do you want to stop %s ?'%service + if self.askConfirmation() : + progress = dialogWait('Stopping','Please wait while stopping %s...'%service) + progress.show() + rc = xbianConfig('services','stop',service) + progress.close() + if rc and rc[0] == '1' : + self.OKTEXT = '%s stop successfully'%service + self.notifyOnSuccess() + return STOPPED + self.notifyOnError() + return value + elif select == 1 : + self.APPLYTEXT = 'Do you want to restart %s ?'%service + if self.askConfirmation() : + progress = dialogWait('Restarting','Please wait while restarting %s...'%service) + progress.show() + rc = xbianConfig('services','restart',service) + progress.close() + if rc and rc[0] == '1' : + self.OKTEXT = '%s restart successfully'%service + self.notifyOnSuccess() + return RUNNING + self.notifyOnError() + return value + else : + self.APPLYTEXT = 'Do you want to start %s ?'%service + if self.askConfirmation() : + progress = dialogWait('Restarting','Please wait while starting %s...'%service) + progress.show() + rc = xbianConfig('services','start',service) + progress.close() + if rc and rc[0] == '1' : + self.OKTEXT = '%s started successfully'%service + self.notifyOnSuccess() + return RUNNING + self.notifyOnError() + return value + + def getXbianValue(self): + serviceStatus = xbianConfig('services','status') + services = {} + for service in serviceStatus : + status = service.split(' ') + running = False + autostart = False + if status[1] == '3' : + autostart = True + elif status[1] == '4' : + running = True + elif status[1] == '5' : + running = True + autostart = True + #get dameon: + daemon = xbianConfig('services','select',status[0]) + if daemon : + daemon = daemon[0] + else : + daemon = False + services[status[0]] = [running,autostart,daemon] + return services + + + + def setXbianValue(self,value): + pass + + +class services(Category) : + TITLE = 'Services' + SETTINGS = [servicesManager] + + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/30_packages.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/30_packages.py new file mode 100755 index 000000000..e33ad7fc6 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/30_packages.py @@ -0,0 +1,277 @@ +import os +import subprocess +import time + +from resources.lib.xbmcguie.xbmcContainer import * +from resources.lib.xbmcguie.xbmcControl import * +from resources.lib.xbmcguie.tag import Tag +from resources.lib.xbmcguie.category import Category,Setting + +from resources.lib.xbianconfig import xbianConfig +from resources.lib.utils import * +import xbmcgui,xbmc +from xbmcaddon import Addon + +__addonID__ = "plugin.xbianconfig" +ADDON = Addon( __addonID__ ) +ADDON_DIR = ADDON.getAddonInfo( "path" ) +ROOTDIR = ADDON_DIR +BASE_RESOURCE_PATH = os.path.join( ROOTDIR, "resources" ) + +dialog = xbmcgui.Dialog() + + +class PackagesControl(MultiSettingControl): + XBMCDEFAULTCONTAINER = False + + + def onInit(self) : + tmp = xbianConfig('packages','list') + self.packages = {} + if tmp and tmp[0] == '-3' : + rc = xbianConfig('packages','updatedb') + if rc[0] == '1' : + tmp = xbianConfig('packages','list') + else : + tmp = [] + for cat in tmp : + t = cat.split(',') + tmp_cat = {} + self.packages[t[0]] = {} + self.packages[t[0]]['available'] = int(t[1]) + self.packages[t[0]]['installed'] = int(t[2]) + + for key in self.packages : + self.packages[key]['group'] = MultiSettingControl() + self.packages[key]['label'] = CategoryLabelControl(Tag('label','%s [COLOR lightblue](%d/%d)[/COLOR]'%(key.title(),self.packages[key]['installed'],self.packages[key]['available']))) + self.packages[key]['group'].addControl(self.packages[key]['label']) + self.packages[key]['visible'] = 0 + self.packages[key]['set'] = [] + self.packages[key]['list'] = [] + for i in range(self.packages[key]['available']) : + xbmc.executebuiltin('Skin.Reset(%s%d)'%(key,i)) + package = ButtonControl(Tag('label','temp'),Tag('visible','skin.hasSetting(%s%d)'%(key,i))) + package.onClick = lambda select : self.selectClick(self.getCurrentCat(select),select.getLabel()) + self.packages[key]['list'].append(package) + self.packages[key]['group'].addControl(package) + self.packages[key]['set'].append(False) + + + #add Get more Button + xbmc.executebuiltin('Skin.SetBool(more%s)'%key) + self.packages[key]['getmore'] = ButtonControl(Tag('label','Get more...'),Tag('visible','skin.hasSetting(more%s)'%key)) + self.packages[key]['getmore'].onClick = lambda getmore : self.getmoreClick(self.getCurrentCat(getmore)) + self.packages[key]['group'].addControl(self.packages[key]['getmore']) + self.addControl(self.packages[key]['group']) + + def getCurrentCat(self,control) : + for key in self.packages : + if self.packages[key]['getmore'] == control : + return key + for ctrl in self.packages[key]['list'] : + if control == ctrl : + return key + + def addPackage(self,category,package) : + for i,tmp in enumerate(self.packages[category]['set']) : + if not tmp : + break + self.packages[category]['set'][i] = True + self.packages[category]['list'][i].setLabel(package) + xbmc.executebuiltin('Skin.SetBool(%s%d)'%(category,i)) + self.packages[category]['visible'] += 1 + self.packages[category]['label'].setLabel('%s [COLOR lightblue](%d/%d)[/COLOR]'%(category.title(),self.packages[category]['visible'],self.packages[category]['available'])) + if self.packages[category]['visible'] == self.packages[category]['available'] : + #hide get More button + xbmc.executebuiltin('Skin.Reset(more%s)'%category) + + def removePackage(self,category,package) : + for i,pack in enumerate(self.packages[category]['list']) : + if package == pack.getLabel() : + break + self.packages[category]['set'][i] = False + self.packages[category]['visible'] -= 1 + self.packages[category]['label'].setLabel('%s [COLOR lightblue](%d/%d)[/COLOR]'%(category.title(),self.packages[category]['visible'],self.packages[category]['available'])) + xbmc.executebuiltin('Skin.Reset(%s%d)'%(category,i)) + if self.packages[category]['visible'] < self.packages[category]['available'] : + #hide get More button + xbmc.executebuiltin('Skin.SetBool(more%s)'%category) + + + def selectClick(self,package,value): + pass + + def getmoreClick(self,package) : + pass + + +class packagesManager(Setting) : + CONTROL = PackagesControl() + DIALOGHEADER = "XBian Package Manager" + ERRORTEXT = "Error" + OKTEXT = "OK" + APPLYTEXT = "Apply" + + INSTALLED = 'Installed' + NOTINSTALLED = 'Not installed' + + def onInit(self) : + pass + self.control.getmoreClick = self.onGetMore + self.control.selectClick = self.onSelect + + def showInfo(self,package) : + progress = dialogWait('Loading','Please wait while loading the information for %s'%package) + progress.show() + rc = xbianConfig('packages','info',package) + progress.close() + if rc : + PackageInfo(package,rc[0].partition(' ')[2],rc[1].partition(' ')[2],rc[2].partition(' ')[2],rc[3].partition(' ')[2],rc[4].partition(' ')[2],rc[5].partition(' ')[2],rc[6].partition(' ')[2]) + def onSelect(self,cat,package) : + choice = ['Informations','Remove Package'] + select = dialog.select('Select',choice) + if select == 0 : + #display info dialog + self.showInfo(package) + elif select == 1 : + #remove package + self.APPLYTEXT = 'Do you want to remove the %s package?'%package + if self.askConfirmation(True) : + progressDlg = dialogWait('Removing','Please wait while uninstalling %s ...'%package) + progressDlg.show() + rc = xbianConfig('packages','removetest',package) + if rc and rc[0] == '3' : + rc = xbianConfig('packages','updatedb') + if rc and rc[0] == '1' : + rc = xbianConfig('packages','removetest',package) + if rc and rc[0] == '1' : + rc = xbianConfig('packages','remove',package) + if rc and rc[0] == '1' : + #remove package + waitRemove = True + progress = 1 + status = 1 + while waitRemove : + if progress != 0 : + progress = int(xbianConfig('packages','progress')[0]) + if status != 0 : + status = int(xbianConfig('packages','status',package)[0]) + if progress != 1 and status != 1 : + waitRemove = False + else : + time.sleep(5) + #refresh service list + progressDlg.close() + self.control.removePackage(cat,package) + self.globalMethod['Services']['refresh']() + self.OKTEXT = 'Package %s successfully removed'%package + self.notifyOnSuccess() + + else : + if rc and rc[0] == '2' : + #normally never pass here + self.ERRORTEXT = 'Package %s is not installed'%package + elif rc and rc[0] == '3' : + self.ERRORTEXT = 'Package %s is an essential package and cannot be removed'%package + else : + #normally never pass here + self.ERRORTEXT = 'Unknown error while removing %s'%package + progressDlg.close() + self.notifyOnError() + + + def onGetMore(self,cat) : + progress = dialogWait('Loading','Please wait while loading packages for %s'%cat) + progress.show() + tmp = xbianConfig('packages','list',cat) + if tmp and tmp[0] == '-3' : + rc = xbianConfig('packages','updatedb') + if rc[0] == '1' : + tmp = xbianConfig('packages','list') + else : + tmp = [] + progress.close() + if tmp[0]!= '-2' and tmp[0]!= '-3' : + package = [] + for packag in tmp : + packageTmp = packag.split(',') + if packageTmp[1] == '0' : + package.append(packageTmp[0]) + select =dialog.select('Select Package',package) + if select != -1 : + choice = ['Informations','Install Package'] + sel = dialog.select('Select',choice) + if sel == 0 : + #display info dialog + self.showInfo(package[select]) + elif sel == 1 : + self.APPLYTEXT = 'Do you want to install the package: %s?'%package[select] + if self.askConfirmation(True) : + progressDlg = dialogWait('Installing','Please wait while installing %s ...'%package[select]) + progressDlg.show() + rc = xbianConfig('packages','installtest',package[select]) + if rc and rc[0] in ('3','4') : + rc = xbianConfig('packages','updatedb') + if rc and rc[0] == '1' : + rc = xbianConfig('packages','installtest',package[select]) + if rc and rc[0] == '1' : + rc = xbianConfig('packages','install',package[select]) + if rc and rc[0] == '1' : + waitInstall = True + progress = 1 + status = 0 + while waitInstall : + if progress != 0 : + progress = int(xbianConfig('packages','progress')[0]) + if status != 1 : + status = int(xbianConfig('packages','status',package[select])[0]) + + if progress !=1 and status != 0 : + waitInstall = False + else : + time.sleep(5) + + + progressDlg.close() + time.sleep(0.5) + self.control.addPackage(cat,package[select]) + self.globalMethod['Services']['refresh']() + self.OKTEXT = 'Package %s successfully installed'%package[select] + self.notifyOnSuccess() + else : + if rc and rc[0] == '2' : + self.ERRORTEXT = 'Package %s is already installed'%package[select] + elif rc and rc[0] == '3' : + self.ERRORTEXT = 'Package %s not found in apt-repository'%package[select] + elif rc and rc[0] == '4' : + self.ERRORTEXT = 'Package not found in apt repository' + elif rc and rc[0] == '5' : + self.ERRORTEXT = 'A newer version of this package is already installed' + elif rc and rc[0] == '6' : + self.ERRORTEXT = 'There is a size mismatch for the remote package' + elif rc and rc[0] == '7' : + self.ERRORTEXT = 'The package itself got an internal error' + else : + #normally never pass here + self.ERRORTEXT = 'Unknown error while installing %s'%package + progressDlg.close() + self.notifyOnError() + + + def getXbianValue(self): + packages = self.control.packages + for key in packages : + if packages[key]['installed'] > 0 : + tmp = xbianConfig('packages','list',key) + if tmp[0]!= '-2' and tmp[0]!= '-3' : + for packag in tmp : + packageTmp = packag.split(',') + if packageTmp[1] == '1' : + self.control.addPackage(key,packageTmp[0]) + +class packages(Category) : + TITLE = 'Packages' + SETTINGS = [packagesManager] + + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/40_update.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/40_update.py new file mode 100755 index 000000000..35cbf937f --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/40_update.py @@ -0,0 +1,182 @@ +import os +import subprocess +import time +import random +import string + +from resources.lib.xbmcguie.xbmcContainer import * +from resources.lib.xbmcguie.xbmcControl import * +from resources.lib.xbmcguie.tag import Tag +from resources.lib.xbmcguie.category import Category,Setting + +from resources.lib.xbianconfig import xbianConfig +from resources.lib.utils import dialogWait +import xbmcgui,xbmc +from xbmcaddon import Addon + +__addonID__ = "plugin.xbianconfig" +ADDON = Addon( __addonID__ ) +ADDON_DIR = ADDON.getAddonInfo( "path" ) +ROOTDIR = ADDON_DIR +BASE_RESOURCE_PATH = os.path.join( ROOTDIR, "resources" ) + + + +class updateControl(MultiSettingControl): + XBMCDEFAULTCONTAINER = False + + def onInit(self) : + char_set = string.ascii_lowercase + self.key = ''.join(random.sample(char_set,6)) + self.keyupdateall = '%sall'%self.key + self.nbUpdate = 10 + self.nbcanbeupdate = 0 + self.updates = [] + for i in range(self.nbUpdate) : + self.updates.append({}) + + keynoupdate = '' + for i,update in enumerate(self.updates) : + xbmc.executebuiltin('Skin.Reset(%s%d)'%(self.key,i)) + update['name'] = ButtonControl(Tag('visible','skin.hasSetting(%s%d)'%(self.key,i))) + update['name'].onClick = lambda update : self.onUpdateClick(self.getCurrentUpdate(update)) + self.addControl(update['name']) + keynoupdate+='!Control.IsVisible(%d) + '%update['name'].getId() + keynoupdate = keynoupdate[:-3] + xbmc.executebuiltin('Skin.Reset(%s)'%(self.keyupdateall)) + self.udpateAll = ButtonControl(Tag('label','Update all'),Tag('visible','skin.hasSetting(%s)'%(self.keyupdateall))) + self.udpateAll.onClick = lambda updateall : self.onUpdateAll() + self.addControl(self.udpateAll) + + self.udpateNo = ButtonControl(Tag('label','Up-to-date'),Tag('visible','%s'%keynoupdate)) + self.addControl(self.udpateNo) + + + def getCurrentUpdate(self,control): + for i,update in enumerate(self.updates) : + if update['name'] == control : + return i+1 + + def addUpdate(self,update) : + values = update.split(';') + self.updates[int(values[0])-1]['name'].setLabel(values[1]) + self.updates[int(values[0])-1]['name'].setValue(values[3]) + xbmc.executebuiltin('Skin.SetBool(%s%d)'%(self.key,int(values[0])-1)) + self.nbcanbeupdate += 1 + if self.nbcanbeupdate == 2 : + xbmc.executebuiltin('Skin.SetBool(%s)'%self.keyupdateall) + + def removeUpdate(self,update) : + values = update.split(';') + xbmc.executebuiltin('Skin.Reset(%s%d)'%(self.key,int(values[0])-1)) + self.nbcanbeupdate -= 1 + if self.nbcanbeupdate == 1 : + xbmc.executebuiltin('Skin.Reset(%s)'%self.keyupdateall) + + def onUpdateClick(self,updateId) : + pass + + def onUpdateAll(self) : + pass + +class upgradeXbianLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','XBian')) + +class xbianUpgrade(Setting) : + CONTROL = updateControl() + DIALOGHEADER = "XBian Upgrade" + ERRORTEXT = "Error" + OKTEXT = "OK" + APPLYTEXT = "Do you want to upgrade XBian" + + def onInit(self) : + self.control.onUpdateClick = self.onUpdate + self.control.onUpdateAll = self.onUpdateAll + self.keyword() + + def keyword(self) : + self.key = 'upgrades' + + def onUpdate(self,updateId): + lockfile = '/var/lock/.%s'%self.key + open(lockfile,'w').close() + updateId = str(updateId) + if self.askConfirmation(True) : + dlg = dialogWait('Xbian Update','Please wait while updating') + dlg.show() + rc =xbianConfig('updates','install',self.key,updateId) + if rc and rc[0] == '1' : + #wait upgrade + while not xbmc.abortRequested and xbianConfig('updates','progress')[0] == '1': + time.sleep(2) + if xbmc.abortRequested : + return None + else : + os.remove(lockfile) + #remove update from list + updateList = updateId.split(' ') + for updates in updateList : + for update in self.xbianValue : + if update.split(';')[0] == updates : + self.xbianValue.remove(update) + self.control.removeUpdate(update) + break + dlg.close() + self.notifyOnSuccess() + else : + if rc and rc[0] == '2' : + self.ERRORTEXT = 'These packages are already updated' + elif rc and rc[0] == '3' : + self.ERRORTEXT = 'Packages not found in apt repository' + elif rc and rc[0] == '4' : + self.ERRORTEXT = 'Packages not found in apt repository' + elif rc and rc[0] == '5' : + self.ERRORTEXT = 'There is a size mismatch for the remote packages' + elif rc and rc[0] == '6' : + self.ERRORTEXT = 'The packages itselves got a internal error' + else : + self.ERRORTEXT = 'Unexpected error' + os.remove(lockfile) + dlg.close() + self.notifyOnError() + + def onUpdateAll(self) : + updates = '' + for update in self.xbianValue : + updates += '%s '%(update.split(';')[0]) + self.onUpdate(updates) + + def getXbianValue(self): + rc =xbianConfig('updates','list',self.key) + if rc and rc[0] == '-3' : + rctmp = xbianConfig('updates','updatedb') + if rctmp and rctmp[0] == '1' : + rc =xbianConfig('updates','list',self.key) + else : + rc[0]= '0' + if rc and rc[0] not in ('0','-2') : + for update in rc : + self.control.addUpdate(update) + return rc + +class updatePackageLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Packages')) + +class packageUpdate(xbianUpgrade) : + CONTROL = updateControl() + DIALOGHEADER = "Update Packages" + ERRORTEXT = "Error" + OKTEXT = "Package is successfully updated" + APPLYTEXT = "Do you want to update this package?" + + + def keyword(self) : + self.key = 'packages' + + +class update(Category) : + TITLE = 'Update' + SETTINGS = [upgradeXbianLabel,xbianUpgrade,updatePackageLabel,packageUpdate] + + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/50_xbmc.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/50_xbmc.py new file mode 100755 index 000000000..c8e7eaf9a --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/50_xbmc.py @@ -0,0 +1,54 @@ +from resources.lib.xbmcguie.xbmcContainer import * +from resources.lib.xbmcguie.xbmcControl import * +from resources.lib.xbmcguie.tag import Tag +from resources.lib.xbmcguie.category import Category,Setting + +import os + +from resources.lib.xbianconfig import xbianConfig + +import xbmcgui + +dialog=xbmcgui.Dialog() + +class xbmcLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Xbmc')) + +class xbmcGui(Setting) : + CONTROL = SpinControlex(Tag('label','XBMC GUI resolution')) + DIALOGHEADER = "XBMC GUI resolution" + ERRORTEXT = "Error updating" + OKTEXT = "Update ok" + SAVEMODE = Setting.ONUNFOCUS + + def onInit(self): + resolutionlist =xbianConfig('xbmc','guires','list') + if resolutionlist : + for resolution in resolutionlist : + content = Content(Tag('label','%sp'%resolution),defaultSKin=False) + self.control.addContent(content) + + def getUserValue(self): + return self.control.getValue() + + def getXbianValue(self): + resolution =xbianConfig('xbmc','guires','select') + if resolution : + return '%sp'%resolution[0] + else : + return '' + + def setXbianValue(self,value): + value = value[:-1] + rc = xbianConfig('xbmc','guires','update',value) + if rc and rc[0] == '1' : + return True + else : + return False + +#CATEGORY CLASS +class xbmc(Category) : + TITLE = 'XBMC' + SETTINGS = [xbmcLabel,xbmcGui] + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/60_preference.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/60_preference.py new file mode 100755 index 000000000..a1247d098 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/60_preference.py @@ -0,0 +1,97 @@ +from resources.lib.xbmcguie.xbmcContainer import * +from resources.lib.xbmcguie.xbmcControl import * +from resources.lib.xbmcguie.tag import Tag +from resources.lib.xbmcguie.category import Category,Setting + +import os + +from resources.lib.xbianconfig import xbianConfig + +import xbmcgui + +dialog=xbmcgui.Dialog() + +class advancedLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Advanced')) + +class advancedMode(Setting) : + CONTROL = RadioButtonControl(Tag('label','Advanced mode')) + DIALOGHEADER = "Advanced Mode" + ERRORTEXT = "Error on updating" + OKTEXT = "Update ok" + + def onInit(self) : + self.key = 'advancedmode' + + def getUserValue(self): + return str(self.getControlValue()) + + def setControlValue(self,value) : + if value == '1' : + value = True + else : + value = False + self.control.setValue(value) + + def getXbianValue(self): + rc = self.getSetting(self.key) + if rc == '1' : + xbmc.executebuiltin('Skin.SetBool(%s)'%self.key) + else : + xbmc.executebuiltin('Skin.Reset(%s)'%self.key) + return rc + + def setXbianValue(self,value): + self.setSetting(self.key,str(value)) + xbmc.executebuiltin('Skin.ToggleSetting(%s)'%self.key) + return True + +class notificationLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Notification')) + +class notifyonError(advancedMode) : + CONTROL = RadioButtonControl(Tag('label','Notify on error')) + DIALOGHEADER = "Notification on Error" + def onInit(self) : + self.key = 'notifyonerror' + +class notifyonSuccess(advancedMode) : + CONTROL = RadioButtonControl(Tag('label','Notify on success')) + DIALOGHEADER = "Notification on Success" + def onInit(self) : + self.key = 'notifyonsuccess' + +class confirmonChange(advancedMode) : + CONTROL = RadioButtonControl(Tag('label','Ask confirmation before saving')) + DIALOGHEADER = "Confirm Modification" + + def onInit(self) : + self.key = 'confirmationonchange' + +class UpdateLabel(Setting) : + CONTROL = CategoryLabelControl(Tag('label','Update')) + +class updateonBoot(advancedMode) : + CONTROL = RadioButtonControl(Tag('label','Check update on boot')) + DIALOGHEADER = "Check Update on Boot" + def onInit(self) : + self.key = 'updateonboot' + +class updateTimer(advancedMode) : + CONTROL = RadioButtonControl(Tag('label','Check update every')) + DIALOGHEADER = "Check Update Every" + def onInit(self) : + self.key = 'notifyonerror' + +class updateAuto(advancedMode) : + CONTROL = RadioButtonControl(Tag('label','Automatic update')) + DIALOGHEADER = "Automatic Update" + def onInit(self) : + self.key = 'updateauto' + +#CATEGORY CLASS +class preference(Category) : + TITLE = 'Preferences' + SETTINGS = [advancedLabel,advancedMode,notificationLabel,confirmonChange,notifyonError,notifyonSuccess] + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/__init__.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/__init__.py new file mode 100755 index 000000000..ee074ac5a --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/categories/__init__.py @@ -0,0 +1 @@ +# Dummy file to make this directory a package. diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/default.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/default.py new file mode 100755 index 000000000..aabc012ee --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/default.py @@ -0,0 +1,123 @@ +# -*- coding: cp1252 -*- + +__script__ = "Unknown" +__plugin__ = "xbian-config" +__addonID__ = "plugin.xbianconfig" +__author__ = "Belese (http://www.xbian.org)" +__url__ = "http://www.xbian.org" +__credits__ = "XBian" +__platform__ = "xbmc media center" +__date__ = "30-11-2012" +__version__ = "0.0.1" + + +import os +import sys +import itertools +import fnmatch +import shutil +import threading +import Queue + +# xbmc modules +import xbmc +import xbmcgui +import xbmcplugin +from xbmcaddon import Addon + +#xbmcguie +from resources.lib.xbianWindow import XbianWindow +from resources.lib.updateworker import Updater +from resources.lib.xbianconfig import xbianConfig +from resources.lib.utils import dialogWait +#addon module +ADDON = Addon( __addonID__ ) +Language = ADDON.getLocalizedString +ADDON_DIR = ADDON.getAddonInfo( "path" ) +LangXBMC = xbmc.getLocalizedString + + +ROOTDIR = ADDON_DIR +BASE_RESOURCE_PATH = os.path.join( ROOTDIR, "resources" ) +MEDIA_PATH = os.path.join( BASE_RESOURCE_PATH, "media" ) +ADDON_DATA = xbmc.translatePath( "special://profile/addon_data/%s/" % __addonID__ ) +CATEGORY_PATH = 'categories' +class xbian_config_python : + def __init__(self) : + xbmc.log('XBian : XBian-config-python started') + self.onRun = os.path.join('/','tmp','.xbian_config_python') + if os.path.isfile(self.onRun) : + xbmcgui.Dialog().ok('XBian-config','XBian-config is still running','Please wait...') + else : + open(self.onRun,'w').close() + try : + self.CmdQueue = Queue.Queue() + self.updateThread = Updater(self.CmdQueue) + self.updateThread.start() + self.wait = xbmcgui.DialogProgress() + self.window = XbianWindow('SettingsXbianInfo.xml',ROOTDIR) + self.category_list = [] + self.category_list_thread = [] + self.category_list_instance = {} + self.finished = 0 + self.stop = False + for fn in os.listdir(os.path.join(ROOTDIR,CATEGORY_PATH)): + if fn[0] != '_' and fn.split('.')[-1] in ('py', 'pyw'): + modulename = fn.split('.')[0] # filename without extension + self.category_list.append(modulename) + self.category_list.sort() + self.total = len(self.category_list) + self.wait.create('Generating Windows','Please wait..., this process can take up to one minute') + self.wait.update(0) + for module in self.category_list : + self.category_list_thread.append(threading.Thread(None,self.threadInitCategory, None, (module,))) + self.category_list_thread[-1].start() + for i,threadInst in enumerate(self.category_list_thread): + if not self.stop : + threadInst.join() + try : + self.window.addCategory(self.category_list_instance[self.category_list[i]]) + except: + xbmc.log('XBian : Cannot add category: %s \n%s'%(str(self.category_list[i]),str(sys.exc_info()))) + if not self.stop : + self.window.doXml(os.path.join(ROOTDIR,'resources','skins','Default','720p','SettingsXbianInfo.template')) + self.wait.close() + self.window.doModal() + xbmc.log('XBian : XBian-config-python closed') + self.window.stopRequested = True + progress = dialogWait('XBian config','Checking if reboot is needed...') + progress.show() + rebootneeded = xbianConfig('reboot') + progress.close() + if rebootneeded and rebootneeded[0] == '1' : + if xbmcgui.Dialog().yesno('XBian-config','A reboot is needed','Do you want to reboot now?') : + #reboot + xbmc.executebuiltin('Reboot') + except : + self.window.stopRequested = True + xbmcgui.Dialog().ok('XBian-config','Something went wrong while creating the window','Please contact us on www.xbian.org for further support') + xbmc.log('XBian : Cannot create Main window: %s'%(str(sys.exc_info()))) + finally : + self.updateThread.stop() + os.remove(self.onRun) + + def update_progress(self) : + self.finished += 1 + if self.wait.iscanceled() : + self.stop = True + self.wait.close() + else : + perc = int((float(self.finished)/(self.total*2)) * 100) + self.wait.update(perc) + + def threadInitCategory(self,modulename) : + globals_, locals_ = globals(), locals() + subpackage = ".".join([CATEGORY_PATH, modulename]) + module = __import__(subpackage, globals_, locals_, [modulename]) + self.update_progress() + catInstance = getattr(module,modulename.split('_')[1]) + self.category_list_instance[modulename] = catInstance(self.CmdQueue) + self.update_progress() + + +xbian_config_python() diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/icon.png b/home/xbian/.xbmc/addons/plugin.xbianconfig/icon.png new file mode 100755 index 000000000..d3010741b Binary files /dev/null and b/home/xbian/.xbmc/addons/plugin.xbianconfig/icon.png differ diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/__init__.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/__init__.py new file mode 100755 index 000000000..ee074ac5a --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/__init__.py @@ -0,0 +1 @@ +# Dummy file to make this directory a package. diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/__init__.pyc b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/__init__.pyc new file mode 100755 index 000000000..0a69d9aac Binary files /dev/null and b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/__init__.pyc differ diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/language/english/strings.xml b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/language/english/strings.xml new file mode 100755 index 000000000..d62f424ef --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/language/english/strings.xml @@ -0,0 +1,55 @@ + + + + Apply these changes? + Allow advanced mode + One time + Always + Advanced Mode + General + + Running + Stopped + + + + + Information + Settings + System + Resize SD + Overclocking + None + Modest + XBian + Medium + High + Turbo + Hostname + Timezone + Kernel + User Acconts + Networking + WLAN + LAN + DHCP + FIXED + OFF + Address + Subnet + Gateway + Nameserver + Root Login + Connectivity + Force HDMI output when no tv is identified + Ignore HDMI output even if a tv is connected + Ignore CEC init + Disable CEC + Disable overscan + Licenses + VC1 + MPEG2 + Services + Packages + Updates + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/language/french/strings.xml b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/language/french/strings.xml new file mode 100755 index 000000000..40ac99f9f --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/language/french/strings.xml @@ -0,0 +1,13 @@ + + + + Apparence + Couleur du texte de description: + Rouge + Vert + Jaune + Bleu Ciel + Aucune + + Afficher la description avec le titre + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/__init__.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/__init__.py new file mode 100755 index 000000000..ee074ac5a --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/__init__.py @@ -0,0 +1 @@ +# Dummy file to make this directory a package. diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/service.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/service.py new file mode 100755 index 000000000..66b277f87 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/service.py @@ -0,0 +1,28 @@ +import xbmc + +class service(xbmc.Monitor) : + def __init__(self): + xbmc.Monitor.__init__(self) + self.onInit() + + def onInit(self): + pass + + def onStart(self): + pass + + def onAbortRequested(self): + pass + + def onDatabaseUpdated(self,database): + #database - video/music as string + pass + + def onScreensaverActivated(self): + pass + + def onScreensaverDeactivated(self): + pass + + def isPlaying(self): + pass diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/updateworker.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/updateworker.py new file mode 100755 index 000000000..4e9cef811 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/updateworker.py @@ -0,0 +1,20 @@ +import threading + +class Updater(threading.Thread): + def __init__(self, queue): + threading.Thread.__init__(self) + self._stopevent = threading.Event( ) + self.queue = queue + + def run(self): + while not self._stopevent.isSet(): + setting = self.queue.get() + if setting != "stop" : + setting[0].ThreadSetXbianValue(setting[1]) + setting[0].updatingSetting = False + + + def stop(self): + self._stopevent.set() + self.queue.put("stop") + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/utils.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/utils.py new file mode 100755 index 000000000..f1c9262be --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/utils.py @@ -0,0 +1,167 @@ +import xbmc,xbmcgui +from xbianconfig import xbianConfig +import time +import threading +import os +from xbmcaddon import Addon +import pickle + +__addonID__ = "plugin.xbianconfig" +ADDON = Addon( __addonID__ ) +ADDON_DIR = ADDON.getAddonInfo( "path" ) +ROOTDIR = ADDON_DIR +BASE_RESOURCE_PATH = os.path.join( ROOTDIR, "resources" ) +ADDON_DATA = xbmc.translatePath( "special://profile/addon_data/%s/" % __addonID__ ) + +def setSetting(key,value) : + settingFile = open(os.path.join(ADDON_DATA,str(key)),'w') + pickle.dump(value,settingFile) + settingFile.close() + +def getSetting(key) : + settingPath = os.path.join(ADDON_DATA,str(key)) + if os.path.isfile(settingPath) : + return pickle.load(open(settingPath,'r')) + else: + return None + + + +def getNumeric(header,default=None,min=False,max=False): + dialog = xbmcgui.Dialog() + cont = True + while cont : + rc = dialog.numeric(0,header,default) + cont = False + if min : + if int(rc) < min : + dialog.ok(header,'Value must be greater than %d'%min) + cont = True + if max : + if int(rc) > max : + dialog.ok(header,'Value must be lower than %d'%max) + cont = True + return rc + +def getIp(header,default=None): + dialog = xbmcgui.Dialog() + return dialog.numeric(3,header,default) + +def getText(header,default="",hidden=False): + kb = xbmc.Keyboard(default,header,hidden) + kb.doModal() + if (kb.isConfirmed()): + return kb.getText() + else : + return None + +class PackageInfo : + def __init__(self,header,name,versionl,versionr,sized,sizei,desc,dep): + xbmc.executebuiltin('Skin.SetString(packageheader,Info : %s)'%header) + xbmc.executebuiltin('Skin.SetString(packagename,Name : %s)'%name) + xbmc.executebuiltin('Skin.SetString(packageversionr,Remote version : %s)'%versionr) + if not versionl : + versionl = 'Not installed' + xbmc.executebuiltin('Skin.SetString(packageversioni,Local version : %s)'%versionl) + xbmc.executebuiltin('Skin.SetString(packagesized,Download size : %s)'%sized) + xbmc.executebuiltin('Skin.SetString(packagesizei,Installed size : %s)'%sizei) + xbmc.executebuiltin('Skin.SetString(packagedesc,Description : %s)'%desc) + if not dep : + dep = 'None' + xbmc.executebuiltin('Skin.SetString(packagedep,Dependency : %s)'%dep.replace(',','')) + self.dlg = xbmcgui.WindowXMLDialog('DialogPackageInfo.xml',ROOTDIR) + self.dlg.doModal() + +class dialogWait : + #didn't work, xbmc crash when use it + def __init__(self,header,info): + xbmc.executebuiltin('Skin.SetString(waitheader,%s)'%header) + xbmc.executebuiltin('Skin.SetString(waitinfo,%s)'%info) + self.dlg = xbmcgui.WindowXMLDialog('DialogWait.xml',ROOTDIR) + + def show(self): + self.dlg.show() + + def close(self): + self.dlg.close() + + +SSID = 0 +SECURITYTYPE = 1 +SECURITY = 2 +SIGNAL = 3 + +def wifiConnect(interface): + dialog = xbmcgui.Dialog() + progress = dialogWait('Scanning','Scanning for wlan on %s'%interface) + progress.show() + networklist = xbianConfig('network','scan',interface) + networks = [] + for network in networklist : + tmp = network.split(',') + tmp[SSID] = tmp[SSID].replace('"','') + networks.append(tmp) + progress.close() + canceled = False + + while not canceled : + displaylist = [] + for network in networks : + signalI = int(network[SIGNAL]) + if 0 <= signalI < 20 : + signal = '[[COLOR red]*[/COLOR]****]' + elif 20 <= signalI < 40 : + signal = '[[COLOR orange]**[/COLOR]***]' + elif 40 <= signalI < 60 : + signal = '[[COLOR orange]***[/COLOR]**]' + elif 60 <= signalI < 80 : + signal = '[[COLOR green]****[/COLOR]*]' + else : + signal = '[[COLOR green]*****[/COLOR]]' + + name = '%s %s'%(signal,network[SSID]) + displaylist.append(name) + selectedNetwork = dialog.select('Select Network',displaylist) + if selectedNetwork == -1 : + canceled = True + else : + if networks[selectedNetwork][SECURITY] == 'on' : + key = getText('%s : Security Key'%networks[selectedNetwork][SSID]) + if not key : + continue + else : + key = "" + progress = dialogWait('Connecting','Connecting %s to %s'%(interface,networks[selectedNetwork][SSID])) + progress.show() + retry = 2 + current_try = 1 + connected = False + while not connected and current_try <= retry : + rc = xbianConfig('network','credentials',interface,networks[selectedNetwork][SECURITYTYPE],networks[selectedNetwork][SSID],key) + if rc and rc[0] == '1' : + restart = xbianConfig('network','restart',interface) + if restart and restart[0] == '1' : + rc = '2' + while rc == '2' or rc == '-12' : + tmp = xbianConfig('network','progress',interface) + if tmp : + rc = tmp[0] + time.sleep(1) + if rc == '1' : + progress.close() + return True + else : + current_try += 1 + else : + progress.close() + dialog.ok("Wireless Error",'Cannot restart %s'%interface) + return False + else : + progress.close() + dialog.ok("Wireless",'%s : cannot connect to %s (%s)'%(interface,networks[selectedNetwork][SSID],rc)) + return False + progress.close() + dialog.ok("Wireless",'%s : cannot connect to %s (%s)'%(interface,networks[selectedNetwork][SSID],rc)) + return False + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbianWindow.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbianWindow.py new file mode 100755 index 000000000..fc8e21a91 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbianWindow.py @@ -0,0 +1,63 @@ +import os,sys +from xbmcguie.window import WindowSkinXml +import xbmcgui +import threading + +class XbianWindow(WindowSkinXml): + def __init__(self,strXMLname, strFallbackPath, strDefaultName=False, forceFallback=False) : + WindowSkinXml.__init__(self,strXMLname, strFallbackPath, strDefaultName=False, forceFallback=False) + self.categories = [] + self.publicMethod = {} + self.stopRequested = False + + def onInit(self): + WindowSkinXml.onInit(self) + #first, get all public method + for category in self.categories : + self.publicMethod[category.getTitle()] = {} + for setting in category.getSettings(): + public = setting.getPublicMethod() + for key in public : + self.publicMethod[category.getTitle()][key] = public[key] + #set the windows instance in all xbmc control + for category in self.categories : + if self.stopRequested : + break + initthread = threading.Thread(None,self.onInitThread, None, (category,)) + initthread.start() + + def onInitThread(self,category): + #set default value to gui + for setting in category.getSettings(): + if self.stopRequested : + break + try : + setting.updateFromXbian() + setting.setPublicMethod(self.publicMethod) + except : + #don't enable control if error + print 'Exception in updateFromXbian for setting' + print sys.exc_info() + else : + setting.getControl().setEnabled(True) + + def addCategory(self,category): + self.categories.append(category) + self.addControl(category.getCategory()) + + + def doXml(self,template) : + xmltemplate = open(template) + xmlout = open(self.xmlfile,'w') + for line in xmltemplate.readlines() : + if '' in line : + for category in self.categories : + xmlout.write(category.getTitleContent().toXml()) + elif '' in line : + for category in self.categories : + xmlout.write(category.getCategory().toXml()) + #xmlout.write(category.getScrollBar().toXml()) + else : + xmlout.write(line) + xmltemplate.close() + xmlout.close() diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbianconfig.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbianconfig.py new file mode 100755 index 000000000..1559dd961 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbianconfig.py @@ -0,0 +1,13 @@ +import subprocess +import xbmc + +def xbianConfig(*args): + cmd = ['sudo','/usr/local/sbin/xbian-config'] + cmd.extend(args) + rc= subprocess.check_output(cmd) + rcs = rc.split('\n') + result = filter(lambda x: len(x)>0, rcs) + xbmc.log('XBian : xbian-config %s : %s '%(' '.join(cmd[2:]),str(result)),xbmc.LOGDEBUG) + return result + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/__init__.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/__init__.py new file mode 100755 index 000000000..ee074ac5a --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/__init__.py @@ -0,0 +1 @@ +# Dummy file to make this directory a package. diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/category.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/category.py new file mode 100755 index 000000000..421f776bc --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/category.py @@ -0,0 +1,212 @@ +from tag import Tag +from xbmcContainer import GroupListControl,Content +from xbmcControl import scrollbarControl +from resources.lib.utils import * + +import xbmc +import xbmcgui +from xbmcaddon import Addon + +__addonID__ = "plugin.xbianconfig" + + +dialog = xbmcgui.Dialog() + +#virtual Category Class +#bass Class for all categories + +class Category(): + def __init__(self,queue) : + self.setTitle(self.TITLE) + self.queue = queue + self.settings = [] + for setting in self.SETTINGS : + self.settings.append(setting()) + #self.scrollbar = scrollbarControl(Tag('onright',9000),Tag('posx',1060),Tag('posy',60),Tag('width',25),Tag('height',530),Tag('visible','Container(9000).HasFocus(%d)'%self.Menucategory.getId()),Tag('showonepage','false')) + self.category = GroupListControl(Tag('onleft',9000),Tag('onright',9000),Tag('itemgap',-1),Tag('visible','Container(9000).HasFocus(%d)'%self.Menucategory.getId()),defaultSKin = False) + #self.scrollbar.setTag(Tag('onleft',self.category.getId())) + for setting in self.settings : + setting.addQueue(self.queue) + self.category.addControl(setting.getControl()) + self.onInit() + + def onInit(self): + pass + + def setTitle(self,Title) : + self.Title = Title + self.Menucategory = Content(Tag('label',self.Title)) + + def getTitle(self) : + return self.Title + + def queueCmd(self,setting): + self.queue.put(setting) + + def getControls(self): + return self.category.getControls() + + def getTitleContent(self): + return self.Menucategory + + def getSettings(self) : + return self.settings + + def getCategory(self): + return self.category + + def getScrollBar(self): + return self.scrollbar + +class Setting(): + CONTROL = None + DIALOGHEADER = "" #"override dialog header" + ERRORTEXT = "" #"Override Error Text here" + OKTEXT = "" #"override Ok Text" + SAVEMODE = 0 + BADUSERENTRYTEXT = "" + APPLYTEXT = 'Apply Change' + + + #SAVE MODE + NONE = -1 + ONCLICK = 0 + ONUNFOCUS = 1 + + ADDON = Addon( __addonID__ ) + + + def __init__(self) : + self.control = self.CONTROL + self.control.setTag(Tag('enable','false')) + self.userValue = None + self.xbianValue = None + #self.clickId = self.control.getClickID() + self.queue = None + #self.SAVE = self.onSave + if self.SAVEMODE == self.ONCLICK : + self.control.onClick = self.onSave + elif self.SAVEMODE == self.ONUNFOCUS : + self.control.onUnFocus = self.onSave + self.forceUpdate=False + self.canBeUpdated = True + self.publicMethod = {} + self.globalMethod = None + self.updatingSetting = False + self.onInit() + + + def onInit(self) : + #Override this method if you need to do something on init + #don't override __init__ + pass + + def addQueue(self,queue): + self.queue = queue + + def getPublicMethod(self) : + return self.publicMethod + + def setPublicMethod(self,methods): + self.globalMethod = methods + + + def setSetting(self,id,value): + setSetting(id,value) + + def getSetting(self,id): + return getSetting(id) + + def onSave(self,ctrl): + self.updateFromUser() + + def getControl(self) : + return self.control + + def getControlValue(self): + return self.control.getValue() + + def setControlValue(self,value) : + self.control.setValue(value) + + + def getUserValue(self): + #this method must be overrided if user can modify value + #must create the user interface + return None + + def checkUserValue(self,value): + #this method can be overrided if user can modify value + #check validity of user Value + #return True if data is valid + #False either + return True + def isModified(self): + return self.userValue != self.xbianValue + + def askConfirmation(self,force=False) : + if self.getSetting('confirmationonchange') != '0' or force : + if dialog.yesno(self.DIALOGHEADER,self.APPLYTEXT) : + return True + else : + return False + else : + return True + + def updateFromUser(self): + if self.canBeUpdated and not self.updatingSetting : + self.userValue = self.getUserValue() + if self.isModified() or self.forceUpdate: + if self.userValue and self.checkUserValue(self.userValue) : + ok = True + if not self.askConfirmation() : + ok = False + self.updateFromXbian() + if ok : + self.updatingSetting = True + self.QueueSetXbianValue(self.userValue) + self.setControlValue(self.userValue) + return True + elif self.userValue and not self.checkUserValue(self.userValue) : + dialog.ok(self.DIALOGHEADER,'Bad Format',self.BADUSERENTRYTEXT) + self.setControlValue(self.xbianValue) + + def updateFromXbian(self): + #dialog.ok("update from xbian",ADDON.getSetting('notifyonerror')) + self.xbianValue = self.getXbianValue() + self.setControlValue(self.xbianValue) + + def getXbianValue(self): + #this method must be overrided + #get the default Xbian Value + return None + + def QueueSetXbianValue(self,value) : + if self.queue : + self.queue.put([self,value]) + + def notifyOnError(self,force=False) : + if self.getSetting('notifyonerror') != '0' or force : + xbmc.executebuiltin("Notification(%s,%s)"%(self.DIALOGHEADER,self.ERRORTEXT)) + + def notifyOnSuccess(self,force=False) : + if self.getSetting('notifyonsuccess') == '1' or force : + xbmc.executebuiltin("Notification(%s,%s)"%(self.DIALOGHEADER,self.OKTEXT)) + + def ThreadSetXbianValue(self,value) : + rc = self.setXbianValue(value) + if rc == False : + self.notifyOnError() + self.updateFromXbian() + elif rc == True: + self.notifyOnSuccess() + self.xbianValue = value + elif rc == None : + #need a reboot + pass + + def setXbianValue(self,value): + #this method must be overrided + #set the Xbian Value + return True + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/tag.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/tag.py new file mode 100755 index 000000000..a1f8efb9a --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/tag.py @@ -0,0 +1,51 @@ +#CLASS TAG +#contains all xbmc windows xml tag +#use tag = Tag('posx',0,[{'key' : 'condition', 'value' : 'xbmc boolean condition'}]) + +class Tag : + def __init__(self,key,value=None,properties=None): + self.key = key + self.tags = [] + if value != None : + self.addValue(value,properties) + else: + self.tags.append({'value':None,'properties':[]}) + + def addValue(self,value,properties=None): + tag = {} + tag['value'] = value + tag['properties'] = self._toDictProperties(properties) + self.tags.append(tag) + return len(self.tags) -1 + + def setValue(self,value,properties=None,id=0): + self.tags[id]['value'] = value + self.tags[id]['properties'].extend(self._toDictProperties(properties)) + + def getValue(self,id=0): + return self.tags[id] + + def getKey(self) : + return self.key + + def toXml(self) : + xml = "" + for tag in self.tags : + #create the property string + properties = "" + for property in tag['properties'] : + properties += ' %s="%s"'%(property['key'],property['value']) + if tag['value'] != None : + xml += "<%s%s>%s\n"%(self.key,properties,tag['value'],self.key) + return xml + + + def _toDictProperties(self,properties) : + ArrayProperties =[] + if properties != None : + if type(properties) == type(ArrayProperties) : #TODO : do a better way after + ArrayProperties = properties + else : + ArrayProperties.append(properties) + return ArrayProperties + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/virtualControl.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/virtualControl.py new file mode 100755 index 000000000..0633673eb --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/virtualControl.py @@ -0,0 +1,234 @@ +import itertools +id_generator = itertools.count(36000) + +from tag import Tag + +#defaultSkin Control Settings +#check later if possible to get from skin +defaultSkinSetting = {'height':40,'width':750,'textcolor':'grey2','focusedcolor':'white','disabledcolor':'grey3','pulseonselect':'false','texturefocus':'MenuItemFO.png','texturenofocus':'MenuItemNF.png','font':'font13','texturesliderbackground' : 'ScrollBarV.png','texturesliderbar' : 'ScrollBarV_bar.png','texturesliderbarfocus' : 'ScrollBarV_bar_focus.png','textureslidernib':'ScrollBarNib.png','textureslidernibfocus': 'ScrollBarNib.png'} + +#virtual class xbmcxml +#Base class for Control and Container +class xbmcxml : + + FOCUSABLE = False + ACTION = False + COMMON = True + + + common_tag = ('description','posx','posy','height','width','visible','animation','camera','colordiffuse') + focusable_tag = ('onup','ondown','onleft','onright','hitrect','enable','pulseonselect') + action_tag = ('onclick','onfocus','onunfocus') + additional_tag = () + + def __init__(self, *args,**kwargs): + self.id = next(id_generator) + self.hasfocus = False + + #set available tags for this control + self.availabletags=() + + if self.COMMON : + self.availabletags += self.common_tag + if self.FOCUSABLE : + self.availabletags += self.focusable_tag + if self.ACTION : + self.availabletags += self.action_tag + + self.availabletags += self.additional_tag + + self.tags = {} + #set default tag if necessary + if not kwargs.has_key('defaultSKin') or kwargs['defaultSKin'] == True : + for default in defaultSkinSetting : + if default in self.availabletags : + xbmcxml.setTag(self,Tag(default,defaultSkinSetting[default])) + + #set tag from args + for tag in args : + if tag.getKey() in self.availabletags : + xbmcxml.setTag(self,tag) + self.onInit() + + def onInit(self) : + pass + + def getId(self) : + return self.id + + def onFocus(self,ctrl) : + pass + + def onUnFocus(self,ctrl) : + pass + + def onClick(self,ctrl): + pass + + def getClickID(self) : + return self.id + + def getConfig(self): + pass + + def onLoad(self,ctrl): + pass + + def setValue(self,value): + pass + + def getArrayTags(self) : + arrayTags= [] + for key in self.tags : + arrayTags.append(self.tags[key]) + return arrayTags + + def setTag(self,tag,append=False) : + if tag.getKey() in self.availabletags : + if self.tags.has_key(tag.getKey()) and append: + if self.tags[tag.getKey()].getValue()['value'] != tag.getValue()['value'] or self.tags[tag.getKey()].getValue()['properties'] !=tag.getValue()['properties'] : + self.tags[tag.getKey()].addValue(tag.getValue()['value'],tag.getValue()['properties']) + else : + self.tags[tag.getKey()] = tag + + def getTag(self,key): + if self.tags.has_key(key) : + return self.tags[key] + + def hasTag(self,key) : + return self.tags.has_key(key) + + + def toXml(self): + xml = '' + for tag in self.tags : + xml += self.tags[tag].toXml() + return xml + + +#virtualClass ControlXml +#base class for all Xbmc Control or custom Control +class ControlXml(xbmcxml): + XBMCDEFAULTCONTROL = False + + def setWindowInstance(self,instance): + self.Windowsinstance = instance + self.Controlinstance = self.Windowsinstance.getControl(self.getId()) + + def click(self,controlId): + if controlId == self.getId() : + self.onClick(self) + + def focus(self,controlId) : + if controlId == self.getId() : + if not self.hasfocus : + self.hasfocus = True + self.onFocus(self) + elif self.hasfocus : + self.hasfocus = False + self.onUnFocus(self) + + def getValue(self): + pass + + def setEnabled(self,value): + self.Controlinstance.setEnabled(value) + + def setVisible(self,value): + self.Controlinstance.setVisible(value) + + def toXml(self): + xml = '' + if self.XBMCDEFAULTCONTROL : + #write control header if default xbmc control + xml +='\n'%(self.XBMCDEFAULTCONTROL,self.getId()) + + xml+=xbmcxml.toXml(self) + + if self.XBMCDEFAULTCONTROL : + #close control header if default xbmc control + xml +='\n' + return xml + + +#virtual class ContainerXml +#base class for all xbmc or custom Container +class ContainerXml(xbmcxml): + XBMCDEFAULTCONTAINER = False + + def __init__(self, *args,**kwargs): + self.controls = [] + self.controlIdList = [] + xbmcxml.__init__(self,*args,**kwargs) + + def addControl(self,control): + self.controls.append(control) + + def getControls(self): + return self.controls + + def getIds(self) : + ids = [] + for control in self.controls : + if isinstance(control,ContainerXml) : + ids.extend(control.getIds()) + else : + ids.append(control.getId()) + return ids + + def setWindowInstance(self,instance): + for control in self.controls : + control.setWindowInstance(instance) + + + def click(self,controlId): + if controlId in self.getIds() : + for control in self.controls : + control.click(controlId) + + def focus(self,controlId): + if controlId in self.getIds() : + for control in self.controls : + control.focus(controlId) + if not self.hasfocus : + self.hasfocus = True + self.onFocus(self) + elif self.hasfocus : + for control in self.controls : + control.focus(controlId) + self.hasfocus = False + self.onUnFocus(self) + + def getValue(self): + value = [] + for control in self.controls : + if isinstance(control,ContainerXml) : + value.extend(control.getValue()) + else : + value.append(control.getValue()) + return value + + def setEnabled(self,value): + for control in self.controls : + control.setEnabled(value) + + def setVisible(self,value): + for control in self.controls : + control.setVisible(value) + + def toXml(self): + xml = '' + if self.XBMCDEFAULTCONTAINER : + #write control header if default xbmc control + xml +='\n'%(self.XBMCDEFAULTCONTAINER,self.getId()) + + xml+=xbmcxml.toXml(self) + + for control in self.controls : + xml += control.toXml() + + if self.XBMCDEFAULTCONTAINER : + #close control header if default xbmc control + xml +='\n' + return xml + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/window.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/window.py new file mode 100755 index 000000000..cbc429d7e --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/window.py @@ -0,0 +1,35 @@ +import os +import xbmcgui + +class WindowSkinXml(xbmcgui.WindowXML): + def __init__(self,strXMLname, strFallbackPath, strDefaultName=False, forceFallback=False): + self.xmlfile = os.path.join(strFallbackPath,'resources','skins','Default','720p',strXMLname) + self.controls = [] + + def onInit(self): + #set the windows instance in all xbmc control + for control in self.controls : + control.setWindowInstance(self) + + def doXml(self,template) : + #must override this function + #must create the xml + pass + + def addControl(self,control): + self.controls.append(control) + + def onClick(self, controlID): + for control in self.controls : + control.click(controlID) + + def onFocus(self, controlID): + for control in self.controls : + control.focus(controlID) + + def close(self): + #seem don't work + #check after, have to call unFocus(0) when close + self.onFocus(0) + xbmcgui.WindowXML.close(self) + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/xbmcContainer.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/xbmcContainer.py new file mode 100755 index 000000000..f3b234252 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/xbmcContainer.py @@ -0,0 +1,123 @@ +from virtualControl import xbmcxml,ContainerXml +from tag import Tag + +class Content(xbmcxml) : + FOCUSABLE = False + ACTION = False + COMMON = False + additional_tag = ('label','label2','icon','thumb','onclick','visible','property') + + def toXml(self): + xml ='' + xml += '\n'%self.id + if not self.hasTag('onclick') : + self.setTag(Tag('onclick','-')) + xml += xbmcxml.toXml(self) + xml += '\n' + return xml + + + +class GroupControl(ContainerXml) : + FOCUSABLE = False + ACTION = False + XBMCDEFAULTCONTAINER = 'group' + additional_tag =('enable','visible') + + +class GroupListControl(ContainerXml) : + FOCUSABLE = True + ACTION = False + XBMCDEFAULTCONTAINER = 'grouplist' + additional_tag = ('viewtype','orientation','pagecontrol','scrolltime','focusposition','itemgap') + + +class WrapListControl(ContainerXml) : + FOCUSABLE = True + ACTION = False + XBMCDEFAULTCONTAINER = False + additional_tag = ('viewtype','orientation','pagecontrol','scrolltime','focusposition','itemgap') + + def onInit(self): + self.itemLayout= [] + self.focusedLayout= [] + self.content = [] + + def addItemLayout(self,control): + self.itemLayout.append(control) + + def addFocusedLayout(self,control): + self.focusedLayout.append(control) + + def addContent(self,content): + self.content.append(content) + + def getContent(self): + return self.content + + def toXml(self): + xml ='' + xml +='\n'%('wraplist',self.getId()) + xml += ContainerXml.toXml(self) + + #add ItemLayout + xml += '\n'%(self.getTag('width').getValue()['value'],self.getTag('height').getValue()['value']) + for control in self.itemLayout : + xml += control.toXml() + xml += '\n' + + #add FocusedLayout + xml += '\n'%(self.getTag('width').getValue()['value'],self.getTag('height').getValue()['value']) + for control in self.focusedLayout : + xml += control.toXml() + xml += '\n' + + #add Content + xml += '\n' + for control in self.content : + xml += control.toXml() + xml += '\n' + xml += '\n' + return xml + + + +class MultiSettingControl(ContainerXml) : + FOCUSABLE = False + ACTION = False + XBMCDEFAULTCONTAINER = False + additional_tag =('visible','enable') + + def toXml(self): + xml = "" + if hasattr(self,'save_ctrl'): + self.addControl(self.save_ctrl) + for control in self.controls : + if self.hasTag('visible') : + control.setTag(self.getTag('visible'),True) + if self.hasTag('enable') : + control.setTag(self.getTag('enable'),True) + #print control + xml += control.toXml() + return xml + + def setSaveControl(self,ctrl): + self.save_ctrl = ctrl + ctrl.click = self.clickSave + + def getClickID(self) : + return self.save_ctrl.getClickID() + + def clickSave(self,controlId): + if controlId == self.save_ctrl.getId() : + value = [] + for control in self.controls : + if isinstance(control,ContainerXml) : + value.extend(control.getValue()) + else : + value.append(control.getValue()) + self.onClick(self,*value) + + + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/xbmcControl.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/xbmcControl.py new file mode 100755 index 000000000..dbe4b58bf --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/lib/xbmcguie/xbmcControl.py @@ -0,0 +1,300 @@ +import xbmc + +from virtualControl import ControlXml +from tag import Tag +from xbmcContainer import * + +class scrollbarControl(ControlXml): + FOCUSABLE = True + XBMCDEFAULTCONTROL = 'scrollbar' + additional_tag = ('texturesliderbackground','texturesliderbar','texturesliderbarfocus','textureslidernib','textureslidernibfocus','orientation','showonepage') + +class ButtonControl(ControlXml) : + FOCUSABLE = True + ACTION = True + XBMCDEFAULTCONTROL = 'button' + additional_tag = ('texturefocus','texturenofocus','label','label2','font','textcolor','focusedcolor','disabledcolor','shadowcolor','angle','align','aligny','textoffsetx','textoffsety','textwidth') + + def getValue(self): + if hasattr(self,'Controlinstance') : + return self.Controlinstance.getLabel2() + + def setValue(self,value): + if hasattr(self,'Controlinstance') : + self.Controlinstance.setLabel(label=self.Controlinstance.getLabel(),label2=str(value)) + + def setLabel(self,value): + if hasattr(self,'Controlinstance') : + self.Controlinstance.setLabel(label=str(value),label2=self.Controlinstance.getLabel2()) + def getLabel(self): + if hasattr(self,'Controlinstance') : + return self.Controlinstance.getLabel() + +class ApplyButtonControl(ControlXml) : + FOCUSABLE = True + ACTION = True + XBMCDEFAULTCONTROL = None + #additional_tag = ('texturefocus','texturenofocus','label','label2','font','textcolor','focusedcolor','disabledcolor','shadowcolor','angle','align','aligny','textoffsetx','textoffsety','textwidth') + additional_tag = ('label','label2') + def onInit(self) : + self.controls = {} + if not self.hasTag('onup') : + #create a fake button to allow scroll up + #print 'create onup' + self.controls['FakebtnUp'] = ButtonControl(Tag('description','hidden button to scroll up the list'),Tag('visible','false'),defaultSKin=False) + ControlXml.setTag(self,Tag('onup',self.controls['FakebtnUp'].getId())) + #print self.tags + + if not self.hasTag('ondown') : + #create a fake button to allow scroll down + self.controls['FakebtnDown'] = ButtonControl(Tag('description','hidden button to scroll down the list'),Tag('visible','false'),defaultSKin=False) + ControlXml.setTag(self,Tag('ondown',self.controls['FakebtnDown'].getId())) + + #print self.tags + #create the groupControl + self.controls['groupControl'] = GroupControl(*self.getArrayTags()) + self.controls['ApplyButtonControl'] = ButtonControl(*self.getArrayTags(),defaultSKin=False) + self.controls['ApplyButtonControl'].setTag(Tag('align','center')) + self.controls['ApplyButtonControl'].setTag(Tag('width','150')) + self.controls['ApplyButtonControl'].setTag(Tag('height','%d'%(self.getTag('height').getValue()['value']-10))) + self.controls['ApplyButtonControl'].setTag(Tag('posy','5')) + self.controls['ApplyButtonControl'].setTag(Tag('posx','%d'%(self.getTag('width').getValue()['value'] - 160))) + self.controls['groupControl'].addControl(self.controls['ApplyButtonControl']) + #self.setTag(Tag('texturefocus',None)) + #self.setTag(Tag('texturenofocus',None)) + + def getId(self) : + return self.controls['ApplyButtonControl'].getId() + + def setTag(self,tag,append=False) : + if tag.getKey() in self.common_tag : + self.controls['groupControl'].setTag(tag) + if tag.getKey() in self.focusable_tag : + self.controls['ApplyButtonControl'].setTag(tag) + + def toXml(self) : + xml = '' + xml += self.controls['FakebtnUp'].toXml() + xml += self.controls['groupControl'].toXml() + xml += self.controls['FakebtnDown'].toXml() + return xml + + + +class CategoryLabelControl(ControlXml) : + FOCUSABLE = False + ACTION = False + XBMCDEFAULTCONTROL = 'label' + additional_tag = ('align','aligny','scroll','label','info','number','angle','haspath','font','textcolor','shadowcolor','wrapmultiline','scrollspeed','scrollsuffix') + + def onInit(self): + self.setTag(Tag('height','%d'%(self.getTag('height').getValue()['value']+5))) + self.setTag(Tag('font','font13_title')) + self.setTag(Tag('textcolor','blue')) + self.setTag(Tag('shadowcolor','black')) + self.setTag(Tag('align','left')) + self.setTag(Tag('aligny','center')) + + def setLabel(self,value): + if hasattr(self,'Controlinstance') : + self.Controlinstance.setLabel(str(value)) + + +class SpinControl(ControlXml) : + FOCUSABLE = True + ACTION = False + XBMCDEFAULTCONTROL = 'spincontrol' + additional_tag = ('textureup','textureupfocus','texturedown','texturedownfocus','font','textcolor','disabledcolor','shadowcolor','subtype','align','aligny','textoffsetx','textoffsety') + +class LabelControl(ControlXml) : + FOCUSABLE = False + ACTION = False + XBMCDEFAULTCONTROL = 'label' + additional_tag = ('align','aligny','scroll','label','info','number','angle','haspath','font','textcolor','shadowcolor','wrapmultiline','scrollspeed','scrollsuffix') + + +class RadioButtonControl(ControlXml) : + FOCUSABLE = True + ACTION = True + XBMCDEFAULTCONTROL = 'radiobutton' + additional_tag = ('texturefocus','texturenofocus','textureradioon','textureradiooff','label','font','textcolor','focusedcolor','disabledcolor','shadowcolor','align','aligny','textoffsetx','textoffsety','selected','radioposx','radioposy','radiowidth','radioheight') + + def getValue(self): + if hasattr(self,'Controlinstance') : + return self.Controlinstance.isSelected() + + def setValue(self,value): + if hasattr(self,'Controlinstance') : + self.Controlinstance.setSelected(value) + + +class SpinControlex(ControlXml) : + FOCUSABLE = True + ACTION = False + XBMCDEFAULTCONTROL = None + additional_tag = SpinControl.additional_tag + ButtonControl.additional_tag + + def onInit(self): + self.controls = {} + + if not self.hasTag('onup') : + #create a fake button to allow scroll up + #print 'create onup' + self.controls['FakebtnUp'] = ButtonControl(Tag('description','hidden button to scroll up the list'),Tag('visible','false'),defaultSKin=False) + ControlXml.setTag(self,Tag('onup',self.controls['FakebtnUp'].getId())) + #print self.tags + + if not self.hasTag('ondown') : + #create a fake button to allow scroll down + self.controls['FakebtnDown'] = ButtonControl(Tag('description','hidden button to scroll down the list'),Tag('visible','false'),defaultSKin=False) + ControlXml.setTag(self,Tag('ondown',self.controls['FakebtnDown'].getId())) + + #print self.tags + #create the groupControl + self.controls['groupControl'] = GroupControl(*self.getArrayTags()) + + + #create the spin control + self.controls['SpinControlButton'] = SpinControl(*self.getArrayTags()) + self.controls['SpinControlButton'].setTag(Tag('posx',self.controls['groupControl'].getTag('width').getValue()['value'] - 80)) + self.controls['SpinControlButton'].setTag(Tag('posy',8)) + self.controls['SpinControlButton'].setTag(Tag('height',None)) + self.controls['SpinControlButton'].setTag(Tag('width',None)) + self.controls['SpinControlButton'].setTag(Tag('subtype','page')) + self.controls['SpinControlButton'].setTag(Tag('textoffsetx',5000)) + if not self.hasTag('onleft') : + #hardcode on left value - don't find how to do + self.controls['SpinControlButton'].setTag(Tag('onleft',9000)) + if not self.hasTag('onright') : + #hardcode on right value - don't find how to do + #maybe do a group list, but have to change all the control + self.controls['SpinControlButton'].setTag(Tag('onright',9000)) + + + self.controls['groupControl'].addControl(self.controls['SpinControlButton']) + + #create 3 fake button control for checking focus+enabled and have label + #MainControl visible conditon + + self.controls['FakebtnLabelFocus'] = ButtonControl(*self.getArrayTags()) + self.controls['FakebtnLabelFocus'].setTag(Tag('enable',"false")) + self.controls['FakebtnLabelFocus'].setTag(Tag('posx',0)) + self.controls['FakebtnLabelFocus'].setTag(Tag('posy',0)) + self.controls['FakebtnLabelFocus'].setTag(Tag('disabledcolor',self.getTag('focusedcolor').getValue()['value'])) + self.controls['FakebtnLabelFocus'].setTag(Tag('visible','Control.HasFocus(%d) + Control.IsEnabled(%d) + control.IsVisible(%d)'%(self.controls['SpinControlButton'].getId(),self.controls['SpinControlButton'].getId(),self.controls['SpinControlButton'].getId()))) + self.controls['FakebtnLabelFocus'].setTag(Tag('texturenofocus',self.controls['FakebtnLabelFocus'].getTag('texturefocus').getValue()['value'])) + self.controls['groupControl'].addControl(self.controls['FakebtnLabelFocus']) + + self.controls['FakebtnLabelNoFocus'] = ButtonControl(*self.getArrayTags()) + self.controls['FakebtnLabelNoFocus'].setTag(Tag('enable',"false")) + self.controls['FakebtnLabelNoFocus'].setTag(Tag('disabledcolor',self.getTag('textcolor').getValue()['value'])) + self.controls['FakebtnLabelNoFocus'].setTag(Tag('posx',0)) + self.controls['FakebtnLabelNoFocus'].setTag(Tag('posy',0)) + + self.controls['FakebtnLabelNoFocus'].setTag(Tag('visible','!Control.HasFocus(%d) + Control.IsEnabled(%d) + control.IsVisible(%d)'%(self.controls['SpinControlButton'].getId(),self.controls['SpinControlButton'].getId(),self.controls['SpinControlButton'].getId()))) + self.controls['FakebtnLabelNoFocus'].setTag(Tag('texturefocus',self.controls['FakebtnLabelFocus'].getTag('texturenofocus').getValue()['value'])) + self.controls['groupControl'].addControl(self.controls['FakebtnLabelNoFocus']) + + self.controls['FakebtnLabelDisabled'] = ButtonControl(*self.getArrayTags()) + self.controls['FakebtnLabelDisabled'].setTag(Tag('enable',"false")) + self.controls['FakebtnLabelDisabled'].setTag(Tag('posx',0)) + self.controls['FakebtnLabelDisabled'].setTag(Tag('posy',0)) + self.controls['FakebtnLabelDisabled'].setTag(Tag('visible','!Control.IsEnabled(%d) + control.IsVisible(%d)'%(self.controls['SpinControlButton'].getId(),self.controls['SpinControlButton'].getId()))) + self.controls['groupControl'].addControl(self.controls['FakebtnLabelDisabled']) + + #create the wraplist Control (contain different choice) + self.controls['wraplistControl'] = WrapListControl(*self.getArrayTags()) + self.controls['wraplistControl'].setTag(Tag('width',225)) + self.controls['wraplistControl'].setTag(Tag('height',40)) + self.controls['wraplistControl'].setTag(Tag('enable','false')) + self.controls['wraplistControl'].setTag(Tag('posy',0)) + self.controls['wraplistControl'].setTag(Tag('posx',450)) + self.controls['wraplistControl'].setTag(Tag('pagecontrol',self.controls['SpinControlButton'].getId())) + self.controls['wraplistControl'].setTag(Tag('scrolltime',0)) + + #create 3 label (focus,nofocus,disable) to handle different text color + self.controls['labelbtndisable'] = LabelControl(*self.getArrayTags()) + self.controls['labelbtndisable'].setTag(Tag('posx',215)) + self.controls['labelbtndisable'].setTag(Tag('posy',0)) + self.controls['labelbtndisable'].setTag(Tag('posy',0)) + self.controls['labelbtndisable'].setTag(Tag('width',225)) + self.controls['labelbtndisable'].setTag(Tag('align','right')) + self.controls['labelbtndisable'].setTag(Tag('aligny','center')) + self.controls['labelbtndisable'].setTag(Tag('textcolor',self.getTag('disabledcolor').getValue()['value'])) + self.controls['labelbtndisable'].setTag(Tag('label','$INFO[ListItem.Label]')) + self.controls['labelbtndisable'].setTag(Tag('visible','!Control.IsEnabled(%d)'%self.controls['SpinControlButton'].getId())) + self.controls['wraplistControl'].addFocusedLayout(self.controls['labelbtndisable']) + + self.controls['labelbtnfocus'] = LabelControl(*self.getArrayTags()) + self.controls['labelbtnfocus'].setTag(Tag('posx',215)) + self.controls['labelbtnfocus'].setTag(Tag('posy',0)) + self.controls['labelbtnfocus'].setTag(Tag('posy',0)) + self.controls['labelbtnfocus'].setTag(Tag('width',225)) + self.controls['labelbtnfocus'].setTag(Tag('align','right')) + self.controls['labelbtnfocus'].setTag(Tag('aligny','center')) + self.controls['labelbtnfocus'].setTag(Tag('textcolor',self.getTag('focusedcolor').getValue()['value'])) + self.controls['labelbtnfocus'].setTag(Tag('label','$INFO[ListItem.Label]')) + self.controls['labelbtnfocus'].setTag(Tag('visible','Control.HasFocus(%d) + Control.IsEnabled(%d)'%(self.controls['SpinControlButton'].getId(),self.controls['SpinControlButton'].getId()))) + self.controls['wraplistControl'].addFocusedLayout(self.controls['labelbtnfocus']) + + self.controls['labelbtnnofocus'] = LabelControl(*self.getArrayTags()) + self.controls['labelbtnnofocus'].setTag(Tag('posx',215)) + self.controls['labelbtnnofocus'].setTag(Tag('posy',0)) + self.controls['labelbtnnofocus'].setTag(Tag('posy',0)) + self.controls['labelbtnnofocus'].setTag(Tag('width',225)) + self.controls['labelbtnnofocus'].setTag(Tag('align','right')) + self.controls['labelbtnnofocus'].setTag(Tag('aligny','center')) + self.controls['labelbtnnofocus'].setTag(Tag('textcolor',self.getTag('textcolor').getValue()['value'])) + self.controls['labelbtnnofocus'].setTag(Tag('label','$INFO[ListItem.Label]')) + self.controls['labelbtnnofocus'].setTag(Tag('visible','!Control.HasFocus(%d) + Control.IsEnabled(%d)'%(self.controls['SpinControlButton'].getId(),self.controls['SpinControlButton'].getId()))) + self.controls['wraplistControl'].addFocusedLayout(self.controls['labelbtnnofocus']) + + + self.controls['groupControl'].addControl(self.controls['wraplistControl']) + + def getId(self) : + return self.controls['SpinControlButton'].getId() + + def setTag(self,tag,append=False) : + if tag.getKey() in self.common_tag : + self.controls['groupControl'].setTag(tag) + if tag.getKey() in self.focusable_tag : + self.controls['SpinControlButton'].setTag(tag) + + def addContent(self,content): + self.controls['wraplistControl'].addContent(content) + + def getWrapListId(self): + return self.controls['wraplistControl'].getId() + + def getOnUpId(self): + return self.controls['FakebtnDown'].getId() + + def getOnDownId(self): + return self.controls['FakebtnUp'].getId() + + def getValue(self): + return xbmc.getInfoLabel('Container(%d).ListItem.Label'%self.controls['wraplistControl'].getId()) + + def setValue(self,value): + nbItem = xbmc.getInfoLabel('Container(%d).NumItems'%self.controls['wraplistControl'].getId()) + find = False + for i in range(int(nbItem)): + if value == xbmc.getInfoLabel('Container(%d).ListItem(%d).Label'%(self.controls['wraplistControl'].getId(),i)) : + find = True + break + if find : + xbmc.executebuiltin('Control.Move(%d,%d)'%(self.controls['wraplistControl'].getId(),i)) + + + + def toXml(self): + xml = '' + if self.controls.has_key('FakebtnUp') : + xml += self.controls['FakebtnUp'].toXml() + #create the group container + xml += self.controls['groupControl'].toXml() + + if self.controls.has_key('FakebtnDown') : + xml += self.controls['FakebtnDown'].toXml() + return xml diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/DialogPackageInfo.xml b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/DialogPackageInfo.xml new file mode 100755 index 000000000..2a9e8f31f --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/DialogPackageInfo.xml @@ -0,0 +1,133 @@ + + 10 + + 1 + 335 + 200 + + dialogeffect + + + 0 + 0 + 610 + 380 + DialogBack.png + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + header label + 40 + 20 + 530 + 30 + font13_title + Skin.String(packageheader) + center + center + selected + black + + + Package Name + 30 + 60 + 550 + 30 + left + center + Skin.String(packagename) + font13 + + + Remote Version + 30 + 85 + 550 + 30 + left + center + Skin.String(packageversionr) + font13 + + + Local Version + 30 + 110 + 550 + 30 + left + center + Skin.String(packageversioni) + font13 + + + Dl size + 30 + 135 + 550 + 30 + left + center + Skin.String(packagesized) + font13 + + + install size + 30 + 160 + 550 + 30 + left + center + Skin.String(packagesizei) + font13 + + + Description + 30 + 185 + 550 + 30 + left + center + Skin.String(packagedesc) + font13 + + + Dependency + 30 + 210 + 550 + 90 + left + Skin.String(packagedep) + true + font13 + + + OK button + 205 + 310 + 200 + 40 + + font12_title + white + white + PreviousMenu + center + 10 + 10 + 10 + 10 + + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/DialogWait.xml b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/DialogWait.xml new file mode 100755 index 000000000..322fc7a82 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/DialogWait.xml @@ -0,0 +1,49 @@ + + + 1 + 335 + 300 + + dialogeffect + + + 0 + 0 + 610 + 120 + DialogBack.png + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + header label + 40 + 20 + 530 + 30 + font13_title + Skin.String(waitheader) + center + center + selected + black + + + Info + 30 + 60 + 550 + 30 + center + center + Skin.String(waitinfo) + font13 + + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/SettingsXbianInfo.template b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/SettingsXbianInfo.template new file mode 100755 index 000000000..423006f65 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/SettingsXbianInfo.template @@ -0,0 +1,186 @@ + + 9000 + no + + CommonBackground + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + 90 + 30 + + + + + + + + + + 5 + 5 + 1090 + 630 + ContentPanel.png + + + 5 + 625 + 1090 + 64 + ContentPanelMirror.png + + + Close Window button + 980 + 11 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + + + LOGO + 30 + 15 + 220 + 80 + keep + Confluence_Logo.png + + + 10 + 90 + 260 + 481 + -1 + 9000 + 9000 + 9001 + 9001 + - + 300 + + + 0 + 0 + 260 + 60 + MenuItemNF.png + + + Menu Label no focus + 250 + 15 + 60 + 241 + + right + font13_title + grey2 + + + + + + 0 + 0 + 260 + 60 + MenuItemFO.png + + + Menu Label focus + 250 + 15 + 60 + 241 + right + + font13_title + white + + + + + + + + + 268 + 10 + 790 + 618 + black-back2.png + + + 268 + 10 + 804 + 100 + stretch + GlassTitleBar.png + + + header label + 300 + 20 + 740 + 30 + font16 + + left + center + white + black + + + 290 + 60 + 750 + 500 + + + + CommonNowPlaying + MainWindowMouseButtons + + Section header image + 20 + 3 + 35 + 35 + keep + icon_system.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + Clock + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/SettingsXbianInfo.xml b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/SettingsXbianInfo.xml new file mode 100755 index 000000000..e69de29bb diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/welcomeDialog.xml b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/welcomeDialog.xml new file mode 100755 index 000000000..0309ff82e --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/resources/skins/Default/720p/welcomeDialog.xml @@ -0,0 +1,67 @@ + + 10 + + 1 + 335 + 200 + + dialogeffect + + + 0 + 0 + 610 + 440 + DialogBack.png + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + header label + 40 + 20 + 530 + 30 + font13_title + + center + center + selected + black + + + My first text box control + 80 + 60 + 450 + 300 + font13 + + + + OK button + 205 + 360 + 200 + 40 + + font12_title + white + white + PreviousMenu + center + 10 + 10 + 10 + 10 + + + + + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/services.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/services.py new file mode 100755 index 000000000..f7c6934b9 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/services.py @@ -0,0 +1,20 @@ +import xbmc +import xbmcgui +import os + +onRun = os.path.join('/','tmp','.xbian_config_python') +if os.path.isfile(onRun) : + os.remove(onRun) + +from services.firstrun import firstrun +firstrun_thread = firstrun() +firstrun_thread.onStart() + +from services.upgrade import upgrade +upgrade_thread = upgrade() +upgrade_thread.onStart() + +from services.resize import resize +resize_thread = resize() +resize_thread.onStart() + diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/services/__init__.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/services/__init__.py new file mode 100755 index 000000000..ee074ac5a --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/services/__init__.py @@ -0,0 +1 @@ +# Dummy file to make this directory a package. diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/services/firstrun.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/services/firstrun.py new file mode 100755 index 000000000..18da04cb8 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/services/firstrun.py @@ -0,0 +1,31 @@ +import xbmcgui +import xbmc +from resources.lib.service import service +from xbmcaddon import Addon +from resources.lib.utils import * +import os + +__addonID__ = "plugin.xbianconfig" +ADDON = Addon( __addonID__ ) +ADDON_DATA = xbmc.translatePath( "special://profile/addon_data/%s/" % __addonID__ ) +ADDON_DIR = ADDON.getAddonInfo( "path" ) +LangXBMC = xbmc.getLocalizedString +ROOTDIR = ADDON_DIR + +class firstrun(service): + def onStart(self): + #check if first run + firstlock = os.path.join(ADDON_DATA,'.firstrun') + if not os.path.isfile(firstlock) : + if not os.path.exists(ADDON_DATA): + os.mkdir(ADDON_DATA) + setSetting('advancedmode','0') + setSetting('notifyonerror','1') + setSetting('notifyonsuccess','1') + setSetting('confirmationonchange','1') + #set default preference: + self.dlg = xbmcgui.WindowXMLDialog('welcomeDialog.xml',ROOTDIR) + self.dlg.doModal() + + #xbmcgui.Dialog().ok('Welcome to XBian','Thanks to have chosen XBian','You can configure it, go to','System -> XBian') + open(firstlock,'w').close() diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/services/resize.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/services/resize.py new file mode 100755 index 000000000..d305c7e22 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/services/resize.py @@ -0,0 +1,18 @@ +import xbmcgui +import xbmc +from resources.lib.service import service +from resources.lib.xbianconfig import xbianConfig + +class resize(service): + def onStart(self): + #check if resize sd is needed + rc = xbianConfig('resizesd','check') + if rc and rc[0] == '1' : + dialog = xbmcgui.Dialog() + if dialog.yesno('Resize SD','Your SD card is not resized','Do you want to resize now?') : + rc = xbianConfig('resizesd','resize') + if rc and rc[0] == '1' : + if dialog.yesno('Resize SD','Resize SD card will be done on next reboot','Do you want to reboot now?') : + xbmc.executebuiltin('Reboot') + else : + xbmc.executebuiltin("Notification(%s,%s)"%('Resize SD','Something went wrong when resizing SD')) diff --git a/home/xbian/.xbmc/addons/plugin.xbianconfig/services/upgrade.py b/home/xbian/.xbmc/addons/plugin.xbianconfig/services/upgrade.py new file mode 100755 index 000000000..2229fc428 --- /dev/null +++ b/home/xbian/.xbmc/addons/plugin.xbianconfig/services/upgrade.py @@ -0,0 +1,94 @@ +import os +import time +import xbmc +from xbmcaddon import Addon +from resources.lib.service import service +from resources.lib.xbianconfig import xbianConfig +from resources.lib.utils import dialogWait,setSetting,getSetting +from datetime import datetime, timedelta + +__addonID__ = "plugin.xbianconfig" +ADDON = Addon( __addonID__ ) + +class upgrade(service): + def onInit(self): + self.StopRequested = False + self.xbianUpdate = False + self.packageUpdate = False + print 'upgrade service started' + + def onAbortRequested(self): + self.StopRequested = True + + def onScreensaverActivated(self): + print 'screensaver activated' + if not xbmc.Player().isPlaying() and (getSetting('lastupdatecheck') == None or getSetting('lastupdatecheck') < datetime.now() - timedelta(days=1)): + print 'XBian : Checking for update' + #check if new upgrade avalaible + rc =xbianConfig('updates','list','upgrades') + if rc and rc[0] == '-3' : + rctmp = xbianConfig('updates','updatedb') + if rctmp and rctmp[0] == '1' : + rc =xbianConfig('updates','list','upgrades') + else : + rc[0]= '0' + if rc and rc[0] not in ('0','-2') : + retval = rc[0].split(';') + self.xbianUpdate = retval[3] + + #check if new update package avalaible + rc =xbianConfig('updates','list','packages') + if rc and rc[0] == '-3' : + rctmp = xbianConfig('updates','updatedb') + if rctmp and rctmp[0] == '1' : + rc =xbianConfig('updates','list','packages') + else : + rc[0]= '0' + if rc and rc[0] not in ('0','-2') : + self.packageUpdate = True + setSetting('lastupdatecheck',datetime.now()) + + + def onScreensaverDeactivated(self): + print 'screensaver Deactivated' + if self.xbianUpdate : + xbmc.executebuiltin("Notification(XBian Upgrade,A new version (%s) of XBian is out)"%(self.xbianUpdate)) + self.xbianUpdate = False + if self.packageUpdate : + xbmc.executebuiltin("Notification(Packages Update,Some XBian package can be updated)") + self.packageUpdate = False + + def onStart(self): + #check if Xbian is upgrading + if os.path.isfile('/var/lock/.upgrades') : + if xbianConfig('updates','progress')[0] == '1': + dlg = dialogWait('XBian Update','Please wait while updating') + dlg.show() + while not self.StopRequested and xbianConfig('updates','progress')[0] == '1': + time.sleep(2) + dlg.close() + if self.StopRequested : + return + xbmc.executebuiltin("Notification(%s,%s)"%('XBian Upgrade','XBian was updated successfully')) + os.remove('/var/lock/.upgrades') + + #check is packages is updating + if os.path.isfile('/var/lock/.packages') : + if xbianConfig('updates','progress')[0] == '1': + dlg = dialogWait('XBian Update','Please wait while updating') + dlg.show() + while not self.StopRequested and xbianConfig('updates','progress')[0] == '1': + time.sleep(2) + dlg.close() + if self.StopRequested : + return + xbmc.executebuiltin("Notification(%s,%s)"%('Package Update','Package was updated successfully')) + os.remove('/var/lock/.packages') + #for those one who deactivate its screensaver, force check every 10 days + if getSetting('lastupdatecheck') != None and getSetting('lastupdatecheck') < datetime.now() - timedelta(days=10): + self.onScreensaverActivated() + self.onScreensaverDeactivated() + while not self.StopRequested: #End if XBMC closes + xbmc.sleep(50000) #Repeat (ms) + + diff --git a/home/xbian/.xbmc/userdata/advancedsettings.xml b/home/xbian/.xbmc/userdata/advancedsettings.xml new file mode 100644 index 000000000..e6032f480 --- /dev/null +++ b/home/xbian/.xbmc/userdata/advancedsettings.xml @@ -0,0 +1,22 @@ + + + 20971520 + + 540 + 256 + echo "$(/opt/vc/bin/vcgencmd measure_temp | grep -o "[0-9]\{2\}") C" + echo "$(/opt/vc/bin/vcgencmd measure_temp | grep -o "[0-9]\{2\}") C" + + 720 + true + + 2 + + diff --git a/home/xbian/.xbmc/userdata/guisettings.xml b/home/xbian/.xbmc/userdata/guisettings.xml new file mode 100644 index 000000000..edc2114cc --- /dev/null +++ b/home/xbian/.xbmc/userdata/guisettings.xml @@ -0,0 +1,524 @@ + + + + false + false + + 0 + 10501 + true + false + + + + 10025 + false + 0 + 0 + 0 + 0 + false + + false + false + + true + true + true + 1 + + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + 65536 + 1 + 1 + + + + 0 + true + true + false + + + 0 + 1 + 1 + 0.000000 + false + 0.000000 + 0 + 1.000000 + 1.000000 + 0.000000 + 0.000000 + false + true + 50.000000 + 50.000000 + 20.000000 + 0.000000 + 0.000000 + false + false + + + + + 0 + 192 + 5 + true + 3 + 0 + select writable folder + %A - %B/[%N. ][%A - ]%T + true + + + true + 8 + true + 2 + false + false + + + 256 + + + 256 + 256 + 256 + + + 2048 + 2048 + + + 4096 + + + 2048 + 4096 + 2048 + + + select writable folder + false + + + false + false + 0 + + + 3 + 3 + 120 + true + false + false + + + + false + true + true + true + false + true + + + true + + true + + + false + DEFAULT + false + + arial.ttf + 0 + 36 + + + + original + DEFAULT + USA (24h) + english + original + America/New_York + United States + + + false + Default + + skin.confluence + SKINDEFAULT + + SKINDEFAULT + 0 + OFF + 10000 + + + - + 3 + false + + + true + + + + + [%N. ]%A - %T + %D + true + + + metadata.album.universal + metadata.artists.universal + false + + false + true + + + true + false + + + true + 0 + true + false + false + 89 + 89 + 1 + + + + 1 + 0 + 0.0.0.0 + + 0 + 0.0.0.0 + 0.0.0.0 + + 8080 + + + + 0.0.0.0 + 0.0.0.0 + + 255.255.255.0 + false + + + 14 + true + true + true + true + + + 0 + 1 + 0 + + + true + + + false + false + + true + false + + + false + true + + true + 5 + true + + + + 300 + false + + + + 0 + true + 10 + true + 0 + true + + + 15 + false + 00:00:00 + false + 15 + + + + 99 + 50 + 120 + 10 + 2 + true + + + metadata.themoviedb.org + metadata.musicvideos.last.fm + metadata.tvdb.com + + + screensaver.xbmc.builtin.dim + + + + true + true + + + + false + false + + + false + + + + false + + XBian + false + 25 + true + 750 + 20 + 9777 + 10 + true + false + false + false + true + + 8080 + xbmc + webinterface.default + true + + + true + false + 5 + + + + WORKGROUP + + + 0 + DEFAULT + 1 + + arial.ttf + 28 + false + + + + special://profile/playlists/ + + + true + false + + true + + 1 + false + + true + true + false + + + 1 + false + 14 + 0 + 5.000000 + 0 + 0 + 1 + 0 + 2 + true + true + false + + + + false + 0 + DESKTOP + 3 + + + weather.wunderground + + 1 + + + 480 + 720 + + + false + false + false + false + false + true + true + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/home/xbian/.xbmc/userdata/peripheral_data/rpi_2708_1001.xml b/home/xbian/.xbmc/userdata/peripheral_data/rpi_2708_1001.xml new file mode 100644 index 000000000..27dc08fce --- /dev/null +++ b/home/xbian/.xbmc/userdata/peripheral_data/rpi_2708_1001.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/home/xbian/.xbmc/userdata/sources.xml b/home/xbian/.xbmc/userdata/sources.xml new file mode 100644 index 000000000..eb407095a --- /dev/null +++ b/home/xbian/.xbmc/userdata/sources.xml @@ -0,0 +1,14 @@ + + + + + XBMC HUB Fusion + http://fusion.xbmchub.com/ + + + Root filesystem + / + + + + diff --git a/lib/firmware/carl9170-1.fw b/lib/firmware/carl9170-1.fw new file mode 100644 index 000000000..b43fcfe4d Binary files /dev/null and b/lib/firmware/carl9170-1.fw differ diff --git a/lib/modules/3.6.11+/kernel/arch/arm/oprofile/oprofile.ko b/lib/modules/3.6.11+/kernel/arch/arm/oprofile/oprofile.ko new file mode 100644 index 000000000..bc60a14bb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/arch/arm/oprofile/oprofile.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/aes_generic.ko b/lib/modules/3.6.11+/kernel/crypto/aes_generic.ko new file mode 100644 index 000000000..dc9c6d3ca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/aes_generic.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/arc4.ko b/lib/modules/3.6.11+/kernel/crypto/arc4.ko new file mode 100644 index 000000000..06536aac7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/arc4.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/async_tx/async_memcpy.ko b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_memcpy.ko new file mode 100644 index 000000000..095bd436c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_memcpy.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/async_tx/async_pq.ko b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_pq.ko new file mode 100644 index 000000000..9de73d8a9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_pq.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/async_tx/async_raid6_recov.ko b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_raid6_recov.ko new file mode 100644 index 000000000..2ba7d19b7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_raid6_recov.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/async_tx/async_tx.ko b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_tx.ko new file mode 100644 index 000000000..96bdcdb28 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_tx.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/async_tx/async_xor.ko b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_xor.ko new file mode 100644 index 000000000..7ec9e5d6c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/async_tx/async_xor.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/async_tx/raid6test.ko b/lib/modules/3.6.11+/kernel/crypto/async_tx/raid6test.ko new file mode 100644 index 000000000..58a471456 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/async_tx/raid6test.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/authenc.ko b/lib/modules/3.6.11+/kernel/crypto/authenc.ko new file mode 100644 index 000000000..93c312ad0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/authenc.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/authencesn.ko b/lib/modules/3.6.11+/kernel/crypto/authencesn.ko new file mode 100644 index 000000000..6ff6a843c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/authencesn.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/cast5.ko b/lib/modules/3.6.11+/kernel/crypto/cast5.ko new file mode 100644 index 000000000..ac93b8a8f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/cast5.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/deflate.ko b/lib/modules/3.6.11+/kernel/crypto/deflate.ko new file mode 100644 index 000000000..afd264cb9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/deflate.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/ecb.ko b/lib/modules/3.6.11+/kernel/crypto/ecb.ko new file mode 100644 index 000000000..8f9d6d614 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/ecb.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/gf128mul.ko b/lib/modules/3.6.11+/kernel/crypto/gf128mul.ko new file mode 100644 index 000000000..603c1cd92 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/gf128mul.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/md4.ko b/lib/modules/3.6.11+/kernel/crypto/md4.ko new file mode 100644 index 000000000..7aaed66a5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/md4.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/michael_mic.ko b/lib/modules/3.6.11+/kernel/crypto/michael_mic.ko new file mode 100644 index 000000000..7f013cd2d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/michael_mic.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/seqiv.ko b/lib/modules/3.6.11+/kernel/crypto/seqiv.ko new file mode 100644 index 000000000..56c584344 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/seqiv.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/sha256_generic.ko b/lib/modules/3.6.11+/kernel/crypto/sha256_generic.ko new file mode 100644 index 000000000..440812117 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/sha256_generic.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/sha512_generic.ko b/lib/modules/3.6.11+/kernel/crypto/sha512_generic.ko new file mode 100644 index 000000000..ffa11c4c8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/sha512_generic.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/tgr192.ko b/lib/modules/3.6.11+/kernel/crypto/tgr192.ko new file mode 100644 index 000000000..523305d18 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/tgr192.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/wp512.ko b/lib/modules/3.6.11+/kernel/crypto/wp512.ko new file mode 100644 index 000000000..7b6dd0c35 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/wp512.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/xcbc.ko b/lib/modules/3.6.11+/kernel/crypto/xcbc.ko new file mode 100644 index 000000000..a39cbc957 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/xcbc.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/xor.ko b/lib/modules/3.6.11+/kernel/crypto/xor.ko new file mode 100644 index 000000000..e9769988f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/xor.ko differ diff --git a/lib/modules/3.6.11+/kernel/crypto/xts.ko b/lib/modules/3.6.11+/kernel/crypto/xts.ko new file mode 100644 index 000000000..fd5b192ac Binary files /dev/null and b/lib/modules/3.6.11+/kernel/crypto/xts.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/base/regmap/regmap-i2c.ko b/lib/modules/3.6.11+/kernel/drivers/base/regmap/regmap-i2c.ko new file mode 100644 index 000000000..f26ab6fb5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/base/regmap/regmap-i2c.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/base/regmap/regmap-spi.ko b/lib/modules/3.6.11+/kernel/drivers/base/regmap/regmap-spi.ko new file mode 100644 index 000000000..85af8e4c1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/base/regmap/regmap-spi.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/block/cryptoloop.ko b/lib/modules/3.6.11+/kernel/drivers/block/cryptoloop.ko new file mode 100644 index 000000000..22e6faa1c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/block/cryptoloop.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/block/drbd/drbd.ko b/lib/modules/3.6.11+/kernel/drivers/block/drbd/drbd.ko new file mode 100644 index 000000000..3b7a42b14 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/block/drbd/drbd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/block/nbd.ko b/lib/modules/3.6.11+/kernel/drivers/block/nbd.ko new file mode 100644 index 000000000..4ac51d168 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/block/nbd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/block/pktcdvd.ko b/lib/modules/3.6.11+/kernel/drivers/block/pktcdvd.ko new file mode 100644 index 000000000..27f1d5eec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/block/pktcdvd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/bluetooth/ath3k.ko b/lib/modules/3.6.11+/kernel/drivers/bluetooth/ath3k.ko new file mode 100644 index 000000000..089037b0e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/bluetooth/ath3k.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/bluetooth/bcm203x.ko b/lib/modules/3.6.11+/kernel/drivers/bluetooth/bcm203x.ko new file mode 100644 index 000000000..1fd7966e8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/bluetooth/bcm203x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/bluetooth/bfusb.ko b/lib/modules/3.6.11+/kernel/drivers/bluetooth/bfusb.ko new file mode 100644 index 000000000..a956a2187 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/bluetooth/bfusb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/bluetooth/bpa10x.ko b/lib/modules/3.6.11+/kernel/drivers/bluetooth/bpa10x.ko new file mode 100644 index 000000000..7048f43ed Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/bluetooth/bpa10x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/bluetooth/btmrvl.ko b/lib/modules/3.6.11+/kernel/drivers/bluetooth/btmrvl.ko new file mode 100644 index 000000000..aeae6f38b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/bluetooth/btmrvl.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/bluetooth/btmrvl_sdio.ko b/lib/modules/3.6.11+/kernel/drivers/bluetooth/btmrvl_sdio.ko new file mode 100644 index 000000000..453298025 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/bluetooth/btmrvl_sdio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/bluetooth/btusb.ko b/lib/modules/3.6.11+/kernel/drivers/bluetooth/btusb.ko new file mode 100644 index 000000000..9f2509cb6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/bluetooth/btusb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/bluetooth/hci_vhci.ko b/lib/modules/3.6.11+/kernel/drivers/bluetooth/hci_vhci.ko new file mode 100644 index 000000000..1d2322f25 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/bluetooth/hci_vhci.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/cdrom/cdrom.ko b/lib/modules/3.6.11+/kernel/drivers/cdrom/cdrom.ko new file mode 100644 index 000000000..8c92eb26d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/cdrom/cdrom.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/connector/cn.ko b/lib/modules/3.6.11+/kernel/drivers/connector/cn.ko new file mode 100644 index 000000000..ac048c2b8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/connector/cn.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/cpufreq/cpufreq_stats.ko b/lib/modules/3.6.11+/kernel/drivers/cpufreq/cpufreq_stats.ko new file mode 100644 index 000000000..fd0fb3375 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/cpufreq/cpufreq_stats.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/extcon/extcon_gpio.ko b/lib/modules/3.6.11+/kernel/drivers/extcon/extcon_gpio.ko new file mode 100644 index 000000000..54eb8df14 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/extcon/extcon_gpio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-a4tech.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-a4tech.ko new file mode 100644 index 000000000..ec168530c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-a4tech.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-apple.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-apple.ko new file mode 100644 index 000000000..8422b8d28 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-apple.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-aureal.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-aureal.ko new file mode 100644 index 000000000..203ff4844 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-aureal.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-axff.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-axff.ko new file mode 100644 index 000000000..dcb45af56 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-axff.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-belkin.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-belkin.ko new file mode 100644 index 000000000..08f58025a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-belkin.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-cherry.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-cherry.ko new file mode 100644 index 000000000..2f5212d24 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-cherry.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-chicony.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-chicony.ko new file mode 100644 index 000000000..078b2dcda Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-chicony.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-cypress.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-cypress.ko new file mode 100644 index 000000000..a5b37fd45 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-cypress.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-dr.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-dr.ko new file mode 100644 index 000000000..3bb0d552c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-dr.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-elecom.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-elecom.ko new file mode 100644 index 000000000..1e76d31fe Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-elecom.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-emsff.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-emsff.ko new file mode 100644 index 000000000..7c7c69a02 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-emsff.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-ezkey.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-ezkey.ko new file mode 100644 index 000000000..84bb499e9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-ezkey.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-gaff.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-gaff.ko new file mode 100644 index 000000000..34156ebdd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-gaff.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-gyration.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-gyration.ko new file mode 100644 index 000000000..d1b04d4d2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-gyration.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-holtek-kbd.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-holtek-kbd.ko new file mode 100644 index 000000000..f12da5f6f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-holtek-kbd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-holtekff.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-holtekff.ko new file mode 100644 index 000000000..352f5052d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-holtekff.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-kensington.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-kensington.ko new file mode 100644 index 000000000..7b24b214f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-kensington.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-keytouch.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-keytouch.ko new file mode 100644 index 000000000..3fe0a23f3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-keytouch.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-kye.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-kye.ko new file mode 100644 index 000000000..367acbe4c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-kye.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-lcpower.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-lcpower.ko new file mode 100644 index 000000000..fa7e40a7c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-lcpower.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-lenovo-tpkbd.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-lenovo-tpkbd.ko new file mode 100644 index 000000000..6fa658138 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-lenovo-tpkbd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-logitech-dj.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-logitech-dj.ko new file mode 100644 index 000000000..0c165e609 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-logitech-dj.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-logitech.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-logitech.ko new file mode 100644 index 000000000..dc7295be4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-logitech.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-magicmouse.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-magicmouse.ko new file mode 100644 index 000000000..eb4f81b63 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-magicmouse.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-microsoft.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-microsoft.ko new file mode 100644 index 000000000..9dd967fa7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-microsoft.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-monterey.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-monterey.ko new file mode 100644 index 000000000..40207c946 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-monterey.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-multitouch.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-multitouch.ko new file mode 100644 index 000000000..d4f2c547d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-multitouch.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-ntrig.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-ntrig.ko new file mode 100644 index 000000000..f1133e629 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-ntrig.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-ortek.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-ortek.ko new file mode 100644 index 000000000..a45f4b45c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-ortek.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-petalynx.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-petalynx.ko new file mode 100644 index 000000000..1203d19e1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-petalynx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-picolcd.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-picolcd.ko new file mode 100644 index 000000000..0af2c1b4e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-picolcd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-pl.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-pl.ko new file mode 100644 index 000000000..ae5e019ff Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-pl.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-primax.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-primax.ko new file mode 100644 index 000000000..4e22b4a25 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-primax.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-prodikeys.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-prodikeys.ko new file mode 100644 index 000000000..48635382d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-prodikeys.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-arvo.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-arvo.ko new file mode 100644 index 000000000..b7d0a5aeb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-arvo.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-common.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-common.ko new file mode 100644 index 000000000..8e2b48f20 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-common.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-isku.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-isku.ko new file mode 100644 index 000000000..f6b4cf085 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-isku.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-kone.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-kone.ko new file mode 100644 index 000000000..51b53555d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-kone.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-koneplus.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-koneplus.ko new file mode 100644 index 000000000..6d1c139fa Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-koneplus.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-kovaplus.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-kovaplus.ko new file mode 100644 index 000000000..844e1351d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-kovaplus.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-pyra.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-pyra.ko new file mode 100644 index 000000000..17ba7f52f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-pyra.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-savu.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-savu.ko new file mode 100644 index 000000000..6c1e3cf83 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat-savu.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat.ko new file mode 100644 index 000000000..16fb7b70b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-roccat.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-saitek.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-saitek.ko new file mode 100644 index 000000000..4e6674b6a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-saitek.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-samsung.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-samsung.ko new file mode 100644 index 000000000..6b83edd60 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-samsung.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-sjoy.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-sjoy.ko new file mode 100644 index 000000000..f14ab1691 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-sjoy.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-sony.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-sony.ko new file mode 100644 index 000000000..e8593f7c3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-sony.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-speedlink.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-speedlink.ko new file mode 100644 index 000000000..9b708b80b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-speedlink.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-sunplus.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-sunplus.ko new file mode 100644 index 000000000..c42bd1314 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-sunplus.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-tivo.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-tivo.ko new file mode 100644 index 000000000..10ab9dd33 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-tivo.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-tmff.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-tmff.ko new file mode 100644 index 000000000..3b9d88623 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-tmff.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-topseed.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-topseed.ko new file mode 100644 index 000000000..54f3e0d76 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-topseed.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-twinhan.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-twinhan.ko new file mode 100644 index 000000000..9271a32c9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-twinhan.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-uclogic.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-uclogic.ko new file mode 100644 index 000000000..7d282f6cd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-uclogic.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-wacom.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-wacom.ko new file mode 100644 index 000000000..b918004cd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-wacom.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-waltop.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-waltop.ko new file mode 100644 index 000000000..88cd5d716 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-waltop.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-wiimote.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-wiimote.ko new file mode 100644 index 000000000..a63dcc508 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-wiimote.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-zpff.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-zpff.ko new file mode 100644 index 000000000..190d6fa86 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-zpff.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/hid-zydacron.ko b/lib/modules/3.6.11+/kernel/drivers/hid/hid-zydacron.ko new file mode 100644 index 000000000..9862c49e6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/hid-zydacron.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hid/uhid.ko b/lib/modules/3.6.11+/kernel/drivers/hid/uhid.ko new file mode 100644 index 000000000..7cb751bc6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hid/uhid.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hsi/clients/hsi_char.ko b/lib/modules/3.6.11+/kernel/drivers/hsi/clients/hsi_char.ko new file mode 100644 index 000000000..0c4c2372b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hsi/clients/hsi_char.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/hsi/hsi.ko b/lib/modules/3.6.11+/kernel/drivers/hsi/hsi.ko new file mode 100644 index 000000000..bf6b02f86 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/hsi/hsi.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/i2c/algos/i2c-algo-bit.ko b/lib/modules/3.6.11+/kernel/drivers/i2c/algos/i2c-algo-bit.ko new file mode 100644 index 000000000..4dc4d51f5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/i2c/algos/i2c-algo-bit.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-bcm2708.ko b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-bcm2708.ko new file mode 100644 index 000000000..0b076bacc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-bcm2708.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-diolan-u2c.ko b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-diolan-u2c.ko new file mode 100644 index 000000000..b6a400cfb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-diolan-u2c.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-gpio.ko b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-gpio.ko new file mode 100644 index 000000000..b88099862 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-gpio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-nomadik.ko b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-nomadik.ko new file mode 100644 index 000000000..75697e7cb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-nomadik.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-tiny-usb.ko b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-tiny-usb.ko new file mode 100644 index 000000000..ce8c73241 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/i2c/busses/i2c-tiny-usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/i2c/i2c-dev.ko b/lib/modules/3.6.11+/kernel/drivers/i2c/i2c-dev.ko new file mode 100644 index 000000000..32bdb3fb9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/i2c/i2c-dev.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/evdev.ko b/lib/modules/3.6.11+/kernel/drivers/input/evdev.ko new file mode 100644 index 000000000..15ea65b88 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/evdev.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/ff-memless.ko b/lib/modules/3.6.11+/kernel/drivers/input/ff-memless.ko new file mode 100644 index 000000000..1cfe5b7e0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/ff-memless.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/gameport/gameport.ko b/lib/modules/3.6.11+/kernel/drivers/input/gameport/gameport.ko new file mode 100644 index 000000000..5adef9383 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/gameport/gameport.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/gameport/lightning.ko b/lib/modules/3.6.11+/kernel/drivers/input/gameport/lightning.ko new file mode 100644 index 000000000..231e006b5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/gameport/lightning.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/gameport/ns558.ko b/lib/modules/3.6.11+/kernel/drivers/input/gameport/ns558.ko new file mode 100644 index 000000000..057139c86 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/gameport/ns558.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/input-polldev.ko b/lib/modules/3.6.11+/kernel/drivers/input/input-polldev.ko new file mode 100644 index 000000000..c6a92a86f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/input-polldev.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/joydev.ko b/lib/modules/3.6.11+/kernel/drivers/input/joydev.ko new file mode 100644 index 000000000..be5ea30b2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/joydev.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/matrix-keymap.ko b/lib/modules/3.6.11+/kernel/drivers/input/matrix-keymap.ko new file mode 100644 index 000000000..0a5450aa7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/matrix-keymap.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x-i2c.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x-i2c.ko new file mode 100644 index 000000000..b009fdb88 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x-i2c.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x-spi.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x-spi.ko new file mode 100644 index 000000000..9299cbbc9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x-spi.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x.ko new file mode 100644 index 000000000..961569b7f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/ad714x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x-i2c.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x-i2c.ko new file mode 100644 index 000000000..abe460803 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x-i2c.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x-spi.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x-spi.ko new file mode 100644 index 000000000..0ab81146e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x-spi.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x.ko new file mode 100644 index 000000000..e9efc679d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/adxl34x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/ati_remote2.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/ati_remote2.ko new file mode 100644 index 000000000..bb19df6e4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/ati_remote2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/cm109.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/cm109.ko new file mode 100644 index 000000000..36d4c246b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/cm109.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/cma3000_d0x.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/cma3000_d0x.ko new file mode 100644 index 000000000..3b396325f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/cma3000_d0x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/gp2ap002a00f.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/gp2ap002a00f.ko new file mode 100644 index 000000000..213ac2252 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/gp2ap002a00f.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/gpio_tilt_polled.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/gpio_tilt_polled.ko new file mode 100644 index 000000000..6a5ea6395 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/gpio_tilt_polled.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/keyspan_remote.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/keyspan_remote.ko new file mode 100644 index 000000000..47d3afa6c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/keyspan_remote.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/powermate.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/powermate.ko new file mode 100644 index 000000000..926c97439 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/powermate.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/rotary_encoder.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/rotary_encoder.ko new file mode 100644 index 000000000..155084588 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/rotary_encoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/uinput.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/uinput.ko new file mode 100644 index 000000000..1c4f6da46 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/uinput.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/misc/yealink.ko b/lib/modules/3.6.11+/kernel/drivers/input/misc/yealink.ko new file mode 100644 index 000000000..df112530e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/misc/yealink.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/serio/serio.ko b/lib/modules/3.6.11+/kernel/drivers/input/serio/serio.ko new file mode 100644 index 000000000..11bcdc792 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/serio/serio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/serio/serio_raw.ko b/lib/modules/3.6.11+/kernel/drivers/input/serio/serio_raw.ko new file mode 100644 index 000000000..134811207 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/serio/serio_raw.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/input/serio/serport.ko b/lib/modules/3.6.11+/kernel/drivers/input/serio/serport.ko new file mode 100644 index 000000000..4f92982e4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/input/serio/serport.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-default-on.ko b/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-default-on.ko new file mode 100644 index 000000000..f70ed8429 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-default-on.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-heartbeat.ko b/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-heartbeat.ko new file mode 100644 index 000000000..d4d426afa Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-heartbeat.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-oneshot.ko b/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-oneshot.ko new file mode 100644 index 000000000..db23e72ea Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-oneshot.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-timer.ko b/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-timer.ko new file mode 100644 index 000000000..02203b9e3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/leds/ledtrig-timer.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-bufio.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-bufio.ko new file mode 100644 index 000000000..773faab98 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-bufio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-crypt.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-crypt.ko new file mode 100644 index 000000000..7e9ce4fb4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-crypt.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-delay.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-delay.ko new file mode 100644 index 000000000..427dda31f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-delay.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-log.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-log.ko new file mode 100644 index 000000000..e237661eb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-log.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-mirror.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-mirror.ko new file mode 100644 index 000000000..0e57aa5a9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-mirror.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-mod.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-mod.ko new file mode 100644 index 000000000..78a694e5e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-mod.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-multipath.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-multipath.ko new file mode 100644 index 000000000..fddd8200f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-multipath.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-queue-length.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-queue-length.ko new file mode 100644 index 000000000..2e4b899f4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-queue-length.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-raid.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-raid.ko new file mode 100644 index 000000000..9eccdbe1c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-raid.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-region-hash.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-region-hash.ko new file mode 100644 index 000000000..4b9ce7293 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-region-hash.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-round-robin.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-round-robin.ko new file mode 100644 index 000000000..4fd370c6e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-round-robin.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-service-time.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-service-time.ko new file mode 100644 index 000000000..f864d07e0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-service-time.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-snapshot.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-snapshot.ko new file mode 100644 index 000000000..c102926fb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-snapshot.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-thin-pool.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-thin-pool.ko new file mode 100644 index 000000000..9fe5f870b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-thin-pool.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-verity.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-verity.ko new file mode 100644 index 000000000..243329595 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-verity.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/dm-zero.ko b/lib/modules/3.6.11+/kernel/drivers/md/dm-zero.ko new file mode 100644 index 000000000..d9e8a4b33 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/dm-zero.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/faulty.ko b/lib/modules/3.6.11+/kernel/drivers/md/faulty.ko new file mode 100644 index 000000000..f2d1ea432 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/faulty.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/linear.ko b/lib/modules/3.6.11+/kernel/drivers/md/linear.ko new file mode 100644 index 000000000..a7f36459c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/linear.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/md-mod.ko b/lib/modules/3.6.11+/kernel/drivers/md/md-mod.ko new file mode 100644 index 000000000..cf113a049 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/md-mod.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/multipath.ko b/lib/modules/3.6.11+/kernel/drivers/md/multipath.ko new file mode 100644 index 000000000..72c1b90b0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/multipath.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/persistent-data/dm-persistent-data.ko b/lib/modules/3.6.11+/kernel/drivers/md/persistent-data/dm-persistent-data.ko new file mode 100644 index 000000000..fcd4ff550 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/persistent-data/dm-persistent-data.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/raid0.ko b/lib/modules/3.6.11+/kernel/drivers/md/raid0.ko new file mode 100644 index 000000000..769dccf17 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/raid0.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/raid1.ko b/lib/modules/3.6.11+/kernel/drivers/md/raid1.ko new file mode 100644 index 000000000..1c75146a2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/raid1.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/raid10.ko b/lib/modules/3.6.11+/kernel/drivers/md/raid10.ko new file mode 100644 index 000000000..82ddc792f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/raid10.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/md/raid456.ko b/lib/modules/3.6.11+/kernel/drivers/md/raid456.ko new file mode 100644 index 000000000..a57868b08 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/md/raid456.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0011.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0011.ko new file mode 100644 index 000000000..f68287ec2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0011.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0012.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0012.ko new file mode 100644 index 000000000..167415c33 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0012.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0013.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0013.ko new file mode 100644 index 000000000..2fb82e75e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/fc0013.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/max2165.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/max2165.ko new file mode 100644 index 000000000..00821b622 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/max2165.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mc44s803.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mc44s803.ko new file mode 100644 index 000000000..b1e23a083 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mc44s803.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2060.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2060.ko new file mode 100644 index 000000000..a43e174bb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2060.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2063.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2063.ko new file mode 100644 index 000000000..5eaa765d9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2063.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt20xx.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt20xx.ko new file mode 100644 index 000000000..79e93505c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt20xx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2131.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2131.ko new file mode 100644 index 000000000..72697b4e0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2131.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2266.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2266.ko new file mode 100644 index 000000000..4d431082d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mt2266.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mxl5005s.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mxl5005s.ko new file mode 100644 index 000000000..9732c4203 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mxl5005s.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mxl5007t.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mxl5007t.ko new file mode 100644 index 000000000..2c1a19c25 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/mxl5007t.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/qt1010.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/qt1010.ko new file mode 100644 index 000000000..d0b123f09 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/qt1010.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18212.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18212.ko new file mode 100644 index 000000000..6a91e508f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18212.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18218.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18218.ko new file mode 100644 index 000000000..9511e2f04 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18218.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18271.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18271.ko new file mode 100644 index 000000000..12698866f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda18271.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda827x.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda827x.ko new file mode 100644 index 000000000..5221a2720 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda827x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda8290.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda8290.ko new file mode 100644 index 000000000..98e5a9815 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda8290.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda9887.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda9887.ko new file mode 100644 index 000000000..012204b2d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tda9887.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tea5761.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tea5761.ko new file mode 100644 index 000000000..f71434ea9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tea5761.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tea5767.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tea5767.ko new file mode 100644 index 000000000..490bd390f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tea5767.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tua9001.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tua9001.ko new file mode 100644 index 000000000..88a9c4985 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tua9001.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-simple.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-simple.ko new file mode 100644 index 000000000..445f55543 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-simple.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-types.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-types.ko new file mode 100644 index 000000000..7b2d7aa8b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-types.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-xc2028.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-xc2028.ko new file mode 100644 index 000000000..bd2d78ab0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/tuner-xc2028.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/xc4000.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/xc4000.ko new file mode 100644 index 000000000..aaeb9fa55 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/xc4000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/xc5000.ko b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/xc5000.ko new file mode 100644 index 000000000..4d746406c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/common/tuners/xc5000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/b2c2/b2c2-flexcop-usb.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/b2c2/b2c2-flexcop-usb.ko new file mode 100644 index 000000000..80fd10810 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/b2c2/b2c2-flexcop-usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/b2c2/b2c2-flexcop.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/b2c2/b2c2-flexcop.ko new file mode 100644 index 000000000..d14299176 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/b2c2/b2c2-flexcop.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-core/dvb-core.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-core/dvb-core.ko new file mode 100644 index 000000000..a97a65100 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-core/dvb-core.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-a800.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-a800.ko new file mode 100644 index 000000000..7fb6dc48e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-a800.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.ko new file mode 100644 index 000000000..eda590310 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005.ko new file mode 100644 index 000000000..0ef0e3086 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko new file mode 100644 index 000000000..51935d59b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9035.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9035.ko new file mode 100644 index 000000000..d5cc630f7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9035.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-anysee.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-anysee.ko new file mode 100644 index 000000000..bd46d6bd9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-anysee.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-au6610.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-au6610.ko new file mode 100644 index 000000000..e1bdd6bba Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-au6610.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6007.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6007.ko new file mode 100644 index 000000000..f90c431dc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6007.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6027.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6027.ko new file mode 100644 index 000000000..863315803 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6027.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.ko new file mode 100644 index 000000000..792fb1cd7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.ko new file mode 100644 index 000000000..607023247 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.ko new file mode 100644 index 000000000..7dae6a871 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.ko new file mode 100644 index 000000000..ee9ef99c5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko new file mode 100644 index 000000000..1db10286c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.ko new file mode 100644 index 000000000..536971c54 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.ko new file mode 100644 index 000000000..fd28d5759 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-digitv.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-digitv.ko new file mode 100644 index 000000000..a67f543ec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-digitv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.ko new file mode 100644 index 000000000..d83f808c2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.ko new file mode 100644 index 000000000..d029a9c06 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.ko new file mode 100644 index 000000000..6a971d602 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ec168.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ec168.ko new file mode 100644 index 000000000..80f8c4d81 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ec168.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-friio.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-friio.ko new file mode 100644 index 000000000..345114c22 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-friio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-gl861.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-gl861.ko new file mode 100644 index 000000000..b6a1c457d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-gl861.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.ko new file mode 100644 index 000000000..12fd87c31 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv1.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv1.ko new file mode 100644 index 000000000..2b8bbe6b6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv1.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv2.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv2.ko new file mode 100644 index 000000000..c2b6e9af5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-lmedm04.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-lmedm04.ko new file mode 100644 index 000000000..c3d26e029 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-lmedm04.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-m920x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-m920x.ko new file mode 100644 index 000000000..131a80488 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-m920x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.ko new file mode 100644 index 000000000..534415d71 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-opera.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-opera.ko new file mode 100644 index 000000000..e7bdfdd6c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-opera.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-rtl28xxu.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-rtl28xxu.ko new file mode 100644 index 000000000..95f7e5e92 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-rtl28xxu.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-technisat-usb2.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-technisat-usb2.ko new file mode 100644 index 000000000..15bd906df Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-technisat-usb2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.ko new file mode 100644 index 000000000..8ab11b8a8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.ko new file mode 100644 index 000000000..62e7aff9f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.ko new file mode 100644 index 000000000..f7334f3e2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.ko new file mode 100644 index 000000000..475b9dc0e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko new file mode 100644 index 000000000..a851c7a9a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/a8293.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/a8293.ko new file mode 100644 index 000000000..bb2c48f97 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/a8293.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/af9013.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/af9013.ko new file mode 100644 index 000000000..bfaec2c49 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/af9013.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/af9033.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/af9033.ko new file mode 100644 index 000000000..5377dbd12 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/af9033.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/atbm8830.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/atbm8830.ko new file mode 100644 index 000000000..d99a1462b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/atbm8830.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_common.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_common.ko new file mode 100644 index 000000000..da6ab611f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_common.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_decoder.ko new file mode 100644 index 000000000..97681280a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_dig.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_dig.ko new file mode 100644 index 000000000..712fb9e08 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/au8522_dig.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/bcm3510.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/bcm3510.ko new file mode 100644 index 000000000..447c5cf78 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/bcm3510.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx22700.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx22700.ko new file mode 100644 index 000000000..96e4a16ef Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx22700.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx22702.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx22702.ko new file mode 100644 index 000000000..f0d88b246 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx22702.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24110.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24110.ko new file mode 100644 index 000000000..87ae9a301 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24110.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24113.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24113.ko new file mode 100644 index 000000000..ff0b6ce10 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24113.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24116.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24116.ko new file mode 100644 index 000000000..2de720cd6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24116.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24123.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24123.ko new file mode 100644 index 000000000..a7506ec6e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cx24123.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cxd2820r.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cxd2820r.ko new file mode 100644 index 000000000..e0eb8830b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/cxd2820r.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib0070.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib0070.ko new file mode 100644 index 000000000..e01cec848 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib0070.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib0090.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib0090.ko new file mode 100644 index 000000000..ef4b12e98 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib0090.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib3000mb.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib3000mb.ko new file mode 100644 index 000000000..55e79aa5b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib3000mb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib3000mc.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib3000mc.ko new file mode 100644 index 000000000..7f052125d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib3000mc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib7000m.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib7000m.ko new file mode 100644 index 000000000..48fe179ee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib7000m.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib7000p.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib7000p.ko new file mode 100644 index 000000000..753978930 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib7000p.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib8000.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib8000.ko new file mode 100644 index 000000000..4ac7960ed Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib8000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib9000.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib9000.ko new file mode 100644 index 000000000..99eaf4a59 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dib9000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dibx000_common.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dibx000_common.ko new file mode 100644 index 000000000..21c2fab59 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dibx000_common.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/drxd.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/drxd.ko new file mode 100644 index 000000000..c5c2caf89 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/drxd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/drxk.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/drxk.ko new file mode 100644 index 000000000..cdd5f7425 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/drxk.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ds3000.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ds3000.ko new file mode 100644 index 000000000..24c47f661 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ds3000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dvb-pll.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dvb-pll.ko new file mode 100644 index 000000000..c29987299 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/dvb-pll.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ec100.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ec100.ko new file mode 100644 index 000000000..77c0e2244 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ec100.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/hd29l2.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/hd29l2.ko new file mode 100644 index 000000000..ba48f0d30 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/hd29l2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6405.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6405.ko new file mode 100644 index 000000000..f6a10e060 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6405.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6421.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6421.ko new file mode 100644 index 000000000..02ab6c9ba Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6421.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6423.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6423.ko new file mode 100644 index 000000000..a2bec499b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/isl6423.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/it913x-fe.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/it913x-fe.ko new file mode 100644 index 000000000..8ffee3482 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/it913x-fe.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/itd1000.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/itd1000.ko new file mode 100644 index 000000000..2fc33e2be Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/itd1000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ix2505v.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ix2505v.ko new file mode 100644 index 000000000..eccfe10a2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ix2505v.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/l64781.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/l64781.ko new file mode 100644 index 000000000..576d411a5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/l64781.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lg2160.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lg2160.ko new file mode 100644 index 000000000..6ffa5fe5e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lg2160.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgdt3305.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgdt3305.ko new file mode 100644 index 000000000..82a31e29b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgdt3305.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgdt330x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgdt330x.ko new file mode 100644 index 000000000..d3359d0ca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgdt330x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgs8gl5.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgs8gl5.ko new file mode 100644 index 000000000..47b37004d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgs8gl5.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgs8gxx.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgs8gxx.ko new file mode 100644 index 000000000..a18035674 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lgs8gxx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lnbp21.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lnbp21.ko new file mode 100644 index 000000000..779cea74d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lnbp21.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lnbp22.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lnbp22.ko new file mode 100644 index 000000000..2e046a40e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/lnbp22.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/m88rs2000.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/m88rs2000.ko new file mode 100644 index 000000000..13b45eb90 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/m88rs2000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mb86a16.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mb86a16.ko new file mode 100644 index 000000000..2b06c4f40 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mb86a16.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mb86a20s.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mb86a20s.ko new file mode 100644 index 000000000..1506f366d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mb86a20s.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mt312.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mt312.ko new file mode 100644 index 000000000..5be82c8ee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mt312.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mt352.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mt352.ko new file mode 100644 index 000000000..031dabe2b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/mt352.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/nxt200x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/nxt200x.ko new file mode 100644 index 000000000..fec3172de Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/nxt200x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/nxt6000.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/nxt6000.ko new file mode 100644 index 000000000..9886784d1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/nxt6000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/or51132.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/or51132.ko new file mode 100644 index 000000000..63d927838 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/or51132.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/or51211.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/or51211.ko new file mode 100644 index 000000000..677a2e7f2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/or51211.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/rtl2830.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/rtl2830.ko new file mode 100644 index 000000000..eca8e80dc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/rtl2830.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/rtl2832.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/rtl2832.ko new file mode 100644 index 000000000..40fdf94c2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/rtl2832.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1409.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1409.ko new file mode 100644 index 000000000..a8f732a4d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1409.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1411.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1411.ko new file mode 100644 index 000000000..8344f6284 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1411.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1420.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1420.ko new file mode 100644 index 000000000..64e9679ad Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1420.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1432.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1432.ko new file mode 100644 index 000000000..4db3f69ea Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s5h1432.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s921.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s921.ko new file mode 100644 index 000000000..cf59f062d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/s921.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/si21xx.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/si21xx.ko new file mode 100644 index 000000000..ac7e0b482 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/si21xx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/sp8870.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/sp8870.ko new file mode 100644 index 000000000..7eda768f0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/sp8870.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/sp887x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/sp887x.ko new file mode 100644 index 000000000..7e11cdaa3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/sp887x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb0899.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb0899.ko new file mode 100644 index 000000000..3400d29fa Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb0899.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb6000.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb6000.ko new file mode 100644 index 000000000..34b194bef Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb6000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb6100.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb6100.ko new file mode 100644 index 000000000..400e5734f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stb6100.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0288.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0288.ko new file mode 100644 index 000000000..f01da50b2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0288.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0297.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0297.ko new file mode 100644 index 000000000..78294e1ae Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0297.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0299.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0299.ko new file mode 100644 index 000000000..7fdc310ce Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0299.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0367.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0367.ko new file mode 100644 index 000000000..b9d938f89 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0367.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0900.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0900.ko new file mode 100644 index 000000000..37a7804ad Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv0900.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv090x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv090x.ko new file mode 100644 index 000000000..021598a31 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv090x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv6110.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv6110.ko new file mode 100644 index 000000000..14f119a86 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv6110.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv6110x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv6110x.ko new file mode 100644 index 000000000..5aa6b0684 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/stv6110x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10021.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10021.ko new file mode 100644 index 000000000..e3af6f402 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10021.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10023.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10023.ko new file mode 100644 index 000000000..b9d0d18d1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10023.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10048.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10048.ko new file mode 100644 index 000000000..c54bae474 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10048.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda1004x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda1004x.ko new file mode 100644 index 000000000..a72108c48 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda1004x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10071.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10071.ko new file mode 100644 index 000000000..d62f3ce9e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10071.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10086.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10086.ko new file mode 100644 index 000000000..07b9b4109 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda10086.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda18271c2dd.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda18271c2dd.ko new file mode 100644 index 000000000..a0cfb64fd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda18271c2dd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda665x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda665x.ko new file mode 100644 index 000000000..3dcc8e1b7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda665x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda8083.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda8083.ko new file mode 100644 index 000000000..f88d3d423 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda8083.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda8261.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda8261.ko new file mode 100644 index 000000000..be8cc6f17 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda8261.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda826x.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda826x.ko new file mode 100644 index 000000000..f5fd70f27 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tda826x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tua6100.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tua6100.ko new file mode 100644 index 000000000..66f4273bf Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/tua6100.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ves1820.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ves1820.ko new file mode 100644 index 000000000..fb236ad20 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ves1820.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ves1x93.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ves1x93.ko new file mode 100644 index 000000000..e42065fc5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/ves1x93.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10036.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10036.ko new file mode 100644 index 000000000..1773dae97 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10036.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10039.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10039.ko new file mode 100644 index 000000000..eb339a20b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10039.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10353.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10353.ko new file mode 100644 index 000000000..72bb2b24c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/frontends/zl10353.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsdvb.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsdvb.ko new file mode 100644 index 000000000..2f4475de4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsdvb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsmdtv.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsmdtv.ko new file mode 100644 index 000000000..36ab26028 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsmdtv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsusb.ko b/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsusb.ko new file mode 100644 index 000000000..bd5e92ee3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/dvb/siano/smsusb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/radio/dsbr100.ko b/lib/modules/3.6.11+/kernel/drivers/media/radio/dsbr100.ko new file mode 100644 index 000000000..15fb7ed65 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/radio/dsbr100.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/radio/radio-keene.ko b/lib/modules/3.6.11+/kernel/drivers/media/radio/radio-keene.ko new file mode 100644 index 000000000..9dd89ddd3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/radio/radio-keene.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/radio/radio-mr800.ko b/lib/modules/3.6.11+/kernel/drivers/media/radio/radio-mr800.ko new file mode 100644 index 000000000..82810e10a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/radio/radio-mr800.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/radio/shark2.ko b/lib/modules/3.6.11+/kernel/drivers/media/radio/shark2.ko new file mode 100644 index 000000000..4d4b6430c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/radio/shark2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/radio/si470x/radio-usb-si470x.ko b/lib/modules/3.6.11+/kernel/drivers/media/radio/si470x/radio-usb-si470x.ko new file mode 100644 index 000000000..836d7730e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/radio/si470x/radio-usb-si470x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ati_remote.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ati_remote.ko new file mode 100644 index 000000000..1ecc4e58d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ati_remote.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/gpio-ir-recv.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/gpio-ir-recv.ko new file mode 100644 index 000000000..2ba6d2680 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/gpio-ir-recv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/iguanair.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/iguanair.ko new file mode 100644 index 000000000..a0f39e6cb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/iguanair.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/imon.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/imon.ko new file mode 100644 index 000000000..ea63fbc8a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/imon.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-jvc-decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-jvc-decoder.ko new file mode 100644 index 000000000..cbbfa1a1a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-jvc-decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-lirc-codec.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-lirc-codec.ko new file mode 100644 index 000000000..5f8ab7de8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-lirc-codec.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-mce_kbd-decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-mce_kbd-decoder.ko new file mode 100644 index 000000000..ff5e6b8a4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-mce_kbd-decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-nec-decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-nec-decoder.ko new file mode 100644 index 000000000..75d2d489d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-nec-decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc5-decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc5-decoder.ko new file mode 100644 index 000000000..478d15fb6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc5-decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc5-sz-decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc5-sz-decoder.ko new file mode 100644 index 000000000..93ffa4cef Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc5-sz-decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc6-decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc6-decoder.ko new file mode 100644 index 000000000..2a9cdab72 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-rc6-decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-sanyo-decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-sanyo-decoder.ko new file mode 100644 index 000000000..4e932d738 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-sanyo-decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-sony-decoder.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-sony-decoder.ko new file mode 100644 index 000000000..f48d00a81 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/ir-sony-decoder.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.ko new file mode 100644 index 000000000..e52455694 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-alink-dtu-m.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-alink-dtu-m.ko new file mode 100644 index 000000000..82eb8524b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-alink-dtu-m.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-anysee.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-anysee.ko new file mode 100644 index 000000000..15fd55a20 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-anysee.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-apac-viewcomp.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-apac-viewcomp.ko new file mode 100644 index 000000000..51cd9b3f9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-apac-viewcomp.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko new file mode 100644 index 000000000..6f4a82e6c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko new file mode 100644 index 000000000..922bea960 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.ko new file mode 100644 index 000000000..fb1bf2381 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-ati-x10.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-ati-x10.ko new file mode 100644 index 000000000..50f669053 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-ati-x10.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-a16d.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-a16d.ko new file mode 100644 index 000000000..54b00639b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-a16d.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-cardbus.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-cardbus.ko new file mode 100644 index 000000000..c7697a552 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-cardbus.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-dvbt.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-dvbt.ko new file mode 100644 index 000000000..bb6afb558 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-dvbt.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-m135a.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-m135a.ko new file mode 100644 index 000000000..49a6a98d9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-m135a.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.ko new file mode 100644 index 000000000..0180dee9e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-rm-ks.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-rm-ks.ko new file mode 100644 index 000000000..682028d37 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia-rm-ks.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia.ko new file mode 100644 index 000000000..20f671dc5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avermedia.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avertv-303.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avertv-303.ko new file mode 100644 index 000000000..2e71e892a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-avertv-303.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.ko new file mode 100644 index 000000000..984834dd2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-behold-columbus.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-behold-columbus.ko new file mode 100644 index 000000000..6f584ae0b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-behold-columbus.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-behold.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-behold.ko new file mode 100644 index 000000000..119088263 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-behold.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-budget-ci-old.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-budget-ci-old.ko new file mode 100644 index 000000000..bbe1d029d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-budget-ci-old.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-cinergy-1400.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-cinergy-1400.ko new file mode 100644 index 000000000..6c4bdcd91 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-cinergy-1400.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-cinergy.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-cinergy.ko new file mode 100644 index 000000000..26ceacecb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-cinergy.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dib0700-nec.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dib0700-nec.ko new file mode 100644 index 000000000..d54527838 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dib0700-nec.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dib0700-rc5.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dib0700-rc5.ko new file mode 100644 index 000000000..8f2765588 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dib0700-rc5.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.ko new file mode 100644 index 000000000..9f9e413ec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-digittrade.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-digittrade.ko new file mode 100644 index 000000000..077c8c3c8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-digittrade.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dm1105-nec.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dm1105-nec.ko new file mode 100644 index 000000000..4e50b4f03 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dm1105-nec.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.ko new file mode 100644 index 000000000..1a11bc424 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.ko new file mode 100644 index 000000000..82e0461fc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-em-terratec.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-em-terratec.ko new file mode 100644 index 000000000..ba472fa1c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-em-terratec.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv-fm53.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv-fm53.ko new file mode 100644 index 000000000..b5f19ea92 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv-fm53.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv.ko new file mode 100644 index 000000000..02d8736c4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv2.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv2.ko new file mode 100644 index 000000000..f7321cb87 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-encore-enltv2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-evga-indtube.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-evga-indtube.ko new file mode 100644 index 000000000..48f876bc0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-evga-indtube.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-eztv.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-eztv.ko new file mode 100644 index 000000000..92f162075 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-eztv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-flydvb.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-flydvb.ko new file mode 100644 index 000000000..fa3b8933c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-flydvb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-flyvideo.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-flyvideo.ko new file mode 100644 index 000000000..87cb4cc3e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-flyvideo.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-fusionhdtv-mce.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-fusionhdtv-mce.ko new file mode 100644 index 000000000..8567bbfdc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-fusionhdtv-mce.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-gadmei-rm008z.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-gadmei-rm008z.ko new file mode 100644 index 000000000..e16678f60 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-gadmei-rm008z.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.ko new file mode 100644 index 000000000..2d97ba3e5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-gotview7135.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-gotview7135.ko new file mode 100644 index 000000000..08e86a343 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-gotview7135.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-hauppauge.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-hauppauge.ko new file mode 100644 index 000000000..e971bb5d3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-hauppauge.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-imon-mce.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-imon-mce.ko new file mode 100644 index 000000000..891a1dc3b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-imon-mce.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-imon-pad.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-imon-pad.ko new file mode 100644 index 000000000..4b6915e3c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-imon-pad.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-iodata-bctv7e.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-iodata-bctv7e.ko new file mode 100644 index 000000000..7915f93ac Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-iodata-bctv7e.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-it913x-v1.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-it913x-v1.ko new file mode 100644 index 000000000..33d99ec28 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-it913x-v1.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-it913x-v2.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-it913x-v2.ko new file mode 100644 index 000000000..55eccfcba Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-it913x-v2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kaiomy.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kaiomy.ko new file mode 100644 index 000000000..9038293b9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kaiomy.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-315u.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-315u.ko new file mode 100644 index 000000000..8eb232106 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-315u.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-pc150u.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-pc150u.ko new file mode 100644 index 000000000..bcff47c38 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-pc150u.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.ko new file mode 100644 index 000000000..97805ae6f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-leadtek-y04g0051.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-leadtek-y04g0051.ko new file mode 100644 index 000000000..002a60169 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-leadtek-y04g0051.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-lirc.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-lirc.ko new file mode 100644 index 000000000..92ab3702d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-lirc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-lme2510.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-lme2510.ko new file mode 100644 index 000000000..49a2f7ebc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-lme2510.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-manli.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-manli.ko new file mode 100644 index 000000000..3f514e51a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-manli.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10-digitainer.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10-digitainer.ko new file mode 100644 index 000000000..29040fbc2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10-digitainer.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10-or2x.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10-or2x.ko new file mode 100644 index 000000000..31baca61a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10-or2x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10.ko new file mode 100644 index 000000000..f85afd4e5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-medion-x10.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-digivox-ii.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-digivox-ii.ko new file mode 100644 index 000000000..79ba30865 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-digivox-ii.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-digivox-iii.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-digivox-iii.ko new file mode 100644 index 000000000..d5ad8dd8d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-digivox-iii.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.ko new file mode 100644 index 000000000..bdc146ccd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere.ko new file mode 100644 index 000000000..ecf9372e9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-nebula.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-nebula.ko new file mode 100644 index 000000000..17731eecd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-nebula.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.ko new file mode 100644 index 000000000..60ba5dcba Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-norwood.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-norwood.ko new file mode 100644 index 000000000..5d8c3df74 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-norwood.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-npgtech.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-npgtech.ko new file mode 100644 index 000000000..e2687b2a8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-npgtech.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pctv-sedna.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pctv-sedna.ko new file mode 100644 index 000000000..e1e58aba5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pctv-sedna.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-color.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-color.ko new file mode 100644 index 000000000..a25307d9f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-color.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-grey.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-grey.ko new file mode 100644 index 000000000..b43e0b34e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-grey.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.ko new file mode 100644 index 000000000..15bd1fc0c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-002t.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-002t.ko new file mode 100644 index 000000000..c4fd4387c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-002t.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-mk12.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-mk12.ko new file mode 100644 index 000000000..8ca5a040f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-mk12.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-new.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-new.ko new file mode 100644 index 000000000..4a9553939 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview-new.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview.ko new file mode 100644 index 000000000..d1eacc73e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pixelview.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-powercolor-real-angel.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-powercolor-real-angel.ko new file mode 100644 index 000000000..189926251 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-powercolor-real-angel.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-proteus-2309.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-proteus-2309.ko new file mode 100644 index 000000000..0f1c0f222 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-proteus-2309.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-purpletv.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-purpletv.ko new file mode 100644 index 000000000..8f6d0e6ec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-purpletv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pv951.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pv951.ko new file mode 100644 index 000000000..833d1060f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-pv951.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-rc6-mce.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-rc6-mce.ko new file mode 100644 index 000000000..e823ecab3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-rc6-mce.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.ko new file mode 100644 index 000000000..1a8f00440 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-snapstream-firefly.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-snapstream-firefly.ko new file mode 100644 index 000000000..40b3491ad Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-snapstream-firefly.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-streamzap.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-streamzap.ko new file mode 100644 index 000000000..412466c32 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-streamzap.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tbs-nec.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tbs-nec.ko new file mode 100644 index 000000000..6ba52ba81 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tbs-nec.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-technisat-usb2.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-technisat-usb2.ko new file mode 100644 index 000000000..1f4eb2f45 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-technisat-usb2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.ko new file mode 100644 index 000000000..9bb6543d4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-slim-2.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-slim-2.ko new file mode 100644 index 000000000..87dac21bc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-slim-2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-slim.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-slim.ko new file mode 100644 index 000000000..9bdf4e3de Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-terratec-slim.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tevii-nec.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tevii-nec.ko new file mode 100644 index 000000000..74241b259 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tevii-nec.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tivo.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tivo.ko new file mode 100644 index 000000000..c85f098e3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tivo.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-total-media-in-hand.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-total-media-in-hand.ko new file mode 100644 index 000000000..091acf729 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-total-media-in-hand.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-trekstor.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-trekstor.ko new file mode 100644 index 000000000..b691367f1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-trekstor.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tt-1500.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tt-1500.ko new file mode 100644 index 000000000..bbff36b5d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-tt-1500.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-twinhan1027.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-twinhan1027.ko new file mode 100644 index 000000000..408c0204b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-twinhan1027.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-m1f.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-m1f.ko new file mode 100644 index 000000000..c40e5b87c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-m1f.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-s350.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-s350.ko new file mode 100644 index 000000000..6b63e3156 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-s350.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-tv-pvr.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-tv-pvr.ko new file mode 100644 index 000000000..a99b9c4c3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-videomate-tv-pvr.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.ko new file mode 100644 index 000000000..845a815a7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-winfast.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-winfast.ko new file mode 100644 index 000000000..6e3245fca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/keymaps/rc-winfast.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/lirc_dev.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/lirc_dev.ko new file mode 100644 index 000000000..e1eba2b75 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/lirc_dev.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/mceusb.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/mceusb.ko new file mode 100644 index 000000000..146549b7b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/mceusb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/rc-core.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/rc-core.ko new file mode 100644 index 000000000..4bb97c7a5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/rc-core.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/rc-loopback.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/rc-loopback.ko new file mode 100644 index 000000000..ab8201d3a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/rc-loopback.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/redrat3.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/redrat3.ko new file mode 100644 index 000000000..4687d6aef Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/redrat3.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/rc/streamzap.ko b/lib/modules/3.6.11+/kernel/drivers/media/rc/streamzap.ko new file mode 100644 index 000000000..67f39f0f9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/rc/streamzap.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/cs53l32a.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/cs53l32a.ko new file mode 100644 index 000000000..5de3772da Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/cs53l32a.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx-alsa.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx-alsa.ko new file mode 100644 index 000000000..f0da23df7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx-alsa.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx-dvb.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx-dvb.ko new file mode 100644 index 000000000..0d28e80d0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx-dvb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx.ko new file mode 100644 index 000000000..a8893ac86 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/cx231xx/cx231xx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/cx2341x.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/cx2341x.ko new file mode 100644 index 000000000..09f90841f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/cx2341x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/cx25840/cx25840.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/cx25840/cx25840.ko new file mode 100644 index 000000000..31060c214 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/cx25840/cx25840.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-alsa.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-alsa.ko new file mode 100644 index 000000000..192446e62 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-alsa.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-dvb.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-dvb.ko new file mode 100644 index 000000000..98d585e73 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-dvb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-rc.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-rc.ko new file mode 100644 index 000000000..216ddc0e3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx-rc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx.ko new file mode 100644 index 000000000..c03065771 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/em28xx/em28xx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gl860/gspca_gl860.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gl860/gspca_gl860.ko new file mode 100644 index 000000000..5b97a79fd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gl860/gspca_gl860.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_benq.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_benq.ko new file mode 100644 index 000000000..4d854b1d0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_benq.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_conex.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_conex.ko new file mode 100644 index 000000000..be3db9178 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_conex.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_cpia1.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_cpia1.ko new file mode 100644 index 000000000..a671b5657 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_cpia1.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_etoms.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_etoms.ko new file mode 100644 index 000000000..84989e3ee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_etoms.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_finepix.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_finepix.ko new file mode 100644 index 000000000..454ce3c3f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_finepix.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_jeilinj.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_jeilinj.ko new file mode 100644 index 000000000..2177cc562 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_jeilinj.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_jl2005bcd.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_jl2005bcd.ko new file mode 100644 index 000000000..9368cec09 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_jl2005bcd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_kinect.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_kinect.ko new file mode 100644 index 000000000..0ddb62b9f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_kinect.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_konica.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_konica.ko new file mode 100644 index 000000000..beb381a47 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_konica.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_main.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_main.ko new file mode 100644 index 000000000..e0fdcd1ef Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_main.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_mars.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_mars.ko new file mode 100644 index 000000000..d4d2be488 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_mars.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_mr97310a.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_mr97310a.ko new file mode 100644 index 000000000..b6659a24a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_mr97310a.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_nw80x.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_nw80x.ko new file mode 100644 index 000000000..7e9b4c049 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_nw80x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov519.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov519.ko new file mode 100644 index 000000000..86c867d6a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov519.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov534.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov534.ko new file mode 100644 index 000000000..69ca68dfe Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov534.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov534_9.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov534_9.ko new file mode 100644 index 000000000..eb78064bf Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_ov534_9.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac207.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac207.ko new file mode 100644 index 000000000..f301443cf Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac207.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac7302.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac7302.ko new file mode 100644 index 000000000..1d104a7c7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac7302.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac7311.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac7311.ko new file mode 100644 index 000000000..43974e908 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_pac7311.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_se401.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_se401.ko new file mode 100644 index 000000000..3bf2b0b3c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_se401.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sn9c2028.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sn9c2028.ko new file mode 100644 index 000000000..8f2ca4cb9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sn9c2028.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sn9c20x.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sn9c20x.ko new file mode 100644 index 000000000..81e029973 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sn9c20x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sonixb.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sonixb.ko new file mode 100644 index 000000000..4f7ce3d38 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sonixb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sonixj.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sonixj.ko new file mode 100644 index 000000000..29c4b530e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sonixj.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca1528.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca1528.ko new file mode 100644 index 000000000..7be1b1097 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca1528.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca500.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca500.ko new file mode 100644 index 000000000..6fffe100f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca500.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca501.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca501.ko new file mode 100644 index 000000000..817e6cc15 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca501.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca505.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca505.ko new file mode 100644 index 000000000..e298a836f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca505.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca506.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca506.ko new file mode 100644 index 000000000..24e565c1f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca506.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca508.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca508.ko new file mode 100644 index 000000000..294e1c85a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca508.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca561.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca561.ko new file mode 100644 index 000000000..57f07bc44 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_spca561.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq905.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq905.ko new file mode 100644 index 000000000..4a8bb8e27 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq905.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq905c.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq905c.ko new file mode 100644 index 000000000..6f93ceb9a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq905c.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq930x.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq930x.ko new file mode 100644 index 000000000..87494d4b3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sq930x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_stk014.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_stk014.ko new file mode 100644 index 000000000..d34ead028 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_stk014.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_stv0680.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_stv0680.ko new file mode 100644 index 000000000..0476fbe67 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_stv0680.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sunplus.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sunplus.ko new file mode 100644 index 000000000..a04065f5a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_sunplus.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_t613.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_t613.ko new file mode 100644 index 000000000..234285c3f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_t613.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_tv8532.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_tv8532.ko new file mode 100644 index 000000000..663374a20 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_tv8532.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_vc032x.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_vc032x.ko new file mode 100644 index 000000000..ee1b9197c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_vc032x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_vicam.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_vicam.ko new file mode 100644 index 000000000..1e016abd2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_vicam.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_xirlink_cit.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_xirlink_cit.ko new file mode 100644 index 000000000..a4eff6e54 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_xirlink_cit.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_zc3xx.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_zc3xx.ko new file mode 100644 index 000000000..331611160 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/gspca_zc3xx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/m5602/gspca_m5602.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/m5602/gspca_m5602.ko new file mode 100644 index 000000000..1dbfa5f39 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/m5602/gspca_m5602.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/stv06xx/gspca_stv06xx.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/stv06xx/gspca_stv06xx.ko new file mode 100644 index 000000000..477903d51 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/gspca/stv06xx/gspca_stv06xx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/hdpvr/hdpvr.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/hdpvr/hdpvr.ko new file mode 100644 index 000000000..6cca9d726 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/hdpvr/hdpvr.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/ir-kbd-i2c.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/ir-kbd-i2c.ko new file mode 100644 index 000000000..321d85af4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/ir-kbd-i2c.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/msp3400.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/msp3400.ko new file mode 100644 index 000000000..4902cdb9b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/msp3400.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/pvrusb2/pvrusb2.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/pvrusb2/pvrusb2.ko new file mode 100644 index 000000000..544517d4d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/pvrusb2/pvrusb2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/pwc/pwc.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/pwc/pwc.ko new file mode 100644 index 000000000..48ec43505 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/pwc/pwc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/s2255drv.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/s2255drv.ko new file mode 100644 index 000000000..557653fe5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/s2255drv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/saa7115.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/saa7115.ko new file mode 100644 index 000000000..42e8859b1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/saa7115.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/sn9c102/sn9c102.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/sn9c102/sn9c102.ko new file mode 100644 index 000000000..8bca3109f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/sn9c102/sn9c102.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/stkwebcam.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/stkwebcam.ko new file mode 100644 index 000000000..aa5800d30 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/stkwebcam.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/tlg2300/poseidon.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/tlg2300/poseidon.ko new file mode 100644 index 000000000..cc36d2675 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/tlg2300/poseidon.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/tuner.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/tuner.ko new file mode 100644 index 000000000..18163601e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/tuner.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/tveeprom.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/tveeprom.ko new file mode 100644 index 000000000..91d136e96 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/tveeprom.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/usbvision/usbvision.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/usbvision/usbvision.ko new file mode 100644 index 000000000..b14cd04f1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/usbvision/usbvision.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/uvc/uvcvideo.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/uvc/uvcvideo.ko new file mode 100644 index 000000000..dfb48356f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/uvc/uvcvideo.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/v4l2-common.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/v4l2-common.ko new file mode 100644 index 000000000..93a5d6be0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/v4l2-common.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/v4l2-int-device.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/v4l2-int-device.ko new file mode 100644 index 000000000..a313c851e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/v4l2-int-device.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-core.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-core.ko new file mode 100644 index 000000000..4cc6d2e9d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-core.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-dvb.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-dvb.ko new file mode 100644 index 000000000..6a8be1f53 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-dvb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-vmalloc.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-vmalloc.ko new file mode 100644 index 000000000..2286c5dd2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf-vmalloc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-core.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-core.ko new file mode 100644 index 000000000..8bb587949 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-core.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-memops.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-memops.ko new file mode 100644 index 000000000..c8ca5943f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-memops.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-vmalloc.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-vmalloc.ko new file mode 100644 index 000000000..23344ecaa Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/videobuf2-vmalloc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/videodev.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/videodev.ko new file mode 100644 index 000000000..874a8b348 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/videodev.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/wm8775.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/wm8775.ko new file mode 100644 index 000000000..670124490 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/wm8775.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/media/video/zr364xx.ko b/lib/modules/3.6.11+/kernel/drivers/media/video/zr364xx.ko new file mode 100644 index 000000000..988362203 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/media/video/zr364xx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/misc/bmp085-i2c.ko b/lib/modules/3.6.11+/kernel/drivers/misc/bmp085-i2c.ko new file mode 100644 index 000000000..cc9de792a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/misc/bmp085-i2c.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/misc/bmp085-spi.ko b/lib/modules/3.6.11+/kernel/drivers/misc/bmp085-spi.ko new file mode 100644 index 000000000..bc461d973 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/misc/bmp085-spi.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/misc/eeprom/eeprom_93cx6.ko b/lib/modules/3.6.11+/kernel/drivers/misc/eeprom/eeprom_93cx6.ko new file mode 100644 index 000000000..8c84a5579 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/misc/eeprom/eeprom_93cx6.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/bonding/bonding.ko b/lib/modules/3.6.11+/kernel/drivers/net/bonding/bonding.ko new file mode 100644 index 000000000..ce5cb3cca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/bonding/bonding.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/hamradio/6pack.ko b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/6pack.ko new file mode 100644 index 000000000..7189b865f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/6pack.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/hamradio/baycom_ser_fdx.ko b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/baycom_ser_fdx.ko new file mode 100644 index 000000000..3eb61a87e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/baycom_ser_fdx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/hamradio/baycom_ser_hdx.ko b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/baycom_ser_hdx.ko new file mode 100644 index 000000000..6dbc5db42 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/baycom_ser_hdx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/hamradio/bpqether.ko b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/bpqether.ko new file mode 100644 index 000000000..69da4cd8f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/bpqether.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/hamradio/hdlcdrv.ko b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/hdlcdrv.ko new file mode 100644 index 000000000..829af680e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/hdlcdrv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/hamradio/mkiss.ko b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/mkiss.ko new file mode 100644 index 000000000..e0825cbf2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/mkiss.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/hamradio/yam.ko b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/yam.ko new file mode 100644 index 000000000..ec863610f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/hamradio/yam.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/irda/irda-usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/irda/irda-usb.ko new file mode 100644 index 000000000..bdd1ff428 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/irda/irda-usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/irda/irtty-sir.ko b/lib/modules/3.6.11+/kernel/drivers/net/irda/irtty-sir.ko new file mode 100644 index 000000000..373511865 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/irda/irtty-sir.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/irda/kingsun-sir.ko b/lib/modules/3.6.11+/kernel/drivers/net/irda/kingsun-sir.ko new file mode 100644 index 000000000..9b600c741 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/irda/kingsun-sir.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/irda/ks959-sir.ko b/lib/modules/3.6.11+/kernel/drivers/net/irda/ks959-sir.ko new file mode 100644 index 000000000..b3c2f57e3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/irda/ks959-sir.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/irda/ksdazzle-sir.ko b/lib/modules/3.6.11+/kernel/drivers/net/irda/ksdazzle-sir.ko new file mode 100644 index 000000000..ce81acb44 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/irda/ksdazzle-sir.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/irda/mcs7780.ko b/lib/modules/3.6.11+/kernel/drivers/net/irda/mcs7780.ko new file mode 100644 index 000000000..9373daa0f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/irda/mcs7780.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/irda/sir-dev.ko b/lib/modules/3.6.11+/kernel/drivers/net/irda/sir-dev.ko new file mode 100644 index 000000000..ebc85ceb9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/irda/sir-dev.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/irda/stir4200.ko b/lib/modules/3.6.11+/kernel/drivers/net/irda/stir4200.ko new file mode 100644 index 000000000..5cfca6982 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/irda/stir4200.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/macvlan.ko b/lib/modules/3.6.11+/kernel/drivers/net/macvlan.ko new file mode 100644 index 000000000..6f260c616 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/macvlan.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/netconsole.ko b/lib/modules/3.6.11+/kernel/drivers/net/netconsole.ko new file mode 100644 index 000000000..76ed4c850 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/netconsole.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/phy/libphy.ko b/lib/modules/3.6.11+/kernel/drivers/net/phy/libphy.ko new file mode 100644 index 000000000..704d6c6a6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/phy/libphy.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/phy/mdio-bitbang.ko b/lib/modules/3.6.11+/kernel/drivers/net/phy/mdio-bitbang.ko new file mode 100644 index 000000000..8046bb146 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/phy/mdio-bitbang.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/ppp/bsd_comp.ko b/lib/modules/3.6.11+/kernel/drivers/net/ppp/bsd_comp.ko new file mode 100644 index 000000000..a63c668b1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/ppp/bsd_comp.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_async.ko b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_async.ko new file mode 100644 index 000000000..b1ee3e2ab Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_async.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_deflate.ko b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_deflate.ko new file mode 100644 index 000000000..b4de65044 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_deflate.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_generic.ko b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_generic.ko new file mode 100644 index 000000000..87d6415e1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_generic.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_mppe.ko b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_mppe.ko new file mode 100644 index 000000000..0d344c393 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_mppe.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_synctty.ko b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_synctty.ko new file mode 100644 index 000000000..559d4c65f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/ppp/ppp_synctty.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/ppp/pppoe.ko b/lib/modules/3.6.11+/kernel/drivers/net/ppp/pppoe.ko new file mode 100644 index 000000000..fffcfb2d2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/ppp/pppoe.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/ppp/pppox.ko b/lib/modules/3.6.11+/kernel/drivers/net/ppp/pppox.ko new file mode 100644 index 000000000..592bd072a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/ppp/pppox.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/slip/slhc.ko b/lib/modules/3.6.11+/kernel/drivers/net/slip/slhc.ko new file mode 100644 index 000000000..231f517fc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/slip/slhc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/slip/slip.ko b/lib/modules/3.6.11+/kernel/drivers/net/slip/slip.ko new file mode 100644 index 000000000..8d5ecd0e9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/slip/slip.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/tun.ko b/lib/modules/3.6.11+/kernel/drivers/net/tun.ko new file mode 100644 index 000000000..a1d38bfc5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/tun.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/asix.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/asix.ko new file mode 100644 index 000000000..2038031bb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/asix.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/catc.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/catc.ko new file mode 100644 index 000000000..976c03b87 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/catc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_eem.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_eem.ko new file mode 100644 index 000000000..6f89797ef Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_eem.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_ether.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_ether.ko new file mode 100644 index 000000000..7ce2d1540 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_ether.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_subset.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_subset.ko new file mode 100644 index 000000000..012f3992a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/cdc_subset.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/cx82310_eth.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/cx82310_eth.ko new file mode 100644 index 000000000..3d834de20 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/cx82310_eth.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/dm9601.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/dm9601.ko new file mode 100644 index 000000000..8a07c83a0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/dm9601.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/gl620a.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/gl620a.ko new file mode 100644 index 000000000..93e9af30f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/gl620a.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/int51x1.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/int51x1.ko new file mode 100644 index 000000000..a9ab48b4e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/int51x1.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/ipheth.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/ipheth.ko new file mode 100644 index 000000000..4a498b870 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/ipheth.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/kalmia.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/kalmia.ko new file mode 100644 index 000000000..83fca45fd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/kalmia.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/kaweth.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/kaweth.ko new file mode 100644 index 000000000..4c3a431c0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/kaweth.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/lg-vl600.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/lg-vl600.ko new file mode 100644 index 000000000..dec87a470 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/lg-vl600.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/mcs7830.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/mcs7830.ko new file mode 100644 index 000000000..31bfff154 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/mcs7830.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/net1080.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/net1080.ko new file mode 100644 index 000000000..431d2b8eb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/net1080.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/pegasus.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/pegasus.ko new file mode 100644 index 000000000..419a36abe Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/pegasus.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/plusb.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/plusb.ko new file mode 100644 index 000000000..7cda57f6f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/plusb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/qmi_wwan.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/qmi_wwan.ko new file mode 100644 index 000000000..fbddb8dbe Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/qmi_wwan.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/rndis_host.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/rndis_host.ko new file mode 100644 index 000000000..3a1ff3c2c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/rndis_host.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/rtl8150.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/rtl8150.ko new file mode 100644 index 000000000..e86ff64d8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/rtl8150.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/sierra_net.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/sierra_net.ko new file mode 100644 index 000000000..a965193f9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/sierra_net.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/usb/smsc75xx.ko b/lib/modules/3.6.11+/kernel/drivers/net/usb/smsc75xx.ko new file mode 100644 index 000000000..05bb8c63b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/usb/smsc75xx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wimax/i2400m/i2400m-usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wimax/i2400m/i2400m-usb.ko new file mode 100644 index 000000000..9f514a94a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wimax/i2400m/i2400m-usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wimax/i2400m/i2400m.ko b/lib/modules/3.6.11+/kernel/drivers/net/wimax/i2400m/i2400m.ko new file mode 100644 index 000000000..f3130ea3a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wimax/i2400m/i2400m.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/at76c50x-usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/at76c50x-usb.ko new file mode 100644 index 000000000..dcee8c0b1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/at76c50x-usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath.ko new file mode 100644 index 000000000..0bbcb340a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko new file mode 100644 index 000000000..a7d7388e2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko new file mode 100644 index 000000000..7f39bbce2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko new file mode 100644 index 000000000..b77c7fb57 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko new file mode 100644 index 000000000..cffd87899 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko new file mode 100644 index 000000000..8918a31c8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/b43/b43.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/b43/b43.ko new file mode 100644 index 000000000..42c7797bd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/b43/b43.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/b43legacy/b43legacy.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/b43legacy/b43legacy.ko new file mode 100644 index 000000000..47fadfcce Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/b43legacy/b43legacy.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/hostap/hostap.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/hostap/hostap.ko new file mode 100644 index 000000000..104e9e9b2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/hostap/hostap.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/libertas.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/libertas.ko new file mode 100644 index 000000000..5ae321da3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/libertas.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/libertas_sdio.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/libertas_sdio.ko new file mode 100644 index 000000000..172bee624 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/libertas_sdio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/usb8xxx.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/usb8xxx.ko new file mode 100644 index 000000000..d0aedf9b5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas/usb8xxx.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko new file mode 100644 index 000000000..ff787667f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko new file mode 100644 index 000000000..f21accf3b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/mac80211_hwsim.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/mac80211_hwsim.ko new file mode 100644 index 000000000..c528d85c6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/mac80211_hwsim.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex.ko new file mode 100644 index 000000000..d53988b60 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko new file mode 100644 index 000000000..f4adb4585 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko new file mode 100644 index 000000000..bca90b8bc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/p54/p54common.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/p54/p54common.ko new file mode 100644 index 000000000..021814bcf Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/p54/p54common.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/p54/p54usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/p54/p54usb.ko new file mode 100644 index 000000000..cff5520db Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/p54/p54usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rndis_wlan.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rndis_wlan.ko new file mode 100644 index 000000000..ddedf8aa4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rndis_wlan.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko new file mode 100644 index 000000000..aa0b9f5c3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko new file mode 100644 index 000000000..9d7154189 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko new file mode 100644 index 000000000..9ee35efa7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko new file mode 100644 index 000000000..1800036fc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko new file mode 100644 index 000000000..eaf7f2451 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt73usb.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt73usb.ko new file mode 100644 index 000000000..e5ae60406 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rt2x00/rt73usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko new file mode 100644 index 000000000..19ea23bb2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/rtl8192cu/8192cu.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rtl8192cu/8192cu.ko new file mode 100644 index 000000000..90b26ece5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/rtl8192cu/8192cu.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/zd1201.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/zd1201.ko new file mode 100644 index 000000000..a1b8eb207 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/zd1201.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko b/lib/modules/3.6.11+/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko new file mode 100644 index 000000000..ff50a073a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/nfc/pn533.ko b/lib/modules/3.6.11+/kernel/drivers/nfc/pn533.ko new file mode 100644 index 000000000..27b0fe3d0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/nfc/pn533.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-bq32k.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-bq32k.ko new file mode 100644 index 000000000..b92f016ee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-bq32k.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1305.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1305.ko new file mode 100644 index 000000000..9cbdcb8ae Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1305.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1307.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1307.ko new file mode 100644 index 000000000..dcd5636cc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1307.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1374.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1374.ko new file mode 100644 index 000000000..e668ede47 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1374.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1390.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1390.ko new file mode 100644 index 000000000..f6521a304 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1390.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1672.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1672.ko new file mode 100644 index 000000000..87d15a114 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds1672.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds3232.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds3232.ko new file mode 100644 index 000000000..3226ed8dd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds3232.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds3234.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds3234.ko new file mode 100644 index 000000000..5ef7d19b9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-ds3234.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-em3027.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-em3027.ko new file mode 100644 index 000000000..b04a15397 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-em3027.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-fm3130.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-fm3130.ko new file mode 100644 index 000000000..d153e3fd4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-fm3130.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-isl12022.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-isl12022.ko new file mode 100644 index 000000000..9656f2bdd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-isl12022.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-isl1208.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-isl1208.ko new file mode 100644 index 000000000..7f8b32d7f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-isl1208.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t80.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t80.ko new file mode 100644 index 000000000..43fa499c3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t80.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t93.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t93.ko new file mode 100644 index 000000000..0907fab76 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t93.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t94.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t94.ko new file mode 100644 index 000000000..7c0602309 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-m41t94.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-max6900.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-max6900.ko new file mode 100644 index 000000000..51dfeeb23 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-max6900.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-max6902.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-max6902.ko new file mode 100644 index 000000000..1efeee980 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-max6902.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf2123.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf2123.ko new file mode 100644 index 000000000..c614a751d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf2123.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf8563.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf8563.ko new file mode 100644 index 000000000..adf396023 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf8563.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf8583.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf8583.ko new file mode 100644 index 000000000..2e40df2fc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-pcf8583.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-r9701.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-r9701.ko new file mode 100644 index 000000000..f3edb9447 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-r9701.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rs5c348.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rs5c348.ko new file mode 100644 index 000000000..1f4d0c95d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rs5c348.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rs5c372.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rs5c372.ko new file mode 100644 index 000000000..86b4bb9b6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rs5c372.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rv3029c2.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rv3029c2.ko new file mode 100644 index 000000000..f07588090 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rv3029c2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rx8025.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rx8025.ko new file mode 100644 index 000000000..1de23727d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rx8025.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rx8581.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rx8581.ko new file mode 100644 index 000000000..2284e953e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-rx8581.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-s35390a.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-s35390a.ko new file mode 100644 index 000000000..d225660c2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-s35390a.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-x1205.ko b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-x1205.ko new file mode 100644 index 000000000..f1e3bc4e4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/rtc/rtc-x1205.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/scsi/osst.ko b/lib/modules/3.6.11+/kernel/drivers/scsi/osst.ko new file mode 100644 index 000000000..ab295ee0b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/scsi/osst.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/scsi/sr_mod.ko b/lib/modules/3.6.11+/kernel/drivers/scsi/sr_mod.ko new file mode 100644 index 000000000..da7efdb92 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/scsi/sr_mod.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/scsi/st.ko b/lib/modules/3.6.11+/kernel/drivers/scsi/st.ko new file mode 100644 index 000000000..bc98e8166 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/scsi/st.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/spi/spi-bcm2708.ko b/lib/modules/3.6.11+/kernel/drivers/spi/spi-bcm2708.ko new file mode 100644 index 000000000..c67204ab2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/spi/spi-bcm2708.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/spi/spi-bitbang.ko b/lib/modules/3.6.11+/kernel/drivers/spi/spi-bitbang.ko new file mode 100644 index 000000000..08bd3a685 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/spi/spi-bitbang.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/spi/spi-gpio.ko b/lib/modules/3.6.11+/kernel/drivers/spi/spi-gpio.ko new file mode 100644 index 000000000..5c10c28d3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/spi/spi-gpio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/spi/spi-xcomm.ko b/lib/modules/3.6.11+/kernel/drivers/spi/spi-xcomm.ko new file mode 100644 index 000000000..cd6f76b07 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/spi/spi-xcomm.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/spi/spidev.ko b/lib/modules/3.6.11+/kernel/drivers/spi/spidev.ko new file mode 100644 index 000000000..a45d5c7e9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/spi/spidev.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/ssb/ssb.ko b/lib/modules/3.6.11+/kernel/drivers/ssb/ssb.ko new file mode 100644 index 000000000..b02a3d419 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/ssb/ssb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/csr/csr_helper.ko b/lib/modules/3.6.11+/kernel/drivers/staging/csr/csr_helper.ko new file mode 100644 index 000000000..f7d5df365 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/csr/csr_helper.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/csr/csr_wifi.ko b/lib/modules/3.6.11+/kernel/drivers/staging/csr/csr_wifi.ko new file mode 100644 index 000000000..3b0e0eea5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/csr/csr_wifi.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/gdm72xx/gdmwm.ko b/lib/modules/3.6.11+/kernel/drivers/staging/gdm72xx/gdmwm.ko new file mode 100644 index 000000000..44e8c0d3b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/gdm72xx/gdmwm.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_rp1.ko b/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_rp1.ko new file mode 100644 index 000000000..1916348ea Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_rp1.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_rpi.ko b/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_rpi.ko new file mode 100644 index 000000000..d837c79cc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_rpi.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_xbox.ko b/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_xbox.ko new file mode 100644 index 000000000..5e4a853fc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/media/lirc/lirc_xbox.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/ozwpan/ozwpan.ko b/lib/modules/3.6.11+/kernel/drivers/staging/ozwpan/ozwpan.ko new file mode 100644 index 000000000..25c774638 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/ozwpan/ozwpan.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/rtl8712/r8712u.ko b/lib/modules/3.6.11+/kernel/drivers/staging/rtl8712/r8712u.ko new file mode 100644 index 000000000..ee81d49ae Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/rtl8712/r8712u.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/winbond/w35und.ko b/lib/modules/3.6.11+/kernel/drivers/staging/winbond/w35und.ko new file mode 100644 index 000000000..0b407f37a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/winbond/w35und.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/wlan-ng/prism2_usb.ko b/lib/modules/3.6.11+/kernel/drivers/staging/wlan-ng/prism2_usb.ko new file mode 100644 index 000000000..2a2b8ef19 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/wlan-ng/prism2_usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/staging/zram/zram.ko b/lib/modules/3.6.11+/kernel/drivers/staging/zram/zram.ko new file mode 100644 index 000000000..24b622987 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/staging/zram/zram.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/uio/uio.ko b/lib/modules/3.6.11+/kernel/drivers/uio/uio.ko new file mode 100644 index 000000000..ec389ff05 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/uio/uio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/uio/uio_pdrv.ko b/lib/modules/3.6.11+/kernel/drivers/uio/uio_pdrv.ko new file mode 100644 index 000000000..233f156ba Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/uio/uio_pdrv.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/uio/uio_pdrv_genirq.ko b/lib/modules/3.6.11+/kernel/drivers/uio/uio_pdrv_genirq.ko new file mode 100644 index 000000000..a5fa5c4fe Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/uio/uio_pdrv_genirq.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/chipidea/ci13xxx_msm.ko b/lib/modules/3.6.11+/kernel/drivers/usb/chipidea/ci13xxx_msm.ko new file mode 100644 index 000000000..dd8f21fb7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/chipidea/ci13xxx_msm.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/chipidea/ci_hdrc.ko b/lib/modules/3.6.11+/kernel/drivers/usb/chipidea/ci_hdrc.ko new file mode 100644 index 000000000..4580bf807 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/chipidea/ci_hdrc.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/class/cdc-acm.ko b/lib/modules/3.6.11+/kernel/drivers/usb/class/cdc-acm.ko new file mode 100644 index 000000000..1726a1e47 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/class/cdc-acm.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/class/cdc-wdm.ko b/lib/modules/3.6.11+/kernel/drivers/usb/class/cdc-wdm.ko new file mode 100644 index 000000000..86876ba69 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/class/cdc-wdm.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/host/ssb-hcd.ko b/lib/modules/3.6.11+/kernel/drivers/usb/host/ssb-hcd.ko new file mode 100644 index 000000000..e7e1a9a07 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/host/ssb-hcd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/image/mdc800.ko b/lib/modules/3.6.11+/kernel/drivers/usb/image/mdc800.ko new file mode 100644 index 000000000..61d058214 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/image/mdc800.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/image/microtek.ko b/lib/modules/3.6.11+/kernel/drivers/usb/image/microtek.ko new file mode 100644 index 000000000..a6471f9c0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/image/microtek.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/adutux.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/adutux.ko new file mode 100644 index 000000000..b354d24ab Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/adutux.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/appledisplay.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/appledisplay.ko new file mode 100644 index 000000000..c3b162653 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/appledisplay.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/cypress_cy7c63.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/cypress_cy7c63.ko new file mode 100644 index 000000000..bc187ce85 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/cypress_cy7c63.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/cytherm.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/cytherm.ko new file mode 100644 index 000000000..9360ce0fb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/cytherm.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/emi26.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/emi26.ko new file mode 100644 index 000000000..77c97da26 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/emi26.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/emi62.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/emi62.ko new file mode 100644 index 000000000..82599ab20 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/emi62.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/ftdi-elan.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/ftdi-elan.ko new file mode 100644 index 000000000..c647a1472 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/ftdi-elan.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/idmouse.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/idmouse.ko new file mode 100644 index 000000000..d250b643c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/idmouse.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/iowarrior.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/iowarrior.ko new file mode 100644 index 000000000..28fb26239 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/iowarrior.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/isight_firmware.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/isight_firmware.ko new file mode 100644 index 000000000..61a63ee5c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/isight_firmware.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/ldusb.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/ldusb.ko new file mode 100644 index 000000000..de6ad7ee4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/ldusb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/legousbtower.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/legousbtower.ko new file mode 100644 index 000000000..97b8eedb0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/legousbtower.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/rio500.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/rio500.ko new file mode 100644 index 000000000..882fb124b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/rio500.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/trancevibrator.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/trancevibrator.ko new file mode 100644 index 000000000..c26e890f5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/trancevibrator.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/usblcd.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/usblcd.ko new file mode 100644 index 000000000..feaa8be20 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/usblcd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbled.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbled.ko new file mode 100644 index 000000000..2f1ebebb4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbled.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbsevseg.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbsevseg.ko new file mode 100644 index 000000000..c7e918d4b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbsevseg.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbtest.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbtest.ko new file mode 100644 index 000000000..6b7b672ba Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/usbtest.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/misc/yurex.ko b/lib/modules/3.6.11+/kernel/drivers/usb/misc/yurex.ko new file mode 100644 index 000000000..99ca7dd23 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/misc/yurex.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/mon/usbmon.ko b/lib/modules/3.6.11+/kernel/drivers/usb/mon/usbmon.ko new file mode 100644 index 000000000..03b10dbb7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/mon/usbmon.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/phy/isp1301.ko b/lib/modules/3.6.11+/kernel/drivers/usb/phy/isp1301.ko new file mode 100644 index 000000000..4a690d4ca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/phy/isp1301.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/aircable.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/aircable.ko new file mode 100644 index 000000000..fab042acd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/aircable.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/ark3116.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ark3116.ko new file mode 100644 index 000000000..bfad425ca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ark3116.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/belkin_sa.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/belkin_sa.ko new file mode 100644 index 000000000..3791d5b6e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/belkin_sa.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/ch341.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ch341.ko new file mode 100644 index 000000000..125776503 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ch341.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/cp210x.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/cp210x.ko new file mode 100644 index 000000000..6b6c05b2d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/cp210x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/cyberjack.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/cyberjack.ko new file mode 100644 index 000000000..701077de8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/cyberjack.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/cypress_m8.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/cypress_m8.ko new file mode 100644 index 000000000..7d1cc73d9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/cypress_m8.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/digi_acceleport.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/digi_acceleport.ko new file mode 100644 index 000000000..839bd42db Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/digi_acceleport.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/empeg.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/empeg.ko new file mode 100644 index 000000000..a56e7411a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/empeg.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/ftdi_sio.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ftdi_sio.ko new file mode 100644 index 000000000..b03e94428 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ftdi_sio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/funsoft.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/funsoft.ko new file mode 100644 index 000000000..491274b88 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/funsoft.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/garmin_gps.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/garmin_gps.ko new file mode 100644 index 000000000..1839f98a0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/garmin_gps.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/hp4x.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/hp4x.ko new file mode 100644 index 000000000..6e3a3510c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/hp4x.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/io_edgeport.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/io_edgeport.ko new file mode 100644 index 000000000..bcc571a5a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/io_edgeport.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/io_ti.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/io_ti.ko new file mode 100644 index 000000000..6f83da0df Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/io_ti.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/ipaq.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ipaq.ko new file mode 100644 index 000000000..2d13db14f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ipaq.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/ipw.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ipw.ko new file mode 100644 index 000000000..6afa2705e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ipw.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/ir-usb.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ir-usb.ko new file mode 100644 index 000000000..62524ef2a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ir-usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/iuu_phoenix.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/iuu_phoenix.ko new file mode 100644 index 000000000..af4437d80 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/iuu_phoenix.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/keyspan.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/keyspan.ko new file mode 100644 index 000000000..5157e9a3f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/keyspan.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/keyspan_pda.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/keyspan_pda.ko new file mode 100644 index 000000000..fbd60edb0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/keyspan_pda.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/kl5kusb105.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/kl5kusb105.ko new file mode 100644 index 000000000..30d587c55 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/kl5kusb105.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/kobil_sct.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/kobil_sct.ko new file mode 100644 index 000000000..87d2ac0dc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/kobil_sct.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/mct_u232.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/mct_u232.ko new file mode 100644 index 000000000..64a1d5ef0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/mct_u232.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/metro-usb.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/metro-usb.ko new file mode 100644 index 000000000..d6f518a16 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/metro-usb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/mos7720.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/mos7720.ko new file mode 100644 index 000000000..0bf4f08c8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/mos7720.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/mos7840.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/mos7840.ko new file mode 100644 index 000000000..bb7575b2f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/mos7840.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/moto_modem.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/moto_modem.ko new file mode 100644 index 000000000..f9b0e8858 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/moto_modem.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/navman.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/navman.ko new file mode 100644 index 000000000..35fc603d9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/navman.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/omninet.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/omninet.ko new file mode 100644 index 000000000..10dc29cfb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/omninet.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/opticon.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/opticon.ko new file mode 100644 index 000000000..b5adbd6c5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/opticon.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/option.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/option.ko new file mode 100644 index 000000000..9829ae5e1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/option.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/oti6858.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/oti6858.ko new file mode 100644 index 000000000..140ad15cc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/oti6858.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/pl2303.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/pl2303.ko new file mode 100644 index 000000000..8c3b752a2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/pl2303.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/qcaux.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/qcaux.ko new file mode 100644 index 000000000..870ba060e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/qcaux.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/qcserial.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/qcserial.ko new file mode 100644 index 000000000..e53189539 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/qcserial.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/quatech2.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/quatech2.ko new file mode 100644 index 000000000..dc1fbbf57 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/quatech2.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/safe_serial.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/safe_serial.ko new file mode 100644 index 000000000..7f126cb9d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/safe_serial.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/siemens_mpi.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/siemens_mpi.ko new file mode 100644 index 000000000..115b4876c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/siemens_mpi.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/sierra.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/sierra.ko new file mode 100644 index 000000000..5a2424314 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/sierra.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/spcp8x5.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/spcp8x5.ko new file mode 100644 index 000000000..c0f39110b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/spcp8x5.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/ssu100.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ssu100.ko new file mode 100644 index 000000000..6fe4b7553 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ssu100.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/symbolserial.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/symbolserial.ko new file mode 100644 index 000000000..8f7c34f51 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/symbolserial.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/ti_usb_3410_5052.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ti_usb_3410_5052.ko new file mode 100644 index 000000000..3ef4690c7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/ti_usb_3410_5052.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/usb_debug.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/usb_debug.ko new file mode 100644 index 000000000..94dc847ec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/usb_debug.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/usb_wwan.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/usb_wwan.ko new file mode 100644 index 000000000..ac110202c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/usb_wwan.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/usbserial.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/usbserial.ko new file mode 100644 index 000000000..144c8c0b7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/usbserial.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/visor.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/visor.ko new file mode 100644 index 000000000..3699975cd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/visor.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/vivopay-serial.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/vivopay-serial.ko new file mode 100644 index 000000000..ed71d00eb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/vivopay-serial.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/whiteheat.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/whiteheat.ko new file mode 100644 index 000000000..d06a9030a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/whiteheat.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/serial/zio.ko b/lib/modules/3.6.11+/kernel/drivers/usb/serial/zio.ko new file mode 100644 index 000000000..e6e4afd74 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/serial/zio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-alauda.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-alauda.ko new file mode 100644 index 000000000..3306dbacd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-alauda.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-cypress.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-cypress.ko new file mode 100644 index 000000000..279fd10c5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-cypress.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-datafab.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-datafab.ko new file mode 100644 index 000000000..b8352f969 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-datafab.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-eneub6250.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-eneub6250.ko new file mode 100644 index 000000000..b2d009658 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-eneub6250.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-freecom.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-freecom.ko new file mode 100644 index 000000000..bf9e7e3f0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-freecom.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-isd200.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-isd200.ko new file mode 100644 index 000000000..29be1d067 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-isd200.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-jumpshot.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-jumpshot.ko new file mode 100644 index 000000000..fd6ec205a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-jumpshot.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-karma.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-karma.ko new file mode 100644 index 000000000..9e6b4fc37 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-karma.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-onetouch.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-onetouch.ko new file mode 100644 index 000000000..6a8931f34 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-onetouch.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-realtek.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-realtek.ko new file mode 100644 index 000000000..48d565c31 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-realtek.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-sddr09.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-sddr09.ko new file mode 100644 index 000000000..b5d711e0b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-sddr09.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-sddr55.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-sddr55.ko new file mode 100644 index 000000000..a29485d97 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-sddr55.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-usbat.ko b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-usbat.ko new file mode 100644 index 000000000..38f8b9ed1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/usb/storage/ums-usbat.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/backlight/backlight.ko b/lib/modules/3.6.11+/kernel/drivers/video/backlight/backlight.ko new file mode 100644 index 000000000..6a3ecca0e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/backlight/backlight.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/backlight/generic_bl.ko b/lib/modules/3.6.11+/kernel/drivers/video/backlight/generic_bl.ko new file mode 100644 index 000000000..06b54772b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/backlight/generic_bl.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/backlight/lcd.ko b/lib/modules/3.6.11+/kernel/drivers/video/backlight/lcd.ko new file mode 100644 index 000000000..e57079036 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/backlight/lcd.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/backlight/lp855x_bl.ko b/lib/modules/3.6.11+/kernel/drivers/video/backlight/lp855x_bl.ko new file mode 100644 index 000000000..ccfaf24eb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/backlight/lp855x_bl.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/backlight/pwm_bl.ko b/lib/modules/3.6.11+/kernel/drivers/video/backlight/pwm_bl.ko new file mode 100644 index 000000000..85040933c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/backlight/pwm_bl.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/fb_sys_fops.ko b/lib/modules/3.6.11+/kernel/drivers/video/fb_sys_fops.ko new file mode 100644 index 000000000..359bda881 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/fb_sys_fops.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/syscopyarea.ko b/lib/modules/3.6.11+/kernel/drivers/video/syscopyarea.ko new file mode 100644 index 000000000..d6733984c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/syscopyarea.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/sysfillrect.ko b/lib/modules/3.6.11+/kernel/drivers/video/sysfillrect.ko new file mode 100644 index 000000000..f83e68a7c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/sysfillrect.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/sysimgblt.ko b/lib/modules/3.6.11+/kernel/drivers/video/sysimgblt.ko new file mode 100644 index 000000000..0e81a2820 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/sysimgblt.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/video/udlfb.ko b/lib/modules/3.6.11+/kernel/drivers/video/udlfb.ko new file mode 100644 index 000000000..187465403 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/video/udlfb.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds1wm.ko b/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds1wm.ko new file mode 100644 index 000000000..b1a9810c9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds1wm.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds2482.ko b/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds2482.ko new file mode 100644 index 000000000..19b0ad9f5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds2482.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds2490.ko b/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds2490.ko new file mode 100644 index 000000000..f2d9b5e6f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/masters/ds2490.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/masters/w1-gpio.ko b/lib/modules/3.6.11+/kernel/drivers/w1/masters/w1-gpio.ko new file mode 100644 index 000000000..215af48ec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/masters/w1-gpio.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_bq27000.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_bq27000.ko new file mode 100644 index 000000000..1efa3bae1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_bq27000.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2408.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2408.ko new file mode 100644 index 000000000..ba00adc81 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2408.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2423.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2423.ko new file mode 100644 index 000000000..f4ada988c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2423.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2431.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2431.ko new file mode 100644 index 000000000..21a305001 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2431.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2433.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2433.ko new file mode 100644 index 000000000..bd927dbee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2433.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2760.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2760.ko new file mode 100644 index 000000000..50b64f575 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2760.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2780.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2780.ko new file mode 100644 index 000000000..9d20df0f0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2780.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2781.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2781.ko new file mode 100644 index 000000000..94fd8a7ab Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds2781.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds28e04.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds28e04.ko new file mode 100644 index 000000000..54bf6119c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_ds28e04.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_smem.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_smem.ko new file mode 100644 index 000000000..7c468b115 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_smem.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_therm.ko b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_therm.ko new file mode 100644 index 000000000..c894f630a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/slaves/w1_therm.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/w1/wire.ko b/lib/modules/3.6.11+/kernel/drivers/w1/wire.ko new file mode 100644 index 000000000..453860c46 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/w1/wire.ko differ diff --git a/lib/modules/3.6.11+/kernel/drivers/watchdog/bcm2708_wdog.ko b/lib/modules/3.6.11+/kernel/drivers/watchdog/bcm2708_wdog.ko new file mode 100644 index 000000000..c70ec28c3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/drivers/watchdog/bcm2708_wdog.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/9p/9p.ko b/lib/modules/3.6.11+/kernel/fs/9p/9p.ko new file mode 100644 index 000000000..ce807eb30 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/9p/9p.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/binfmt_misc.ko b/lib/modules/3.6.11+/kernel/fs/binfmt_misc.ko new file mode 100644 index 000000000..c868ccd5f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/binfmt_misc.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/btrfs/btrfs.ko b/lib/modules/3.6.11+/kernel/fs/btrfs/btrfs.ko new file mode 100644 index 000000000..8422d57e7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/btrfs/btrfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/cifs/cifs.ko b/lib/modules/3.6.11+/kernel/fs/cifs/cifs.ko new file mode 100644 index 000000000..02cea3113 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/cifs/cifs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/ecryptfs/ecryptfs.ko b/lib/modules/3.6.11+/kernel/fs/ecryptfs/ecryptfs.ko new file mode 100644 index 000000000..82dbad98f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/ecryptfs/ecryptfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/fuse/cuse.ko b/lib/modules/3.6.11+/kernel/fs/fuse/cuse.ko new file mode 100644 index 000000000..6ad0d0813 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/fuse/cuse.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/fuse/fuse.ko b/lib/modules/3.6.11+/kernel/fs/fuse/fuse.ko new file mode 100644 index 000000000..f10d30ae2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/fuse/fuse.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/gfs2/gfs2.ko b/lib/modules/3.6.11+/kernel/fs/gfs2/gfs2.ko new file mode 100644 index 000000000..0ce53d31d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/gfs2/gfs2.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/hfs/hfs.ko b/lib/modules/3.6.11+/kernel/fs/hfs/hfs.ko new file mode 100644 index 000000000..d413f58a9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/hfs/hfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/hfsplus/hfsplus.ko b/lib/modules/3.6.11+/kernel/fs/hfsplus/hfsplus.ko new file mode 100644 index 000000000..f6ebc6be6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/hfsplus/hfsplus.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/isofs/isofs.ko b/lib/modules/3.6.11+/kernel/fs/isofs/isofs.ko new file mode 100644 index 000000000..b0d50f607 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/isofs/isofs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/jfs/jfs.ko b/lib/modules/3.6.11+/kernel/fs/jfs/jfs.ko new file mode 100644 index 000000000..cf57ae1e1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/jfs/jfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nfsd/nfsd.ko b/lib/modules/3.6.11+/kernel/fs/nfsd/nfsd.ko new file mode 100644 index 000000000..759f9fd4d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nfsd/nfsd.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nilfs2/nilfs2.ko b/lib/modules/3.6.11+/kernel/fs/nilfs2/nilfs2.ko new file mode 100644 index 000000000..9946ec481 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nilfs2/nilfs2.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1250.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1250.ko new file mode 100644 index 000000000..b4824f3d1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1250.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1251.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1251.ko new file mode 100644 index 000000000..6f7cd259e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1251.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1255.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1255.ko new file mode 100644 index 000000000..753feea02 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp1255.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp737.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp737.ko new file mode 100644 index 000000000..de7729f90 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp737.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp775.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp775.ko new file mode 100644 index 000000000..9a643637e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp775.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp850.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp850.ko new file mode 100644 index 000000000..dd865e8ee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp850.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp852.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp852.ko new file mode 100644 index 000000000..c6d261d29 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp852.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp855.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp855.ko new file mode 100644 index 000000000..98d9449f2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp855.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp857.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp857.ko new file mode 100644 index 000000000..c4d00c5c8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp857.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp860.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp860.ko new file mode 100644 index 000000000..ea45c3d24 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp860.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp861.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp861.ko new file mode 100644 index 000000000..91b995b93 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp861.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp862.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp862.ko new file mode 100644 index 000000000..73a0888b4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp862.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp863.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp863.ko new file mode 100644 index 000000000..cd7197b7a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp863.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp864.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp864.ko new file mode 100644 index 000000000..ddab21ccd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp864.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp865.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp865.ko new file mode 100644 index 000000000..51d8caebc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp865.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp866.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp866.ko new file mode 100644 index 000000000..23e556699 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp866.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp869.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp869.ko new file mode 100644 index 000000000..f82933cab Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp869.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp874.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp874.ko new file mode 100644 index 000000000..074eff043 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp874.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp932.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp932.ko new file mode 100644 index 000000000..5243b31cc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp932.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp936.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp936.ko new file mode 100644 index 000000000..e1363ac06 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp936.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp949.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp949.ko new file mode 100644 index 000000000..d422ea2fa Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp949.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_cp950.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp950.ko new file mode 100644 index 000000000..4b1b7f1b7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_cp950.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_euc-jp.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_euc-jp.ko new file mode 100644 index 000000000..6e265ffd7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_euc-jp.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-1.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-1.ko new file mode 100644 index 000000000..46db78dff Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-1.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-13.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-13.ko new file mode 100644 index 000000000..d99db1f20 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-13.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-14.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-14.ko new file mode 100644 index 000000000..2f62e155e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-14.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-15.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-15.ko new file mode 100644 index 000000000..d5aad21d0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-15.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-2.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-2.ko new file mode 100644 index 000000000..f9e6ce3cf Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-2.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-3.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-3.ko new file mode 100644 index 000000000..4eb95d6a6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-3.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-4.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-4.ko new file mode 100644 index 000000000..069aca9ee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-4.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-5.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-5.ko new file mode 100644 index 000000000..14f8e8a43 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-5.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-6.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-6.ko new file mode 100644 index 000000000..09fb98e84 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-6.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-7.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-7.ko new file mode 100644 index 000000000..70a418c09 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-7.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-9.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-9.ko new file mode 100644 index 000000000..c35f898d1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_iso8859-9.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-r.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-r.ko new file mode 100644 index 000000000..ea9398468 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-r.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-ru.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-ru.ko new file mode 100644 index 000000000..a3c7869a1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-ru.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-u.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-u.ko new file mode 100644 index 000000000..f26f574b6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_koi8-u.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/nls/nls_utf8.ko b/lib/modules/3.6.11+/kernel/fs/nls/nls_utf8.ko new file mode 100644 index 000000000..161a1e1b0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/nls/nls_utf8.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/ntfs/ntfs.ko b/lib/modules/3.6.11+/kernel/fs/ntfs/ntfs.ko new file mode 100644 index 000000000..eee5b6738 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/ntfs/ntfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko b/lib/modules/3.6.11+/kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko new file mode 100644 index 000000000..5eee5f8a0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko b/lib/modules/3.6.11+/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko new file mode 100644 index 000000000..e4f97e726 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/ocfs2/dlmfs/ocfs2_dlmfs.ko b/lib/modules/3.6.11+/kernel/fs/ocfs2/dlmfs/ocfs2_dlmfs.ko new file mode 100644 index 000000000..6798332cc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/ocfs2/dlmfs/ocfs2_dlmfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2.ko b/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2.ko new file mode 100644 index 000000000..d16043bd4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2_stack_o2cb.ko b/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2_stack_o2cb.ko new file mode 100644 index 000000000..39e998723 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2_stack_o2cb.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2_stackglue.ko b/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2_stackglue.ko new file mode 100644 index 000000000..9f0ab41c1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/ocfs2/ocfs2_stackglue.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/quota/quota_tree.ko b/lib/modules/3.6.11+/kernel/fs/quota/quota_tree.ko new file mode 100644 index 000000000..391105f36 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/quota/quota_tree.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/reiserfs/reiserfs.ko b/lib/modules/3.6.11+/kernel/fs/reiserfs/reiserfs.ko new file mode 100644 index 000000000..03ec5c48d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/reiserfs/reiserfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/squashfs/squashfs.ko b/lib/modules/3.6.11+/kernel/fs/squashfs/squashfs.ko new file mode 100644 index 000000000..0472f66b2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/squashfs/squashfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/udf/udf.ko b/lib/modules/3.6.11+/kernel/fs/udf/udf.ko new file mode 100644 index 000000000..1c38a61f2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/udf/udf.ko differ diff --git a/lib/modules/3.6.11+/kernel/fs/xfs/xfs.ko b/lib/modules/3.6.11+/kernel/fs/xfs/xfs.ko new file mode 100644 index 000000000..20fc5ebd8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/fs/xfs/xfs.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/crc-ccitt.ko b/lib/modules/3.6.11+/kernel/lib/crc-ccitt.ko new file mode 100644 index 000000000..453608e5d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/crc-ccitt.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/crc7.ko b/lib/modules/3.6.11+/kernel/lib/crc7.ko new file mode 100644 index 000000000..e16eae4c2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/crc7.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/lru_cache.ko b/lib/modules/3.6.11+/kernel/lib/lru_cache.ko new file mode 100644 index 000000000..6a0c088d1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/lru_cache.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/raid6/raid6_pq.ko b/lib/modules/3.6.11+/kernel/lib/raid6/raid6_pq.ko new file mode 100644 index 000000000..86beff6c9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/raid6/raid6_pq.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/ts_bm.ko b/lib/modules/3.6.11+/kernel/lib/ts_bm.ko new file mode 100644 index 000000000..bfbbbee15 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/ts_bm.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/ts_fsm.ko b/lib/modules/3.6.11+/kernel/lib/ts_fsm.ko new file mode 100644 index 000000000..923d8112b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/ts_fsm.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/ts_kmp.ko b/lib/modules/3.6.11+/kernel/lib/ts_kmp.ko new file mode 100644 index 000000000..31d7d7e62 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/ts_kmp.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/xz/xz_dec.ko b/lib/modules/3.6.11+/kernel/lib/xz/xz_dec.ko new file mode 100644 index 000000000..7d2668501 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/xz/xz_dec.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/zlib_deflate/zlib_deflate.ko b/lib/modules/3.6.11+/kernel/lib/zlib_deflate/zlib_deflate.ko new file mode 100644 index 000000000..f615d0241 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/zlib_deflate/zlib_deflate.ko differ diff --git a/lib/modules/3.6.11+/kernel/lib/zlib_inflate/zlib_inflate.ko b/lib/modules/3.6.11+/kernel/lib/zlib_inflate/zlib_inflate.ko new file mode 100644 index 000000000..13c75f497 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/lib/zlib_inflate/zlib_inflate.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/802/garp.ko b/lib/modules/3.6.11+/kernel/net/802/garp.ko new file mode 100644 index 000000000..229d84d79 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/802/garp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/802/p8022.ko b/lib/modules/3.6.11+/kernel/net/802/p8022.ko new file mode 100644 index 000000000..94975e6d8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/802/p8022.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/802/psnap.ko b/lib/modules/3.6.11+/kernel/net/802/psnap.ko new file mode 100644 index 000000000..9cfc65f51 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/802/psnap.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/802/stp.ko b/lib/modules/3.6.11+/kernel/net/802/stp.ko new file mode 100644 index 000000000..ba65a524c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/802/stp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/8021q/8021q.ko b/lib/modules/3.6.11+/kernel/net/8021q/8021q.ko new file mode 100644 index 000000000..7b4b3287f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/8021q/8021q.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/9p/9pnet.ko b/lib/modules/3.6.11+/kernel/net/9p/9pnet.ko new file mode 100644 index 000000000..f3626a1f5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/9p/9pnet.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ax25/ax25.ko b/lib/modules/3.6.11+/kernel/net/ax25/ax25.ko new file mode 100644 index 000000000..900786962 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ax25/ax25.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bluetooth/bluetooth.ko b/lib/modules/3.6.11+/kernel/net/bluetooth/bluetooth.ko new file mode 100644 index 000000000..6ceb9e34a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bluetooth/bluetooth.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bluetooth/bnep/bnep.ko b/lib/modules/3.6.11+/kernel/net/bluetooth/bnep/bnep.ko new file mode 100644 index 000000000..27e4365e6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bluetooth/bnep/bnep.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bluetooth/hidp/hidp.ko b/lib/modules/3.6.11+/kernel/net/bluetooth/hidp/hidp.ko new file mode 100644 index 000000000..4aa966451 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bluetooth/hidp/hidp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bluetooth/rfcomm/rfcomm.ko b/lib/modules/3.6.11+/kernel/net/bluetooth/rfcomm/rfcomm.ko new file mode 100644 index 000000000..b3b5c8840 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bluetooth/rfcomm/rfcomm.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/bridge.ko b/lib/modules/3.6.11+/kernel/net/bridge/bridge.ko new file mode 100644 index 000000000..7bab2aa30 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/bridge.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_802_3.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_802_3.ko new file mode 100644 index 000000000..267525c34 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_802_3.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_among.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_among.ko new file mode 100644 index 000000000..f9a7a2156 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_among.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_arp.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_arp.ko new file mode 100644 index 000000000..5f0d01282 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_arp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_arpreply.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_arpreply.ko new file mode 100644 index 000000000..c57c87475 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_arpreply.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_dnat.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_dnat.ko new file mode 100644 index 000000000..8d875923b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_dnat.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ip.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ip.ko new file mode 100644 index 000000000..94c3197bd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ip.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ip6.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ip6.ko new file mode 100644 index 000000000..4f0630c74 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ip6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_limit.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_limit.ko new file mode 100644 index 000000000..527e36948 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_limit.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_log.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_log.ko new file mode 100644 index 000000000..392ac99f0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_log.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_mark.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_mark.ko new file mode 100644 index 000000000..3d52184ce Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_mark.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_mark_m.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_mark_m.ko new file mode 100644 index 000000000..3ab3bd222 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_mark_m.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_nflog.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_nflog.ko new file mode 100644 index 000000000..0cd59b828 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_nflog.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_pkttype.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_pkttype.ko new file mode 100644 index 000000000..217269b40 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_pkttype.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_redirect.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_redirect.ko new file mode 100644 index 000000000..b62d81a98 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_redirect.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_snat.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_snat.ko new file mode 100644 index 000000000..b6448d267 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_snat.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_stp.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_stp.ko new file mode 100644 index 000000000..3d9406274 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_stp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ulog.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ulog.ko new file mode 100644 index 000000000..bde7b177b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_ulog.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_vlan.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_vlan.ko new file mode 100644 index 000000000..e228a70f7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebt_vlan.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_broute.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_broute.ko new file mode 100644 index 000000000..c7702284a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_broute.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_filter.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_filter.ko new file mode 100644 index 000000000..8a4e4e89c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_filter.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_nat.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_nat.ko new file mode 100644 index 000000000..3e129e811 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtable_nat.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtables.ko b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtables.ko new file mode 100644 index 000000000..3a6a96ff4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/bridge/netfilter/ebtables.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/core/pktgen.ko b/lib/modules/3.6.11+/kernel/net/core/pktgen.ko new file mode 100644 index 000000000..670dd1f0e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/core/pktgen.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/ah4.ko b/lib/modules/3.6.11+/kernel/net/ipv4/ah4.ko new file mode 100644 index 000000000..4102b205a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/ah4.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/esp4.ko b/lib/modules/3.6.11+/kernel/net/ipv4/esp4.ko new file mode 100644 index 000000000..3d690fbd8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/esp4.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/inet_diag.ko b/lib/modules/3.6.11+/kernel/net/ipv4/inet_diag.ko new file mode 100644 index 000000000..f291cbb5f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/inet_diag.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/inet_lro.ko b/lib/modules/3.6.11+/kernel/net/ipv4/inet_lro.ko new file mode 100644 index 000000000..f8ba56e72 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/inet_lro.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/ip_vti.ko b/lib/modules/3.6.11+/kernel/net/ipv4/ip_vti.ko new file mode 100644 index 000000000..3021a3ba1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/ip_vti.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/ipcomp.ko b/lib/modules/3.6.11+/kernel/net/ipv4/ipcomp.ko new file mode 100644 index 000000000..30b3776ec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/ipcomp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/ipip.ko b/lib/modules/3.6.11+/kernel/net/ipv4/ipip.ko new file mode 100644 index 000000000..466c541ee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/ipip.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arp_tables.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arp_tables.ko new file mode 100644 index 000000000..6ed506c8b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arp_tables.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arpt_mangle.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arpt_mangle.ko new file mode 100644 index 000000000..ea090aff3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arpt_mangle.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arptable_filter.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arptable_filter.ko new file mode 100644 index 000000000..a54b3238d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/arptable_filter.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ip_tables.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ip_tables.ko new file mode 100644 index 000000000..1ac6a4bca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ip_tables.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ECN.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ECN.ko new file mode 100644 index 000000000..f5976f032 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ECN.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko new file mode 100644 index 000000000..ebce98978 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_NETMAP.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_NETMAP.ko new file mode 100644 index 000000000..a5ce721a3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_NETMAP.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_REDIRECT.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_REDIRECT.ko new file mode 100644 index 000000000..d7a2e8329 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_REDIRECT.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_REJECT.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_REJECT.ko new file mode 100644 index 000000000..5b6401556 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_REJECT.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ULOG.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ULOG.ko new file mode 100644 index 000000000..03e1a6d70 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ULOG.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ah.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ah.ko new file mode 100644 index 000000000..2e2324cd7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_ah.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_rpfilter.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_rpfilter.ko new file mode 100644 index 000000000..fa528307d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/ipt_rpfilter.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_filter.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_filter.ko new file mode 100644 index 000000000..32e22233c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_filter.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_mangle.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_mangle.ko new file mode 100644 index 000000000..ff49c7e61 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_mangle.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_nat.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_nat.ko new file mode 100644 index 000000000..60162615b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_nat.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_raw.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_raw.ko new file mode 100644 index 000000000..fa2bbce70 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/iptable_raw.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko new file mode 100644 index 000000000..ebd3bb81b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko new file mode 100644 index 000000000..0d4b7fc56 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat.ko new file mode 100644 index 000000000..f8c153a7c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_amanda.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_amanda.ko new file mode 100644 index 000000000..11338caa0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_amanda.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_ftp.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_ftp.ko new file mode 100644 index 000000000..b9dbe519c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_ftp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_h323.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_h323.ko new file mode 100644 index 000000000..ce90a32b0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_h323.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_irc.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_irc.ko new file mode 100644 index 000000000..fa636bb07 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_irc.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_pptp.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_pptp.ko new file mode 100644 index 000000000..61b88e55f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_pptp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_dccp.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_dccp.ko new file mode 100644 index 000000000..1ce113fbc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_dccp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko new file mode 100644 index 000000000..56e4d648e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_sctp.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_sctp.ko new file mode 100644 index 000000000..ef9f90ff9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_sctp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_udplite.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_udplite.ko new file mode 100644 index 000000000..8ca636606 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_proto_udplite.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_sip.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_sip.ko new file mode 100644 index 000000000..ff579665b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_sip.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_snmp_basic.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_snmp_basic.ko new file mode 100644 index 000000000..b9f91e3ed Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_snmp_basic.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_tftp.ko b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_tftp.ko new file mode 100644 index 000000000..aaf23a491 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/netfilter/nf_nat_tftp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/tcp_diag.ko b/lib/modules/3.6.11+/kernel/net/ipv4/tcp_diag.ko new file mode 100644 index 000000000..b4b3166b7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/tcp_diag.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/tunnel4.ko b/lib/modules/3.6.11+/kernel/net/ipv4/tunnel4.ko new file mode 100644 index 000000000..c84eada35 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/tunnel4.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/udp_diag.ko b/lib/modules/3.6.11+/kernel/net/ipv4/udp_diag.ko new file mode 100644 index 000000000..4d042ebe5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/udp_diag.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_beet.ko b/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_beet.ko new file mode 100644 index 000000000..9fba3b625 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_beet.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_transport.ko b/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_transport.ko new file mode 100644 index 000000000..1f21ef648 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_transport.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_tunnel.ko b/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_tunnel.ko new file mode 100644 index 000000000..316380c40 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_mode_tunnel.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_tunnel.ko b/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_tunnel.ko new file mode 100644 index 000000000..19d181436 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv4/xfrm4_tunnel.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/ah6.ko b/lib/modules/3.6.11+/kernel/net/ipv6/ah6.ko new file mode 100644 index 000000000..9d2f99192 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/ah6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/esp6.ko b/lib/modules/3.6.11+/kernel/net/ipv6/esp6.ko new file mode 100644 index 000000000..675d54c3e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/esp6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/ipcomp6.ko b/lib/modules/3.6.11+/kernel/net/ipv6/ipcomp6.ko new file mode 100644 index 000000000..bb95111ae Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/ipcomp6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/ipv6.ko b/lib/modules/3.6.11+/kernel/net/ipv6/ipv6.ko new file mode 100644 index 000000000..f2a7c7803 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/ipv6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6_tables.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6_tables.ko new file mode 100644 index 000000000..f23d1bead Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6_tables.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_REJECT.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_REJECT.ko new file mode 100644 index 000000000..130685c58 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_REJECT.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_ah.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_ah.ko new file mode 100644 index 000000000..93d107a23 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_ah.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_eui64.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_eui64.ko new file mode 100644 index 000000000..a869bc9cd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_eui64.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_frag.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_frag.ko new file mode 100644 index 000000000..0b04f305a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_frag.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_hbh.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_hbh.ko new file mode 100644 index 000000000..3cf2370a7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_hbh.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_ipv6header.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_ipv6header.ko new file mode 100644 index 000000000..caf961744 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_ipv6header.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_mh.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_mh.ko new file mode 100644 index 000000000..4f73b5012 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_mh.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_rpfilter.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_rpfilter.ko new file mode 100644 index 000000000..4ca2c0064 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_rpfilter.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_rt.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_rt.ko new file mode 100644 index 000000000..d6bb8364b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6t_rt.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_filter.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_filter.ko new file mode 100644 index 000000000..d1e8c5132 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_filter.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_mangle.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_mangle.ko new file mode 100644 index 000000000..5fc659aaa Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_mangle.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_raw.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_raw.ko new file mode 100644 index 000000000..bc7bf7fe2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/ip6table_raw.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko new file mode 100644 index 000000000..ae72145ac Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko new file mode 100644 index 000000000..4d6d59204 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/sit.ko b/lib/modules/3.6.11+/kernel/net/ipv6/sit.ko new file mode 100644 index 000000000..6826b4028 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/sit.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/tunnel6.ko b/lib/modules/3.6.11+/kernel/net/ipv6/tunnel6.ko new file mode 100644 index 000000000..6ac6f35f6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/tunnel6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_beet.ko b/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_beet.ko new file mode 100644 index 000000000..8c15c5a0d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_beet.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_transport.ko b/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_transport.ko new file mode 100644 index 000000000..e341fb0f1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_transport.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_tunnel.ko b/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_tunnel.ko new file mode 100644 index 000000000..69e562299 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_mode_tunnel.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_tunnel.ko b/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_tunnel.ko new file mode 100644 index 000000000..311b694fe Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/ipv6/xfrm6_tunnel.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/irda/ircomm/ircomm-tty.ko b/lib/modules/3.6.11+/kernel/net/irda/ircomm/ircomm-tty.ko new file mode 100644 index 000000000..62e786178 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/irda/ircomm/ircomm-tty.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/irda/ircomm/ircomm.ko b/lib/modules/3.6.11+/kernel/net/irda/ircomm/ircomm.ko new file mode 100644 index 000000000..1e77c5327 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/irda/ircomm/ircomm.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/irda/irda.ko b/lib/modules/3.6.11+/kernel/net/irda/irda.ko new file mode 100644 index 000000000..c1d19f683 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/irda/irda.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/irda/irlan/irlan.ko b/lib/modules/3.6.11+/kernel/net/irda/irlan/irlan.ko new file mode 100644 index 000000000..115308b90 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/irda/irlan/irlan.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/irda/irnet/irnet.ko b/lib/modules/3.6.11+/kernel/net/irda/irnet/irnet.ko new file mode 100644 index 000000000..ad444fbdf Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/irda/irnet/irnet.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/key/af_key.ko b/lib/modules/3.6.11+/kernel/net/key/af_key.ko new file mode 100644 index 000000000..2efba3be4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/key/af_key.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/l2tp/l2tp_core.ko b/lib/modules/3.6.11+/kernel/net/l2tp/l2tp_core.ko new file mode 100644 index 000000000..dc2f49d29 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/l2tp/l2tp_core.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/llc/llc.ko b/lib/modules/3.6.11+/kernel/net/llc/llc.ko new file mode 100644 index 000000000..247610e4f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/llc/llc.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/mac80211/mac80211.ko b/lib/modules/3.6.11+/kernel/net/mac80211/mac80211.ko new file mode 100644 index 000000000..d43c3be32 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/mac80211/mac80211.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set.ko new file mode 100644 index 000000000..f3c325d7a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_ip.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_ip.ko new file mode 100644 index 000000000..2358798ec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_ip.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_ipmac.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_ipmac.ko new file mode 100644 index 000000000..c71440b1f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_ipmac.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_port.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_port.ko new file mode 100644 index 000000000..7b659e0d2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_bitmap_port.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ip.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ip.ko new file mode 100644 index 000000000..c1eba29a8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ip.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipport.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipport.ko new file mode 100644 index 000000000..b7bbb61dd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipport.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipportip.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipportip.ko new file mode 100644 index 000000000..b0e0ab333 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipportip.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipportnet.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipportnet.ko new file mode 100644 index 000000000..664553a69 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_ipportnet.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_net.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_net.ko new file mode 100644 index 000000000..d44b9ec9d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_net.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_netiface.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_netiface.ko new file mode 100644 index 000000000..015343bbe Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_netiface.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_netport.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_netport.ko new file mode 100644 index 000000000..eeee8b776 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_hash_netport.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_list_set.ko b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_list_set.ko new file mode 100644 index 000000000..9eda80e33 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/ipset/ip_set_list_set.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack.ko new file mode 100644 index 000000000..253a562eb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_amanda.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_amanda.ko new file mode 100644 index 000000000..926210463 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_amanda.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_broadcast.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_broadcast.ko new file mode 100644 index 000000000..248ce4cd0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_broadcast.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_ftp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_ftp.ko new file mode 100644 index 000000000..7ed9f0f5e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_ftp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_h323.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_h323.ko new file mode 100644 index 000000000..fa4390378 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_h323.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_irc.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_irc.ko new file mode 100644 index 000000000..e12efbc73 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_irc.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_netbios_ns.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_netbios_ns.ko new file mode 100644 index 000000000..b6fe9dcc5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_netbios_ns.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_netlink.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_netlink.ko new file mode 100644 index 000000000..216bf1b9b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_netlink.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_pptp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_pptp.ko new file mode 100644 index 000000000..bcf9338e7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_pptp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_dccp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_dccp.ko new file mode 100644 index 000000000..fe5ff9973 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_dccp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_gre.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_gre.ko new file mode 100644 index 000000000..2f503dad9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_gre.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_sctp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_sctp.ko new file mode 100644 index 000000000..d7436b786 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_sctp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_udplite.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_udplite.ko new file mode 100644 index 000000000..489e00d90 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_proto_udplite.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_sane.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_sane.ko new file mode 100644 index 000000000..7d12b7ca2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_sane.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_sip.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_sip.ko new file mode 100644 index 000000000..113a62eb6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_sip.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_snmp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_snmp.ko new file mode 100644 index 000000000..a480cf301 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_snmp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_tftp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_tftp.ko new file mode 100644 index 000000000..a76343355 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_conntrack_tftp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nf_tproxy_core.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nf_tproxy_core.ko new file mode 100644 index 000000000..69f91e825 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nf_tproxy_core.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink.ko new file mode 100644 index 000000000..8239b2cb3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_acct.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_acct.ko new file mode 100644 index 000000000..2119b9776 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_acct.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_log.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_log.ko new file mode 100644 index 000000000..18343985a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_log.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_queue.ko b/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_queue.ko new file mode 100644 index 000000000..d6cba54f6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/nfnetlink_queue.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/x_tables.ko b/lib/modules/3.6.11+/kernel/net/netfilter/x_tables.ko new file mode 100644 index 000000000..db7916386 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/x_tables.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_AUDIT.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_AUDIT.ko new file mode 100644 index 000000000..34a6d1646 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_AUDIT.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_CHECKSUM.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_CHECKSUM.ko new file mode 100644 index 000000000..7221647f4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_CHECKSUM.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_CLASSIFY.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_CLASSIFY.ko new file mode 100644 index 000000000..9f5898333 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_CLASSIFY.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_CT.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_CT.ko new file mode 100644 index 000000000..aaf191fbd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_CT.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_DSCP.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_DSCP.ko new file mode 100644 index 000000000..9be9de8c2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_DSCP.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_HL.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_HL.ko new file mode 100644 index 000000000..8437afd83 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_HL.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_HMARK.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_HMARK.ko new file mode 100644 index 000000000..c54243c8c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_HMARK.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_IDLETIMER.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_IDLETIMER.ko new file mode 100644 index 000000000..f87358207 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_IDLETIMER.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_LED.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_LED.ko new file mode 100644 index 000000000..a5b0e4037 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_LED.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_LOG.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_LOG.ko new file mode 100644 index 000000000..1e63e7cc0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_LOG.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_NFLOG.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_NFLOG.ko new file mode 100644 index 000000000..618224235 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_NFLOG.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_NFQUEUE.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_NFQUEUE.ko new file mode 100644 index 000000000..b20586642 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_NFQUEUE.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_NOTRACK.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_NOTRACK.ko new file mode 100644 index 000000000..ec3855dd6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_NOTRACK.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_RATEEST.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_RATEEST.ko new file mode 100644 index 000000000..2c99f893f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_RATEEST.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_TCPMSS.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TCPMSS.ko new file mode 100644 index 000000000..9e4334b48 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TCPMSS.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_TCPOPTSTRIP.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TCPOPTSTRIP.ko new file mode 100644 index 000000000..7b0da6d9f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TCPOPTSTRIP.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_TEE.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TEE.ko new file mode 100644 index 000000000..937bd17e5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TEE.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_TPROXY.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TPROXY.ko new file mode 100644 index 000000000..79fa89cdc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TPROXY.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_TRACE.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TRACE.ko new file mode 100644 index 000000000..bf6097cf8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_TRACE.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_addrtype.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_addrtype.ko new file mode 100644 index 000000000..975fbd9d5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_addrtype.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_cluster.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_cluster.ko new file mode 100644 index 000000000..d2a0f0499 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_cluster.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_comment.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_comment.ko new file mode 100644 index 000000000..7c570cf9f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_comment.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_connbytes.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_connbytes.ko new file mode 100644 index 000000000..5db7f48e1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_connbytes.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_connlimit.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_connlimit.ko new file mode 100644 index 000000000..b04bc7bd6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_connlimit.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_connmark.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_connmark.ko new file mode 100644 index 000000000..2d0511d1c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_connmark.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_conntrack.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_conntrack.ko new file mode 100644 index 000000000..87001c30b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_conntrack.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_cpu.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_cpu.ko new file mode 100644 index 000000000..386b4ebde Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_cpu.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_dccp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_dccp.ko new file mode 100644 index 000000000..b1554b907 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_dccp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_devgroup.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_devgroup.ko new file mode 100644 index 000000000..6548c37e8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_devgroup.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_dscp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_dscp.ko new file mode 100644 index 000000000..9be9de8c2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_dscp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_ecn.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_ecn.ko new file mode 100644 index 000000000..324e977b0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_ecn.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_esp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_esp.ko new file mode 100644 index 000000000..f747e4e6d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_esp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_hashlimit.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_hashlimit.ko new file mode 100644 index 000000000..8217d4626 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_hashlimit.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_helper.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_helper.ko new file mode 100644 index 000000000..4c93907ce Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_helper.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_hl.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_hl.ko new file mode 100644 index 000000000..8437afd83 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_hl.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_iprange.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_iprange.ko new file mode 100644 index 000000000..c92cda2b2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_iprange.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_length.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_length.ko new file mode 100644 index 000000000..58e745504 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_length.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_limit.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_limit.ko new file mode 100644 index 000000000..fe940417b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_limit.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_mac.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_mac.ko new file mode 100644 index 000000000..19140d1eb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_mac.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_mark.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_mark.ko new file mode 100644 index 000000000..1643895e8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_mark.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_multiport.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_multiport.ko new file mode 100644 index 000000000..5359cb9bb Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_multiport.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_nfacct.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_nfacct.ko new file mode 100644 index 000000000..38c4a61d2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_nfacct.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_osf.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_osf.ko new file mode 100644 index 000000000..06bc6a2a1 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_osf.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_owner.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_owner.ko new file mode 100644 index 000000000..b74603c8d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_owner.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_physdev.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_physdev.ko new file mode 100644 index 000000000..7da0112a0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_physdev.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_pkttype.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_pkttype.ko new file mode 100644 index 000000000..a74d8a865 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_pkttype.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_policy.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_policy.ko new file mode 100644 index 000000000..42cad6939 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_policy.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_quota.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_quota.ko new file mode 100644 index 000000000..4d6e9643a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_quota.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_rateest.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_rateest.ko new file mode 100644 index 000000000..2c99f893f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_rateest.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_realm.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_realm.ko new file mode 100644 index 000000000..99702f4d2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_realm.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_recent.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_recent.ko new file mode 100644 index 000000000..f5fc50de2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_recent.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_sctp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_sctp.ko new file mode 100644 index 000000000..40a0891f3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_sctp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_set.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_set.ko new file mode 100644 index 000000000..d3dc9f4a4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_set.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_socket.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_socket.ko new file mode 100644 index 000000000..5c9f9b546 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_socket.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_state.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_state.ko new file mode 100644 index 000000000..292f5bcce Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_state.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_statistic.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_statistic.ko new file mode 100644 index 000000000..1363005da Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_statistic.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_string.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_string.ko new file mode 100644 index 000000000..e657a48f2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_string.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_tcpmss.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_tcpmss.ko new file mode 100644 index 000000000..9e4334b48 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_tcpmss.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_tcpudp.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_tcpudp.ko new file mode 100644 index 000000000..1d287d32a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_tcpudp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_time.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_time.ko new file mode 100644 index 000000000..a4e890589 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_time.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netfilter/xt_u32.ko b/lib/modules/3.6.11+/kernel/net/netfilter/xt_u32.ko new file mode 100644 index 000000000..14e1d6af6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netfilter/xt_u32.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/netrom/netrom.ko b/lib/modules/3.6.11+/kernel/net/netrom/netrom.ko new file mode 100644 index 000000000..655abeeec Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/netrom/netrom.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/nfc/nfc.ko b/lib/modules/3.6.11+/kernel/net/nfc/nfc.ko new file mode 100644 index 000000000..b81ed07c7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/nfc/nfc.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/openvswitch/openvswitch.ko b/lib/modules/3.6.11+/kernel/net/openvswitch/openvswitch.ko new file mode 100644 index 000000000..1679c313b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/openvswitch/openvswitch.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/rose/rose.ko b/lib/modules/3.6.11+/kernel/net/rose/rose.ko new file mode 100644 index 000000000..ce1fb7b2c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/rose/rose.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_csum.ko b/lib/modules/3.6.11+/kernel/net/sched/act_csum.ko new file mode 100644 index 000000000..fc533e039 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_csum.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_gact.ko b/lib/modules/3.6.11+/kernel/net/sched/act_gact.ko new file mode 100644 index 000000000..1d33d51c2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_gact.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_ipt.ko b/lib/modules/3.6.11+/kernel/net/sched/act_ipt.ko new file mode 100644 index 000000000..32bdbad61 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_ipt.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_mirred.ko b/lib/modules/3.6.11+/kernel/net/sched/act_mirred.ko new file mode 100644 index 000000000..4eceba23d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_mirred.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_nat.ko b/lib/modules/3.6.11+/kernel/net/sched/act_nat.ko new file mode 100644 index 000000000..d4747c85e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_nat.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_pedit.ko b/lib/modules/3.6.11+/kernel/net/sched/act_pedit.ko new file mode 100644 index 000000000..f7ab7693f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_pedit.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_police.ko b/lib/modules/3.6.11+/kernel/net/sched/act_police.ko new file mode 100644 index 000000000..49483049e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_police.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_simple.ko b/lib/modules/3.6.11+/kernel/net/sched/act_simple.ko new file mode 100644 index 000000000..83c23102e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_simple.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/act_skbedit.ko b/lib/modules/3.6.11+/kernel/net/sched/act_skbedit.ko new file mode 100644 index 000000000..8e81e2064 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/act_skbedit.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_basic.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_basic.ko new file mode 100644 index 000000000..daa9f29a0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_basic.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_cgroup.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_cgroup.ko new file mode 100644 index 000000000..469c709c7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_cgroup.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_flow.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_flow.ko new file mode 100644 index 000000000..32a05683c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_flow.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_fw.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_fw.ko new file mode 100644 index 000000000..5afc933ee Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_fw.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_route.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_route.ko new file mode 100644 index 000000000..83a2258dd Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_route.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_rsvp.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_rsvp.ko new file mode 100644 index 000000000..6fa8a068e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_rsvp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_rsvp6.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_rsvp6.ko new file mode 100644 index 000000000..68d504bd0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_rsvp6.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_tcindex.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_tcindex.ko new file mode 100644 index 000000000..fa20defcf Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_tcindex.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/cls_u32.ko b/lib/modules/3.6.11+/kernel/net/sched/cls_u32.ko new file mode 100644 index 000000000..78f19e01c Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/cls_u32.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/em_cmp.ko b/lib/modules/3.6.11+/kernel/net/sched/em_cmp.ko new file mode 100644 index 000000000..3eeb25c53 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/em_cmp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/em_ipset.ko b/lib/modules/3.6.11+/kernel/net/sched/em_ipset.ko new file mode 100644 index 000000000..644ea1451 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/em_ipset.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/em_meta.ko b/lib/modules/3.6.11+/kernel/net/sched/em_meta.ko new file mode 100644 index 000000000..9256ecc94 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/em_meta.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/em_nbyte.ko b/lib/modules/3.6.11+/kernel/net/sched/em_nbyte.ko new file mode 100644 index 000000000..32704e3d7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/em_nbyte.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/em_text.ko b/lib/modules/3.6.11+/kernel/net/sched/em_text.ko new file mode 100644 index 000000000..e95526e1a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/em_text.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/em_u32.ko b/lib/modules/3.6.11+/kernel/net/sched/em_u32.ko new file mode 100644 index 000000000..2be792a65 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/em_u32.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_cbq.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_cbq.ko new file mode 100644 index 000000000..047b06548 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_cbq.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_choke.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_choke.ko new file mode 100644 index 000000000..2bdf30607 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_choke.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_codel.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_codel.ko new file mode 100644 index 000000000..4d8b326f0 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_codel.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_drr.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_drr.ko new file mode 100644 index 000000000..6214c781d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_drr.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_dsmark.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_dsmark.ko new file mode 100644 index 000000000..75563c3b9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_dsmark.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_fq_codel.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_fq_codel.ko new file mode 100644 index 000000000..588d2471a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_fq_codel.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_gred.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_gred.ko new file mode 100644 index 000000000..bf085eeca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_gred.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_hfsc.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_hfsc.ko new file mode 100644 index 000000000..2f08b4da4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_hfsc.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_htb.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_htb.ko new file mode 100644 index 000000000..b27adda2d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_htb.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_mqprio.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_mqprio.ko new file mode 100644 index 000000000..108038ebc Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_mqprio.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_multiq.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_multiq.ko new file mode 100644 index 000000000..529e6e22b Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_multiq.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_netem.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_netem.ko new file mode 100644 index 000000000..e6d0872ca Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_netem.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_plug.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_plug.ko new file mode 100644 index 000000000..19fd36021 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_plug.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_prio.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_prio.ko new file mode 100644 index 000000000..1095cf6f8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_prio.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_qfq.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_qfq.ko new file mode 100644 index 000000000..0a09513c5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_qfq.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_red.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_red.ko new file mode 100644 index 000000000..cc331e80e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_red.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_sfb.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_sfb.ko new file mode 100644 index 000000000..7b4b09d56 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_sfb.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_sfq.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_sfq.ko new file mode 100644 index 000000000..43bfe837a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_sfq.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_tbf.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_tbf.ko new file mode 100644 index 000000000..642139ac5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_tbf.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/sched/sch_teql.ko b/lib/modules/3.6.11+/kernel/net/sched/sch_teql.ko new file mode 100644 index 000000000..83dc67ef4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/sched/sch_teql.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/wimax/wimax.ko b/lib/modules/3.6.11+/kernel/net/wimax/wimax.ko new file mode 100644 index 000000000..816dd2c4f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/wimax/wimax.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/wireless/cfg80211.ko b/lib/modules/3.6.11+/kernel/net/wireless/cfg80211.ko new file mode 100644 index 000000000..3f607eaa2 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/wireless/cfg80211.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/wireless/lib80211.ko b/lib/modules/3.6.11+/kernel/net/wireless/lib80211.ko new file mode 100644 index 000000000..7e657e442 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/wireless/lib80211.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_ccmp.ko b/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_ccmp.ko new file mode 100644 index 000000000..c0d099b79 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_ccmp.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_tkip.ko b/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_tkip.ko new file mode 100644 index 000000000..d88ef46ef Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_tkip.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_wep.ko b/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_wep.ko new file mode 100644 index 000000000..1c6278621 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/wireless/lib80211_crypt_wep.ko differ diff --git a/lib/modules/3.6.11+/kernel/net/xfrm/xfrm_ipcomp.ko b/lib/modules/3.6.11+/kernel/net/xfrm/xfrm_ipcomp.ko new file mode 100644 index 000000000..1af0803e9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/net/xfrm/xfrm_ipcomp.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/arm/snd-bcm2835.ko b/lib/modules/3.6.11+/kernel/sound/arm/snd-bcm2835.ko new file mode 100644 index 000000000..806b81da7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/arm/snd-bcm2835.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/oss/snd-mixer-oss.ko b/lib/modules/3.6.11+/kernel/sound/core/oss/snd-mixer-oss.ko new file mode 100644 index 000000000..745c878f9 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/oss/snd-mixer-oss.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/oss/snd-pcm-oss.ko b/lib/modules/3.6.11+/kernel/sound/core/oss/snd-pcm-oss.ko new file mode 100644 index 000000000..dcdc5a36a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/oss/snd-pcm-oss.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/seq/oss/snd-seq-oss.ko b/lib/modules/3.6.11+/kernel/sound/core/seq/oss/snd-seq-oss.ko new file mode 100644 index 000000000..0c644ea21 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/seq/oss/snd-seq-oss.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-device.ko b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-device.ko new file mode 100644 index 000000000..01a38332f Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-device.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-dummy.ko b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-dummy.ko new file mode 100644 index 000000000..cbc5d2059 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-dummy.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-midi-event.ko b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-midi-event.ko new file mode 100644 index 000000000..358127c9a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-midi-event.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-midi.ko b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-midi.ko new file mode 100644 index 000000000..b19d6e041 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-midi.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-virmidi.ko b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-virmidi.ko new file mode 100644 index 000000000..1c4ae501d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq-virmidi.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq.ko b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq.ko new file mode 100644 index 000000000..6396b242a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/seq/snd-seq.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/snd-hrtimer.ko b/lib/modules/3.6.11+/kernel/sound/core/snd-hrtimer.ko new file mode 100644 index 000000000..725cd2db4 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/snd-hrtimer.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/snd-hwdep.ko b/lib/modules/3.6.11+/kernel/sound/core/snd-hwdep.ko new file mode 100644 index 000000000..2a927e272 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/snd-hwdep.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/snd-page-alloc.ko b/lib/modules/3.6.11+/kernel/sound/core/snd-page-alloc.ko new file mode 100644 index 000000000..a3b3e80d3 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/snd-page-alloc.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/snd-pcm.ko b/lib/modules/3.6.11+/kernel/sound/core/snd-pcm.ko new file mode 100644 index 000000000..db08406fa Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/snd-pcm.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/snd-rawmidi.ko b/lib/modules/3.6.11+/kernel/sound/core/snd-rawmidi.ko new file mode 100644 index 000000000..e93c7d08e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/snd-rawmidi.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/snd-timer.ko b/lib/modules/3.6.11+/kernel/sound/core/snd-timer.ko new file mode 100644 index 000000000..f7bfbff30 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/snd-timer.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/core/snd.ko b/lib/modules/3.6.11+/kernel/sound/core/snd.ko new file mode 100644 index 000000000..b7cc1ece6 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/core/snd.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko b/lib/modules/3.6.11+/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko new file mode 100644 index 000000000..374880d3a Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/drivers/mpu401/snd-mpu401.ko b/lib/modules/3.6.11+/kernel/sound/drivers/mpu401/snd-mpu401.ko new file mode 100644 index 000000000..6d9d59908 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/drivers/mpu401/snd-mpu401.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/drivers/snd-aloop.ko b/lib/modules/3.6.11+/kernel/sound/drivers/snd-aloop.ko new file mode 100644 index 000000000..97d3b0594 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/drivers/snd-aloop.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/drivers/snd-dummy.ko b/lib/modules/3.6.11+/kernel/sound/drivers/snd-dummy.ko new file mode 100644 index 000000000..ab0c8864e Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/drivers/snd-dummy.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/drivers/snd-mtpav.ko b/lib/modules/3.6.11+/kernel/sound/drivers/snd-mtpav.ko new file mode 100644 index 000000000..6826748cf Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/drivers/snd-mtpav.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/drivers/snd-serial-u16550.ko b/lib/modules/3.6.11+/kernel/sound/drivers/snd-serial-u16550.ko new file mode 100644 index 000000000..3b09a5bc7 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/drivers/snd-serial-u16550.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/drivers/snd-virmidi.ko b/lib/modules/3.6.11+/kernel/sound/drivers/snd-virmidi.ko new file mode 100644 index 000000000..7c979c1b5 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/drivers/snd-virmidi.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/sound_firmware.ko b/lib/modules/3.6.11+/kernel/sound/sound_firmware.ko new file mode 100644 index 000000000..2753345d8 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/sound_firmware.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/usb/6fire/snd-usb-6fire.ko b/lib/modules/3.6.11+/kernel/sound/usb/6fire/snd-usb-6fire.ko new file mode 100644 index 000000000..a9bf456ef Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/usb/6fire/snd-usb-6fire.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/usb/caiaq/snd-usb-caiaq.ko b/lib/modules/3.6.11+/kernel/sound/usb/caiaq/snd-usb-caiaq.ko new file mode 100644 index 000000000..0bb775726 Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/usb/caiaq/snd-usb-caiaq.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/usb/misc/snd-ua101.ko b/lib/modules/3.6.11+/kernel/sound/usb/misc/snd-ua101.ko new file mode 100644 index 000000000..a9e81a5be Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/usb/misc/snd-ua101.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/usb/snd-usb-audio.ko b/lib/modules/3.6.11+/kernel/sound/usb/snd-usb-audio.ko new file mode 100644 index 000000000..5b4cc0b4d Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/usb/snd-usb-audio.ko differ diff --git a/lib/modules/3.6.11+/kernel/sound/usb/snd-usbmidi-lib.ko b/lib/modules/3.6.11+/kernel/sound/usb/snd-usbmidi-lib.ko new file mode 100644 index 000000000..678c204af Binary files /dev/null and b/lib/modules/3.6.11+/kernel/sound/usb/snd-usbmidi-lib.ko differ diff --git a/lib/modules/3.6.11+/modules.alias b/lib/modules/3.6.11+/modules.alias new file mode 100644 index 000000000..5609fa84f --- /dev/null +++ b/lib/modules/3.6.11+/modules.alias @@ -0,0 +1,6113 @@ +# Aliases extracted from modules themselves. +alias nls_tis-620 nls_cp874 +alias nls_sjis nls_cp932 +alias nls_gb2312 nls_cp936 +alias nls_euc-kr nls_cp949 +alias nls_big5 nls_cp950 +alias nls_iso8859-8 nls_cp1255 +alias iso9660 isofs +alias devname:fuse fuse +alias char-major-10-229 fuse +alias devname:btrfs-control btrfs +alias char-major-10-234 btrfs +alias sha256 sha256_generic +alias sha224 sha256_generic +alias sha512 sha512_generic +alias sha384 sha512_generic +alias wp256 wp512 +alias wp384 wp512 +alias tgr128 tgr192 +alias tgr160 tgr192 +alias aes aes_generic +alias i2c:lp8556 lp855x_bl +alias i2c:lp8553 lp855x_bl +alias i2c:lp8552 lp855x_bl +alias i2c:lp8551 lp855x_bl +alias i2c:lp8550 lp855x_bl +alias platform:pwm-backlight pwm_bl +alias usb:v17E9p*d*dc*dsc*dp*icFFisc00ip00in* udlfb +alias block-major-147-* drbd +alias of:N*T*Cbosch,bmp085* bmp085_i2c +alias i2c:bmp180 bmp085_i2c +alias i2c:bmp085 bmp085_i2c +alias of:N*T*Cbosch,bmp085* bmp085_spi +alias spi:bmp181 bmp085_spi +alias spi:bmp180 bmp085_spi +alias usb:v054Cp02E1d*dc*dsc*dp*ic*isc*ip*in* pn533 +alias usb:v04E6p5591d*dc*dsc*dp*ic*isc*ip*in* pn533 +alias usb:v04CCp2533d*dc*dsc*dp*ic*isc*ip*in* pn533 +alias scsi:t-0x01* st +alias char-major-9-* st +alias scsi:t-0x01* osst +alias char-major-206-* osst +alias scsi:t-0x04* sr_mod +alias scsi:t-0x05* sr_mod +alias block-major-11-* sr_mod +alias spi:spidev spidev +alias platform:bcm2708_spi spi_bcm2708 +alias platform:spi_gpio spi_gpio +alias hsi:hsi_char hsi_char +alias tty-ldisc-5 mkiss +alias tty-ldisc-7 6pack +alias usb:v03EBp7615d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1557p0002d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1690p0701d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03EBp7617d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03EBp7614d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0DB0p1020d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v07AAp7613d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v12FDp1001d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1915p2233d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1371p0013d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1371p0014d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03EBp7613d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03EBp7606d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0D5CpA002d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v083Ap3501d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v05DDpFF35d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v07AAp0018d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v07AAp0011d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v049Fp0032d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v2019p3220d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1044p8003d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v07B8pB000d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v050Dp0050d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0681p001Bd*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0506p0A01d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v04A5p9001d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1371p0002d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1371p0001d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1371p5743d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03EBp4102d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v1668p7605d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v2001p3200d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0864p4102d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v077Bp2227d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v077Bp2219d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v069Ap0321d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03EBp7605d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v055DpA000d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03EBp7604d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v069Ap0821d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v04BBp0919d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0D8Ep7110d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0D8Ep7100d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v8086p0200d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v05DDpFF31d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v04A5p9000d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0D5CpA001d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v069Ap0320d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0CDEp0001d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03F0p011Cd*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0B3Bp1612d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v0864p4100d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v066Bp2211d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias usb:v03EBp7603d*dc*dsc*dp*ic*isc*ip*in* at76c50x_usb +alias ssb:v4243id0812rev10* b43 +alias ssb:v4243id0812rev0F* b43 +alias ssb:v4243id0812rev0D* b43 +alias ssb:v4243id0812rev0C* b43 +alias ssb:v4243id0812rev0B* b43 +alias ssb:v4243id0812rev0A* b43 +alias ssb:v4243id0812rev09* b43 +alias ssb:v4243id0812rev07* b43 +alias ssb:v4243id0812rev06* b43 +alias ssb:v4243id0812rev05* b43 +alias ssb:v4243id0812rev04* b43legacy +alias ssb:v4243id0812rev02* b43legacy +alias usb:v0ACEp20FFd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0ACEp2011d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v2019pED01d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v2019p5303d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v1582p6003d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v157Ep300Dd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v13B1p0024d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v129Bp1667d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0DF6p0036d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0CDEp001Ad*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0BAFp0121d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0B05p171Bd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0ACEpB215d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0ACEp1215d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v083ApE506d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v083ApE503d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v083ApE501d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v083Ap4505d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v07FAp1196d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v07B8p6001d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v079Bp0062d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p3413d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p3412d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p3410d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p340Fd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p340Ad*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v054Cp0257d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v050Dp705Cd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0471p1237d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0471p1236d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0411p00DAd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0409p0248d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0053p5301d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v6891pA727d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v1740p2000d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v157Ep3207d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v157Ep3204d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v157Ep300Bd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v157Ep300Ad*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v14EApAB13d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v14EApAB10d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v1435p0711d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v13B1p001Ed*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v129Bp1666d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v126FpA006d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0DF6p9075d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0DF6p9071d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0B3Bp5630d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0B3Bp1630d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0B05p170Cd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0ACEpA211d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0ACEp1211d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v07B8p6001d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v079Bp004Ad*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p3409d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p3407d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p3402d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0586p3401d*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v0105p145Fd*dc*dsc*dp*ic*isc*ip*in* zd1211rw +alias usb:v1737p0073d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v1B75p8187d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v18E8p6232d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v13D1pABE6d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v1371p9401d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v114Bp0150d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0DF6p0029d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0DF6p0028d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0DF6p000Dd*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v03F0pCA02d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0846p4260d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0846p6A00d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0846p6100d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0789p010Cd*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0769p11F2d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0BDAp8198d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0BDAp8197d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0BDAp8189d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0BDAp8187d*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v050Dp705Ed*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v0B05p171Dd*dc*dsc*dp*ic*isc*ip*in* rtl8187 +alias usb:v*p*d*dc*dsc*dp*icEFisc01ip01in* rndis_wlan +alias usb:v*p*d*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v0411p004Bd*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v0BAFp0111d*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v13B1p000Ed*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v1690p0715d*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v0A5CpD11Bd*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v0B05p1717d*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v13B1p0026d*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v13B1p0014d*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v1799p011Bd*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v050Dp011Bd*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v0BAFp011Bd*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v0411p00BCd*dc*dsc*dp*ic02isc02ipFFin* rndis_wlan +alias usb:v1044p8005d*dc*dsc*dp*ic*isc*ip*in* zd1201 +alias usb:v1044p8004d*dc*dsc*dp*ic*isc*ip*in* zd1201 +alias usb:v0DB0p6823d*dc*dsc*dp*ic*isc*ip*in* zd1201 +alias usb:v050Dp6051d*dc*dsc*dp*ic*isc*ip*in* zd1201 +alias usb:v0ACEp1201d*dc*dsc*dp*ic*isc*ip*in* zd1201 +alias usb:v0586p3400d*dc*dsc*dp*ic*isc*ip*in* zd1201 +alias usb:v05A3p8388d*dc*dsc*dp*ic*isc*ip*in* usb8xxx +alias usb:v1286p2001d*dc*dsc*dp*ic*isc*ip*in* usb8xxx +alias sdio:c*v02DFd9104* libertas_sdio +alias sdio:c*v02DFd9103* libertas_sdio +alias usb:v05A3p8388d*dc*dsc*dp*ic*isc*ip*in* libertas_tf_usb +alias usb:v1286p2001d*dc*dsc*dp*ic*isc*ip*in* libertas_tf_usb +alias usb:v5A57p0260d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0F88p3012d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0EB0p9020d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0769p11F3d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v114Bp0110d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0707pEE13d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0681p3C06d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v079Bp004Bd*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v148Fp9020d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v148Fp2570d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v148Fp1706d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0DB0p6869d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0DB0p6865d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0DB0p6861d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0411p0097d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0411p008Bd*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0411p0067d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0411p0066d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0411p005Ed*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v06F8pE000d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v1044p8007d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v1044p8001d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v2001p3C00d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v14B2p3C02d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v13B1p001Ad*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v13B1p0011d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v13B1p000Dd*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v050Dp7051d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v050Dp7050d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0B05p1707d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0B05p1706d*dc*dsc*dp*ic*isc*ip*in* rt2500usb +alias usb:v0586p3415d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0CDEp001Cd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v7167p3840d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v2019pAB50d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v2019pAB01d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0471p200Ad*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v6933p5001d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0769p31F3d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DF6p9712d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DF6p90ACd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DF6p002Fd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DF6p0027d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DF6p0024d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1740p7100d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v04E8p4471d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v18E8p6238d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v18E8p6229d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v18E8p6196d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0812p3101d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v148Fp2671d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v148Fp2573d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v04BBp093Dd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1B75p7318d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DB0pA874d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DB0pA861d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DB0p6874d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DB0p6877d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0DB0p4600d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v13B1p0028d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v13B1p0023d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v13B1p0020d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v06F8pE020d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v06F8pE010d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v06F8pE002d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1472p0009d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1044p800Ad*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1044p8008d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v15A9p0004d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1740p3701d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v7392p7618d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v7392p7318d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07D1p3C07d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07D1p3C06d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07D1p3C04d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07D1p3C03d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07AAp002Ed*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v14B2p3C22d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1371p9032d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1371p9022d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v178Dp02BEd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0411p0137d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0411p0119d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0411p0116d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0411p00F4d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0411p00E6d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0411p00D9d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0411p00D8d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v08DDp0120d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1631pC019d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v050Dp905Cd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v050Dp905Bd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v050Dp705Ad*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v050Dp7050d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0B05p1724d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0B05p1723d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v1690p0722d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v18C5p0002d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0EB0p9021d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v148Fp9021d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v14B2p3C10d*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07B8pB21Fd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07B8pB21Ed*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07B8pB21Dd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07B8pB21Cd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v07B8pB21Bd*dc*dsc*dp*ic*isc*ip*in* rt73usb +alias usb:v0586p341Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApF511d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApD522d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApC522d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApA512d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0053d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p004Dd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p004Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p003Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v08B9p1197d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v18E8p6259d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2019pAB24d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1D4Dp0010d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v05A6p0101d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v100Dp9032d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0789p0169d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0789p0168d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p0615d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p0605d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04BBp094Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148FpF101d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1044p800Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v15A9p0010d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v203Dp14A1d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C17d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C0Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v18C5p0008d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07AAp0042d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07AAp0041d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p0150d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p0148d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p012Ed*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp1003d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3322d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3284d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3262d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p1790d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p1761d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p1760d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p166Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E0Bp9041d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E0Bp9031d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C11d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C08d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07B8p3074d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07B8p3073d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04DAp23F6d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp5372d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp5370d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0471p2104d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04DAp1800d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04DAp1801d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v043Ep7A22d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2001p3C1Dd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2001p3C1Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2001p3C19d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2001p3C15d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3365d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3329d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v043Ep7A12d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v5A57p0284d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0930p0A07d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0068d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0066d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0065d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0062d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0041d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp3572d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1737p0079d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13B1p002Fd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04BBp0944d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9801d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v167Bp4001d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p179Dd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1690p0764d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1690p0761d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1690p0744d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v8516p3572d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0050d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp8070d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp3370d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0471p20DDd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApB511d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2001p3C17d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp945Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0586p343Ed*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0586p341Ed*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0586p3418d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0586p3416d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v5A57p5257d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v5A57p0283d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v5A57p0282d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v5A57p0280d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0CDEp0025d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0CDEp0022d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v157Ep3013d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v157Ep300Ed*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v177Fp0313d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v177Fp0302d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v177Fp0153d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v15A9p0006d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApB522d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApA703d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApA702d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApA701d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083ApA618d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083Ap8522d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083Ap7522d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083Ap7512d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083Ap7511d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v083Ap6618d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0060d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p005Fd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0051d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0048d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0047d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0042d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0040d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p003Fd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p003Ed*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p003Dd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p003Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0039d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p002Dd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p002Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p002Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DF6p0017d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v129Bp1828d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04E8p2018d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp3072d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp3071d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp3070d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp2870d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp2770d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v148Fp2070d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1A32p0304d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2019pED06d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2019pAB25d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2019p5201d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0471p200Fd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1D4Dp0011d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1D4Dp000Ed*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1D4Dp000Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1D4Dp0002d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v20B8p8888d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1B75p3072d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1B75p3071d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p899Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p871Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p871Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p871Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p870Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p822Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p822Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p822Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p821Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p6899d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p3871d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p3870d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p3822d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p3821d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0DB0p3820d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v100Dp9031d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0789p0166d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0789p0164d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0789p0163d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0789p0162d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1737p0078d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1737p0077d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1737p0071d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1737p0070d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13B1p0031d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04BBp0948d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04BBp0947d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v04BBp0945d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E66p0018d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E66p0017d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E66p0013d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E66p000Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E66p0009d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E66p0003d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0E66p0001d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1044p800Dd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1044p800Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v15A9p0012d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9709d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9708d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9707d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9706d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9705d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9703d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9702d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1740p9701d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v203Dp14A9d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v203Dp1480d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v7392p7722d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v7392p7718d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v7392p7717d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v7392p7711d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v7392p4085d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0FE9pB307d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07FAp7712d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v2001p3C1Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C16d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C15d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C13d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C11d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C0Fd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C0Ed*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C0Dd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C0Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07D1p3C09d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v18C5p0012d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07AAp003Fd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07AAp003Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07AAp002Fd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p01EEd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p01A2d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p016Fd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p015Dd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p0158d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0411p00E8d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp935Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp935Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp825Bd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp825Ad*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp815Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp805Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v050Dp8053d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3321d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3307d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3305d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3273d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v13D3p3247d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1761p0B05d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p1784d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p1742d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p1732d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v0B05p1731d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1690p0740d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v15C5p0008d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C2Cd*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C28d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C27d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C25d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C23d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C12d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C09d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C07d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v14B2p3C06d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v8516p3072d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v8516p3071d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v8516p3070d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v8516p2870d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v8516p2770d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v8516p2070d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1EDAp2310d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1EDAp2210d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1EDAp2012d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v1482p3C09d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07B8p3072d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07B8p3071d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07B8p3070d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07B8p2770d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias usb:v07B8p2870d*dc*dsc*dp*ic*isc*ip*in* rt2800usb +alias prism54common p54common +alias prism54usb p54usb +alias usb:v413Cp8104d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v413Cp8102d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v413Cp5513d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v2001p3705d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v2001p3704d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1740p1000d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1668p1050d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1435p0427d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1413p5400d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v13B1p000Cd*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v13B1p000Ad*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1260pEE22d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v124Ap4025d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0D8Ep3762d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0CDEp0015d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0CDEp0008d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0BF8p1009d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0BAFp0118d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0915p2002d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0915p2000d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0846p4240d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v083ApF503d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v083ApC501d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v083Ap4521d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0707pEE13d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v06B9p0121d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v06A9p000Ed*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0572p2002d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0572p2000d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v050Dp7050d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0471p1230d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v5041p2235d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v5041p2234d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v2001p3762d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v2001p3703d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v2001p3701d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1915p2235d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1915p2234d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v182Dp096Bd*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1630p0005d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v15A9p0002d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v1435p0210d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v124Ap4023d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v107Bp55F2d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0DB0p6826d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0CDEp0006d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0BF8p1007d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v09AAp1000d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0846p4220d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0846p4210d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0846p4200d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v083Ap5501d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v083Ap4502d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v083Ap4501d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v07AAp001Cd*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0707pEE06d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v06B9p0120d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0506p0A11d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v045Ep00C2d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0411p0050d*dc*dsc*dp*ic*isc*ip*in* p54usb +alias usb:v0CF3p20FFd*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v04DAp3904d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v0411p017Fd*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v083ApA704d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v0846p9018d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v0CF3p7010d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v1668p1200d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v0CF3p7015d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v057Cp8403d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v0CF3pB003d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v040Dp3801d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v04CAp4605d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v13D3p3350d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v13D3p3349d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v13D3p3348d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v13D3p3346d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v13D3p3328d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v13D3p3327d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v07D1p3A10d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v0846p9030d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v0CF3p1006d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias usb:v0CF3p9271d*dc*dsc*dp*ic*isc*ip*in* ath9k_htc +alias arusb_lnx carl9170 +alias ar9170usb carl9170 +alias usb:v1B75p9170d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v1668p1200d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v057Cp8402d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v057Cp8401d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0409p02B4d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0409p0249d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v04BBp093Fd*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v2019p5304d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v083ApF522d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0CDEp0027d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0CDEp0026d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0CDEp0023d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0586p3417d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v1435p0326d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v1435p0804d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0ACEp1221d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0846p9001d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0846p9010d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0846p9040d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v07D1p3A0Fd*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v07D1p3A09d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v07D1p3C10d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:vCACEp0300d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0CF3p1011d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0CF3p1010d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0CF3p1002d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0CF3p1001d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias usb:v0CF3p9170d*dc*dsc*dp*ic*isc*ip*in* carl9170 +alias sdio:c*v02DFd9129* mwifiex_sdio +alias sdio:c*v02DFd9119* mwifiex_sdio +alias sdio:c*v02DFd9116* mwifiex_sdio +alias usb:v1286p2044d*dc*dsc*dp*icFFiscFFipFFin* mwifiex_usb +alias usb:v1286p2043d*dc*dsc*dp*ic*isc*ip*in* mwifiex_usb +alias usb:v0BDAp8186d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0E66p0019d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0846p9021d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0B05p17ABd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0DF6p0061d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v20F4p624Dd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v050Dp2103d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v050Dp2102d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2001p3307d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v4855p0091d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v07AAp0056d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v07B8p8178d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2019pAB2Bd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v7392p7822d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0586p341Fd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2001p3309d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2001p330Ad*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2001p3307d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2019p1201d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v04F2pAFFCd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v04F2pAFFBd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v04F2pAFF8d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v04F2pAFFAd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v04F2pAFF9d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v04F2pAFF7d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v13D3p3358d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v13D3p3359d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp317Fd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0846p9041d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2019pAB2Ed*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2019p4902d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v4856p0091d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp5088d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0DF6p005Cd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v13D3p3357d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v4855p0090d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v20F4p648Bd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2019pAB2Ad*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v050Dp1102d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2001p3308d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v103Cp1629d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v06F8pE033d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0EB0p9071d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v07B8p8189d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v7392p7811d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0DF6p0052d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v2019pED17d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp817Cd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp8178d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp8177d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp018Ad*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp818Ad*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp817Fd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp8754d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp817Dd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp817Bd*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp817Ad*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp817Ed*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp8170d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp8176d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v0BDAp8191d*dc*dsc*dp*ic*isc*ip*in* 8192cu +alias usb:v08D1p0001d*dc*dsc*dp*ic*isc*ip*in* catc +alias usb:v0423p000Cd*dc*dsc*dp*ic*isc*ip*in* catc +alias usb:v0423p000Ad*dc*dsc*dp*ic*isc*ip*in* catc +alias usb:v2001p4000d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v1668p0323d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v1645p8005d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v1645p0008d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v1645p0005d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v1485p0002d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v1485p0001d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v13D2p0400d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v1342p0204d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v10BDp1427d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v095Ap3003d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0951p0008d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v087Dp5704d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v085Ap0009d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v085Ap0008d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0846p1002d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0846p1001d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v07C9pB010d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v07B8p4000d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v07AAp0001d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0707p0100d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v06E1p0009d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v06E1p0008d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v066Bp2202d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v05E9p0009d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v05E9p0008d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0565p0005d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0565p0003d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0565p0002d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0557p4000d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0557p2002d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0506p11F8d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v0506p03E8d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v04BBp0901d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v03E8p0008d*dc*dsc*dp*ic*isc*ip*in* kaweth +alias usb:v067Cp1001d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v15E8p9110d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v15E8p9100d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0707p0201d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0707p0200d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v08D1p0003d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0B39p0901d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0B39p0109d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0846p1020d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v045Ep007Ad*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0411p0009d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0411p0005d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0411p0001d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v066Bp200Cd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v066Bp400Bd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v077Bp08B4d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v066Bp2206d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v066Bp2204d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v066Bp2203d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v066Bp2202d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v056Ep200Cd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v056EpABC1d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v056Ep400Bd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v056Ep4005d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v056Ep4002d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0951p000Ad*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v04BBp093Ad*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v04BBp0913d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v04BBp0904d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v03F0p811Cd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0E66p400Cd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v1044p8002d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v05CCp3000d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v1342p0304d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v056Ep4010d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0DB7p0002d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v2001pABC1d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v2001p4003d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v2001p200Cd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v2001p400Bd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v2001p4102d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v2001p4002d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v2001p4001d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07AAp000Dd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07AAp0004d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v08DDp8511d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v08DDp0988d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v049Fp8511d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v08DDp0987d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v08DDp0986d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v050Dp0122d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v050Dp0121d*dc00dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07C9pB100d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v3334p1701d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07A6p07C2d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07A6p0986d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07A6p8515d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07A6p8513d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07A6p8511d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v083ApB004d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v083Ap5046d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v083Ap1046d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p200Cd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8pABC1d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p400Cd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p400Bd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p4002d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p4102d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p4007d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p4004d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p4104d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v07B8p110Cd*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0557p2007d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0506p4601d*dc*dsc*dp*ic*isc*ip*in* pegasus +alias usb:v0586p401Ad*dc*dsc*dp*ic*isc*ip*in* rtl8150 +alias usb:v1557p8150d*dc*dsc*dp*ic*isc*ip*in* rtl8150 +alias usb:v07B8p401Ad*dc*dsc*dp*ic*isc*ip*in* rtl8150 +alias usb:v3980p0003d*dc*dsc*dp*ic*isc*ip*in* rtl8150 +alias usb:v0411p0012d*dc*dsc*dp*ic*isc*ip*in* rtl8150 +alias usb:v0BDAp8150d*dc*dsc*dp*ic*isc*ip*in* rtl8150 +alias usb:v0B95p172Ad*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0B95p7E2Bd*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0DB0pA877d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v14EApAB11d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0B95p772Ad*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v05ACp1402d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v050Dp5055d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v04BBp0930d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v1737p0039d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v2001p1A02d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v2001p3C05d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v07D1p3C05d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v1557p7720d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v13B1p0018d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0789p0160d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0B95p1780d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0B95p7720d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0B95p772Bd*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v17EFp7203d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v04F1p3008d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v1631p6200d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v1189p0893d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v07AAp0017d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0DF6p0056d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v6189p182Dd*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0411p006Ed*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0411p003Dd*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0557p2009d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v08DDp90FFd*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v07B8p420Ad*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0B95p1720d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v2001p1A00d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v0846p1040d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v077Bp2226d*dc*dsc*dp*ic*isc*ip*in* asix +alias usb:v12D1p*d*dc*dsc*dp*ic02isc06ipFFin* cdc_ether +alias usb:v*p*d*dc*dsc*dp*ic02isc0Aip00in* cdc_ether +alias usb:v*p*d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v19D2p1181d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v19D2p1177d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v19D2p1173d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v19D2p1015d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v19D2p1003d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v1410p9010d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v1410pB001d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v046DpC11Fd*dc*dsc*dp*ic02isc0Aip00in* cdc_ether +alias usb:v1004p61AAd*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v07B4p0F02d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v04DDp9050d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v04DDp9032d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v04DDp9031d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v04DDp8007d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v04DDp8006d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v04DDp8005d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v04DDp8004d*dc*dsc*dp*ic02isc06ip00in* cdc_ether +alias usb:v*p*d*dc*dsc*dp*ic02isc0Cip07in* cdc_eem +alias usb:v0A46p9000d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v0FE6p9700d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v0FE6p8101d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v0A47p9601d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v0A46p8515d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v0A46p0268d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v0A46p6688d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v0A46p9601d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v07AAp9601d*dc*dsc*dp*ic*isc*ip*in* dm9601 +alias usb:v0424p7505d*dc*dsc*dp*ic*isc*ip*in* smsc75xx +alias usb:v0424p7500d*dc*dsc*dp*ic*isc*ip*in* smsc75xx +alias usb:v05E3p0502d*dc*dsc*dp*ic*isc*ip*in* gl620a +alias usb:v06D0p0622d*dc*dsc*dp*ic*isc*ip*in* net1080 +alias usb:v0525p1080d*dc*dsc*dp*ic*isc*ip*in* net1080 +alias usb:v050Dp258Ad*dc*dsc*dp*ic*isc*ip*in* plusb +alias usb:v067Bp25A1d*dc*dsc*dp*ic*isc*ip*in* plusb +alias usb:v067Bp0001d*dc*dsc*dp*ic*isc*ip*in* plusb +alias usb:v067Bp0000d*dc*dsc*dp*ic*isc*ip*in* plusb +alias usb:v*p*d*dc*dsc*dp*icE0isc01ip03in* rndis_host +alias usb:v*p*d*dc*dsc*dp*icEFisc01ip01in* rndis_host +alias usb:v*p*d*dc*dsc*dp*ic02isc02ipFFin* rndis_host +alias usb:v1630p0042d*dc*dsc*dp*ic02isc02ipFFin* rndis_host +alias usb:v0525pA4A2d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v1286p8001d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v8086p07D3d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v0E7Ep1001d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v049Fp505Ad*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v050Fp0190d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v0525p9901d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v056Cp8100d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v050Dp0004d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v0547p2727d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v0547p2720d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v182Dp207Cd*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v0402p5632d*dc*dsc*dp*ic*isc*ip*in* cdc_subset +alias usb:v0DF6p0021d*dc*dsc*dp*ic*isc*ip*in* mcs7830 +alias usb:v9710p7730d*dc*dsc*dp*ic*isc*ip*in* mcs7830 +alias usb:v9710p7830d*dc*dsc*dp*ic*isc*ip*in* mcs7830 +alias usb:v9710p7832d*dc*dsc*dp*ic*isc*ip*in* mcs7830 +alias usb:v09E1p5121d*dc*dsc*dp*ic*isc*ip*in* int51x1 +alias usb:v04E8p6889d*dc*dsc*dp*ic*isc*ip*in* kalmia +alias usb:v04E8p689Ad*dc*dsc*dp*ic*isc*ip*in* kalmia +alias usb:v05ACp12A8d*dc*dsc*dp*icFFiscFDip01in* ipheth +alias usb:v05ACp12A0d*dc*dsc*dp*icFFiscFDip01in* ipheth +alias usb:v05ACp129Cd*dc*dsc*dp*icFFiscFDip01in* ipheth +alias usb:v05ACp129Ad*dc*dsc*dp*icFFiscFDip01in* ipheth +alias usb:v05ACp1297d*dc*dsc*dp*icFFiscFDip01in* ipheth +alias usb:v05ACp1294d*dc*dsc*dp*icFFiscFDip01in* ipheth +alias usb:v05ACp1292d*dc*dsc*dp*icFFiscFDip01in* ipheth +alias usb:v05ACp1290d*dc*dsc*dp*icFFiscFDip01in* ipheth +alias usb:v0F3Dp68AAd*dc*dsc*dp*ic*isc*ip*in0B* sierra_net +alias usb:v0F3Dp68AAd*dc*dsc*dp*ic*isc*ip*in0A* sierra_net +alias usb:v0F3Dp68AAd*dc*dsc*dp*ic*isc*ip*in07* sierra_net +alias usb:v1199p68AAd*dc*dsc*dp*ic*isc*ip*in0B* sierra_net +alias usb:v1199p68AAd*dc*dsc*dp*ic*isc*ip*in0A* sierra_net +alias usb:v1199p68AAd*dc*dsc*dp*ic*isc*ip*in07* sierra_net +alias usb:v0F3Dp68A3d*dc*dsc*dp*ic*isc*ip*in0B* sierra_net +alias usb:v0F3Dp68A3d*dc*dsc*dp*ic*isc*ip*in0A* sierra_net +alias usb:v0F3Dp68A3d*dc*dsc*dp*ic*isc*ip*in07* sierra_net +alias usb:v1199p68A3d*dc*dsc*dp*ic*isc*ip*in0B* sierra_net +alias usb:v1199p68A3d*dc*dsc*dp*ic*isc*ip*in0A* sierra_net +alias usb:v1199p68A3d*dc*dsc*dp*ic*isc*ip*in07* sierra_net +alias usb:v0572pCB01d*dcFFdsc00dp00ic*isc*ip*in* cx82310_eth +alias usb:v1004p61AAd*dc*dsc*dp*ic02isc06ip00in* lg_vl600 +alias usb:v1410pA021d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v12D1p14F1d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p901Bd*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9019d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9015d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v03F0p371Dd*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9013d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p9205d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v16D8p8002d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9011d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v1199p9011d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p900Ad*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9009d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9008d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9007d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9006d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9005d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9004d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9003d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9002d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p9001d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p68A9d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v1199p68A5d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p9275d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p9235d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p9265d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p9215d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v03F0p251Dd*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p9245d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p9225d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p920Dd*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p920Bd*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v413Cp8194d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v413Cp8186d*dc*dsc*dp*ic*isc*ip*in00* qmi_wwan +alias usb:v05C6p9009d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v05C6p9222d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v05C6p9203d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v05C6p9202d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v05C6p9002d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v05C6p9001d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2pFFF3d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v0B05p1776d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v1410pA001d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v413Cp8172d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v04DAp250Dd*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v03F0p1F1Dd*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v05C6p9212d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v1199p901Cd*dc*dsc*dp*ic*isc*ip*in08* qmi_wwan +alias usb:v1199p68A2d*dc*dsc*dp*ic*isc*ip*in13* qmi_wwan +alias usb:v1199p68A2d*dc*dsc*dp*ic*isc*ip*in08* qmi_wwan +alias usb:v114Fp68A2d*dc*dsc*dp*ic*isc*ip*in08* qmi_wwan +alias usb:v0F3Dp68A2d*dc*dsc*dp*ic*isc*ip*in08* qmi_wwan +alias usb:v19D2p2002d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1426d*dc*dsc*dp*ic*isc*ip*in02* qmi_wwan +alias usb:v19D2p1425d*dc*dsc*dp*ic*isc*ip*in02* qmi_wwan +alias usb:v19D2p1424d*dc*dsc*dp*ic*isc*ip*in02* qmi_wwan +alias usb:v19D2p1402d*dc*dsc*dp*ic*isc*ip*in02* qmi_wwan +alias usb:v19D2p1401d*dc*dsc*dp*ic*isc*ip*in02* qmi_wwan +alias usb:v19D2p1256d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1255d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1255d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2p1254d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1252d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1247d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1245d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1021d*dc*dsc*dp*ic*isc*ip*in02* qmi_wwan +alias usb:v19D2p1018d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2p1012d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1010d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p1008d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0326d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0257d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2p0200d*dc*dsc*dp*ic*isc*ip*in01* qmi_wwan +alias usb:v19D2p0199d*dc*dsc*dp*ic*isc*ip*in01* qmi_wwan +alias usb:v19D2p0191d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0178d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2p0176d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2p0168d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0167d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0158d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2p0157d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v19D2p0141d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v19D2p0133d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2p0130d*dc*dsc*dp*ic*isc*ip*in01* qmi_wwan +alias usb:v19D2p0126d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v19D2p0125d*dc*dsc*dp*ic*isc*ip*in06* qmi_wwan +alias usb:v19D2p0124d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v19D2p0123d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0121d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v19D2p0118d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v19D2p0113d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v19D2p0104d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0063d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0058d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0055d*dc*dsc*dp*ic*isc*ip*in01* qmi_wwan +alias usb:v19D2p0052d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0049d*dc*dsc*dp*ic*isc*ip*in05* qmi_wwan +alias usb:v19D2p0042d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0031d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0025d*dc*dsc*dp*ic*isc*ip*in01* qmi_wwan +alias usb:v19D2p0021d*dc*dsc*dp*ic*isc*ip*in04* qmi_wwan +alias usb:v19D2p0017d*dc*dsc*dp*ic*isc*ip*in03* qmi_wwan +alias usb:v19D2p0012d*dc*dsc*dp*ic*isc*ip*in01* qmi_wwan +alias usb:v19D2p0002d*dc*dsc*dp*ic*isc*ip*in01* qmi_wwan +alias usb:v12D1p140Cd*dc*dsc*dp*ic*isc*ip*in01* qmi_wwan +alias usb:v106Cp*d*dc*dsc*dp*icFFiscF1ipFFin* qmi_wwan +alias usb:v106Cp*d*dc*dsc*dp*icFFiscF0ipFFin* qmi_wwan +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip11in* qmi_wwan +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip07in* qmi_wwan +alias usb:v1410p9010d*dc*dsc*dp*ic02isc06ip00in* qmi_wwan +alias usb:v1410pB001d*dc*dsc*dp*ic02isc06ip00in* qmi_wwan +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip39in* qmi_wwan +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip09in* qmi_wwan +alias rtnl-link-bond bonding +alias rtnl-link-macvlan macvlan +alias devname:net/tun tun +alias char-major-10-200 tun +alias usb:v*p*d*dc*dsc*dp*icFEisc02ip*in* irda_usb +alias usb:v066Fp4116d*dc*dsc*dp*ic*isc*ip*in* irda_usb +alias usb:v066Fp4220d*dc*dsc*dp*ic*isc*ip*in* irda_usb +alias usb:v066Fp4210d*dc*dsc*dp*ic*isc*ip*in* irda_usb +alias usb:v08E9p0100d*dc*dsc*dp*ic*isc*ip*in* irda_usb +alias usb:v050Fp0180d*dc*dsc*dp*ic*isc*ip*in* irda_usb +alias usb:v4428p0012d*dc*dsc*dp*ic*isc*ip*in* irda_usb +alias usb:v09C4p0011d*dc*dsc*dp*ic*isc*ip*in* irda_usb +alias usb:v066Fp4200d*dc*dsc*dp*ic*isc*ip*in* stir4200 +alias usb:v9710p7780d*dc*dsc*dp*ic*isc*ip*in* mcs7780 +alias tty-ldisc-11 irtty_sir +alias usb:v07C0p4200d*dc*dsc*dp*ic*isc*ip*in* kingsun_sir +alias usb:v07D0p4100d*dc*dsc*dp*ic*isc*ip*in* ksdazzle_sir +alias usb:v07D0p4959d*dc*dsc*dp*ic*isc*ip*in* ks959_sir +alias devname:ppp ppp_generic +alias char-major-108-0 ppp_generic +alias tty-ldisc-3 ppp_async +alias ppp-compress-21 bsd_comp +alias ppp-compress-24 ppp_deflate +alias ppp-compress-26 ppp_deflate +alias ppp-compress-18 ppp_mppe +alias tty-ldisc-14 ppp_synctty +alias net-pf-24 pppoe +alias tty-ldisc-1 slip +alias usb:v8086p1403d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p1406d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p0182d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p0180d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p1405d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p1403d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p0181d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p0187d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p0188d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias usb:v8086p0186d*dc*dsc*dp*ic*isc*ip*in* i2400m_usb +alias ssb:v4243id0819rev* ssb_hcd +alias ssb:v4243id0817rev* ssb_hcd +alias ssb:v4243id0808rev* ssb_hcd +alias usb:v07B4p010Ad0102dc*dsc*dp*ic*isc*ip*in* ums_alauda +alias usb:v0584p0008d0102dc*dsc*dp*ic*isc*ip*in* ums_alauda +alias usb:v14CDp6116d*dc*dsc*dp*ic*isc*ip*in* ums_cypress +alias usb:v04B4p6831d*dc*dsc*dp*ic*isc*ip*in* ums_cypress +alias usb:v04B4p6830d*dc*dsc*dp*ic*isc*ip*in* ums_cypress +alias usb:v0C0BpA109d*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA10Bd*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA109d*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA006d*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA005d*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA004d*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA003d*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA002d*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA001d*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA000d000*dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v07C4pA000d001[0-5]dc*dsc*dp*ic*isc*ip*in* ums_datafab +alias usb:v0CF2p6250d*dc*dsc*dp*ic*isc*ip*in* ums_eneub6250 +alias usb:v07ABpFC01d*dc*dsc*dp*ic*isc*ip*in* ums_freecom +alias usb:v0BF6pA001d010*dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v0BF6pA001d0110dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05ABp5701d010*dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05ABp5701d0110dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05ABp0351d010*dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05ABp0351d0110dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05ABp0301d010*dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05ABp0301d0110dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05ABp0031d010*dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05ABp0031d0110dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v054Cp002Bd010*dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v054Cp002Bd0110dc*dsc*dp*ic*isc*ip*in* ums_isd200 +alias usb:v05DCp0001d000[0-1]dc*dsc*dp*ic*isc*ip*in* ums_jumpshot +alias usb:v045Ap5210d0101dc*dsc*dp*ic*isc*ip*in* ums_karma +alias usb:v0D49p7010d*dc*dsc*dp*ic*isc*ip*in* ums_onetouch +alias usb:v0D49p7000d*dc*dsc*dp*ic*isc*ip*in* ums_onetouch +alias usb:v0BDAp0159d*dc*dsc*dp*ic*isc*ip*in* ums_realtek +alias usb:v0BDAp0158d*dc*dsc*dp*ic*isc*ip*in* ums_realtek +alias usb:v0BDAp0138d*dc*dsc*dp*ic*isc*ip*in* ums_realtek +alias usb:v07AFp0006d0100dc*dsc*dp*ic*isc*ip*in* ums_sddr09 +alias usb:v0781p0200d*dc*dsc*dp*ic*isc*ip*in* ums_sddr09 +alias usb:v066Bp0105d0100dc*dsc*dp*ic*isc*ip*in* ums_sddr09 +alias usb:v04E6p0005d01*dc*dsc*dp*ic*isc*ip*in* ums_sddr09 +alias usb:v04E6p0005d020[0-8]dc*dsc*dp*ic*isc*ip*in* ums_sddr09 +alias usb:v04E6p0003d*dc*dsc*dp*ic*isc*ip*in* ums_sddr09 +alias usb:v0436p0005d0100dc*dsc*dp*ic*isc*ip*in* ums_sddr09 +alias usb:v55AApA103d*dc*dsc*dp*ic*isc*ip*in* ums_sddr55 +alias usb:v0C0BpA109d*dc*dsc*dp*ic*isc*ip*in* ums_sddr55 +alias usb:v07C4pA109d*dc*dsc*dp*ic*isc*ip*in* ums_sddr55 +alias usb:v07C4pA103d*dc*dsc*dp*ic*isc*ip*in* ums_sddr55 +alias usb:v0781p0005d0005dc*dsc*dp*ic*isc*ip*in* ums_usbat +alias usb:v04E6p1010d*dc*dsc*dp*ic*isc*ip*in* ums_usbat +alias usb:v03F0p0307d0001dc*dsc*dp*ic*isc*ip*in* ums_usbat +alias usb:v03F0p0207d0001dc*dsc*dp*ic*isc*ip*in* ums_usbat +alias usb:v0A07p00DAd*dc*dsc*dp*ic*isc*ip*in* adutux +alias usb:v0A07p00D0d*dc*dsc*dp*ic*isc*ip*in* adutux +alias usb:v0A07p00C8d*dc*dsc*dp*ic*isc*ip*in* adutux +alias usb:v0A07p0082d*dc*dsc*dp*ic*isc*ip*in* adutux +alias usb:v0A07p0078d*dc*dsc*dp*ic*isc*ip*in* adutux +alias usb:v0A07p0064d*dc*dsc*dp*ic*isc*ip*in* adutux +alias usb:v05ACp921Dd*dc*dsc*dp*ic03isc*ip00in* appledisplay +alias usb:v05ACp921Cd*dc*dsc*dp*ic03isc*ip00in* appledisplay +alias usb:v05ACp9219d*dc*dsc*dp*ic03isc*ip00in* appledisplay +alias usb:v05ACp9218d*dc*dsc*dp*ic03isc*ip00in* appledisplay +alias usb:v0A2Cp0008d*dc*dsc*dp*ic*isc*ip*in* cypress_cy7c63 +alias usb:v04B4p0002d*dc*dsc*dp*ic*isc*ip*in* cytherm +alias usb:v086Ap0102d*dc*dsc*dp*ic*isc*ip*in* emi26 +alias usb:v086Ap0100d*dc*dsc*dp*ic*isc*ip*in* emi26 +alias usb:v086Ap0110d*dc*dsc*dp*ic*isc*ip*in* emi62 +alias usb:v0403pD6EAd*dc*dsc*dp*ic*isc*ip*in* ftdi_elan +alias usb:v0681p0010d*dc*dsc*dp*ic*isc*ip*in* idmouse +alias usb:v0681p0005d*dc*dsc*dp*ic*isc*ip*in* idmouse +alias usb:v07C0p1503d*dc*dsc*dp*ic*isc*ip*in* iowarrior +alias usb:v07C0p1512d*dc*dsc*dp*ic*isc*ip*in* iowarrior +alias usb:v07C0p1511d*dc*dsc*dp*ic*isc*ip*in* iowarrior +alias usb:v07C0p1501d*dc*dsc*dp*ic*isc*ip*in* iowarrior +alias usb:v07C0p1500d*dc*dsc*dp*ic*isc*ip*in* iowarrior +alias usb:v05ACp8300d*dc*dsc*dp*ic*isc*ip*in* isight_firmware +alias usb:v10D2p*d*dc*dsc*dp*ic*isc*ip*in* usblcd +alias usb:v08F7p0006d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v08F7p0004d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v08F7p0003d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v08F7p0002d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p20A0d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2090d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2080d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2070d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2060d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2051d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2050d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2040d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2030d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2020d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2010d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p2000d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1210d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1200d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1101d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1100d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p10B0d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p10A0d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1090d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1081d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1080d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1038d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1035d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1033d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1032d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1031d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1021d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1020d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1011d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1010d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1001d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v0F11p1000d*dc*dsc*dp*ic*isc*ip*in* ldusb +alias usb:v1D34p000Ad*dc*dsc*dp*ic*isc*ip*in* usbled +alias usb:v1D34p0004d*dc*dsc*dp*ic*isc*ip*in* usbled +alias usb:v0FC5p1223d*dc*dsc*dp*ic*isc*ip*in* usbled +alias usb:v0694p0001d*dc*dsc*dp*ic*isc*ip*in* legousbtower +alias usb:v0841p0001d*dc*dsc*dp*ic*isc*ip*in* rio500 +alias usb:v0525pA4A3d*dc*dsc*dp*ic*isc*ip*in* usbtest +alias usb:v0525pA4A4d*dc*dsc*dp*ic*isc*ip*in* usbtest +alias usb:v0525pA4A0d*dc*dsc*dp*ic*isc*ip*in* usbtest +alias usb:vFFF0pFFF0d*dc*dsc*dp*ic*isc*ip*in* usbtest +alias usb:v04B4p8613d*dc*dsc*dp*ic*isc*ip*in* usbtest +alias usb:v0547p0080d*dc*dsc*dp*ic*isc*ip*in* usbtest +alias usb:v0547p2235d*dc*dsc*dp*ic*isc*ip*in* usbtest +alias usb:v0B49p064Fd*dc*dsc*dp*ic*isc*ip*in* trancevibrator +alias usb:v0FC5p1227d*dc*dsc*dp*ic*isc*ip*in* usbsevseg +alias usb:v0C45p1010d*dc*dsc*dp*ic*isc*ip*in* yurex +alias char-major-166-* cdc_acm +alias usb:v*p*d*dc*dsc*dp*ic02isc02ip06in* cdc_acm +alias usb:v*p*d*dc*dsc*dp*ic02isc02ip05in* cdc_acm +alias usb:v*p*d*dc*dsc*dp*ic02isc02ip04in* cdc_acm +alias usb:v*p*d*dc*dsc*dp*ic02isc02ip03in* cdc_acm +alias usb:v*p*d*dc*dsc*dp*ic02isc02ip02in* cdc_acm +alias usb:v*p*d*dc*dsc*dp*ic02isc02ip01in* cdc_acm +alias usb:v*p*d*dc*dsc*dp*ic02isc02ip00in* cdc_acm +alias usb:v04D8p000Bd*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0694pFF00d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v03EBp0030d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v04E7p6651d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p03CDd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0335d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0302d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p01D4d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p04CEd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0154d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p026Cd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0275d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0223d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p01D0d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p02D9d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p010Ed*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0178d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p02E3d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p01F5d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0108d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p00E9d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p003Ad*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0094d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p007Bd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p00A0d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p008Fd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0128d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0099d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p00E9d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0070d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p04F0d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0071d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0007d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0481d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p00ABd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p00B0d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0042d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p00FCd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0088d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p002Fd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p046Ed*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0134d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p04B2d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p04E6d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0420d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p048Ed*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p042Fd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0445d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p000Ed*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p04DFd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0486d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0425d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0418d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0508d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0475d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0001d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p044Dd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p0419d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p04C9d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p04D8d*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v0421p042Dd*dc*dsc*dp*ic02isc02ipFFin* cdc_acm +alias usb:v1576p03B1d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v1BBBp0003d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0572p1340d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0572p1329d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p2D9Ad*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p2D99d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p2D97d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p2D96d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p2D95d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p2D93d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p2D92d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p2D91d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p6425d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0572p1328d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0572p1324d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0572p1321d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0803p3095d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v22B8p7000d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0ACEp1611d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0ACEp1608d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0ACEp1602d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v079Bp000Fd*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0482p0203d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0E8Dp3329d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0E8Dp0003d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v0870p0001d*dc*dsc*dp*ic*isc*ip*in* cdc_acm +alias usb:v*p*d*dc*dsc*dp*ic02isc09ip*in* cdc_wdm +alias usb:v055FpA800d*dc*dsc*dp*ic*isc*ip*in* mdc800 +alias usb:v05DAp00B6d*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v05DAp80ACd*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v05DAp80A3d*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v05DAp00A3d*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v05DAp00A0d*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v05DAp009Ad*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v05DAp0099d*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v05DAp0094d*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v04CEp0300d*dc*dsc*dp*ic*isc*ip*in* microtek +alias usb:v16CAp1502d*dc*dsc*dp*ic*isc*ip*in* aircable +alias usb:v18ECp3118d*dc*dsc*dp*ic*isc*ip*in* ark3116 +alias usb:v6547p0232d*dc*dsc*dp*ic*isc*ip*in* ark3116 +alias usb:v050Dp1203d*dc*dsc*dp*ic*isc*ip*in* belkin_sa +alias usb:v0921p1200d*dc*dsc*dp*ic*isc*ip*in* belkin_sa +alias usb:v0921p1000d*dc*dsc*dp*ic*isc*ip*in* belkin_sa +alias usb:v0565p0001d*dc*dsc*dp*ic*isc*ip*in* belkin_sa +alias usb:v056Cp8007d*dc*dsc*dp*ic*isc*ip*in* belkin_sa +alias usb:v050Dp0103d*dc*dsc*dp*ic*isc*ip*in* belkin_sa +alias usb:v1A86p5523d*dc*dsc*dp*ic*isc*ip*in* ch341 +alias usb:v1A86p7523d*dc*dsc*dp*ic*isc*ip*in* ch341 +alias usb:v4348p5523d*dc*dsc*dp*ic*isc*ip*in* ch341 +alias usb:v413Cp9500d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v3195pF281d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v3195pF280d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v3195pF190d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v1E29p0501d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v1E29p0102d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v1BE3p07A6d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v18EFpE00Fd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v1843p0200d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v17F4pAAAAd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v17A8p0005d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v17A8p0001d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v16DCp0015d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v16DCp0012d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v16DCp0011d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v16DCp0010d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v16D6p0001d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v166Ap0101d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v166Ap0401d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v166Ap0305d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v166Ap0304d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v166Ap0303d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v166Ap0301d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v166Ap0201d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v1555p0004d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v13ADp9999d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10CEpEA6Ad*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C5pEA61d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pF004d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pF003d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pF002d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pF001d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pEA71d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pEA80d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pEA70d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pEA61d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4pEA60d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8665d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8664d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p85F8d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p85EBd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p85EAd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8477d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p846Ed*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8418d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8411d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p83D8d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p83A8d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8382d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8341d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p82F9d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8293d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p826Bd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p822Bd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8218d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81F2d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81E8d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81E7d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81E2d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81C8d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81ADd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81ACd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81A9d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p81A6d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p819Fd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p818Bd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p815Fd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p815Ed*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8156d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p814Bd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p814Ad*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p813Fd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p813Dd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8115d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p80F6d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p80DDd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p80CAd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p80C4d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p807Ad*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p806Fd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8066d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8054d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8053d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p804Ed*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p8044d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p803Bd*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p800Ad*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p1601d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p1101d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10C4p0F91d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10B5pAC70d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10ABp10C5d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v10A6pAA26d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0FCFp1006d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0FCFp1004d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0FCFp1003d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0BEDp1101d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0BEDp1100d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v08FDp000Ad*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v08E6p5501d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0745p1000d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0489pE003d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0489pE000d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0471p066Ad*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v045Bp0053d*dc*dsc*dp*ic*isc*ip*in* cp210x +alias usb:v0C4Bp0100d*dc*dsc*dp*ic*isc*ip*in* cyberjack +alias usb:v07D0p4101d*dc*dsc*dp*ic*isc*ip*in* cypress_m8 +alias usb:v0D9Fp0002d*dc*dsc*dp*ic*isc*ip*in* cypress_m8 +alias usb:v04B4p5500d*dc*dsc*dp*ic*isc*ip*in* cypress_m8 +alias usb:v1163p0200d*dc*dsc*dp*ic*isc*ip*in* cypress_m8 +alias usb:v1163p0100d*dc*dsc*dp*ic*isc*ip*in* cypress_m8 +alias usb:v0525p127Ad*dc*dsc*dp*ic*isc*ip*in* usb_debug +alias usb:v05C5p0004d*dc*dsc*dp*ic*isc*ip*in* digi_acceleport +alias usb:v05C5p0002d*dc*dsc*dp*ic*isc*ip*in* digi_acceleport +alias usb:v05D9pA225d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v05D9pA794d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v05D9pA758d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v0404p0312d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v0404p0311d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v0404p0310d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v0404p0203d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v0404p0202d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0018d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0008d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0002d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0014d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0013d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0019d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p001Ad*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0012d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0011d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0010d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p000Fd*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p000Ed*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p000Dd*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p000Cd*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0007d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0006d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0005d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p1403d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0004d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0003d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0001d*dc*dsc*dp*ic*isc*ip*in* io_edgeport +alias usb:v1608p0247d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0212d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0243d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0244d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0242d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p021Ed*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p021Dd*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p021Cd*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p021Ad*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0206d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0201d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0217d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p020Dd*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p020Cd*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0207d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p021Bd*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0205d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p030Ed*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p030Cd*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p030Bd*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0309d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p030Ad*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0308d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0307d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0306d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0305d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0304d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0303d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0302d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0301d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0241d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0240d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v1608p0215d*dc*dsc*dp*ic*isc*ip*in* io_ti +alias usb:v084Fp0001d*dc*dsc*dp*ic*isc*ip*in* empeg +alias usb:v0403p6002d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pCFF8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p8A28d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0483p3747d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v20B7p0713d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p9868d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pA951d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF1Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF1Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF18d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDAFFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDAFEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDAFDd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDAFCd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDAFBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDAFAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDAF9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDAF8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1C0Cp0102d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD578d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE729d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBCA4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBCA2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBCA1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBCA0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p937Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p937Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p9379d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p9378d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pED71d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pED73d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pED72d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pED74d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pA6D0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p9E90d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A79p6001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v165Cp0002d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1016d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1015d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1014d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1013d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1012d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1011d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p100Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p100Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p100Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1009d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1008d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1007d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1005d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1002d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1A72p1000d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0A1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0A0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C33p0010d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0FD8p0001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v9E88p9E8Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C6Cp04B2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v04D8p000Ad*dc*dsc*dp*icFFiscFFip00in* ftdi_sio +alias usb:v0456pF001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0456pF000d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1CF1p0004d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1CF1p0001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v03EBp2109d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB99d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1BC9p6001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEF51d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEF50d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p8005d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p8004d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p8003d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p8002d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p8001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p8000d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p1000d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0F00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0E00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0D00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0C00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0B00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0A00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0900d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0800d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0700d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0500d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0400d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0301d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0300d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0107d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0106d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0105d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0104d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0103d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0102d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0101d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v5050p0100d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pED22d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0584pB020d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBDC8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBCDAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBCD9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBCD8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBAF8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1457p5118d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v15BAp002Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v15BAp0003d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD739d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD738d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE700d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B91p0064d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE40Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEE18d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v2100p9E57d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v2100p9E54d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v2100p9E52d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1781p0C30d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDA74d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDA73d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDA72d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDA71d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDA70d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C7Dp0005d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pCC4Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pCC49d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pCC48d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD678d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v128Dp0001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFAF0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE050d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDD20d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p0013d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p0012d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p0011d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p0010d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p000Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p000Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p000Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p000Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p0009d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p0018d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C26p0004d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pC1E0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pC991d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pC7D0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA88d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDC01d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDC00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEA90d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF20d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0D3Ap0300d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0D46p2021d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0D46p2020d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDF35d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDF33d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDF31d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDF32d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDF30d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pDF28d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:vDEEEp0303d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:vDEEEp0302d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:vDEEEp0300d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEC89d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEC88d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEEEFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEEEEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEEEDd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEEECd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEEEBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEEEAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEEE9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEEE8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE548d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1342p0202d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD38Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD38Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD38Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD38Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD38Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD38Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD389d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD388d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF3C2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF3C1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF3C0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE520d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pBA02d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC50d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC49d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC34d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC33d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC27d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC26d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC25d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC19d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC18d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC17d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC16d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC12d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC11d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC03d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC02d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0856pAC01d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v06CEp8311d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0647p0100d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFD60d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v103Ep03E8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF460d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF680d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0F94p0005d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0F94p0001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v093Cp0701d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v093Cp0601d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFAD0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF9D5d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF9D4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF9D3d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF9D2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF9D1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF9D0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF44Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF44Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF44Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF449d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF448d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0EEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0EDd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0ECd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0EBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0EAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0E9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0EFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0E8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0F7d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0F6d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0F5d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0F4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0F3d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0F2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0F1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE0F0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF06Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF06Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF06Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF06Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF069d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF068d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB5Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB5Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB5Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB5Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB59d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE00Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE009d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE008d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE006d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE004d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE002d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE000d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p8A98d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA33d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF3Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF3Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF3Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF3Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF3Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF3Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF39d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF38d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF06Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE6C8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF06Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB58d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB5Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB5Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE88Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE88Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE88Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE88Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE88Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE88Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE889d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE888d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE80Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE80Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE80Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE80Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE80Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE80Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE809d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pE808d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC73d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC72d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC71d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC70d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF850d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA78d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0B39p0103d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0B39p0421d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0ACDp0300d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52pA02Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52pA02Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52pA02Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52pA02Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2883d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2873d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2863d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2853d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2843d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2833d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2823d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2813d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2882d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2872d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2862d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2852d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2842d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2832d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2822d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2812d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2881d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2871d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2861d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2851d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2841d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2831d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2821d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2811d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2443d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2433d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2423d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2413d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2442d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2432d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2422d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2412d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2441d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2431d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2421d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2411d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2223d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2213d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2222d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2212d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2221d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2211d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p9020d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2104d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2103d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2102d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0C52p2101d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF857d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pEBE0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF208d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF0C0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01FFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01FEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01FDd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01FCd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01FBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01FAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F7d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F6d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F5d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F3d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01F0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01EFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01EEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01EDd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01ECd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01EBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01EAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E7d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E6d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E5d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E3d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01E0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01DFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01DEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01DDd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01DCd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01DBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01DAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D7d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D6d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D5d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D3d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01D0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01CFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01CEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01CDd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01CCd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01CBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01CAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C7d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C6d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C5d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C3d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01C0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01BFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01BEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01BDd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01BCd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01BBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01BAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B7d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B6d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B5d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B3d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01B0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01AFd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01AEd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01ADd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01ACd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01ABd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01AAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A7d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A6d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A5d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A4d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A3d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A2d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A1d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp01A0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp019Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp019Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp019Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp019Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp019Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp019Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0199d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0198d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0197d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0196d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0195d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0194d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0193d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0192d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0191d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0190d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp018Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp018Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp018Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp018Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp018Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp018Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0189d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0188d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0187d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0186d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0185d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0184d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0183d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0182d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0181d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0180d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp017Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp017Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp017Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp017Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp017Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp017Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0179d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0178d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0177d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0176d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0175d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0174d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0173d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0172d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0171d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0170d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp016Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp016Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp016Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp016Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp016Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp016Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0169d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0168d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0167d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0166d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0165d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0164d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0163d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0162d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0161d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0160d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp015Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp015Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp015Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp015Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp015Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp015Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0159d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0158d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0157d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0156d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0155d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0154d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0153d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0152d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0151d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0150d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp014Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp014Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp014Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp014Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp014Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp014Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0149d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0148d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0147d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0146d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0145d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0144d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0143d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0142d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0141d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0140d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp013Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp013Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp013Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp013Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp013Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp013Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0139d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0138d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0137d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0136d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0135d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0134d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0133d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0132d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0131d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0130d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp012Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp012Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp012Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp012Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp012Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp012Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0129d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0128d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0127d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0126d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0125d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0124d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0123d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0122d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0121d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0120d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp011Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp011Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp011Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp011Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp011Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp011Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0119d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0118d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0117d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0116d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0115d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0114d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0113d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0112d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0111d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0110d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp010Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp010Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp010Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp010Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp010Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp010Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0109d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0108d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0107d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0106d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0105d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0104d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0103d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0102d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0101d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1B3Dp0100d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF070d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFB80d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA06d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA05d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA04d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA03d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA02d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA01d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFE38d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0DCDp0001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC8Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC8Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC82d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC0Fd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC0Ed*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC0Dd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC0Cd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC0Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC0Ad*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC09d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC08d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD780d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF0C8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1209p1006d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1209p1002d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v104Dp3000d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBFDCd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBFDBd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBFDAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBFD9d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pBFD8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFA10d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pCAA0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p6015d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p6014d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p6011d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p6010d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFBFAd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p6006d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p6001d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p8372d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pC850d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD071d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD070d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFC60d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF2D0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pB812d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pB811d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pB810d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD017d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD016d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD015d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD014d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD013d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD012d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD011d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pD010d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pABB8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403p9F80d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFFA8d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pFF00d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF60Bd*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF608d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v0403pF7C0d*dc*dsc*dp*ic*isc*ip*in* ftdi_sio +alias usb:v1404pCDDCd*dc*dsc*dp*ic*isc*ip*in* funsoft +alias usb:v091Ep0003d*dc*dsc*dp*ic*isc*ip*in* garmin_gps +alias usb:v03F0p0121d*dc*dsc*dp*ic*isc*ip*in* hp4x +alias usb:v5E04pCE00d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v4505p0010d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4009d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4008d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4007d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4006d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4005d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4004d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4003d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4002d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v413Cp4001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v4113p0410d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v4113p0400d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v4113p0211d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v4113p0210d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3708p21CEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3708p20CEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p3326d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p2326d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p191Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p1326d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p0F3Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p0F1Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p0E3Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p0B1Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p071Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p053Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p051Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p043Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p0426d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p0326d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v3340p011Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v22B8p4244d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v22B8p4234d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v22B8p4224d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v22B8p4214d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v22B8p4204d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1690p0601d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1231pCE02d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1231pCE01d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v11D9p1003d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v11D9p1002d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1182p1388d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1114p0006d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1114p0004d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1114p0001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1066p0700d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1066p0600d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1066p0500d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1066p0300d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v1066p00CEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0FB8p4001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0FB8p3003d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0FB8p3002d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0FB8p3001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0F98p0201d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0F4Ep0200d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0CADp9001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0C8Ep6000d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0C44p03A2d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BF8p1001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0BCEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A9Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A9Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A9Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A9Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A9Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A9Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A99d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A98d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A97d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A96d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A95d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A94d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A93d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A92d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A91d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A90d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A8Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A8Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A8Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A8Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A8Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A8Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A89d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A88d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A87d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A86d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A85d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A84d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A83d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A82d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A81d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A80d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A7Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A7Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A7Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A7Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A7Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A7Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A79d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A78d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A77d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A76d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A75d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A74d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A73d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A72d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A71d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A70d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A6Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A6Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A6Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A6Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A6Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A6Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A69d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A68d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A67d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A66d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A65d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A64d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A63d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A62d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A61d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A60d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A5Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A5Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A5Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A5Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A5Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A5Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A59d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A58d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A57d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A56d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A55d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A54d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A53d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A52d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A51d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A50d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A4Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A4Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A4Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A4Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A4Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A4Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A49d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A48d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A47d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A46d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A45d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A44d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A43d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A42d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A41d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A40d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A3Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A3Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A3Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A3Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A3Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A3Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A39d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A38d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A37d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A36d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A35d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A34d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A33d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A32d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A31d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A30d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A2Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A2Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A2Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A2Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A2Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A2Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A29d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A28d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A27d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A26d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A25d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A24d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A23d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A22d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A21d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A20d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A1Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A1Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A1Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A1Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A1Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A1Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A19d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A18d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A17d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A16d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A15d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A14d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A13d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A12d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A11d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A10d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A0Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A0Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A0Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A0Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A0Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A0Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A09d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A08d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A07d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A06d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A05d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A04d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A03d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A02d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p0A01d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p00CFd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BB4p00CEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0B05p9202d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0B05p9200d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0B05p420Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0B05p4202d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0B05p4201d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0B05p4200d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v099Ep4000d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v099Ep0052d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0961p0010d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0960p0067d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0960p0066d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0960p0065d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v094Bp0001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0930p070Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0930p070Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0930p0709d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0930p0708d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0930p0707d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0930p0706d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0930p0705d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0930p0700d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v07CFp2003d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v07CFp2002d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v07CFp2001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v067Ep1001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p200Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2009d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2008d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2007d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2006d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2005d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2004d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2003d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2002d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2001d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v05E0p2000d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0543p1923d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0543p1922d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0543p1921d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0543p152Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0543p152Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0543p1529d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0543p1527d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0543p0ED9d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0536p01A0d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0502p16E3d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0502p16E2d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0502p16E1d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0502p1632d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0502p1631d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04F1p3012d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04F1p3011d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p6632d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p6630d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p662Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p661Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p6619d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p6617d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p6615d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p6613d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p6611d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p5F04d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p5F03d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p5F02d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p5F01d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04E8p5F00d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04DDp91ACd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04DDp9151d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04DDp9123d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04DDp9121d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04DDp9102d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04DAp2500d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04C5p1079d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04C5p1058d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04B7p0531d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04ADp0306d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04ADp0303d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04ADp0302d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04ADp0301d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v04A4p0014d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v049Fp0032d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v049Fp0003d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04EAd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E9d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E8d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E7d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E6d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E5d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E4d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E3d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E2d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E1d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04E0d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04DFd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04DEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04DDd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04DCd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04DBd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04DAd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04D9d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04D8d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04D7d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04CEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04CDd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04CCd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04CBd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04CAd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04C9d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep04C8d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep047Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep047Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0479d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0478d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0477d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0476d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0475d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0474d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0473d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0472d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0471d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0470d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep046Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep046Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep046Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep046Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep046Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep046Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0469d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0468d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0467d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0466d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0465d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0464d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0463d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0462d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0461d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0460d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep045Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep045Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep045Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep045Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep045Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep045Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0459d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0458d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0457d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0456d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0455d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0454d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0453d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0452d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0451d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0450d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep044Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep044Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep044Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep044Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep044Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep044Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0449d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0448d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0447d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0446d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0445d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0444d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0443d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0442d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0441d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0440d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep043Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep043Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep043Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep043Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep043Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep043Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0439d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0438d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0437d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0436d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0435d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0434d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0433d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0432d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0417d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0416d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0415d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0414d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0413d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0412d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0411d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0410d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep040Fd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep040Ed*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep040Dd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep040Cd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep040Bd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep040Ad*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0409d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0408d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0407d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0406d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0405d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0404d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0403d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0402d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0401d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep0400d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v045Ep00CEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v043Ep9C01d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0409p8025d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0409p8024d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0409p00D7d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0409p00D6d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0409p00D5d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p5216d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p5116d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p5016d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p4216d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p4116d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p4016d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p3216d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p3116d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p3016d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p2216d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p2116d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p2016d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p1216d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p1116d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v03F0p1016d*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0104p00BEd*dc*dsc*dp*ic*isc*ip*in* ipaq +alias usb:v0BC3p0001d*dc*dsc*dp*ic*isc*ip*in* ipw +alias usb:v*p*d*dc*dsc*dp*icFEisc02ip00in* ir_usb +alias usb:v09C4p0011d*dc*dsc*dp*ic*isc*ip*in* ir_usb +alias usb:v08E9p0100d*dc*dsc*dp*ic*isc*ip*in* ir_usb +alias usb:v050Fp0180d*dc*dsc*dp*ic*isc*ip*in* ir_usb +alias usb:v104Fp0004d*dc*dsc*dp*ic*isc*ip*in* iuu_phoenix +alias usb:v06CDp0131d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp012Ad*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp010Ad*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0135d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0115d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0110d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp010Fd*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp011Cd*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0121d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0119d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp010Cd*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0108d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0107d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0112d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp011Ad*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0109d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0113d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0114d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0102d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0101d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp011Bd*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0118d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp010Bd*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0106d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0103d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0105d*dc*dsc*dp*ic*isc*ip*in* keyspan +alias usb:v06CDp0104d*dc*dsc*dp*ic*isc*ip*in* keyspan_pda +alias usb:v1645p8093d*dc*dsc*dp*ic*isc*ip*in* keyspan_pda +alias usb:v085Ap8027d*dc*dsc*dp*ic*isc*ip*in* keyspan_pda +alias usb:v06CDp0103d*dc*dsc*dp*ic*isc*ip*in* keyspan_pda +alias usb:v05E9p00C0d*dc*dsc*dp*ic*isc*ip*in* kl5kusb105 +alias usb:v0830p0080d*dc*dsc*dp*ic*isc*ip*in* kl5kusb105 +alias usb:v0D46p0081d*dc*dsc*dp*ic*isc*ip*in* kobil_sct +alias usb:v0D46p0078d*dc*dsc*dp*ic*isc*ip*in* kobil_sct +alias usb:v0D46p2012d*dc*dsc*dp*ic*isc*ip*in* kobil_sct +alias usb:v0D46p2011d*dc*dsc*dp*ic*isc*ip*in* kobil_sct +alias usb:v050Dp0109d*dc*dsc*dp*ic*isc*ip*in* mct_u232 +alias usb:v0711p0200d*dc*dsc*dp*ic*isc*ip*in* mct_u232 +alias usb:v0711p0230d*dc*dsc*dp*ic*isc*ip*in* mct_u232 +alias usb:v0711p0210d*dc*dsc*dp*ic*isc*ip*in* mct_u232 +alias usb:v0C2Ep0700d*dc*dsc*dp*ic*isc*ip*in* metro_usb +alias usb:v0C2Ep0720d*dc*dsc*dp*ic*isc*ip*in* metro_usb +alias usb:v9710p7715d*dc*dsc*dp*ic*isc*ip*in* mos7720 +alias usb:v9710p7720d*dc*dsc*dp*ic*isc*ip*in* mos7720 +alias usb:v0557p7820d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0557p2011d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC24d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pBC03d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC44d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pBC02d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC42d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC32d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC31d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC30d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC29d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pBC01d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC24d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pBC00d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v0856pAC22d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v9710p7810d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v9710p7820d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v9710p7840d*dc*dsc*dp*ic*isc*ip*in* mos7840 +alias usb:v22B8p2C64d*dc*dsc*dp*ic*isc*ip*in* moto_modem +alias usb:v22B8p2C84d*dc*dsc*dp*ic*isc*ip*in* moto_modem +alias usb:v22B8p2A64d*dc*dsc*dp*ic*isc*ip*in* moto_modem +alias usb:v0C44p0022d*dc*dsc*dp*ic*isc*ip*in* moto_modem +alias usb:v05C6p3197d*dc*dsc*dp*ic*isc*ip*in* moto_modem +alias usb:v0DF7p0900d*dc*dsc*dp*ic*isc*ip*in* navman +alias usb:v0A99p0001d*dc*dsc*dp*ic*isc*ip*in* navman +alias usb:v0586p2000d*dc*dsc*dp*ic*isc*ip*in* omninet +alias usb:v0586p1000d*dc*dsc*dp*ic*isc*ip*in* omninet +alias usb:v065Ap0009d*dc*dsc*dp*ic*isc*ip*in* opticon +alias usb:v2692p9005d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0E8Dp0033d*dc*dsc*dp*ic0Aisc00ip00in* option +alias usb:v0E8Dp0043d*dc*dsc*dp*ic0Aisc00ip00in* option +alias usb:v0E8Dp0023d*dc*dsc*dp*ic0Aisc00ip00in* option +alias usb:v0E8Dp0003d*dc*dsc*dp*ic0Aisc00ip00in* option +alias usb:v0E8Dp7102d*dc*dsc*dp*ic02isc02ip01in* option +alias usb:v0E8Dp7101d*dc*dsc*dp*ic02isc00ip00in* option +alias usb:v0E8Dp00A5d*dc*dsc*dp*icFFisc00ip00in* option +alias usb:v0E8Dp00A5d*dc*dsc*dp*icFFisc02ip01in* option +alias usb:v0E8Dp00A4d*dc*dsc*dp*icFFisc00ip00in* option +alias usb:v0E8Dp00A4d*dc*dsc*dp*icFFisc02ip01in* option +alias usb:v0E8Dp00A0d*dc*dsc*dp*ic0Aisc00ip00in* option +alias usb:v0E8Dp00A2d*dc*dsc*dp*icFFisc02ip01in* option +alias usb:v0E8Dp00A2d*dc*dsc*dp*icFFisc00ip00in* option +alias usb:v0E8Dp00A1d*dc*dsc*dp*icFFisc02ip01in* option +alias usb:v0E8Dp00A1d*dc*dsc*dp*icFFisc00ip00in* option +alias usb:v1004p618Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0685p7000d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v2262p0002d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v257Ap262Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap261Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap260Ed*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap162Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap161Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap360Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap360Dd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap360Cd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap360Bd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap360Ad*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3609d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3608d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3607d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3606d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3605d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3604d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3603d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3602d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap3601d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap260Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap260Dd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap260Cd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap260Bd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap260Ad*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2609d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2608d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2607d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2606d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2605d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2604d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2603d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2602d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap2601d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap160Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap160Dd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap160Cd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap160Bd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap160Ad*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1609d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1608d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1607d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1606d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1605d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1604d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1603d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1602d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v257Ap1601d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v04E8p6889d*dc*dsc*dp*ic0Aisc00ip00in* option +alias usb:v1EE8p000Bd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v211Fp6801d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0B3CpC000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0681p004Ad*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0681p004Cd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0681p0040d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0681p0047d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E2Dp004Ad*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E2Dp004Cd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E2Dp0053d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E2Dp0052d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E2Dp0051d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1012d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1011d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p100Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p100Ed*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p100Dd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p100Cd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p100Bd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p100Ad*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1009d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1008d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1007d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1006d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1005d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1004d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1003d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1266p1002d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v201Ep2009d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1C9Ep9607d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1C9Ep9603d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v20B9p1682d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1011p3198d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1BBBp0017d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1BBBp0000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E0Ep9200d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v1E0Ep9100d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E0Ep9000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0930p1302d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0930p0D45d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1DA5p4519d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1DA5p4518d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1DA5p4515d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1DA5p4523d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1DA5p4512d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E0EpCE1Ed*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1E0EpCE16d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1186p3E04d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v04A5p4068d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v19D2p*d*dc*dsc*dp*icFFisc86ip10in* option +alias usb:v19D2p*d*dc*dsc*dp*icFFisc02ip05in* option +alias usb:v19D2p*d*dc*dsc*dp*icFFisc02ip01in* option +alias usb:v19D2pFFEDd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2pFFEBd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2pFFE8d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2pFFFFd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2pFFF5d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2pFFF1d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2pFFFEd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0178d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0176d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0170d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0168d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0152d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0147d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0141d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0133d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0130d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0094d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0073d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0070d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0060d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0059d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0027d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0014d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p2003d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p2002d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1426d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1425d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1424d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1402d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1401d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1333d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1303d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1302d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1301d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1300d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1299d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1298d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1297d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1296d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1295d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1294d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1293d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1292d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1291d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1290d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1289d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1288d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1287d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1286d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1285d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1284d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1283d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1282d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1281d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1280d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1279d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1278d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1277d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1276d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1275d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1274d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1273d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1272d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1271d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1270d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1269d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1268d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1267d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1266d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1265d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1264d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1263d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1262d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1261d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1260d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1259d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1258d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1257d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1256d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1255d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1254d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1253d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1252d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1251d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1250d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1249d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1248d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1247d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1246d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1245d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1244d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1170d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1169d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1168d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1167d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1166d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1165d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1164d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1163d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1162d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1161d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1160d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1159d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1158d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1157d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1156d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1155d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1154d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1153d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1152d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1151d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1150d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1149d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1148d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1147d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1146d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1145d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1144d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1143d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1142d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1141d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1140d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1139d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1138d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1137d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1136d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1135d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1134d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1133d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1132d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1131d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1130d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1129d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1128d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1127d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1126d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1125d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1124d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1123d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1122d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1121d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1120d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1119d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1118d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1117d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1116d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1115d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1114d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1113d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1112d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1111d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1110d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1109d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1108d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1107d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1106d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1105d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1104d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1103d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1102d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1101d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1100d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1099d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1098d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1097d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1096d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1095d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1094d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1093d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1092d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1091d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1090d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1089d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1088d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1087d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1086d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1085d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1084d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1083d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1082d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1081d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1080d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1079d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1078d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1077d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1076d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1075d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1074d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1073d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1072d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1071d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1070d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1069d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1068d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1067d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1066d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1065d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1064d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1063d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1062d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1061d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1060d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1059d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1058d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1057d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1021d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1018d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1012d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1010d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p1008d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0417d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0414d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0395d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0330d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0326d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0317d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0284d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0265d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0257d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0254d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0201d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0200d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0199d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0197d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0196d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0191d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0189d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0167d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0165d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0164d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0162d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0161d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0159d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0158d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0157d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0156d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0155d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0153d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0151d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0148d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0145d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0144d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0143d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0142d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0139d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0137d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0136d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0135d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0128d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0126d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0125d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0124d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0123d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0122d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0121d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0118d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0117d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0113d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0108d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0106d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0105d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0104d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0097d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0096d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0095d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0094d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0093d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0092d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0091d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0090d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0089d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0088d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0087d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0086d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0083d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0082d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0079d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0078d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0077d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0076d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0069d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0067d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0066d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0065d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0064d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0063d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0062d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0061d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0058d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0057d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0056d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0055d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0054d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0052d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0051d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0050d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0049d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0048d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0044d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0043d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0042d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0040d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0039d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0038d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0037d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0034d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0033d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0032d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0031d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0030d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0029d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0028d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0025d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0024d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0023d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0022d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0021d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0020d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0019d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0018d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0017d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0016d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0015d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0013d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0012d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0011d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0010d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p000Fd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p000Ed*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p000Dd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p000Cd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p000Bd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p000Ad*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0009d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0008d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0006d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0005d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0004d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0003d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0002d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v19D2p0001d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v1BC7p1010d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1BC7p1006d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1BC7p1005d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1BC7p1004d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1BC7p1003d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v16D8p6008d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v16D8p6280d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v05C6p9000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v05C6p6613d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v05C6p6000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0C88p180Ad*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0C88p17DAd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1012d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1011d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1010d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp100Fd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp100Ed*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp100Dd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp100Cd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp100Bd*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp100Ad*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1009d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1008d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1007d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1006d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1005d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1004d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1003d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1A8Dp1002d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0EABpC893d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1726p1000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v16D5p6202d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v16D5p6502d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v16D5p6501d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8196d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v413Cp8195d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v413Cp8182d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8181d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8180d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8138d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8137d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8136d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8135d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8134d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8133d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8129d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8128d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8118d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8117d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8116d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8115d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v413Cp8114d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1614p0407d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1614p0802d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1614p7002d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1614p0800d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p9010d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v1410pB001d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v1410pA010d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410pA002d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410pA001d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p9001d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p8001d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7042d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7041d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7030d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7007d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7006d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7005d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7004d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7003d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7001d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p6001d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p9000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p8000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p7000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p6000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p6010d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p6002d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p4100d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p4400d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p2420d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p2410d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p2400d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p2130d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p2120d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p2110d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p2100d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1450d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1430d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1420d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1410d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1400d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1130d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1120d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1110d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v1410p1100d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip7Cin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip7Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip7Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip79in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip78in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip6Fin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip6Ein* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip6Din* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip6Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip6Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip66in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip65in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip64in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip63in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip62in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip61in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip4Cin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip4Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip4Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip49in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip48in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip3Fin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip3Ein* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip3Din* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip3Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip3Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip36in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip35in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip34in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip33in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip32in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip31in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip1Cin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip1Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip1Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip19in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip18in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip17in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip15in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip14in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip13in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip12in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip10in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip0Fin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip0Ein* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip0Din* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip0Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip0Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip06in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip05in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip04in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip03in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip02in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc02ip01in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip7Cin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip7Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip7Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip79in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip78in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip6Fin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip6Ein* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip6Din* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip6Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip6Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip66in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip65in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip64in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip63in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip62in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip61in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip4Cin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip4Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip4Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip49in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip48in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip3Fin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip3Ein* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip3Din* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip3Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip3Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip36in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip35in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip34in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip33in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip32in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip31in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip1Cin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip1Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip1Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip19in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip18in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip17in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip15in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip14in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip13in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip12in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip10in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip0Fin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip0Ein* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip0Din* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip0Bin* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip0Ain* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip06in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip05in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip04in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip03in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip02in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFisc01ip01in* option +alias usb:v12D1p*d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v12D1p14C6d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v12D1p1465d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v12D1p1464d*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v12D1p140Cd*dc*dsc*dp*icFFiscFFipFFin* option +alias usb:v0408pEA06d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0408pEA05d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0408pEA04d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0408pEA03d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0408pEA02d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p7201d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p7100d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p7061d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p7041d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p7021d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p7001d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6901d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6800d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6761d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6741d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6721d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6701d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6601d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6600d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6501d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6500d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6350d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6250d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6150d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6050d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6300d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6200d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6100d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p6000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0AF0p5000d*dc*dsc*dp*ic*isc*ip*in* option +alias usb:v0EA0p6858d*dc*dsc*dp*ic*isc*ip*in* oti6858 +alias usb:v0B8Cp2303d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0B63p6530d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v11ADp0001d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v054Cp0437d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v04B8p0522d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v04B8p0521d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v03F0p3524d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v5372p2303d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v05ADp0FBAd*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v07AAp002Ad*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v11F6p2001d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v058Fp9720d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v050Dp0257d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0731p2003d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0E55p110Bd*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0413p2101d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v079Bp0027d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v10B5pAC70d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v078Bp1234d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0745p0001d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v04A5p4027d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v11F5p0005d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v11F5p0004d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v11F5p0003d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v11F5p0001d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v04E8p8001d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v11F7p02DFd*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v6189p2068d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0731p0528d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v1453p4026d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v2478p2008d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0584pB000d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0DF7p0620d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0EBAp2080d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0EBAp1080d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v056Ep5004d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v056Ep5003d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0547p2008d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v0557p2008d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v04BBp0A0Ed*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v04BBp0A03d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067Bp0307d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067Bp331Ad*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067Bp0609d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067Bp0612d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067Bp0611d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067BpAAA0d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067BpAAA2d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067Bp1234d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067Bp04BBd*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v067Bp2303d*dc*dsc*dp*ic*isc*ip*in* pl2303 +alias usb:v106Cp*d*dc*dsc*dp*icFFiscFFipFFin* qcaux +alias usb:v106Cp*d*dc*dsc*dp*icFFiscFEipFFin* qcaux +alias usb:v106Cp*d*dc*dsc*dp*icFFiscFDipFFin* qcaux +alias usb:v04E8p6640d*dc*dsc*dp*icFFisc00ip00in* qcaux +alias usb:v0474p0754d*dc*dsc*dp*icFFiscFFip00in* qcaux +alias usb:v1004p6000d*dc*dsc*dp*icFFiscFFip00in* qcaux +alias usb:v16D8p6512d*dc*dsc*dp*icFFiscFFip00in* qcaux +alias usb:v16D8p5553d*dc*dsc*dp*icFFiscFFip00in* qcaux +alias usb:v106Cp3715d*dc*dsc*dp*icFFisc00ip00in* qcaux +alias usb:v106Cp3714d*dc*dsc*dp*icFFisc00ip00in* qcaux +alias usb:v106Cp3712d*dc*dsc*dp*icFFisc00ip00in* qcaux +alias usb:v106Cp3711d*dc*dsc*dp*icFFisc00ip00in* qcaux +alias usb:v106Cp3702d*dc*dsc*dp*icFFisc00ip00in* qcaux +alias usb:v106Cp3701d*dc*dsc*dp*icFFisc00ip00in* qcaux +alias usb:v1199p901Cd*dc*dsc*dp*ic*isc*ip*in03* qcserial +alias usb:v1199p901Cd*dc*dsc*dp*ic*isc*ip*in02* qcserial +alias usb:v1199p901Cd*dc*dsc*dp*ic*isc*ip*in00* qcserial +alias usb:v1199p68A2d*dc*dsc*dp*ic*isc*ip*in03* qcserial +alias usb:v1199p68A2d*dc*dsc*dp*ic*isc*ip*in02* qcserial +alias usb:v1199p68A2d*dc*dsc*dp*ic*isc*ip*in00* qcserial +alias usb:v114Fp68A2d*dc*dsc*dp*ic*isc*ip*in03* qcserial +alias usb:v114Fp68A2d*dc*dsc*dp*ic*isc*ip*in02* qcserial +alias usb:v114Fp68A2d*dc*dsc*dp*ic*isc*ip*in00* qcserial +alias usb:v0F3Dp68A2d*dc*dsc*dp*ic*isc*ip*in03* qcserial +alias usb:v0F3Dp68A2d*dc*dsc*dp*ic*isc*ip*in02* qcserial +alias usb:v0F3Dp68A2d*dc*dsc*dp*ic*isc*ip*in00* qcserial +alias usb:v12D1p14F1d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v12D1p14F0d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p901Bd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9019d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9018d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9015d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9014d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9013d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9012d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9010d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p68A9d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p68A8d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p68A5d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p68A4d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v413Cp8194d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v413Cp8193d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA021d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA020d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p920Dd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p920Cd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v03F0p371Dd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9205d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9204d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v16D8p8002d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v16D8p8001d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9011d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p900Ad*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9009d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9008d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9007d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9006d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9005d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9004d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9003d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9002d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9001d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1199p9000d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9275d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9274d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9235d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9234d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9265d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9264d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9215d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9214d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v03F0p251Dd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v03F0p241Dd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9245d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9244d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9225d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9224d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p920Bd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9208d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v413Cp8186d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v413Cp8185d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA014d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA013d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA012d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA011d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA010d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1F45p0001d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9231d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9221d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9201d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9009d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9008d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9222d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9203d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9202d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9002d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9001d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1557p0A80d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v19D2pFFF2d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v19D2pFFF3d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v0B05p1774d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v0B05p1776d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA008d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v1410pA001d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v413Cp8171d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v413Cp8172d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v04DAp250Cd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v04DAp250Dd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v03F0p201Dd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v03F0p1F1Dd*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9212d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v05C6p9211d*dc*dsc*dp*ic*isc*ip*in* qcserial +alias usb:v061DpC180d*dc*dsc*dp*ic*isc*ip*in* quatech2 +alias usb:v061DpC1A0d*dc*dsc*dp*ic*isc*ip*in* quatech2 +alias usb:v061DpC170d*dc*dsc*dp*ic*isc*ip*in* quatech2 +alias usb:v061DpC160d*dc*dsc*dp*ic*isc*ip*in* quatech2 +alias usb:v061DpC150d*dc*dsc*dp*ic*isc*ip*in* quatech2 +alias usb:v061DpC140d*dc*dsc*dp*ic*isc*ip*in* quatech2 +alias usb:v061DpC120d*dc*dsc*dp*ic*isc*ip*in* quatech2 +alias usb:v0000p0000d*dc02dsc*dp*icFFisc02ip*in* safe_serial +alias usb:v05F9pFFFFd*dc02dsc*dp*icFFisc02ip*in* safe_serial +alias usb:v04DDp8004d*dc02dsc*dp*icFFisc02ip*in* safe_serial +alias usb:v04DDp8003d*dc02dsc*dp*icFFisc02ip*in* safe_serial +alias usb:v04DDp8002d*dc02dsc*dp*icFFisc02ip*in* safe_serial +alias usb:v04DDp8001d*dc02dsc*dp*icFFisc02ip*in* safe_serial +alias usb:v03F0p2101d*dc02dsc*dp*icFFisc02ip*in* safe_serial +alias usb:v049FpFFFFd*dc02dsc*dp*icFFisc02ip*in* safe_serial +alias usb:v0908p0004d*dc*dsc*dp*ic*isc*ip*in* siemens_mpi +alias usb:v413Cp8133d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v0F3Dp68A3d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v0F3Dp68AAd*dc*dsc*dp*icFFiscFFipFFin* sierra +alias usb:v1199p68A3d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6893d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6892d*dc*dsc*dp*icFFiscFFipFFin* sierra +alias usb:v1199p6891d*dc*dsc*dp*icFFiscFFipFFin* sierra +alias usb:v1199p6890d*dc*dsc*dp*icFFiscFFipFFin* sierra +alias usb:v1199p6880d*dc*dsc*dp*icFFiscFFipFFin* sierra +alias usb:v1199p685Ad*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6859d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6856d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6855d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6853d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6852d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6851d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6850d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p683Ed*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p683Dd*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p683Cd*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p683Bd*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p683Ad*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6839d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6838d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6835d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6834d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6833d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6832d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6822d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6821d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6820d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6816d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6815d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6813d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6812d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6809d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6808d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6805d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6804d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6803d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p6802d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0029d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0028d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0027d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0026d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0025d*dc*dsc*dp*icFFiscFFipFFin* sierra +alias usb:v1199p0023d*dc*dsc*dp*icFFiscFFipFFin* sierra +alias usb:v1199p0301d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0120d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0112d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0021d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0019d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0224d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0024d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0022d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0220d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0020d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0218d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0018d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v1199p0017d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v03F0p1E1Dd*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v03F0p211Dd*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v03F0p1B1Dd*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v0F3Dp0112d*dc*dsc*dp*ic*isc*ip*in* sierra +alias usb:v04FCp0201d*dc*dsc*dp*ic*isc*ip*in* spcp8x5 +alias usb:v04FCp0235d*dc*dsc*dp*ic*isc*ip*in* spcp8x5 +alias usb:v04FCp0231d*dc*dsc*dp*ic*isc*ip*in* spcp8x5 +alias usb:v04FCp0204d*dc*dsc*dp*ic*isc*ip*in* spcp8x5 +alias usb:v0471p081Ed*dc*dsc*dp*ic*isc*ip*in* spcp8x5 +alias usb:v061DpC020d*dc*dsc*dp*ic*isc*ip*in* ssu100 +alias usb:v05E0p0600d*dc*dsc*dp*ic*isc*ip*in* symbolserial +alias usb:v0451p5053d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v1A61p3410d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v04B3p454Cd*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v04B3p454Bd*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v04B3p4543d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v0451p505Fd*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v0451p505Ad*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v0451p5152d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v0451p5052d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v06E0p0319d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v06E0pF115d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v06E0pF114d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v06E0pF112d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v06E0pF111d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v06E0pF110d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v06E0pF109d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v06E0pF108d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v0451pF430d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v0451p3410d*dc*dsc*dp*ic*isc*ip*in* ti_usb_3410_5052 +alias usb:v0E67p0002d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0C88p0021d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v4766p0001d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v091Ep0004d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v12EFp0100d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v04E8p6601d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v04E8p8001d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v054Cp0169d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v054Cp0144d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v054Cp00E9d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v054Cp00DAd*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v054Cp009Ad*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v054Cp0095d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v054Cp0066d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v054Cp0038d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0070d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0031d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0061d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0060d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0050d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0040d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0080d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0020d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0003d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0002d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0830p0001d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v115EpF100d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v082Dp0300d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v082Dp0200d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v082Dp0100d*dc*dsc*dp*ic*isc*ip*in* visor +alias usb:v0710p0001d*dc*dsc*dp*ic*isc*ip*in* whiteheat +alias usb:v0710p8001d*dc*dsc*dp*ic*isc*ip*in* whiteheat +alias usb:v1D5Fp1004d*dc*dsc*dp*ic*isc*ip*in* vivopay_serial +alias usb:v1CBEp0103d*dc*dsc*dp*ic*isc*ip*in* zio +alias platform:ci13xxx ci_hdrc +alias platform:ci_hdrc ci_hdrc +alias platform:msm_hsusb ci13xxx_msm +alias i2c:ad7148_captouch ad714x_i2c +alias i2c:ad7147a_captouch ad714x_i2c +alias i2c:ad7147_captouch ad714x_i2c +alias i2c:ad7143_captouch ad714x_i2c +alias i2c:ad7142_captouch ad714x_i2c +alias i2c:adxl34x adxl34x_i2c +alias usb:v0471p0602d*dc*dsc*dp*ic*isc*ip*in* ati_remote2 +alias usb:v0D8Cp000Ed*dc*dsc*dp*ic03isc00ip00in* cm109 +alias platform:gpio-tilt-polled gpio_tilt_polled +alias usb:v06CDp0202d*dc*dsc*dp*ic*isc*ip*in* keyspan_remote +alias usb:v05F3p0240d*dc*dsc*dp*ic*isc*ip*in* powermate +alias usb:v077Dp04AAd*dc*dsc*dp*ic*isc*ip*in* powermate +alias usb:v077Dp0410d*dc*dsc*dp*ic*isc*ip*in* powermate +alias platform:rotary-encoder rotary_encoder +alias devname:uinput uinput +alias char-major-10-223 uinput +alias usb:v6993pB001d*dc*dsc*dp*ic03isc00ip00in* yealink +alias input:b*v*p*e*-e*1,*k*2C0,*r*a*m*l*s*f*w* joydev +alias input:b*v*p*e*-e*1,*k*130,*r*a*m*l*s*f*w* joydev +alias input:b*v*p*e*-e*1,*k*120,*r*a*m*l*s*f*w* joydev +alias input:b*v*p*e*-e*3,*k*r*a*6,*m*l*s*f*w* joydev +alias input:b*v*p*e*-e*3,*k*r*a*8,*m*l*s*f*w* joydev +alias input:b*v*p*e*-e*3,*k*r*a*0,*m*l*s*f*w* joydev +alias input:b*v*p*e*-e*k*r*a*m*l*s*f*w* evdev +alias i2c:bq32000 rtc_bq32k +alias spi:rtc-ds1305 rtc_ds1305 +alias i2c:rx8025 rtc_ds1307 +alias i2c:pt7c4338 rtc_ds1307 +alias i2c:mcp7941x rtc_ds1307 +alias i2c:m41t00 rtc_ds1307 +alias i2c:ds3231 rtc_ds1307 +alias i2c:ds1340 rtc_ds1307 +alias i2c:ds1388 rtc_ds1307 +alias i2c:ds1339 rtc_ds1307 +alias i2c:ds1338 rtc_ds1307 +alias i2c:ds1337 rtc_ds1307 +alias i2c:ds1307 rtc_ds1307 +alias i2c:ds1374 rtc_ds1374 +alias spi:rtc-ds1390 rtc_ds1390 +alias i2c:ds3232 rtc_ds3232 +alias spi:ds3234 rtc_ds3234 +alias i2c:fm3130 rtc_fm3130 +alias i2c:isl1208 rtc_isl1208 +alias i2c:rtc8564 rtc_isl12022 +alias i2c:isl12022 rtc_isl12022 +alias i2c:m41st87 rtc_m41t80 +alias i2c:m41st85 rtc_m41t80 +alias i2c:m41st84 rtc_m41t80 +alias i2c:m41t83 rtc_m41t80 +alias i2c:m41t82 rtc_m41t80 +alias i2c:m41t81s rtc_m41t80 +alias i2c:m41t81 rtc_m41t80 +alias i2c:m41t80 rtc_m41t80 +alias i2c:m41t65 rtc_m41t80 +alias i2c:m41t62 rtc_m41t80 +alias spi:rtc-m41t93 rtc_m41t93 +alias spi:rtc-m41t94 rtc_m41t94 +alias spi:rtc-max6902 rtc_max6902 +alias i2c:rtc8564 rtc_pcf8563 +alias i2c:pcf8563 rtc_pcf8563 +alias i2c:pcf8583 rtc_pcf8583 +alias spi:rtc-r9701 rtc_r9701 +alias spi:rtc-rs5c348 rtc_rs5c348 +alias i2c:rv5c387a rtc_rs5c372 +alias i2c:rv5c386 rtc_rs5c372 +alias i2c:rs5c372b rtc_rs5c372 +alias i2c:rs5c372a rtc_rs5c372 +alias i2c:r2025sd rtc_rs5c372 +alias i2c:rv3029c2 rtc_rv3029c2 +alias i2c:rx8025 rtc_rx8025 +alias i2c:rx8581 rtc_rx8581 +alias i2c:s35390a rtc_s35390a +alias i2c:x1205 rtc_x1205 +alias platform:bcm2708_i2c i2c_bcm2708 +alias platform:i2c-gpio i2c_gpio +alias amba:d??380024 i2c_nomadik +alias amba:d??180024 i2c_nomadik +alias usb:v0ABFp3370d*dc*dsc*dp*ic*isc*ip*in* i2c_diolan_u2c +alias usb:v1964p0001d*dc*dsc*dp*ic*isc*ip*in* i2c_tiny_usb +alias usb:v1C40p0534d*dc*dsc*dp*ic*isc*ip*in* i2c_tiny_usb +alias usb:v0403pC631d*dc*dsc*dp*ic*isc*ip*in* i2c_tiny_usb +alias usb:v0BC7p0008d*dc*dsc*dp*ic*isc*ip*in* ati_remote +alias usb:v0BC7p0006d*dc*dsc*dp*ic*isc*ip*in* ati_remote +alias usb:v0BC7p0005d*dc*dsc*dp*ic*isc*ip*in* ati_remote +alias usb:v0BC7p0004d*dc*dsc*dp*ic*isc*ip*in* ati_remote +alias usb:v0BC7p0003d*dc*dsc*dp*ic*isc*ip*in* ati_remote +alias usb:v0BC7p0002d*dc*dsc*dp*ic*isc*ip*in* ati_remote +alias usb:v15C2p0046d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0045d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0044d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0043d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0042d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0041d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0040d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p003Fd*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p003Ed*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p003Dd*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p003Cd*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p003Bd*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p003Ad*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0039d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0038d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0037d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0036d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0035d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2p0034d*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v15C2pFFDCd*dc*dsc*dp*ic*isc*ip*in* imon +alias usb:v2596p8042d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v2596p8016d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v2596p8008d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0572p58A5d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0572p58A1d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v105Ap2000d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v04EBpE004d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v185Bp3082d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v185Bp3020d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0FB8p0002d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1019p0F38d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v2304p0225d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1934p0702d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1934p0602d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1934p5168d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v147ApE042d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v147ApE03Ed*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v147ApE03Cd*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v147ApE03Ad*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v147ApE018d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v147ApE017d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v147ApE016d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v147ApE015d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v045Ep00A0d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v043Ep9803d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1509p9242d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v195Dp7002d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v179Dp0010d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1784p0011d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1784p000Ad*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1784p0008d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1784p0007d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1784p0006d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1784p0001d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v03EEp2501d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v107Bp3009d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v051CpC001d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1308pC001d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v1460p9150d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0609p0353d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0609p0338d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0609p0334d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0609p0322d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0609p031Dd*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0BDAp0161d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p2093d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p2088d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p206Cd*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p0815d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p0613d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p060Fd*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p060Dd*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p060Cd*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v0471p0608d*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v045Ep006Dd*dc*dsc*dp*ic*isc*ip*in* mceusb +alias usb:v112Ap0005d*dc*dsc*dp*ic*isc*ip*in* redrat3 +alias usb:v112Ap0001d*dc*dsc*dp*ic*isc*ip*in* redrat3 +alias usb:v0E9Cp0000d*dc*dsc*dp*ic*isc*ip*in* streamzap +alias usb:v1781p0938d*dc*dsc*dp*ic*isc*ip*in* iguanair +alias char-major-81-* videodev +alias i2c:tuner tuner +alias i2c:saa7118 saa7115 +alias i2c:saa7115 saa7115 +alias i2c:saa7114 saa7115 +alias i2c:saa7113 saa7115 +alias i2c:saa7111 saa7115 +alias i2c:saa7115_auto saa7115 +alias i2c:msp3400 msp3400 +alias i2c:cs53l32a cs53l32a +alias i2c:wm8775 wm8775 +alias i2c:cx25840 cx25840 +alias usb:v2013p0251d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2304p0242d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v1B80pE425d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v1B80pE309d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap5006d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p1605d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2013p024Cd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2013p024Fd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v1B80pA340d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap50A6d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v04BBp0515d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v093BpA005d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v093BpA003d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0413p6023d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2304p0227d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2304p0226d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2304p021Ad*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2304p0208d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2304p0207d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2001pF112d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0438pB002d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p651Fd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p651Bd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p6517d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p6513d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p6502d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p6500d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p4201d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v2040p4200d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v185Bp2041d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v185Bp2870d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0FD9p0033d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp00B2d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp10AFd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp0096d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp0084d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp10ADd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp10A2d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp00ACd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp008Ed*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp0043d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp0042d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp005Ed*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp004Fd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp004Cd*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v0CCDp0036d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v1B80pE304d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v1B80pE302d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE359d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE357d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2801d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE355d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE350d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE323d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE320d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApA316d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApA313d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE310d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE305d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE303d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1ApE300d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2875d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2868d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2883d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2881d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2870d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2863d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2862d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2861d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2860d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2821d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2820d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2710d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2800d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2751d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:vEB1Ap2750d*dc*dsc*dp*ic*isc*ip*in* em28xx +alias usb:v1B24p4001d*dc*dsc*dp*icFFisc01ip01in* poseidon +alias usb:v1B24p4001d*dc*dsc*dp*icFFisc01ip00in* poseidon +alias usb:v1F4Dp0237d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v1B80pE424d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v1554p5014d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v1554p5010d400[0-1]dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v2040pC200d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v2040pB140d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v2040pB120d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v2040pB111d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v2040pB110d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v0572p58A0d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v0572p589Ed*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v0572p58A6d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v0572p58A5d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v0572p58A4d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v0572p58A1d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v0572p58A2d*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias usb:v0572p5A3Cd*dc*dsc*dp*ic*isc*ip*in* cx231xx +alias USBVision usbvision +alias usb:v2400p4200d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0419d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0301d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0300d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0214d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0212d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0210d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0113d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0112d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0111d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0110d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p0109d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v2304p010Dd*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v07F8p9104d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v07D0p0005d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v07D0p0004d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v07D0p0003d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v07D0p0002d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v07D0p0001d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0768p0006d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D38d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D37d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D36d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D35d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D34d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D32d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D31d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D30d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D29d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D28d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D27d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D26d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D25d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D24d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D23d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D22d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D21d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D20d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D2Cd*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D2Bd*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D2Ad*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D14d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D12d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D11d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D10d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D04d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D03d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D02d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D01d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4D00d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4550d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4450d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4110d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p4100d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p3001d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p3000d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p2101d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p2D01d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p2D00d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p2000d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p0400d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0573p0003d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0571p0002d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v050Dp0208d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v050Dp0207d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v050Dp0106d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0A6Fp0400d*dc*dsc*dp*ic*isc*ip*in* usbvision +alias usb:v0CCDp0039d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v2040p7501d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v2040p7500d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v2040p7300d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v11BAp1001d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v11BAp1003d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v1164p0602d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v1164p0622d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v2040p2400d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v2040p2950d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v2040p2900d*dc*dsc*dp*ic*isc*ip*in* pvrusb2 +alias usb:v06D6p003Dd*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v08CAp2102d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v041Ep405Dd*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0A17p004Ed*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v06D6p003Bd*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0A17p0062d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v06D6p0034d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0784p0040d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v04F2pA208d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v04C8p0729d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v052Bp1A18d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v08CAp2062d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v055FpB500d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0FEBp2004d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0BB0p500Dd*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0595p4343d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0D64p3108d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0546p3187d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v0D64p0108d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v041Ep4024d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v08CAp0109d*dc*dsc*dp*ic*isc*ip*in* zr364xx +alias usb:v05E1p0501d*dc*dsc*dp*icFFiscFFipFFin* stkwebcam +alias usb:v174FpA311d*dc*dsc*dp*icFFiscFFipFFin* stkwebcam +alias sn9c1xx sn9c102 +alias usb:v0C45p6082d*dc*dsc*dp*icFFisc*ip*in* sn9c102 +alias usb:v0C45p6030d*dc*dsc*dp*icFFisc*ip*in* sn9c102 +alias usb:v0C45p602Bd*dc*dsc*dp*icFFisc*ip*in* sn9c102 +alias usb:v0C45p6025d*dc*dsc*dp*icFFisc*ip*in* sn9c102 +alias usb:v0C45p6024d*dc*dsc*dp*icFFisc*ip*in* sn9c102 +alias pwcx pwc +alias usb:v0D81p1900d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0D81p1910d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v06BEp8116d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v04CCp8116d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v041Ep4011d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v041Ep400Cd*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v055Dp9002d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v055Dp9001d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v055Dp9000d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B8d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B7d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B6d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B5d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B4d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B3d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B2d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B1d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v046Dp08B0d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v069Ap0001d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0329d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0313d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0312d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0311d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0310d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p030Cd*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0308d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0307d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0304d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0303d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v0471p0302d*dc*dsc*dp*ic*isc*ip*in* pwc +alias usb:v04A5p3035d*dc*dsc*dp*ic*isc*ip*in* gspca_benq +alias usb:v0572p0041d*dc*dsc*dp*ic*isc*ip*in* gspca_conex +alias usb:v0813p0001d*dc*dsc*dp*ic*isc*ip*in* gspca_cpia1 +alias usb:v0553p0002d*dc*dsc*dp*ic*isc*ip*in* gspca_cpia1 +alias usb:v102Cp6251d*dc*dsc*dp*ic*isc*ip*in* gspca_etoms +alias usb:v102Cp6151d*dc*dsc*dp*ic*isc*ip*in* gspca_etoms +alias usb:v04CBp013Fd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp013Dd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp013Bd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0131d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp012Fd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp012Dd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp012Bd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0129d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0127d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0125d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0123d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0121d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp011Dd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp011Bd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0119d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0117d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0115d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0113d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0111d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp010Fd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp010Bd*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0109d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v04CBp0104d*dc*dsc*dp*ic*isc*ip*in* gspca_finepix +alias usb:v0979p0270d*dc*dsc*dp*ic*isc*ip*in* gspca_jeilinj +alias usb:v0979p0280d*dc*dsc*dp*ic*isc*ip*in* gspca_jeilinj +alias usb:v0979p0227d*dc*dsc*dp*ic*isc*ip*in* gspca_jl2005bcd +alias usb:v045Ep02AEd*dc*dsc*dp*ic*isc*ip*in* gspca_kinect +alias usb:v04C8p0720d*dc*dsc*dp*ic*isc*ip*in* gspca_konica +alias usb:v093Ap050Fd*dc*dsc*dp*ic*isc*ip*in* gspca_mars +alias usb:v093Ap010Ed*dc*dsc*dp*ic*isc*ip*in* gspca_mr97310a +alias usb:v093Ap010Fd*dc*dsc*dp*ic*isc*ip*in* gspca_mr97310a +alias usb:v08CAp0111d*dc*dsc*dp*ic*isc*ip*in* gspca_mr97310a +alias usb:v08CAp0110d*dc*dsc*dp*ic*isc*ip*in* gspca_mr97310a +alias usb:v0728pD001d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v06BEpD001d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v06A5pD800d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v06A5pD001d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v06A5p0000d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v055FpD001d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v052BpD001d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v0502pD001d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v046DpD001d*dc*dsc*dp*ic*isc*ip*in* gspca_nw80x +alias usb:v8020pEF04d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v1046p9967d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v0E96pC001d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v0B62p0059d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v0813p0002d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9pA518d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9pA511d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9p8519d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9p4519d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9p2800d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9p0530d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9p0519d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9p0518d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v05A9p0511d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v054Cp0155d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v054Cp0154d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v045Ep028Cd*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v041Ep4068d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v041Ep4067d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v041Ep4064d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v041Ep4061d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v041Ep4060d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v041Ep405Fd*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v041Ep4052d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v041Ep4003d*dc*dsc*dp*ic*isc*ip*in* gspca_ov519 +alias usb:v06F8p3002d*dc*dsc*dp*ic*isc*ip*in* gspca_ov534 +alias usb:v1415p2000d*dc*dsc*dp*ic*isc*ip*in* gspca_ov534 +alias usb:v05A9p1550d*dc*dsc*dp*ic*isc*ip*in* gspca_ov534_9 +alias usb:v06F8p3003d*dc*dsc*dp*ic*isc*ip*in* gspca_ov534_9 +alias usb:v05A9p8065d*dc*dsc*dp*ic*isc*ip*in* gspca_ov534_9 +alias usb:v2001pF115d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v145Fp013Ad*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2476d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2474d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2472d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2471d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2470d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2468d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2464d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2463d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2461d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v093Ap2460d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v041Ep4028d*dc*dsc*dp*ic*isc*ip*in* gspca_pac207 +alias usb:v1AE7p2001d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v145Fp013Cd*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap262Cd*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap262Ad*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2629d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2628d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2627d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2626d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2625d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2624d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2622d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2621d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap2620d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v06F8p301Bd*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v06F8p3009d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7302 +alias usb:v093Ap260Fd*dc*dsc*dp*ic*isc*ip*in* gspca_pac7311 +alias usb:v093Ap260Ed*dc*dsc*dp*ic*isc*ip*in* gspca_pac7311 +alias usb:v093Ap2608d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7311 +alias usb:v093Ap2603d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7311 +alias usb:v093Ap2601d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7311 +alias usb:v093Ap2600d*dc*dsc*dp*ic*isc*ip*in* gspca_pac7311 +alias usb:v047Dp5003d*dc*dsc*dp*ic*isc*ip*in* gspca_se401 +alias usb:v047Dp5002d*dc*dsc*dp*ic*isc*ip*in* gspca_se401 +alias usb:v047Dp5001d*dc*dsc*dp*ic*isc*ip*in* gspca_se401 +alias usb:v0471p030Bd*dc*dsc*dp*ic*isc*ip*in* gspca_se401 +alias usb:v03E8p0004d*dc*dsc*dp*ic*isc*ip*in* gspca_se401 +alias usb:v0C45p800Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c2028 +alias usb:v0C45p8008d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c2028 +alias usb:v0C45p8003d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c2028 +alias usb:v0C45p8001d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c2028 +alias usb:v0458p7005d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c2028 +alias usb:vA168p0617d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:vA168p0615d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:vA168p0614d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:vA168p0618d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:vA168p0613d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:vA168p0611d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:vA168p0610d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0458p704Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0458p704Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0458p7029d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v145Fp013Dd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v045Ep00F4d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p62BCd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p62BBd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p62B3d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p62B0d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p62A0d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p628Fd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p628Ed*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p628Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6288d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6282d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6280d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p627Fd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p627Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p627Bd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6270d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6260d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6253d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6251d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p624Fd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p624Ed*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p624Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6248d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6242d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p6240d*dc*dsc*dp*ic*isc*ip*in* gspca_sn9c20x +alias usb:v0C45p60B0d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p60AFd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p60AAd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p60A8d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p608Fd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p608Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6083d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p602Ed*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p602Dd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p602Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p602Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6029d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6028d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6019d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6011d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p600Dd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6009d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6007d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6005d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p6001d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixb +alias usb:v0C45p614Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6148d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6143d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6142d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p613Ed*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p613Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p613Bd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p613Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6138d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6130d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p612Ed*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p612Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p612Bd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p612Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6128d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p610Ed*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p610Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p610Bd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p610Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6102d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6100d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p60FEd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p60FCd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p60FBd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p60ECd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p60CEd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p60C0d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p607Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0C45p6040d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v06F8p3008d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v06F8p3004d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0471p0330d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0471p0328d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0471p0327d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v045Ep00F7d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v045Ep00F5d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0458p702Ed*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v0458p7025d*dc*dsc*dp*ic*isc*ip*in* gspca_sonixj +alias usb:v8086p0630d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v2899p012Cd*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v08CAp0103d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v084Dp0003d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v06BEp0800d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v06BDp0404d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v055FpC220d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v055FpC200d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v04FCp7333d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v04A5p300Cd*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v046Dp0901d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v046Dp0900d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v046Dp0890d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v041Ep400Ad*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v040Ap0300d*dc*dsc*dp*ic*isc*ip*in* gspca_spca500 +alias usb:v1776p501Cd*dc*dsc*dp*ic*isc*ip*in* gspca_spca501 +alias usb:v0733p0402d*dc*dsc*dp*ic*isc*ip*in* gspca_spca501 +alias usb:v0733p0401d*dc*dsc*dp*ic*isc*ip*in* gspca_spca501 +alias usb:v0506p00DFd*dc*dsc*dp*ic*isc*ip*in* gspca_spca501 +alias usb:v0497pC001d*dc*dsc*dp*ic*isc*ip*in* gspca_spca501 +alias usb:v040Ap0002d*dc*dsc*dp*ic*isc*ip*in* gspca_spca501 +alias usb:v0733p0430d*dc*dsc*dp*ic*isc*ip*in* gspca_spca505 +alias usb:v041Ep401Dd*dc*dsc*dp*ic*isc*ip*in* gspca_spca505 +alias usb:v99FAp8988d*dc*dsc*dp*ic*isc*ip*in* gspca_spca506 +alias usb:v0734p043Bd*dc*dsc*dp*ic*isc*ip*in* gspca_spca506 +alias usb:v06E1pA190d*dc*dsc*dp*ic*isc*ip*in* gspca_spca506 +alias usb:v8086p0110d*dc*dsc*dp*ic*isc*ip*in* gspca_spca508 +alias usb:v0AF9p0011d*dc*dsc*dp*ic*isc*ip*in* gspca_spca508 +alias usb:v0AF9p0010d*dc*dsc*dp*ic*isc*ip*in* gspca_spca508 +alias usb:v0733p0110d*dc*dsc*dp*ic*isc*ip*in* gspca_spca508 +alias usb:v041Ep4018d*dc*dsc*dp*ic*isc*ip*in* gspca_spca508 +alias usb:v0130p0130d*dc*dsc*dp*ic*isc*ip*in* gspca_spca508 +alias usb:vABCDpCDEEd*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v10FDp7E50d*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v060BpA001d*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v04FCp0561d*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v046Dp092Fd*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v046Dp092Ed*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v046Dp092Dd*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v046Dp092Cd*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v046Dp092Bd*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v046Dp092Ad*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v046Dp0929d*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v046Dp0928d*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v0461p0815d*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v0458p7004d*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v041Ep403Bd*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v041Ep401Ad*dc*dsc*dp*ic*isc*ip*in* gspca_spca561 +alias usb:v04FCp1528d*dc*dsc*dp*ic*isc*ip*in* gspca_spca1528 +alias usb:v2770p9120d*dc*dsc*dp*ic*isc*ip*in* gspca_sq905 +alias usb:v2770p913Dd*dc*dsc*dp*ic*isc*ip*in* gspca_sq905c +alias usb:v2770p9052d*dc*dsc*dp*ic*isc*ip*in* gspca_sq905c +alias usb:v2770p9051d*dc*dsc*dp*ic*isc*ip*in* gspca_sq905c +alias usb:v2770p9050d*dc*dsc*dp*ic*isc*ip*in* gspca_sq905c +alias usb:v2770p905Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sq905c +alias usb:v2770p930Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sq930x +alias usb:v2770p930Bd*dc*dsc*dp*ic*isc*ip*in* gspca_sq930x +alias usb:v041Ep4041d*dc*dsc*dp*ic*isc*ip*in* gspca_sq930x +alias usb:v041Ep403Dd*dc*dsc*dp*ic*isc*ip*in* gspca_sq930x +alias usb:v041Ep403Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sq930x +alias usb:v041Ep4038d*dc*dsc*dp*ic*isc*ip*in* gspca_sq930x +alias usb:v0D64p0303d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2060d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2050d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2042d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2040d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2028d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2024d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2022d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2020d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2018d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2016d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2010d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp2008d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp0106d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v08CAp0104d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0733p3281d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0733p3261d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0733p2221d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0733p2211d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0733p1314d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0733p1311d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v06D6p0031d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v05DAp1018d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC650d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC630d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC540d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC530d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC520d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC440d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC430d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC420d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC360d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC232d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC230d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v055FpC211d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0546p3273d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0546p3191d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0546p3155d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v052Bp1803d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v052Bp1513d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v052Bp1507d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04FCpFFFFd*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04FCp5360d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04FCp5330d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04FCp504Bd*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04FCp504Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04FCp500Cd*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04F1p1001d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04A5p300Ad*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04A5p3008d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v04A5p3003d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0471p0322d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v046Dp0960d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v046Dp0905d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0461p0821d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v0458p7006d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v041Ep4013d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v041Ep4012d*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v041Ep400Bd*dc*dsc*dp*ic*isc*ip*in* gspca_sunplus +alias usb:v05E1p0893d*dc*dsc*dp*ic*isc*ip*in* gspca_stk014 +alias usb:v041Ep4007d*dc*dsc*dp*ic*isc*ip*in* gspca_stv0680 +alias usb:v0553p0202d*dc*dsc*dp*ic*isc*ip*in* gspca_stv0680 +alias usb:v17A1p0128d*dc*dsc*dp*ic*isc*ip*in* gspca_t613 +alias usb:v0923p010Fd*dc*dsc*dp*ic*isc*ip*in* gspca_tv8532 +alias usb:v0545p8333d*dc*dsc*dp*ic*isc*ip*in* gspca_tv8532 +alias usb:v0545p808Bd*dc*dsc*dp*ic*isc*ip*in* gspca_tv8532 +alias usb:v046Dp0921d*dc*dsc*dp*ic*isc*ip*in* gspca_tv8532 +alias usb:v046Dp0920d*dc*dsc*dp*ic*isc*ip*in* gspca_tv8532 +alias usb:v17EFp4802d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v15B8p6002d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v15B8p6001d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v0AC8pC301d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v0AC8pC002d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v0AC8pC001d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v0AC8p0328d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v0AC8p0323d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v0AC8p0321d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v046Dp0897d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v046Dp0896d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v046Dp0892d*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v041Ep405Bd*dc*dsc*dp*ic*isc*ip*in* gspca_vc032x +alias usb:v0602p1001d*dc*dsc*dp*ic*isc*ip*in* gspca_vicam +alias usb:v04C1p009Dd*dc*dsc*dp*ic*isc*ip*in* gspca_vicam +alias usb:v0545p800Dd030Adc*dsc*dp*ic*isc*ip*in* gspca_xirlink_cit +alias usb:v0545p800Cd030Adc*dsc*dp*ic*isc*ip*in* gspca_xirlink_cit +alias usb:v0545p8002d030Adc*dsc*dp*ic*isc*ip*in* gspca_xirlink_cit +alias usb:v0545p8080d0301dc*dsc*dp*ic*isc*ip*in* gspca_xirlink_cit +alias usb:v0545p8080d030Adc*dsc*dp*ic*isc*ip*in* gspca_xirlink_cit +alias usb:v0545p8080d0002dc*dsc*dp*ic*isc*ip*in* gspca_xirlink_cit +alias usb:v0545p8080d0001dc*dsc*dp*ic*isc*ip*in* gspca_xirlink_cit +alias usb:v10FDp8050d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v10FDp804Dd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v10FDp0128d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0AC8p307Bd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0AC8p305Bd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0AC8p303Bd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0AC8p301Bd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0AC8p0302d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0AC8p0301d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0698p2003d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v055FpD004d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v055FpD003d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v055FpC005d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0471p032Ed*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0471p032Dd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0471p0326d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0471p0325d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08DDd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08DAd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08D9d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08D8d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08D7d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08B9d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08AFd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08AEd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08ADd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08ACd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08AAd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08A9d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08A7d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08A6d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08A3d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08A2d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08A1d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp08A0d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v046Dp089Dd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0461p0A00d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0458p700Fd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0458p700Cd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0458p7007d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep4053d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep4051d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep403Ad*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep4036d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep4035d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep4034d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep4029d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep4022d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep401Fd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep401Ed*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep401Cd*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep4017d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v041Ep041Ed*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v03F0p1B07d*dc*dsc*dp*ic*isc*ip*in* gspca_zc3xx +alias usb:v0402p5602d*dc*dsc*dp*ic*isc*ip*in* gspca_m5602 +alias usb:v046Dp08F6d*dc*dsc*dp*ic*isc*ip*in* gspca_stv06xx +alias usb:v046Dp08F5d*dc*dsc*dp*ic*isc*ip*in* gspca_stv06xx +alias usb:v046Dp08F0d*dc*dsc*dp*ic*isc*ip*in* gspca_stv06xx +alias usb:v046Dp0870d*dc*dsc*dp*ic*isc*ip*in* gspca_stv06xx +alias usb:v046Dp0850d*dc*dsc*dp*ic*isc*ip*in* gspca_stv06xx +alias usb:v046Dp0840d*dc*dsc*dp*ic*isc*ip*in* gspca_stv06xx +alias usb:v05E3pF191d*dc*dsc*dp*ic*isc*ip*in* gspca_gl860 +alias usb:v05E3p0503d*dc*dsc*dp*ic*isc*ip*in* gspca_gl860 +alias usb:v2040p4903d*dc*dsc*dp*ic*isc*ip*in* hdpvr +alias usb:v2040p4982d*dc*dsc*dp*ic*isc*ip*in* hdpvr +alias usb:v2040p4902d*dc*dsc*dp*ic*isc*ip*in* hdpvr +alias usb:v2040p4901d*dc*dsc*dp*ic*isc*ip*in* hdpvr +alias usb:v2040p4900d*dc*dsc*dp*ic*isc*ip*in* hdpvr +alias usb:v1943p2257d*dc*dsc*dp*ic*isc*ip*in* s2255drv +alias usb:v1943p2255d*dc*dsc*dp*ic*isc*ip*in* s2255drv +alias usb:v*p*d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v1C4Fp3000d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v1B3Bp2951d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v19ABp1000d00*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v19ABp1000d01[0-1]*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v19ABp1000d012[0-6]dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v199Ep8102d*dc*dsc*dp*icFFisc01ip00in* uvcvideo +alias usb:v18ECp3290d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v18ECp3288d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v18ECp3188d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v18CDpCAFEd*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v1871p0306d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v17EFp480Bd*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v17DCp0202d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v174Fp8A34d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v174Fp8A33d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v174Fp8A31d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v174Fp8A12d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v174Fp5931d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v174Fp5212d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v152Dp0310d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v13D3p5103d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v0E8Dp0004d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v0AC8p3420d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v0AC8p3410d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v0AC8p332Dd*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v06F8p300Cd*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v05E3p0505d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v05C8p0403d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v05ACp8501d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v05A9p2640d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v058Fp3820d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v04F2pB071d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v046Dp08C7d*dc*dsc*dp*icFFisc01ip00in* uvcvideo +alias usb:v046Dp08C6d*dc*dsc*dp*icFFisc01ip00in* uvcvideo +alias usb:v046Dp08C5d*dc*dsc*dp*icFFisc01ip00in* uvcvideo +alias usb:v046Dp08C3d*dc*dsc*dp*icFFisc01ip00in* uvcvideo +alias usb:v046Dp08C2d*dc*dsc*dp*icFFisc01ip00in* uvcvideo +alias usb:v046Dp08C1d*dc*dsc*dp*icFFisc01ip00in* uvcvideo +alias usb:v045Ep0723d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v045Ep00F8d*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v0458p706Ed*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v0416pA91Ad*dc*dsc*dp*ic0Eisc01ip00in* uvcvideo +alias usb:v12CFp7111d*dc*dsc*dp*ic03isc00ip00in* radio_usb_si470x +alias usb:v10C5p819Ad*dc*dsc*dp*ic03isc00ip00in* radio_usb_si470x +alias usb:v1B80pD700d*dc*dsc*dp*ic03isc00ip00in* radio_usb_si470x +alias usb:v06E1pA155d*dc*dsc*dp*ic03isc00ip00in* radio_usb_si470x +alias usb:v10C4p818Ad*dc*dsc*dp*ic03isc00ip00in* radio_usb_si470x +alias usb:v077Dp627Ad0010dc*dsc*dp*ic03isc*ip*in* shark2 +alias usb:v04B4p1002d*dc*dsc*dp*ic*isc*ip*in* dsbr100 +alias usb:v07CApB800d*dc*dsc*dp*ic03isc00ip00in* radio_mr800 +alias usb:v046Dp0A0Ed*dc*dsc*dp*ic03isc00ip00in* radio_keene +alias i2c:au8522 au8522_decoder +alias usb:v0AF7p0101d*dc*dsc*dp*ic*isc*ip*in* b2c2_flexcop_usb +alias usb:v13D3p3224d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_vp7045 +alias usb:v13D3p3223d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_vp7045 +alias usb:v13D3p3206d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_vp7045 +alias usb:v13D3p3205d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_vp7045 +alias usb:v13D3p3207d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_vp702x +alias usb:v09C0p0206d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_gp8psk +alias usb:v09C0p0203d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_gp8psk +alias usb:v09C0p0202d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_gp8psk +alias usb:v09C0p0201d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_gp8psk +alias usb:v09C0p0200d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_gp8psk +alias usb:v18F3p0220d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp0220d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp0226d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp0225d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp022Bd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp022Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp0221d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp0222d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp0301d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v14AAp0201d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtt200u +alias usb:v07CApA801d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_a800 +alias usb:v07CApA800d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_a800 +alias usb:v05D8p810Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v05D8p8109d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:vEB2Ap17DEd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v0458p701Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v0458p701Ed*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v06E1pA334d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v06E1pA333d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v05D8p8108d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v05D8p8107d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v05D8p8106d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v05D8p8105d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v1822p3202d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v1822p3201d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v13D3p3202d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v13D3p3201d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v1025p005Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v1025p005Ed*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v5032p0BB9d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v5032p0BB8d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v5032p0FA1d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v5032p0FA0d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:vEB1Ap17DFd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:vEB1Ap17DEd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v10B8p0BB9d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v10B8p0BB8d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v145Fp010Cd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v185BpD001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v185BpD000d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v14AAp0002d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v14AAp0001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mb +alias usb:v10B9p5001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v10B9p5000d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v0413p6026d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v0413p6025d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v05D8p810Cd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v05D8p810Bd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v5032p0BC7d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v5032p0BC6d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:vEB1ApE361d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:vEB1ApE360d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v04CApF001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v04CApF000d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v05D8p810Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v05D8p8109d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v10B8p0BC7d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v10B8p0BC6d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dibusb_mc +alias usb:v2040p9301d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_nova_t_usb2 +alias usb:v2040p9300d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_nova_t_usb2 +alias usb:v15F4p0015d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_umt_010 +alias usb:v15F4p0001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_umt_010 +alias usb:v13D3p3211d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_m920x +alias usb:v1498pA090d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_m920x +alias usb:v1498p9206d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_m920x +alias usb:v10FDp0513d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_m920x +alias usb:v10FDp0514d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_m920x +alias usb:v10FDp1513d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_m920x +alias usb:v0DB0p5580d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_m920x +alias usb:v05E3pF170d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_gl861 +alias usb:v0DB0p5581d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_gl861 +alias usb:v058Fp6610d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_au6610 +alias usb:v0547p0201d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_digitv +alias usb:v0572pD811d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0572p86D6d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB98d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v07CApA868d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB71d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB70d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB78d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB59d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB58d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB55d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB54d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB11d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB10d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB01d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB00d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB51d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pDB50d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pD501d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0FE9pD500d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v1660p0932d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cxusb +alias usb:v0B48p300Dd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ttusb2 +alias usb:v0B48p3006d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ttusb2 +alias usb:v2304p0222d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ttusb2 +alias usb:v2304p020Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ttusb2 +alias usb:v0FD9p003Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1F9Cd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1E6Ed*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1BB7d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p023Ed*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p023Dd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1660p1921d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v14F7p0004d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1BB4d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1BB2d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p2384d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1FA8d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p2383d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0FD9p0011d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1FA0d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p0248d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p0245d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1E59p0002d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1554p5010d[0-2]*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1554p5010d3[0-9a-0]*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1554p5010d3F00dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1F90d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1F98d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp00ABd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1E80d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2013p0248d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2013p0245d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p0243d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1164p1E8Cd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1164p1EFCd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp10A1d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp10A0d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0413p60F6d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0FD9p0020d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0FD9p0021d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1164p0871d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040pB210d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040pB200d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1164p2EDCd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1415p0003d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp0081d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp0062d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p023Bd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p023Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0B05p1736d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1164p1F08d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1044p7002d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p8400d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p5200d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0413p6F01d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp0078d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp0060d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1164p1EDCd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p0237d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p0236d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p022Ed*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp0058d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p7080d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p7070d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0B05p173Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0B05p171Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v05D8p810Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1044p7001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v07CApB568d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v185Bp1E80d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p0229d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1EBEd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p0228d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1EBCd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1EF0d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p9580d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0CCDp005Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2304p022Cd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v07CApB808d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p7060d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v0413p6F00d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v1584p6003d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v185Bp1E78d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v07CApA807d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p7050d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p9950d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v2040p9941d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1E78d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v10B8p1E14d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dib0700 +alias usb:v695Cp3829d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_opera +alias usb:v04B4p2830d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_opera +alias usb:v10B9p6000d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9005 +alias usb:v0CCDp0055d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9005 +alias usb:v15A4p9020d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9005 +alias usb:v1C73p861Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_anysee +alias usb:v04B4p861Fd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_anysee +alias usb:v1F4Dp3100d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v9022pD482d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v9022pD481d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v0CCDp00A8d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v1F4Dp3000d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v3034p7500d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v9022pD660d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v3011pB012d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v9022pD630d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v04B4p3101d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v0CCDp0064d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v9022pD650d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v04B4p2104d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v04B4p2101d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v04B4p2102d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dw2102 +alias usb:v06BEpA232d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_dtv5100 +alias usb:v1B80pE401d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1F4Dp9016d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v07CAp850Bd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v0CCDp0099d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v0CCDp0097d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v07CAp815Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE39Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE383d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v0413p6A04d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE402d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE39Dd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pC161d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE400d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v0458p4012d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pC810d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE397d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v07CApA805d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v07CAp850Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v15A4p901Bd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE395d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE39Bd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE396d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1462p8807d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v07CApA309d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v10B9p8000d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v07CAp8150d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1462p8801d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1AE7p0381d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v07CApA815d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pC160d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v0CCDp0069d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v13D3p3237d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v13D3p3226d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v1B80pE399d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v2304p022Bd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v0413p6029d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v15A4p9016d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v15A4p9015d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9015 +alias usb:v0CCDp0038d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_cinergyT2 +alias usb:v07CApA310d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ce6230 +alias usb:v8086p9500d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ce6230 +alias usb:v7A69p0001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_friio +alias usb:v18B4p1002d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ec168 +alias usb:v18B4p1001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ec168 +alias usb:v18B4pFFFBd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ec168 +alias usb:v18B4pFFFAd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ec168 +alias usb:v18B4p1689d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_ec168 +alias usb:v0CCDp10A3d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6007 +alias usb:v0CCDp10B4d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6007 +alias usb:v13D3p0CCDd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6007 +alias usb:v0FD9p002Ad*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6027 +alias usb:v14F7p0002d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6027 +alias usb:v14F7p0001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6027 +alias usb:v0CCDp10ACd*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6027 +alias usb:v0CCDp10A4d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6027 +alias usb:v13D3p3275d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_az6027 +alias usb:v3344p22F0d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_lmedm04 +alias usb:v3344p1120d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_lmedm04 +alias usb:v3344p1122d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_lmedm04 +alias usb:v048Dp9006d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv1 +alias usb:v048Dp9005d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv1 +alias usb:v1B80pE411d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv1 +alias usb:v048Dp9135d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv1 +alias usb:v1B80pE409d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv1 +alias usb:v048Dp9006d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv2 +alias usb:v048Dp9005d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv2 +alias usb:v1B80pE411d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv2 +alias usb:v048Dp9135d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv2 +alias usb:v1B80pE409d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_it913xv2 +alias usb:v0CCDp00B3d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_rtl28xxu +alias usb:v1F4DpB803d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_rtl28xxu +alias usb:v0CCDp00A9d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_rtl28xxu +alias usb:v14AAp0161d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_rtl28xxu +alias usb:v14AAp0160d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_rtl28xxu +alias usb:v0BDAp2831d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_rtl28xxu +alias usb:v07CAp0825d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v07CApA867d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v07CAp1867d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v07CApB835d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v07CApA835d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v0CCDp0093d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v15A4p1003d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v15A4p1002d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v15A4p1001d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v15A4p1000d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v15A4p9035d*dc*dsc*dp*ic*isc*ip*in* dvb_usb_af9035 +alias usb:v2040pF5A0d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pC0A0d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pC090d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pC080d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pC010d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pC000d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pB990d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pB980d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pB910d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040pB900d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v187Fp0301d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v187Fp0202d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p5590d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p5580d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p5530d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p5520d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p5510d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p5500d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p2019d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p2011d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p2010d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p200Ad*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p2009d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p2000d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p1801d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p1800d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v2040p1700d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v187Fp0300d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v187Fp0201d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v187Fp0200d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v187Fp0100d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias usb:v187Fp0010d*dc*dsc*dp*ic*isc*ip*in* smsusb +alias char-major-10-131 bcm2708_wdog +alias char-major-10-130 bcm2708_wdog +alias md-level--1 linear +alias md-linear linear +alias md-personality-1 linear +alias md-level-0 raid0 +alias md-raid0 raid0 +alias md-personality-2 raid0 +alias md-level-1 raid1 +alias md-raid1 raid1 +alias md-personality-3 raid1 +alias md-level-10 raid10 +alias md-raid10 raid10 +alias md-personality-9 raid10 +alias raid6 raid456 +alias raid5 raid456 +alias md-level-6 raid456 +alias md-raid6 raid456 +alias md-personality-8 raid456 +alias md-level-4 raid456 +alias md-level-5 raid456 +alias md-raid4 raid456 +alias md-raid5 raid456 +alias md-personality-4 raid456 +alias md-level--4 multipath +alias md-multipath multipath +alias md-personality-7 multipath +alias md-level--5 faulty +alias md-faulty faulty +alias md-personality-10 faulty +alias block-major-9-* md_mod +alias md md_mod +alias devname:mapper/control dm_mod +alias char-major-10-236 dm_mod +alias dm-raid6 dm_raid +alias dm-raid5 dm_raid +alias dm-raid4 dm_raid +alias dm-raid10 dm_raid +alias dm-raid1 dm_raid +alias hid:b0003g*v000009DAp0000001A hid_a4tech +alias hid:b0003g*v000009DAp0000000A hid_a4tech +alias hid:b0003g*v000009DAp00000006 hid_a4tech +alias hid:b0003g*v00001A34p00000802 hid_axff +alias hid:b0003g*v000005ACp0000030B hid_apple +alias hid:b0003g*v000005ACp0000030A hid_apple +alias hid:b0005g*v000005ACp0000023B hid_apple +alias hid:b0005g*v000005ACp0000023A hid_apple +alias hid:b0005g*v000005ACp00000239 hid_apple +alias hid:b0003g*v000005ACp00000264 hid_apple +alias hid:b0003g*v000005ACp00000263 hid_apple +alias hid:b0003g*v000005ACp00000262 hid_apple +alias hid:b0003g*v000005ACp00000254 hid_apple +alias hid:b0003g*v000005ACp00000253 hid_apple +alias hid:b0003g*v000005ACp00000252 hid_apple +alias hid:b0003g*v000005ACp0000024B hid_apple +alias hid:b0003g*v000005ACp0000024A hid_apple +alias hid:b0003g*v000005ACp00000249 hid_apple +alias hid:b0003g*v000005ACp0000024E hid_apple +alias hid:b0003g*v000005ACp0000024D hid_apple +alias hid:b0003g*v000005ACp0000024C hid_apple +alias hid:b0003g*v000005ACp00000247 hid_apple +alias hid:b0003g*v000005ACp00000246 hid_apple +alias hid:b0003g*v000005ACp00000245 hid_apple +alias hid:b0003g*v000005ACp00000244 hid_apple +alias hid:b0003g*v000005ACp00000243 hid_apple +alias hid:b0003g*v000005ACp00000242 hid_apple +alias hid:b0003g*v000005ACp00000241 hid_apple +alias hid:b0003g*v000005ACp00000240 hid_apple +alias hid:b0003g*v000005ACp0000023F hid_apple +alias hid:b0003g*v000005ACp00000238 hid_apple +alias hid:b0003g*v000005ACp00000237 hid_apple +alias hid:b0003g*v000005ACp00000236 hid_apple +alias hid:b0003g*v000005ACp00000232 hid_apple +alias hid:b0003g*v000005ACp00000231 hid_apple +alias hid:b0003g*v000005ACp00000230 hid_apple +alias hid:b0003g*v000005ACp00000225 hid_apple +alias hid:b0003g*v000005ACp00000224 hid_apple +alias hid:b0003g*v000005ACp00000223 hid_apple +alias hid:b0005g*v000005ACp0000022E hid_apple +alias hid:b0005g*v000005ACp00000255 hid_apple +alias hid:b0005g*v000005ACp00000256 hid_apple +alias hid:b0005g*v000005ACp0000022D hid_apple +alias hid:b0005g*v000005ACp0000022C hid_apple +alias hid:b0003g*v000005ACp00000251 hid_apple +alias hid:b0003g*v000005ACp00000250 hid_apple +alias hid:b0003g*v000005ACp0000024F hid_apple +alias hid:b0003g*v000005ACp0000022B hid_apple +alias hid:b0003g*v000005ACp0000022A hid_apple +alias hid:b0003g*v000005ACp00000229 hid_apple +alias hid:b0003g*v000005ACp00000222 hid_apple +alias hid:b0003g*v000005ACp00000221 hid_apple +alias hid:b0003g*v000005ACp00000220 hid_apple +alias hid:b0003g*v000005ACp0000021F hid_apple +alias hid:b0003g*v000005ACp0000021E hid_apple +alias hid:b0003g*v000005ACp0000021D hid_apple +alias hid:b0003g*v000005ACp0000021C hid_apple +alias hid:b0003g*v000005ACp0000021B hid_apple +alias hid:b0003g*v000005ACp0000021A hid_apple +alias hid:b0003g*v000005ACp00000219 hid_apple +alias hid:b0003g*v000005ACp00000218 hid_apple +alias hid:b0003g*v000005ACp00000217 hid_apple +alias hid:b0003g*v000005ACp00000216 hid_apple +alias hid:b0003g*v000005ACp00000215 hid_apple +alias hid:b0003g*v000005ACp00000214 hid_apple +alias hid:b0003g*v000005ACp0000020F hid_apple +alias hid:b0003g*v000005ACp0000020E hid_apple +alias hid:b0003g*v000005ACp00000304 hid_apple +alias hid:b0003g*v000005ACp00008242 hid_apple +alias hid:b0003g*v000005ACp00008241 hid_apple +alias hid:b0003g*v00000755p00002626 hid_aureal +alias hid:b0003g*v00001020p00000006 hid_belkin +alias hid:b0003g*v0000050Dp00003201 hid_belkin +alias hid:b0003g*v0000046Ap00000027 hid_cherry +alias hid:b0003g*v0000046Ap00000023 hid_cherry +alias hid:b0003g*v000004F2p00001125 hid_chicony +alias hid:b0003g*v000004F2p00001123 hid_chicony +alias hid:b0003g*v000004F2p00000418 hid_chicony +alias hid:b0003g*v000004B4p00000001 hid_cypress +alias hid:b0003g*v000004B4p0000ED81 hid_cypress +alias hid:b0003g*v000004B4p0000BCA1 hid_cypress +alias hid:b0003g*v000004B4p0000DE64 hid_cypress +alias hid:b0003g*v000004B4p0000DE61 hid_cypress +alias hid:b0003g*v00000079p00000011 hid_dr +alias hid:b0003g*v00000079p00000006 hid_dr +alias hid:b0003g*v00002006p00000118 hid_emsff +alias hid:b0005g*v0000056Ep00000061 hid_elecom +alias hid:b0003g*v00000518p00000002 hid_ezkey +alias hid:b0003g*v00000C16p00000008 hid_gyration +alias hid:b0003g*v00000C16p00000003 hid_gyration +alias hid:b0003g*v00000C16p00000002 hid_gyration +alias hid:b0003g*v000004D9p0000A055 hid_holtek_kbd +alias hid:b0003g*v00001241p00005015 hid_holtekff +alias hid:b0003g*v0000047Dp00002041 hid_kensington +alias hid:b0003g*v00000926p00003333 hid_keytouch +alias hid:b0003g*v00000458p00005013 hid_kye +alias hid:b0003g*v00000458p00005011 hid_kye +alias hid:b0003g*v00000458p00005010 hid_kye +alias hid:b0003g*v00000458p00000087 hid_kye +alias hid:b0003g*v00001241p0000F767 hid_lcpower +alias hid:b0003g*v000017EFp00006009 hid_lenovo_tpkbd +alias hid:b0003g*v0000046Dp0000C623 hid_logitech +alias hid:b0003g*v0000046Dp0000C626 hid_logitech +alias hid:b0003g*v0000046Dp0000C287 hid_logitech +alias hid:b0003g*v0000046Dp0000C218 hid_logitech +alias hid:b0003g*v0000046Dp0000C293 hid_logitech +alias hid:b0003g*v0000046Dp0000C29C hid_logitech +alias hid:b0003g*v0000046Dp0000C298 hid_logitech +alias hid:b0003g*v0000046Dp0000C29B hid_logitech +alias hid:b0003g*v0000046Dp0000C29A hid_logitech +alias hid:b0003g*v0000046Dp0000C299 hid_logitech +alias hid:b0003g*v0000046Dp0000CA03 hid_logitech +alias hid:b0003g*v0000046Dp0000C295 hid_logitech +alias hid:b0003g*v0000046Dp0000C286 hid_logitech +alias hid:b0003g*v0000046Dp0000C283 hid_logitech +alias hid:b0003g*v0000046Dp0000C219 hid_logitech +alias hid:b0003g*v0000046Dp0000C211 hid_logitech +alias hid:b0003g*v0000046Dp0000C20A hid_logitech +alias hid:b0003g*v0000046Dp0000C294 hid_logitech +alias hid:b0003g*v0000046Dp0000C215 hid_logitech +alias hid:b0003g*v0000046Dp0000C512 hid_logitech +alias hid:b0003g*v0000046Dp0000C30A hid_logitech +alias hid:b0003g*v0000046Dp0000C71F hid_logitech +alias hid:b0003g*v0000046Dp0000C714 hid_logitech +alias hid:b0003g*v0000046Dp0000C704 hid_logitech +alias hid:b0003g*v0000046Dp0000C101 hid_logitech +alias hid:b0003g*v0000046Dp0000C517 hid_logitech +alias hid:b0003g*v0000046Dp0000C50C hid_logitech +alias hid:b0003g*v0000046Dp0000C513 hid_logitech +alias hid:b0003g*v0000046Dp0000C532 hid_logitech_dj +alias hid:b0003g*v0000046Dp0000C52B hid_logitech_dj +alias hid:b0005g*v000005ACp0000030E hid_magicmouse +alias hid:b0005g*v000005ACp0000030D hid_magicmouse +alias hid:b0005g*v0000045Ep00000701 hid_microsoft +alias hid:b0003g*v0000045Ep0000076C hid_microsoft +alias hid:b0003g*v0000045Ep0000009D hid_microsoft +alias hid:b0003g*v0000045Ep00000730 hid_microsoft +alias hid:b0003g*v0000045Ep00000713 hid_microsoft +alias hid:b0003g*v0000045Ep000000F9 hid_microsoft +alias hid:b0003g*v0000045Ep000000DB hid_microsoft +alias hid:b0003g*v0000045Ep0000003B hid_microsoft +alias hid:b0003g*v00000566p00003004 hid_monterey +alias hid:b*g0002v*p* hid_multitouch +alias hid:b0003g0002v000014C8p00000005 hid_multitouch +alias hid:b0003g0002v00001477p00001025 hid_multitouch +alias hid:b0003g0002v00001477p00001026 hid_multitouch +alias hid:b0003g0002v00001477p00001024 hid_multitouch +alias hid:b0003g0002v00001477p00001022 hid_multitouch +alias hid:b0003g0002v00001477p00001023 hid_multitouch +alias hid:b0003g0002v00001477p00001021 hid_multitouch +alias hid:b0003g0002v00001477p0000100E hid_multitouch +alias hid:b0003g0002v00001477p00001007 hid_multitouch +alias hid:b0003g0002v00001477p00001006 hid_multitouch +alias hid:b0003g0002v00002505p00000220 hid_multitouch +alias hid:b0003g0002v0000227Dp00000A19 hid_multitouch +alias hid:b0003g0002v0000227Dp00000709 hid_multitouch +alias hid:b0003g0002v00001E5Ep00000313 hid_multitouch +alias hid:b0003g0002v00001784p00000016 hid_multitouch +alias hid:b0003g0002v00001403p00005001 hid_multitouch +alias hid:b0003g0002v00000483p00003261 hid_multitouch +alias hid:b0003g0002v00001F87p00000002 hid_multitouch +alias hid:b0003g0002v00000408p00003008 hid_multitouch +alias hid:b0003g0002v00000408p00003001 hid_multitouch +alias hid:b0003g0002v00000408p00003000 hid_multitouch +alias hid:b0003g0002v00002087p00000703 hid_multitouch +alias hid:b0003g0002v000020B3p00000A18 hid_multitouch +alias hid:b0003g0002v0000093Ap00008003 hid_multitouch +alias hid:b0003g0002v0000093Ap00008002 hid_multitouch +alias hid:b0003g0002v0000093Ap00008001 hid_multitouch +alias hid:b0003g0002v000014E1p00003500 hid_multitouch +alias hid:b0003g0002v00000603p00000600 hid_multitouch +alias hid:b0003g0002v000004DAp0000104D hid_multitouch +alias hid:b0003g0002v000004DAp00001044 hid_multitouch +alias hid:b0003g0002v0000062Ap00007100 hid_multitouch +alias hid:b0003g0002v00000486p00000186 hid_multitouch +alias hid:b0003g0002v00000486p00000185 hid_multitouch +alias hid:b0003g0002v0000202Ep00000007 hid_multitouch +alias hid:b0003g0002v0000202Ep00000006 hid_multitouch +alias hid:b0003g0002v00001FD2p00000064 hid_multitouch +alias hid:b0003g0002v00006615p00000070 hid_multitouch +alias hid:b0003g0002v0000222Ap00000001 hid_multitouch +alias hid:b0003g0002v00001CB6p00006651 hid_multitouch +alias hid:b0003g0002v00001CB6p00006650 hid_multitouch +alias hid:b0003g0002v000022EDp00001010 hid_multitouch +alias hid:b0003g0002v00001AADp0000000F hid_multitouch +alias hid:b0005g0002v000025B6p00000002 hid_multitouch +alias hid:b0003g0002v00000DFCp00000003 hid_multitouch +alias hid:b0003g0002v000004E7p00000022 hid_multitouch +alias hid:b0003g0002v00000EEFp0000A001 hid_multitouch +alias hid:b0003g0002v00000EEFp00007349 hid_multitouch +alias hid:b0003g0002v00000EEFp00007302 hid_multitouch +alias hid:b0003g0002v00000EEFp000072FA hid_multitouch +alias hid:b0003g0002v00000EEFp000072AA hid_multitouch +alias hid:b0003g0002v00000EEFp000072A1 hid_multitouch +alias hid:b0003g0002v00000EEFp00007262 hid_multitouch +alias hid:b0003g0002v00000EEFp0000726B hid_multitouch +alias hid:b0003g0002v00000EEFp0000722A hid_multitouch +alias hid:b0003g0002v00000EEFp00007224 hid_multitouch +alias hid:b0003g0002v00000EEFp0000725E hid_multitouch +alias hid:b0003g0002v00000EEFp00007207 hid_multitouch +alias hid:b0003g0002v00000EEFp0000720C hid_multitouch +alias hid:b0003g0002v00000EEFp0000480E hid_multitouch +alias hid:b0003g0002v00000EEFp0000480D hid_multitouch +alias hid:b0003g*v000004B4p0000C001 hid_multitouch +alias hid:b0003g0002v00001FF7p00000013 hid_multitouch +alias hid:b0003g0002v00002247p00000001 hid_multitouch +alias hid:b0003g0002v00002087p00000F01 hid_multitouch +alias hid:b0003g0002v00002087p00000B03 hid_multitouch +alias hid:b0003g0002v00002087p00000A02 hid_multitouch +alias hid:b0003g0002v00002087p00000A01 hid_multitouch +alias hid:b0003g0002v00002453p00000100 hid_multitouch +alias hid:b0003g0002v000003EBp00002118 hid_multitouch +alias hid:b0003g0002v000003EBp0000211C hid_multitouch +alias hid:b0003g0002v00002101p00001011 hid_multitouch +alias hid:b0003g0002v00000596p00000506 hid_multitouch +alias hid:b0003g0002v00000596p00000502 hid_multitouch +alias hid:b0003g0002v00000596p00000500 hid_multitouch +alias hid:b0003g*v00001B96p00000014 hid_ntrig +alias hid:b0003g*v00001B96p00000013 hid_ntrig +alias hid:b0003g*v00001B96p00000012 hid_ntrig +alias hid:b0003g*v00001B96p00000011 hid_ntrig +alias hid:b0003g*v00001B96p00000010 hid_ntrig +alias hid:b0003g*v00001B96p0000000F hid_ntrig +alias hid:b0003g*v00001B96p0000000E hid_ntrig +alias hid:b0003g*v00001B96p0000000D hid_ntrig +alias hid:b0003g*v00001B96p0000000C hid_ntrig +alias hid:b0003g*v00001B96p0000000B hid_ntrig +alias hid:b0003g*v00001B96p0000000A hid_ntrig +alias hid:b0003g*v00001B96p00000009 hid_ntrig +alias hid:b0003g*v00001B96p00000008 hid_ntrig +alias hid:b0003g*v00001B96p00000007 hid_ntrig +alias hid:b0003g*v00001B96p00000006 hid_ntrig +alias hid:b0003g*v00001B96p00000005 hid_ntrig +alias hid:b0003g*v00001B96p00000004 hid_ntrig +alias hid:b0003g*v00001B96p00000003 hid_ntrig +alias hid:b0003g*v00001B96p00000001 hid_ntrig +alias hid:b0003g*v00001223p00003F07 hid_ortek +alias hid:b0003g*v000005A4p00002000 hid_ortek +alias hid:b0003g*v000005A4p00001700 hid_ortek +alias hid:b0003g*v0000041Ep00002801 hid_prodikeys +alias hid:b0003g*v00000E8Fp00000003 hid_pl +alias hid:b0003g*v00000810p00000002 hid_pl +alias hid:b0003g*v00000810p00000001 hid_pl +alias hid:b0003g*v000018B1p00000037 hid_petalynx +alias hid:b0003g*v000004D8p0000F002 hid_picolcd +alias hid:b0003g*v000004D8p0000C002 hid_picolcd +alias hid:b0003g*v00000461p00004E05 hid_primax +alias hid:b0003g*v00001E7Dp000030D4 hid_roccat_arvo +alias hid:b0003g*v00001E7Dp0000319C hid_roccat_isku +alias hid:b0003g*v00001E7Dp00002CED hid_roccat_kone +alias hid:b0003g*v00001E7Dp00002D51 hid_roccat_koneplus +alias hid:b0003g*v00001E7Dp00002D50 hid_roccat_kovaplus +alias hid:b0003g*v00001E7Dp00002CF6 hid_roccat_pyra +alias hid:b0003g*v00001E7Dp00002C24 hid_roccat_pyra +alias hid:b0003g*v00001E7Dp00002D5A hid_roccat_savu +alias hid:b0003g*v000006A3p00000621 hid_saitek +alias hid:b0003g*v00000419p00000600 hid_samsung +alias hid:b0003g*v00000419p00000001 hid_samsung +alias hid:b0003g*v00000925p00008866 hid_sjoy +alias hid:b0003g*v00000925p00008888 hid_sjoy +alias hid:b0003g*v00000925p00000005 hid_sjoy +alias hid:b0003g*v00006666p00008804 hid_sjoy +alias hid:b0003g*v00006666p00008802 hid_sjoy +alias hid:b0003g*v00006666p00008801 hid_sjoy +alias hid:b0003g*v0000054Cp0000024B hid_sony +alias hid:b0005g*v0000054Cp00000268 hid_sony +alias hid:b0003g*v0000054Cp0000042F hid_sony +alias hid:b0003g*v0000054Cp00000268 hid_sony +alias hid:b0003g*v00001AE7p00009001 hid_speedlink +alias hid:b0003g*v000004FCp000005D8 hid_sunplus +alias hid:b0003g*v00000E8Fp00000012 hid_gaff +alias hid:b0003g*v0000044Fp0000B65A hid_tmff +alias hid:b0003g*v0000044Fp0000B654 hid_tmff +alias hid:b0003g*v0000044Fp0000B653 hid_tmff +alias hid:b0003g*v0000044Fp0000B651 hid_tmff +alias hid:b0003g*v0000044Fp0000B324 hid_tmff +alias hid:b0003g*v0000044Fp0000B323 hid_tmff +alias hid:b0003g*v0000044Fp0000B304 hid_tmff +alias hid:b0003g*v0000044Fp0000B300 hid_tmff +alias hid:b0003g*v0000150Ap00001201 hid_tivo +alias hid:b0005g*v0000150Ap00001200 hid_tivo +alias hid:b0003g*v000004F2p00000618 hid_topseed +alias hid:b0003g*v00001784p00000004 hid_topseed +alias hid:b0003g*v0000046Ep00005577 hid_topseed +alias hid:b0003g*v0000046Ep00005578 hid_topseed +alias hid:b0003g*v00000766p00000204 hid_topseed +alias hid:b0003g*v00006253p00000100 hid_twinhan +alias hid:b0003g*v00005543p00000522 hid_uclogic +alias hid:b0003g*v00005543p00000064 hid_uclogic +alias hid:b0003g*v00005543p00000005 hid_uclogic +alias hid:b0003g*v00005543p00000004 hid_uclogic +alias hid:b0003g*v00005543p00000003 hid_uclogic +alias hid:b0003g*v00005543p00000042 hid_uclogic +alias hid:b0003g*v00000C12p00000030 hid_zpff +alias hid:b0003g*v00000C12p00000005 hid_zpff +alias hid:b0003g*v000013ECp00000006 hid_zydacron +alias hid:b0005g*v0000056Ap000000BD hid_wacom +alias hid:b0005g*v0000056Ap00000081 hid_wacom +alias hid:b0003g*v0000172Fp00000502 hid_waltop +alias hid:b0003g*v0000172Fp00000500 hid_waltop +alias hid:b0003g*v0000172Fp00000501 hid_waltop +alias hid:b0003g*v0000172Fp00000038 hid_waltop +alias hid:b0003g*v0000172Fp00000037 hid_waltop +alias hid:b0003g*v0000172Fp00000034 hid_waltop +alias hid:b0003g*v0000172Fp00000032 hid_waltop +alias hid:b0005g*v0000057Ep00000306 hid_wiimote +alias usb:vFFFFpFFFFd*dc*dsc*dp*ic*isc*ip*in* lirc_xbox +alias usb:v045Ep0284d*dc*dsc*dp*ic*isc*ip*in* lirc_xbox +alias usb:v040Bp6521d*dc*dsc*dp*ic*isc*ip*in* lirc_xbox +alias usb:v1131p2035d*dc*dsc*dp*ic*isc*ip*in* w35und +alias usb:v18E8p6233d*dc*dsc*dp*ic*isc*ip*in* w35und +alias usb:v18E8p6230d*dc*dsc*dp*ic*isc*ip*in* w35und +alias usb:v18E8p6217d*dc*dsc*dp*ic*isc*ip*in* w35und +alias usb:v18E8p6206d*dc*dsc*dp*ic*isc*ip*in* w35und +alias usb:v18E8p6201d*dc*dsc*dp*ic*isc*ip*in* w35und +alias usb:v0416p0035d*dc*dsc*dp*ic*isc*ip*in* w35und +alias usb:v0543p0F01d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v9016p182Dd*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0BB2p0302d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v124Ap4017d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v1668p6106d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0411p0044d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v2821p3300d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v083Ap3503d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v124Ap168Bd*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v2C02p14EAd*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v50C2p4013d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v2001p3702d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v2001p3700d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v2821p3300d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v03F3p0020d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0846p4110d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v04F1p3009d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0411p0027d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0BAFp00EBd*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0B3Bp1602d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0B3Bp1601d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v413Cp8100d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0CDEp0005d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0CDEp0002d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0967p0204d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v045Ep006Ed*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0D8Ep7A01d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v8086p1111d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v08DEp7A01d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0411p0016d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v049Fp0033d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v067Cp1022d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v066Bp2213d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v066Bp2212d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v1915p2236d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v1668p0421d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v1668p0408d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v09AAp3642d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v07AAp0012d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v04BBp0922d*dc*dsc*dp*ic*isc*ip*in* prism2_usb +alias usb:v0409p02B6d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v7392p7622d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v07AAp0051d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v050Dp845Ad*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDAp8174d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3325d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3310d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3341d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3340d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3339d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v04F2pAFF6d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v04F2pAFF5d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v04F2pAFF2d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v14B2p3302d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v14B2p3301d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v14B2p3300d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p0064d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p004Cd*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p0049d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p0058d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v2019p4901d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v2019pED18d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3306d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0E66p0015d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v06F8pE031d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v1740p9605d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v7392p7612d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v07D1p3303d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v07D1p3300d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v07D1p3302d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v050Dp815Fd*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3309d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3336d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3335d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3334d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3333d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3342d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3311d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v13D3p3323d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0EB0p9061d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDAp8192d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDAp8172d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v25D4p4CABd*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v25D4p4CA1d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v083ApC512d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v20F4p646Bd*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v1690p0752d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDAp5077d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v177Fp0154d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p0063d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p005Dd*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p005Bd*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p004Bd*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p0059d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p0045d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0DF6p0057d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v2019pED16d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v2019pAB28d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0789p0167d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v06F8pE032d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v06F8pE034d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0E66p0016d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v1740p9603d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v7392p7611d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v07D1p3306d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v2001p3306d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v07AAp0047d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v050Dp945Ad*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0B05p1791d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0B05p1786d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v07B8p8188d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDApC512d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDAp8713d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDAp8712d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDAp8173d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v0BDAp8171d*dc*dsc*dp*ic*isc*ip*in* r8712u +alias usb:v1076p720Fd*dc*dsc*dp*ic*isc*ip*in* gdmwm +alias usb:v1076p7F0Fd*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F0Ed*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F0Dd*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F0Cd*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F0Bd*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F0Ad*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F09d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F08d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F07d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F06d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F05d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F04d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F03d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F02d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F01d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F00d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7F30d*dc*dsc*dp*ic*isc*ip*in* gdmwm +alias usb:v1076p7F20d*dc*dsc*dp*ic*isc*ip*in* gdmwm +alias usb:v1076p7E0Fd*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E0Ed*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E0Dd*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E0Cd*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E0Bd*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E0Ad*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E09d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E08d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E07d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E06d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E05d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E04d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E03d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E02d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E01d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E00d*dc*dsc*dp*ic0Aisc*ip*in* gdmwm +alias usb:v1076p7E30d*dc*dsc*dp*ic*isc*ip*in* gdmwm +alias usb:v1076p7E20d*dc*dsc*dp*ic*isc*ip*in* gdmwm +alias sdio:c*v032Ad0008* csr_wifi +alias sdio:c*v032Ad0007* csr_wifi +alias net-pf-16-proto-11 cn +alias platform:uio_pdrv uio_pdrv +alias platform:uio_pdrv_genirq uio_pdrv_genirq +alias tty-ldisc-2 serport +alias serio:ty06pr*id*ex* serio_raw +alias serio:ty01pr*id*ex* serio_raw +alias usb:v04FAp2490d*dc*dsc*dp*ic*isc*ip*in* ds2490 +alias usb:v0A5Cp2033d*dc*dsc*dp*ic*isc*ip*in* bcm203x +alias usb:v08FDp0002d*dc*dsc*dp*ic*isc*ip*in* bpa10x +alias usb:v057Cp2200d*dc*dsc*dp*ic*isc*ip*in* bfusb +alias usb:v0A5Cp*d*dc*dsc*dp*icFFisc01ip01in* btusb +alias usb:v0489pE033d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v413Cp8197d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v0489pE042d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v0C10p0000d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v0BDBp1002d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v044Ep3002d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v044Ep3001d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v04BFp030Ad*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v057Cp3800d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v05ACp8281d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v05ACp821Ad*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v05ACp821Fd*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v05ACp821Bd*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v05ACp8218d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v05ACp8215d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v05ACp8213d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v0A5Cp21E1d*dc*dsc*dp*ic*isc*ip*in* btusb +alias usb:v05ACp*d*dc*dsc*dp*icFFisc01ip01in* btusb +alias usb:v*p*d*dcE0dsc01dp01ic*isc*ip*in* btusb +alias usb:v0489pE036d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0489pE03Cd*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0489pE02Cd*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0489pE057d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0930p0219d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0CF3pE004d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v13D3p3362d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v04CAp3005d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v13D3p3375d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0CF3p311Dd*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0CF3p3004d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v03F0p311Dd*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0489pE03Dd*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0930p0215d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v13D3p3304d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0CF3pE019d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0CF3p3002d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias usb:v0CF3p3000d*dc*dsc*dp*ic*isc*ip*in* ath3k +alias sdio:c*v02DFd912A* btmrvl_sdio +alias sdio:c*v02DFd911B* btmrvl_sdio +alias sdio:c*v02DFd911A* btmrvl_sdio +alias sdio:c*v02DFd9105* btmrvl_sdio +alias sound-service-?-0 snd_mixer_oss +alias sound-service-?-12 snd_pcm_oss +alias sound-service-?-3 snd_pcm_oss +alias char-major-116-* snd +alias devname:snd/timer snd_timer +alias char-major-116-33 snd_timer +alias snd-timer-3 snd_hrtimer +alias devname:snd/seq snd_seq +alias char-major-116-1 snd_seq +alias sound-service-?-8 snd_seq_oss +alias sound-service-?-1 snd_seq_oss +alias snd-seq-client-14 snd_seq_dummy +alias platform:bcm2835_alsa snd_bcm2835 +alias usb:v*p*d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v*p*d*dc*dsc*dp*ic01isc03ip*in* snd_usb_audio +alias usb:v045Ep0283d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0DBAp1000d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0FD9p0008d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v2040p7280d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v2040p721Fd*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v2040p721Ed*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v2040p721Bd*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v2040p7217d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v2040p7210d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v2040p7240d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v2040p7200d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v7104p2202d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v4752p0011d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v1F38p0001d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v17CCp1020d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v17CCp1010d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v17CCp1000d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v13E5p0001d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v133Ep0815d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v1235p4661d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v1235p000Ed*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v1235p0002d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v1235p0001d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v103Dp0101d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v103Dp0100d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0CCDp0035d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0CCDp0028d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0CCDp0014d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0CCDp0013d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0CCDp0012d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v09E8p0062d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0944p0201d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0944p0200d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v086Ap0003d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v086Ap0002d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v086Ap0001d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v07FDp0001d*dc*dsc02dp*ic*isc*ip*in* snd_usb_audio +alias usb:v07CFp6802d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v07CFp6801d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0763p2081d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p2080d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p2019d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0763p200Dd*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p2008d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p2003d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p2001d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p1041d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p1033d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p1031d010dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0763p1021d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p1015d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p1011d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0763p1002d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v06F8pB000d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p014Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0130d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p011Ed*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p012Ad*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0127d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0113d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0111d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p010Fd*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p0109d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0108d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p0104d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p00E9d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p00E6d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p00DAd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p00C4d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p00C2d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p00ADd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p00A6d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p00A3d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p009Ad*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0096d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p008Bd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0080d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p007Ad*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p0075d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0074d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p006Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p006Ad*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p0065d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0064d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0060d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0052d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0050d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p004Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p004Cd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0048d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0047d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0042d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0040d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p003Bd*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p0037d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0033d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p002Fd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p002Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p002Bd*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0582p0029d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0027d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0025d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0023d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p001Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p001Bd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0016d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0014d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0012d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0010d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p000Cd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p000Bd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0009d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0008d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0007d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0005d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0004d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0003d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0002d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p0000d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p7010d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p7000d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p500Fd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p500Ed*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p500Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p500Cd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p500Bd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p500Ad*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5009d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5008d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5007d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5006d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5005d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5004d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5003d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5002d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5001d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p5000d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p2003d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p2002d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p2001d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p2000d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1503d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p105Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p105Cd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p105Bd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p105Ad*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1059d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1058d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1057d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1056d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1055d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1054d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0499p1053d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0499p1052d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1051d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1050d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p104Fd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p104Ed*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0499p1045d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1044d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1043d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1042d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1041d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1040d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p103Fd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p103Ed*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p103Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p103Cd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p103Bd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p103Ad*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1039d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1038d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1037d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1036d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1035d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1034d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1033d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1032d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1031d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1030d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p102Ed*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p102Bd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p102Ad*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1029d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1028d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1027d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1026d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1025d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1024d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1023d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1022d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1021d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1020d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p101Fd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p101Ed*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p101Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p101Cd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p101Bd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p101Ad*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1019d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1018d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1017d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1016d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1015d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1014d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1013d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1012d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1011d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1010d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p100Fd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p100Ed*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p100Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p100Cd*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p100Ad*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0499p1009d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1008d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1007d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1006d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1005d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1004d*dc*dsc*dp*icFFisc*ip*in* snd_usb_audio +alias usb:v0499p1003d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1002d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1001d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0499p1000d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v046Dp0990d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v046Dp08F6d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v046Dp08F5d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v046Dp08F0d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v046Dp08C6d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v046Dp08AEd*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v046Dp0850d*dc*dsc*dp*ic01isc01ip*in* snd_usb_audio +alias usb:v041Ep3F19d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v041Ep3F0Ad*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v041Ep3F04d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v041Ep3F02d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v041Ep3010d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v041Ep3048d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0403pB8D8d*dc*dsc*dp*ic*isc*ip*in* snd_usb_audio +alias usb:v0582p008Dd*dc*dsc*dp*ic*isc*ip*in* snd_ua101 +alias usb:v0582p007Dd*dc*dsc*dp*ic*isc*ip*in* snd_ua101 +alias usb:v0582p0044d*dc*dsc*dp*ic*isc*ip*in* snd_ua101 +alias usb:v17CCp0808d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp041Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCpBAFFd*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp2305d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp041Cd*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp0839d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp0D8Dd*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp1915d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp1978d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp0815d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp4712d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp4711d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp1940d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v17CCp1969d*dc*dsc*dp*ic*isc*ip*in* snd_usb_caiaq +alias usb:v0CCDp0080d*dc*dsc*dp*ic*isc*ip*in* snd_usb_6fire +alias ematch-kind-1 em_cmp +alias ematch-kind-2 em_nbyte +alias ematch-kind-3 em_u32 +alias ematch-kind-4 em_meta +alias ematch-kind-5 em_text +alias ematch-kind-8 em_ipset +alias net-pf-16-proto-12 nfnetlink +alias nfnetlink-subsys-7 nfnetlink_acct +alias nfnetlink-subsys-3 nfnetlink_queue +alias nfnetlink-subsys-4 nfnetlink_log +alias ip_conntrack_proto_sctp nf_conntrack_proto_sctp +alias nfnetlink-subsys-2 nf_conntrack_netlink +alias nfnetlink-subsys-1 nf_conntrack_netlink +alias ip_conntrack_netlink nf_conntrack_netlink +alias nfct-helper-amanda nf_conntrack_amanda +alias ip_conntrack_amanda nf_conntrack_amanda +alias nfct-helper-ftp nf_conntrack_ftp +alias ip_conntrack_ftp nf_conntrack_ftp +alias nfct-helper-H.245 nf_conntrack_h323 +alias nfct-helper-Q.931 nf_conntrack_h323 +alias nfct-helper-RAS nf_conntrack_h323 +alias ip_conntrack_h323 nf_conntrack_h323 +alias nfct-helper-irc nf_conntrack_irc +alias ip_conntrack_irc nf_conntrack_irc +alias nfct-helper-netbios_ns nf_conntrack_netbios_ns +alias ip_conntrack_netbios_ns nf_conntrack_netbios_ns +alias nfct-helper-snmp nf_conntrack_snmp +alias nfct-helper-pptp nf_conntrack_pptp +alias ip_conntrack_pptp nf_conntrack_pptp +alias nfct-helper-sane nf_conntrack_sane +alias nfct-helper-sip nf_conntrack_sip +alias ip_conntrack_sip nf_conntrack_sip +alias nfct-helper-tftp nf_conntrack_tftp +alias ip_conntrack_tftp nf_conntrack_tftp +alias ip6t_tcp xt_tcpudp +alias ip6t_udp xt_tcpudp +alias ipt_tcp xt_tcpudp +alias ipt_udp xt_tcpudp +alias xt_udp xt_tcpudp +alias xt_tcp xt_tcpudp +alias ip6t_MARK xt_mark +alias ipt_MARK xt_mark +alias ip6t_mark xt_mark +alias ipt_mark xt_mark +alias ip6t_connmark xt_connmark +alias ipt_connmark xt_connmark +alias ip6t_CONNMARK xt_connmark +alias ipt_CONNMARK xt_connmark +alias ip6t_SET xt_set +alias ipt_SET xt_set +alias ip6t_set xt_set +alias ipt_set xt_set +alias xt_SET xt_set +alias arpt_AUDIT xt_AUDIT +alias ebt_AUDIT xt_AUDIT +alias ip6t_AUDIT xt_AUDIT +alias ipt_AUDIT xt_AUDIT +alias ip6t_CHECKSUM xt_CHECKSUM +alias ipt_CHECKSUM xt_CHECKSUM +alias arpt_CLASSIFY xt_CLASSIFY +alias ip6t_CLASSIFY xt_CLASSIFY +alias ipt_CLASSIFY xt_CLASSIFY +alias ip6t_CT xt_CT +alias ipt_CT xt_CT +alias ip6t_TOS xt_DSCP +alias ipt_TOS xt_DSCP +alias ip6t_DSCP xt_DSCP +alias ipt_DSCP xt_DSCP +alias ip6t_HL xt_HL +alias ipt_TTL xt_HL +alias ip6t_HMARK xt_HMARK +alias ipt_HMARK xt_HMARK +alias ip6t_LED xt_LED +alias ipt_LED xt_LED +alias ip6t_LOG xt_LOG +alias ipt_LOG xt_LOG +alias ip6t_NFLOG xt_NFLOG +alias ipt_NFLOG xt_NFLOG +alias arpt_NFQUEUE xt_NFQUEUE +alias ip6t_NFQUEUE xt_NFQUEUE +alias ipt_NFQUEUE xt_NFQUEUE +alias ip6t_NOTRACK xt_NOTRACK +alias ipt_NOTRACK xt_NOTRACK +alias ip6t_RATEEST xt_RATEEST +alias ipt_RATEEST xt_RATEEST +alias ip6t_TPROXY xt_TPROXY +alias ipt_TPROXY xt_TPROXY +alias ip6t_TCPMSS xt_TCPMSS +alias ipt_TCPMSS xt_TCPMSS +alias ip6t_TCPOPTSTRIP xt_TCPOPTSTRIP +alias ipt_TCPOPTSTRIP xt_TCPOPTSTRIP +alias ip6t_TEE xt_TEE +alias ipt_TEE xt_TEE +alias ip6t_TRACE xt_TRACE +alias ipt_TRACE xt_TRACE +alias ip6t_IDLETIMER xt_IDLETIMER +alias ipt_IDLETIMER xt_IDLETIMER +alias ip6t_addrtype xt_addrtype +alias ipt_addrtype xt_addrtype +alias ip6t_cluster xt_cluster +alias ipt_cluster xt_cluster +alias ip6t_comment xt_comment +alias ipt_comment xt_comment +alias ip6t_connbytes xt_connbytes +alias ipt_connbytes xt_connbytes +alias ip6t_connlimit xt_connlimit +alias ipt_connlimit xt_connlimit +alias ip6t_conntrack xt_conntrack +alias ipt_conntrack xt_conntrack +alias ip6t_cpu xt_cpu +alias ipt_cpu xt_cpu +alias ip6t_dccp xt_dccp +alias ipt_dccp xt_dccp +alias ip6t_devgroup xt_devgroup +alias ipt_devgroup xt_devgroup +alias ip6t_tos xt_dscp +alias ipt_tos xt_dscp +alias ip6t_dscp xt_dscp +alias ipt_dscp xt_dscp +alias ip6t_ecn xt_ecn +alias ipt_ecn xt_ecn +alias ip6t_esp xt_esp +alias ipt_esp xt_esp +alias ip6t_hashlimit xt_hashlimit +alias ipt_hashlimit xt_hashlimit +alias ip6t_helper xt_helper +alias ipt_helper xt_helper +alias ip6t_hl xt_hl +alias ipt_ttl xt_hl +alias ip6t_iprange xt_iprange +alias ipt_iprange xt_iprange +alias ip6t_length xt_length +alias ipt_length xt_length +alias ip6t_limit xt_limit +alias ipt_limit xt_limit +alias ip6t_mac xt_mac +alias ipt_mac xt_mac +alias ip6t_multiport xt_multiport +alias ipt_multiport xt_multiport +alias ip6t_nfacct xt_nfacct +alias ipt_nfacct xt_nfacct +alias nfnetlink-subsys-5 xt_osf +alias ip6t_owner xt_owner +alias ipt_owner xt_owner +alias ip6t_physdev xt_physdev +alias ipt_physdev xt_physdev +alias ip6t_pkttype xt_pkttype +alias ipt_pkttype xt_pkttype +alias ip6t_policy xt_policy +alias ipt_policy xt_policy +alias ip6t_quota xt_quota +alias ipt_quota xt_quota +alias ip6t_rateest xt_rateest +alias ipt_rateest xt_rateest +alias ipt_realm xt_realm +alias ip6t_recent xt_recent +alias ipt_recent xt_recent +alias ip6t_sctp xt_sctp +alias ipt_sctp xt_sctp +alias ip6t_socket xt_socket +alias ipt_socket xt_socket +alias ip6t_state xt_state +alias ipt_state xt_state +alias ip6t_statistic xt_statistic +alias ipt_statistic xt_statistic +alias ip6t_string xt_string +alias ipt_string xt_string +alias ip6t_tcpmss xt_tcpmss +alias ipt_tcpmss xt_tcpmss +alias ip6t_time xt_time +alias ipt_time xt_time +alias ip6t_u32 xt_u32 +alias ipt_u32 xt_u32 +alias nfnetlink-subsys-6 ip_set +alias ip_set_bitmap:ip ip_set_bitmap_ip +alias ip_set_bitmap:ip,mac ip_set_bitmap_ipmac +alias ip_set_bitmap:port ip_set_bitmap_port +alias ip_set_hash:ip ip_set_hash_ip +alias ip_set_hash:ip,port ip_set_hash_ipport +alias ip_set_hash:ip,port,ip ip_set_hash_ipportip +alias ip_set_hash:ip,port,net ip_set_hash_ipportnet +alias ip_set_hash:net ip_set_hash_net +alias ip_set_hash:net,port ip_set_hash_netport +alias ip_set_hash:net,iface ip_set_hash_netiface +alias ip_set_list:set ip_set_list_set +alias ip_conntrack nf_conntrack_ipv4 +alias nf_conntrack-2 nf_conntrack_ipv4 +alias nf-nat-ipv4 nf_nat +alias ip_nat_amanda nf_nat_amanda +alias ip_nat_ftp nf_nat_ftp +alias ip_nat_h323 nf_nat_h323 +alias ip_nat_irc nf_nat_irc +alias ip_nat_pptp nf_nat_pptp +alias ip_nat_sip nf_nat_sip +alias ip_nat_snmp_basic nf_nat_snmp_basic +alias ip_nat_tftp nf_nat_tftp +alias ip_nat iptable_nat +alias net-pf-16-proto-5 ipt_ULOG +alias netdev-tunl0 ipip +alias netdev-ip_vti0 ip_vti +alias rtnl-link-vti ip_vti +alias xfrm-type-2-51 ah4 +alias xfrm-type-2-50 esp4 +alias xfrm-type-2-108 ipcomp +alias xfrm-type-2-4 xfrm4_tunnel +alias xfrm-mode-2-4 xfrm4_mode_beet +alias xfrm-mode-2-0 xfrm4_mode_transport +alias xfrm-mode-2-1 xfrm4_mode_tunnel +alias net-pf-16-proto-4-type-10 inet_diag +alias net-pf-16-proto-4-type-2 inet_diag +alias net-pf-16-proto-4-type-2-6 tcp_diag +alias net-pf-16-proto-4-type-2-136 udp_diag +alias net-pf-16-proto-4-type-2-17 udp_diag +alias nf_conntrack-10 nf_conntrack_ipv6 +alias ip6t_dst ip6t_hbh +alias net-pf-10 ipv6 +alias xfrm-type-10-51 ah6 +alias xfrm-type-10-50 esp6 +alias xfrm-type-10-108 ipcomp6 +alias xfrm-type-10-41 xfrm6_tunnel +alias xfrm-mode-10-0 xfrm6_mode_transport +alias xfrm-mode-10-1 xfrm6_mode_tunnel +alias xfrm-mode-10-4 xfrm6_mode_beet +alias netdev-sit0 sit +alias rtnl-link-vlan 8021q +alias net-pf-15 af_key +alias rtnl-link-bridge bridge +alias net-pf-6 netrom +alias net-pf-11 rose +alias net-pf-3 ax25 +alias net-pf-23 irda +alias char-major-10-187 irnet +alias char-major-161-* ircomm_tty +alias net-pf-31 bluetooth +alias bt-proto-3 rfcomm +alias bt-proto-4 bnep +alias bt-proto-6 hidp +alias net-pf-16-proto-16-family-nfc nfc +alias net-pf-39 nfc diff --git a/lib/modules/3.6.11+/modules.alias.bin b/lib/modules/3.6.11+/modules.alias.bin new file mode 100644 index 000000000..1f5cfd82f Binary files /dev/null and b/lib/modules/3.6.11+/modules.alias.bin differ diff --git a/lib/modules/3.6.11+/modules.builtin b/lib/modules/3.6.11+/modules.builtin new file mode 100644 index 000000000..341a89994 --- /dev/null +++ b/lib/modules/3.6.11+/modules.builtin @@ -0,0 +1,123 @@ +kernel/kernel/configs.ko +kernel/fs/mbcache.ko +kernel/fs/autofs4/autofs4.ko +kernel/fs/cachefiles/cachefiles.ko +kernel/fs/configfs/configfs.ko +kernel/fs/exportfs/exportfs.ko +kernel/fs/ext4/ext4.ko +kernel/fs/fat/fat.ko +kernel/fs/fat/vfat.ko +kernel/fs/fat/msdos.ko +kernel/fs/fscache/fscache.ko +kernel/fs/jbd2/jbd2.ko +kernel/fs/lockd/lockd.ko +kernel/fs/nfs/nfs.ko +kernel/fs/nfs/nfsv2.ko +kernel/fs/nfs/nfsv3.ko +kernel/fs/nfs/nfsv4.ko +kernel/fs/nfs_common/nfs_acl.ko +kernel/fs/nls/nls_base.ko +kernel/fs/nls/nls_cp437.ko +kernel/fs/nls/nls_ascii.ko +kernel/fs/nls/mac-celtic.ko +kernel/fs/nls/mac-centeuro.ko +kernel/fs/nls/mac-croatian.ko +kernel/fs/nls/mac-cyrillic.ko +kernel/fs/nls/mac-gaelic.ko +kernel/fs/nls/mac-greek.ko +kernel/fs/nls/mac-iceland.ko +kernel/fs/nls/mac-inuit.ko +kernel/fs/nls/mac-romanian.ko +kernel/fs/nls/mac-roman.ko +kernel/fs/nls/mac-turkish.ko +kernel/crypto/crypto.ko +kernel/crypto/crypto_wq.ko +kernel/crypto/crypto_algapi.ko +kernel/crypto/aead.ko +kernel/crypto/crypto_blkcipher.ko +kernel/crypto/chainiv.ko +kernel/crypto/eseqiv.ko +kernel/crypto/crypto_hash.ko +kernel/crypto/pcompress.ko +kernel/crypto/cryptomgr.ko +kernel/crypto/hmac.ko +kernel/crypto/md5.ko +kernel/crypto/sha1_generic.ko +kernel/crypto/cbc.ko +kernel/crypto/des_generic.ko +kernel/crypto/crc32c.ko +kernel/crypto/lzo.ko +kernel/crypto/rng.ko +kernel/crypto/krng.ko +kernel/block/deadline-iosched.ko +kernel/block/cfq-iosched.ko +kernel/drivers/base/firmware_class.ko +kernel/drivers/block/brd.ko +kernel/drivers/block/loop.ko +kernel/drivers/char/raw.ko +kernel/drivers/cpufreq/cpufreq_performance.ko +kernel/drivers/cpufreq/cpufreq_powersave.ko +kernel/drivers/cpufreq/cpufreq_userspace.ko +kernel/drivers/cpufreq/cpufreq_ondemand.ko +kernel/drivers/cpufreq/cpufreq_conservative.ko +kernel/drivers/cpufreq/freq_table.ko +kernel/drivers/extcon/extcon_class.ko +kernel/drivers/hid/hid.ko +kernel/drivers/hid/hid-generic.ko +kernel/drivers/hid/usbhid/usbhid.ko +kernel/drivers/i2c/i2c-core.ko +kernel/drivers/input/input-core.ko +kernel/drivers/input/mousedev.ko +kernel/drivers/leds/led-class.ko +kernel/drivers/misc/vc04_services/vchiq.ko +kernel/drivers/mmc/card/mmc_block.ko +kernel/drivers/mmc/core/mmc_core.ko +kernel/drivers/mmc/host/sdhci.ko +kernel/drivers/mmc/host/sdhci-bcm2708.ko +kernel/drivers/mmc/host/sdhci-pltfm.ko +kernel/drivers/net/mii.ko +kernel/drivers/net/usb/smsc95xx.ko +kernel/drivers/net/usb/usbnet.ko +kernel/drivers/net/usb/cdc_ncm.ko +kernel/drivers/scsi/scsi_mod.ko +kernel/drivers/scsi/sd_mod.ko +kernel/drivers/staging/zsmalloc/zsmalloc.ko +kernel/drivers/thermal/thermal_sys.ko +kernel/drivers/thermal/bcm2835-thermal.ko +kernel/drivers/tty/serial/serial_core.ko +kernel/drivers/tty/serial/amba-pl011.ko +kernel/drivers/tty/serial/kgdboc.ko +kernel/drivers/usb/usb-common.ko +kernel/drivers/usb/core/usbcore.ko +kernel/drivers/usb/host/dwc_common_port/dwc_common_port_lib.ko +kernel/drivers/usb/host/dwc_otg/dwc_otg.ko +kernel/drivers/usb/storage/usb-storage.ko +kernel/drivers/usb/storage/usb-libusual.ko +kernel/drivers/video/fb.ko +kernel/drivers/video/cfbfillrect.ko +kernel/drivers/video/cfbcopyarea.ko +kernel/drivers/video/cfbimgblt.ko +kernel/drivers/video/bcm2708_fb.ko +kernel/drivers/video/console/fbcon.ko +kernel/drivers/video/console/bitblit.ko +kernel/drivers/video/console/font.ko +kernel/drivers/video/console/softcursor.ko +kernel/sound/soundcore.ko +kernel/net/dns_resolver/dns_resolver.ko +kernel/net/ipv4/tcp_cubic.ko +kernel/net/packet/af_packet.ko +kernel/net/sunrpc/sunrpc.ko +kernel/net/sunrpc/auth_gss/auth_rpcgss.ko +kernel/net/unix/unix.ko +kernel/net/unix/unix_diag.ko +kernel/net/xfrm/xfrm_algo.ko +kernel/net/xfrm/xfrm_user.ko +kernel/lib/bitrev.ko +kernel/lib/crc16.ko +kernel/lib/crc-itu-t.ko +kernel/lib/crc32.ko +kernel/lib/libcrc32c.ko +kernel/lib/lzo/lzo_compress.ko +kernel/lib/lzo/lzo_decompress.ko +kernel/lib/xz/xz_dec.ko +kernel/lib/zlib_inflate/zlib_inflate.ko diff --git a/lib/modules/3.6.11+/modules.builtin.bin b/lib/modules/3.6.11+/modules.builtin.bin new file mode 100644 index 000000000..e2b47a858 Binary files /dev/null and b/lib/modules/3.6.11+/modules.builtin.bin differ diff --git a/lib/modules/3.6.11+/modules.ccwmap b/lib/modules/3.6.11+/modules.ccwmap new file mode 100644 index 000000000..7dac03658 --- /dev/null +++ b/lib/modules/3.6.11+/modules.ccwmap @@ -0,0 +1 @@ +# ccw module match_flags cu_type cu_model dev_type dev_model diff --git a/lib/modules/3.6.11+/modules.dep b/lib/modules/3.6.11+/modules.dep new file mode 100644 index 000000000..d61e97ed0 --- /dev/null +++ b/lib/modules/3.6.11+/modules.dep @@ -0,0 +1,1160 @@ +kernel/fs/quota/quota_tree.ko: +kernel/fs/nls/nls_cp737.ko: +kernel/fs/nls/nls_cp775.ko: +kernel/fs/nls/nls_cp850.ko: +kernel/fs/nls/nls_cp852.ko: +kernel/fs/nls/nls_cp855.ko: +kernel/fs/nls/nls_cp857.ko: +kernel/fs/nls/nls_cp860.ko: +kernel/fs/nls/nls_cp861.ko: +kernel/fs/nls/nls_cp862.ko: +kernel/fs/nls/nls_cp863.ko: +kernel/fs/nls/nls_cp864.ko: +kernel/fs/nls/nls_cp865.ko: +kernel/fs/nls/nls_cp866.ko: +kernel/fs/nls/nls_cp869.ko: +kernel/fs/nls/nls_cp874.ko: +kernel/fs/nls/nls_cp932.ko: +kernel/fs/nls/nls_euc-jp.ko: +kernel/fs/nls/nls_cp936.ko: +kernel/fs/nls/nls_cp949.ko: +kernel/fs/nls/nls_cp950.ko: +kernel/fs/nls/nls_cp1250.ko: +kernel/fs/nls/nls_cp1251.ko: +kernel/fs/nls/nls_iso8859-1.ko: +kernel/fs/nls/nls_iso8859-2.ko: +kernel/fs/nls/nls_iso8859-3.ko: +kernel/fs/nls/nls_iso8859-4.ko: +kernel/fs/nls/nls_iso8859-5.ko: +kernel/fs/nls/nls_iso8859-6.ko: +kernel/fs/nls/nls_iso8859-7.ko: +kernel/fs/nls/nls_cp1255.ko: +kernel/fs/nls/nls_iso8859-9.ko: +kernel/fs/nls/nls_iso8859-13.ko: +kernel/fs/nls/nls_iso8859-14.ko: +kernel/fs/nls/nls_iso8859-15.ko: +kernel/fs/nls/nls_koi8-r.ko: +kernel/fs/nls/nls_koi8-u.ko: +kernel/fs/nls/nls_koi8-ru.ko: +kernel/fs/nls/nls_utf8.ko: +kernel/fs/binfmt_misc.ko: +kernel/fs/reiserfs/reiserfs.ko: +kernel/fs/squashfs/squashfs.ko: +kernel/fs/isofs/isofs.ko: +kernel/fs/hfsplus/hfsplus.ko: +kernel/fs/hfs/hfs.ko: +kernel/fs/ecryptfs/ecryptfs.ko: +kernel/fs/nfsd/nfsd.ko: +kernel/fs/cifs/cifs.ko: +kernel/fs/ntfs/ntfs.ko: +kernel/fs/fuse/fuse.ko: +kernel/fs/fuse/cuse.ko: kernel/fs/fuse/fuse.ko +kernel/fs/udf/udf.ko: +kernel/fs/jfs/jfs.ko: +kernel/fs/xfs/xfs.ko: +kernel/fs/9p/9p.ko: kernel/net/9p/9pnet.ko +kernel/fs/nilfs2/nilfs2.ko: +kernel/fs/ocfs2/ocfs2.ko: kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko kernel/fs/ocfs2/ocfs2_stackglue.ko kernel/fs/quota/quota_tree.ko +kernel/fs/ocfs2/ocfs2_stackglue.ko: +kernel/fs/ocfs2/ocfs2_stack_o2cb.ko: kernel/fs/ocfs2/dlm/ocfs2_dlm.ko kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko kernel/fs/ocfs2/ocfs2_stackglue.ko +kernel/fs/ocfs2/dlmfs/ocfs2_dlmfs.ko: kernel/fs/ocfs2/ocfs2_stackglue.ko kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko +kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko: +kernel/fs/ocfs2/dlm/ocfs2_dlm.ko: kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko +kernel/fs/btrfs/btrfs.ko: kernel/lib/zlib_deflate/zlib_deflate.ko +kernel/fs/gfs2/gfs2.ko: +kernel/crypto/seqiv.ko: +kernel/crypto/xcbc.ko: +kernel/crypto/md4.ko: +kernel/crypto/sha256_generic.ko: +kernel/crypto/sha512_generic.ko: +kernel/crypto/wp512.ko: +kernel/crypto/tgr192.ko: +kernel/crypto/gf128mul.ko: +kernel/crypto/ecb.ko: +kernel/crypto/xts.ko: kernel/crypto/gf128mul.ko +kernel/crypto/aes_generic.ko: +kernel/crypto/cast5.ko: +kernel/crypto/arc4.ko: +kernel/crypto/deflate.ko: kernel/lib/zlib_deflate/zlib_deflate.ko +kernel/crypto/michael_mic.ko: +kernel/crypto/authenc.ko: +kernel/crypto/authencesn.ko: +kernel/crypto/xor.ko: +kernel/crypto/async_tx/async_tx.ko: +kernel/crypto/async_tx/async_memcpy.ko: kernel/crypto/async_tx/async_tx.ko +kernel/crypto/async_tx/async_xor.ko: kernel/crypto/async_tx/async_tx.ko kernel/crypto/xor.ko +kernel/crypto/async_tx/async_pq.ko: kernel/crypto/async_tx/async_xor.ko kernel/crypto/async_tx/async_tx.ko kernel/crypto/xor.ko kernel/lib/raid6/raid6_pq.ko +kernel/crypto/async_tx/async_raid6_recov.ko: kernel/lib/raid6/raid6_pq.ko kernel/crypto/async_tx/async_tx.ko +kernel/crypto/async_tx/raid6test.ko: kernel/crypto/async_tx/async_pq.ko kernel/crypto/async_tx/async_xor.ko kernel/crypto/xor.ko kernel/crypto/async_tx/async_raid6_recov.ko kernel/lib/raid6/raid6_pq.ko kernel/crypto/async_tx/async_tx.ko +kernel/drivers/video/backlight/lcd.ko: +kernel/drivers/video/backlight/backlight.ko: +kernel/drivers/video/backlight/generic_bl.ko: kernel/drivers/video/backlight/backlight.ko +kernel/drivers/video/backlight/lp855x_bl.ko: kernel/drivers/video/backlight/backlight.ko +kernel/drivers/video/backlight/pwm_bl.ko: kernel/drivers/video/backlight/backlight.ko +kernel/drivers/video/sysfillrect.ko: +kernel/drivers/video/syscopyarea.ko: +kernel/drivers/video/sysimgblt.ko: +kernel/drivers/video/fb_sys_fops.ko: +kernel/drivers/video/udlfb.ko: kernel/drivers/video/fb_sys_fops.ko kernel/drivers/video/sysimgblt.ko kernel/drivers/video/sysfillrect.ko kernel/drivers/video/syscopyarea.ko +kernel/drivers/base/regmap/regmap-i2c.ko: +kernel/drivers/base/regmap/regmap-spi.ko: +kernel/drivers/block/pktcdvd.ko: kernel/drivers/cdrom/cdrom.ko +kernel/drivers/block/nbd.ko: +kernel/drivers/block/cryptoloop.ko: +kernel/drivers/block/drbd/drbd.ko: kernel/lib/lru_cache.ko kernel/drivers/connector/cn.ko +kernel/drivers/misc/eeprom/eeprom_93cx6.ko: +kernel/drivers/misc/bmp085-i2c.ko: kernel/drivers/base/regmap/regmap-i2c.ko +kernel/drivers/misc/bmp085-spi.ko: kernel/drivers/base/regmap/regmap-spi.ko +kernel/drivers/nfc/pn533.ko: kernel/net/nfc/nfc.ko +kernel/drivers/scsi/st.ko: +kernel/drivers/scsi/osst.ko: +kernel/drivers/scsi/sr_mod.ko: kernel/drivers/cdrom/cdrom.ko +kernel/drivers/spi/spidev.ko: +kernel/drivers/spi/spi-bcm2708.ko: +kernel/drivers/spi/spi-bitbang.ko: +kernel/drivers/spi/spi-gpio.ko: kernel/drivers/spi/spi-bitbang.ko +kernel/drivers/spi/spi-xcomm.ko: +kernel/drivers/hsi/clients/hsi_char.ko: kernel/drivers/hsi/hsi.ko +kernel/drivers/hsi/hsi.ko: +kernel/drivers/net/hamradio/mkiss.ko: kernel/net/ax25/ax25.ko +kernel/drivers/net/hamradio/6pack.ko: kernel/net/ax25/ax25.ko +kernel/drivers/net/hamradio/yam.ko: kernel/net/ax25/ax25.ko +kernel/drivers/net/hamradio/bpqether.ko: kernel/net/ax25/ax25.ko +kernel/drivers/net/hamradio/baycom_ser_fdx.ko: kernel/drivers/net/hamradio/hdlcdrv.ko kernel/net/ax25/ax25.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/hamradio/hdlcdrv.ko: kernel/net/ax25/ax25.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/hamradio/baycom_ser_hdx.ko: kernel/drivers/net/hamradio/hdlcdrv.ko kernel/net/ax25/ax25.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/wireless/at76c50x-usb.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/hostap/hostap.ko: kernel/net/wireless/lib80211.ko +kernel/drivers/net/wireless/b43/b43.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko kernel/drivers/ssb/ssb.ko +kernel/drivers/net/wireless/b43legacy/b43legacy.ko: kernel/drivers/ssb/ssb.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko kernel/drivers/misc/eeprom/eeprom_93cx6.ko +kernel/drivers/net/wireless/rndis_wlan.ko: kernel/net/wireless/cfg80211.ko kernel/drivers/net/usb/rndis_host.ko kernel/drivers/net/usb/cdc_ether.ko +kernel/drivers/net/wireless/zd1201.ko: +kernel/drivers/net/wireless/libertas/libertas.ko: kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/libertas/usb8xxx.ko: kernel/drivers/net/wireless/libertas/libertas.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/libertas/libertas_sdio.ko: kernel/drivers/net/wireless/libertas/libertas.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko: kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko: kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/rt2x00/rt2800lib.ko: kernel/lib/crc-ccitt.ko kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/rt2x00/rt2500usb.ko: kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/rt2x00/rt73usb.ko: kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/rt2x00/rt2800usb.ko: kernel/drivers/net/wireless/rt2x00/rt2800lib.ko kernel/lib/crc-ccitt.ko kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/p54/p54common.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/wireless/p54/p54usb.ko: kernel/drivers/net/wireless/p54/p54common.ko kernel/lib/crc-ccitt.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/ath/ath9k/ath9k.ko: kernel/net/mac80211/mac80211.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko kernel/drivers/net/wireless/ath/ath.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko: kernel/drivers/net/wireless/ath/ath.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko: kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko kernel/drivers/net/wireless/ath/ath.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko: kernel/net/mac80211/mac80211.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko kernel/drivers/net/wireless/ath/ath.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/ath/carl9170/carl9170.ko: kernel/net/mac80211/mac80211.ko kernel/drivers/net/wireless/ath/ath.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/ath/ath.ko: kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/mac80211_hwsim.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/mwifiex/mwifiex.ko: kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko: kernel/drivers/net/wireless/mwifiex/mwifiex.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko: kernel/drivers/net/wireless/mwifiex/mwifiex.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/net/wireless/rtl8192cu/8192cu.ko: +kernel/drivers/net/usb/catc.ko: +kernel/drivers/net/usb/kaweth.ko: +kernel/drivers/net/usb/pegasus.ko: +kernel/drivers/net/usb/rtl8150.ko: +kernel/drivers/net/usb/asix.ko: kernel/drivers/net/phy/libphy.ko +kernel/drivers/net/usb/cdc_ether.ko: +kernel/drivers/net/usb/cdc_eem.ko: +kernel/drivers/net/usb/dm9601.ko: +kernel/drivers/net/usb/smsc75xx.ko: +kernel/drivers/net/usb/gl620a.ko: +kernel/drivers/net/usb/net1080.ko: +kernel/drivers/net/usb/plusb.ko: +kernel/drivers/net/usb/rndis_host.ko: kernel/drivers/net/usb/cdc_ether.ko +kernel/drivers/net/usb/cdc_subset.ko: +kernel/drivers/net/usb/mcs7830.ko: +kernel/drivers/net/usb/int51x1.ko: +kernel/drivers/net/usb/kalmia.ko: +kernel/drivers/net/usb/ipheth.ko: +kernel/drivers/net/usb/sierra_net.ko: +kernel/drivers/net/usb/cx82310_eth.ko: +kernel/drivers/net/usb/lg-vl600.ko: kernel/drivers/net/usb/cdc_ether.ko +kernel/drivers/net/usb/qmi_wwan.ko: kernel/drivers/usb/class/cdc-wdm.ko +kernel/drivers/net/bonding/bonding.ko: +kernel/drivers/net/macvlan.ko: +kernel/drivers/net/netconsole.ko: +kernel/drivers/net/phy/libphy.ko: +kernel/drivers/net/phy/mdio-bitbang.ko: kernel/drivers/net/phy/libphy.ko +kernel/drivers/net/tun.ko: +kernel/drivers/net/irda/irda-usb.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/irda/stir4200.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/irda/mcs7780.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/irda/irtty-sir.ko: kernel/drivers/net/irda/sir-dev.ko kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/irda/sir-dev.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/irda/kingsun-sir.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/irda/ksdazzle-sir.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/irda/ks959-sir.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/ppp/ppp_generic.ko: kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/ppp/ppp_async.ko: kernel/drivers/net/ppp/ppp_generic.ko kernel/drivers/net/slip/slhc.ko kernel/lib/crc-ccitt.ko +kernel/drivers/net/ppp/bsd_comp.ko: kernel/drivers/net/ppp/ppp_generic.ko kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/ppp/ppp_deflate.ko: kernel/lib/zlib_deflate/zlib_deflate.ko kernel/drivers/net/ppp/ppp_generic.ko kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/ppp/ppp_mppe.ko: kernel/drivers/net/ppp/ppp_generic.ko kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/ppp/ppp_synctty.ko: kernel/drivers/net/ppp/ppp_generic.ko kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/ppp/pppox.ko: kernel/drivers/net/ppp/ppp_generic.ko kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/ppp/pppoe.ko: kernel/drivers/net/ppp/pppox.ko kernel/drivers/net/ppp/ppp_generic.ko kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/slip/slip.ko: kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/slip/slhc.ko: +kernel/drivers/net/wimax/i2400m/i2400m.ko: kernel/net/wimax/wimax.ko +kernel/drivers/net/wimax/i2400m/i2400m-usb.ko: kernel/drivers/net/wimax/i2400m/i2400m.ko kernel/net/wimax/wimax.ko +kernel/drivers/cdrom/cdrom.ko: +kernel/drivers/usb/host/ssb-hcd.ko: kernel/drivers/ssb/ssb.ko +kernel/drivers/usb/storage/ums-alauda.ko: +kernel/drivers/usb/storage/ums-cypress.ko: +kernel/drivers/usb/storage/ums-datafab.ko: +kernel/drivers/usb/storage/ums-eneub6250.ko: +kernel/drivers/usb/storage/ums-freecom.ko: +kernel/drivers/usb/storage/ums-isd200.ko: +kernel/drivers/usb/storage/ums-jumpshot.ko: +kernel/drivers/usb/storage/ums-karma.ko: +kernel/drivers/usb/storage/ums-onetouch.ko: +kernel/drivers/usb/storage/ums-realtek.ko: +kernel/drivers/usb/storage/ums-sddr09.ko: +kernel/drivers/usb/storage/ums-sddr55.ko: +kernel/drivers/usb/storage/ums-usbat.ko: +kernel/drivers/usb/misc/adutux.ko: +kernel/drivers/usb/misc/appledisplay.ko: kernel/drivers/video/backlight/backlight.ko +kernel/drivers/usb/misc/cypress_cy7c63.ko: +kernel/drivers/usb/misc/cytherm.ko: +kernel/drivers/usb/misc/emi26.ko: +kernel/drivers/usb/misc/emi62.ko: +kernel/drivers/usb/misc/ftdi-elan.ko: +kernel/drivers/usb/misc/idmouse.ko: +kernel/drivers/usb/misc/iowarrior.ko: +kernel/drivers/usb/misc/isight_firmware.ko: +kernel/drivers/usb/misc/usblcd.ko: +kernel/drivers/usb/misc/ldusb.ko: +kernel/drivers/usb/misc/usbled.ko: +kernel/drivers/usb/misc/legousbtower.ko: +kernel/drivers/usb/misc/rio500.ko: +kernel/drivers/usb/misc/usbtest.ko: +kernel/drivers/usb/misc/trancevibrator.ko: +kernel/drivers/usb/misc/usbsevseg.ko: +kernel/drivers/usb/misc/yurex.ko: +kernel/drivers/usb/phy/isp1301.ko: +kernel/drivers/usb/mon/usbmon.ko: +kernel/drivers/usb/class/cdc-acm.ko: +kernel/drivers/usb/class/cdc-wdm.ko: +kernel/drivers/usb/image/mdc800.ko: +kernel/drivers/usb/image/microtek.ko: +kernel/drivers/usb/serial/usbserial.ko: +kernel/drivers/usb/serial/aircable.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/ark3116.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/belkin_sa.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/ch341.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/cp210x.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/cyberjack.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/cypress_m8.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/usb_debug.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/digi_acceleport.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/io_edgeport.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/io_ti.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/empeg.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/ftdi_sio.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/funsoft.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/garmin_gps.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/hp4x.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/ipaq.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/ipw.ko: kernel/drivers/usb/serial/usb_wwan.ko kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/ir-usb.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/iuu_phoenix.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/keyspan.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/keyspan_pda.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/kl5kusb105.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/kobil_sct.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/mct_u232.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/metro-usb.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/mos7720.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/mos7840.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/moto_modem.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/navman.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/omninet.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/opticon.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/option.ko: kernel/drivers/usb/serial/usb_wwan.ko kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/oti6858.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/pl2303.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/qcaux.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/qcserial.ko: kernel/drivers/usb/serial/usb_wwan.ko kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/quatech2.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/safe_serial.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/siemens_mpi.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/sierra.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/spcp8x5.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/ssu100.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/symbolserial.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/usb_wwan.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/ti_usb_3410_5052.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/visor.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/whiteheat.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/vivopay-serial.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/zio.ko: kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/chipidea/ci_hdrc.ko: +kernel/drivers/usb/chipidea/ci13xxx_msm.ko: kernel/drivers/usb/chipidea/ci_hdrc.ko +kernel/drivers/input/misc/ad714x.ko: +kernel/drivers/input/misc/ad714x-i2c.ko: kernel/drivers/input/misc/ad714x.ko +kernel/drivers/input/misc/ad714x-spi.ko: kernel/drivers/input/misc/ad714x.ko +kernel/drivers/input/misc/adxl34x.ko: +kernel/drivers/input/misc/adxl34x-i2c.ko: kernel/drivers/input/misc/adxl34x.ko +kernel/drivers/input/misc/adxl34x-spi.ko: kernel/drivers/input/misc/adxl34x.ko +kernel/drivers/input/misc/ati_remote2.ko: +kernel/drivers/input/misc/cm109.ko: +kernel/drivers/input/misc/cma3000_d0x.ko: +kernel/drivers/input/misc/gp2ap002a00f.ko: +kernel/drivers/input/misc/gpio_tilt_polled.ko: kernel/drivers/input/input-polldev.ko +kernel/drivers/input/misc/keyspan_remote.ko: +kernel/drivers/input/misc/powermate.ko: +kernel/drivers/input/misc/rotary_encoder.ko: +kernel/drivers/input/misc/uinput.ko: +kernel/drivers/input/misc/yealink.ko: +kernel/drivers/input/ff-memless.ko: +kernel/drivers/input/input-polldev.ko: +kernel/drivers/input/matrix-keymap.ko: +kernel/drivers/input/joydev.ko: +kernel/drivers/input/evdev.ko: +kernel/drivers/rtc/rtc-bq32k.ko: +kernel/drivers/rtc/rtc-ds1305.ko: +kernel/drivers/rtc/rtc-ds1307.ko: +kernel/drivers/rtc/rtc-ds1374.ko: +kernel/drivers/rtc/rtc-ds1390.ko: +kernel/drivers/rtc/rtc-ds1672.ko: +kernel/drivers/rtc/rtc-ds3232.ko: +kernel/drivers/rtc/rtc-ds3234.ko: +kernel/drivers/rtc/rtc-em3027.ko: +kernel/drivers/rtc/rtc-fm3130.ko: +kernel/drivers/rtc/rtc-isl1208.ko: +kernel/drivers/rtc/rtc-isl12022.ko: +kernel/drivers/rtc/rtc-m41t80.ko: +kernel/drivers/rtc/rtc-m41t93.ko: +kernel/drivers/rtc/rtc-m41t94.ko: +kernel/drivers/rtc/rtc-max6900.ko: +kernel/drivers/rtc/rtc-max6902.ko: +kernel/drivers/rtc/rtc-pcf8563.ko: +kernel/drivers/rtc/rtc-pcf8583.ko: +kernel/drivers/rtc/rtc-pcf2123.ko: +kernel/drivers/rtc/rtc-r9701.ko: +kernel/drivers/rtc/rtc-rs5c348.ko: +kernel/drivers/rtc/rtc-rs5c372.ko: +kernel/drivers/rtc/rtc-rv3029c2.ko: +kernel/drivers/rtc/rtc-rx8025.ko: +kernel/drivers/rtc/rtc-rx8581.ko: +kernel/drivers/rtc/rtc-s35390a.ko: +kernel/drivers/rtc/rtc-x1205.ko: +kernel/drivers/i2c/algos/i2c-algo-bit.ko: +kernel/drivers/i2c/busses/i2c-bcm2708.ko: +kernel/drivers/i2c/busses/i2c-gpio.ko: kernel/drivers/i2c/algos/i2c-algo-bit.ko +kernel/drivers/i2c/busses/i2c-nomadik.ko: +kernel/drivers/i2c/busses/i2c-diolan-u2c.ko: +kernel/drivers/i2c/busses/i2c-tiny-usb.ko: +kernel/drivers/i2c/i2c-dev.ko: +kernel/drivers/media/common/tuners/tuner-xc2028.ko: +kernel/drivers/media/common/tuners/tuner-simple.ko: kernel/drivers/media/common/tuners/tuner-types.ko +kernel/drivers/media/common/tuners/tuner-types.ko: +kernel/drivers/media/common/tuners/mt20xx.ko: +kernel/drivers/media/common/tuners/tda8290.ko: +kernel/drivers/media/common/tuners/tea5767.ko: +kernel/drivers/media/common/tuners/tea5761.ko: +kernel/drivers/media/common/tuners/tda9887.ko: +kernel/drivers/media/common/tuners/tda827x.ko: +kernel/drivers/media/common/tuners/tda18271.ko: +kernel/drivers/media/common/tuners/xc5000.ko: +kernel/drivers/media/common/tuners/xc4000.ko: +kernel/drivers/media/common/tuners/mt2060.ko: +kernel/drivers/media/common/tuners/mt2063.ko: +kernel/drivers/media/common/tuners/mt2266.ko: +kernel/drivers/media/common/tuners/qt1010.ko: +kernel/drivers/media/common/tuners/mt2131.ko: +kernel/drivers/media/common/tuners/mxl5005s.ko: +kernel/drivers/media/common/tuners/mxl5007t.ko: +kernel/drivers/media/common/tuners/mc44s803.ko: +kernel/drivers/media/common/tuners/max2165.ko: +kernel/drivers/media/common/tuners/tda18218.ko: +kernel/drivers/media/common/tuners/tda18212.ko: +kernel/drivers/media/common/tuners/tua9001.ko: +kernel/drivers/media/common/tuners/fc0011.ko: +kernel/drivers/media/common/tuners/fc0012.ko: +kernel/drivers/media/common/tuners/fc0013.ko: +kernel/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-alink-dtu-m.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-anysee.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-apac-viewcomp.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-ati-x10.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-a16d.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-avermedia.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-cardbus.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-dvbt.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-m135a.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-rm-ks.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-avertv-303.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-behold.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-behold-columbus.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-budget-ci-old.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-cinergy-1400.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-cinergy.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-dib0700-nec.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-dib0700-rc5.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-digittrade.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-dm1105-nec.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-em-terratec.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-encore-enltv2.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-encore-enltv.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-encore-enltv-fm53.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-evga-indtube.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-eztv.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-flydvb.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-flyvideo.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-fusionhdtv-mce.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-gadmei-rm008z.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-gotview7135.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-imon-mce.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-imon-pad.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-iodata-bctv7e.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-it913x-v1.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-it913x-v2.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-kaiomy.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-kworld-315u.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-kworld-pc150u.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-leadtek-y04g0051.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-lirc.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-lme2510.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-manli.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-medion-x10.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-medion-x10-digitainer.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-medion-x10-or2x.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-msi-digivox-ii.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-msi-digivox-iii.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-nebula.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-norwood.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-npgtech.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pctv-sedna.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pinnacle-color.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pinnacle-grey.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pixelview.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pixelview-mk12.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pixelview-002t.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pixelview-new.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-powercolor-real-angel.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-proteus-2309.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-purpletv.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-pv951.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-hauppauge.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-rc6-mce.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-snapstream-firefly.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-streamzap.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-tbs-nec.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-technisat-usb2.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-terratec-slim.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-terratec-slim-2.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-tevii-nec.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-tivo.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-total-media-in-hand.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-trekstor.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-tt-1500.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-twinhan1027.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-videomate-m1f.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-videomate-s350.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-videomate-tv-pvr.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-winfast.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/rc-core.ko: +kernel/drivers/media/rc/lirc_dev.ko: +kernel/drivers/media/rc/ir-nec-decoder.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ir-rc5-decoder.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ir-rc6-decoder.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ir-jvc-decoder.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ir-sony-decoder.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ir-rc5-sz-decoder.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ir-sanyo-decoder.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ir-mce_kbd-decoder.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ir-lirc-codec.ko: kernel/drivers/media/rc/lirc_dev.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/ati_remote.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/imon.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/mceusb.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/redrat3.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/streamzap.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/rc-loopback.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/gpio-ir-recv.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/iguanair.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/video/videodev.ko: +kernel/drivers/media/video/v4l2-int-device.ko: +kernel/drivers/media/video/v4l2-common.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/tuner.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/saa7115.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/msp3400.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/cs53l32a.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/wm8775.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/cx25840/cx25840.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/tveeprom.ko: +kernel/drivers/media/video/em28xx/em28xx.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/tveeprom.ko +kernel/drivers/media/video/em28xx/em28xx-alsa.ko: kernel/drivers/media/video/em28xx/em28xx.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/tveeprom.ko kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko kernel/sound/core/snd-page-alloc.ko +kernel/drivers/media/video/em28xx/em28xx-dvb.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/video/em28xx/em28xx.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/tveeprom.ko +kernel/drivers/media/video/em28xx/em28xx-rc.ko: kernel/drivers/media/video/em28xx/em28xx.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/tveeprom.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/video/tlg2300/poseidon.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd-page-alloc.ko kernel/sound/core/snd.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/cx231xx/cx231xx.ko: kernel/drivers/media/video/cx2341x.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/video/cx231xx/cx231xx-alsa.ko: kernel/drivers/media/video/cx231xx/cx231xx.ko kernel/drivers/media/video/cx2341x.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/rc/rc-core.ko kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd-page-alloc.ko kernel/sound/core/snd.ko +kernel/drivers/media/video/cx231xx/cx231xx-dvb.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/video/cx231xx/cx231xx.ko kernel/drivers/media/video/cx2341x.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/video/usbvision/usbvision.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/pvrusb2/pvrusb2.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/video/cx2341x.ko kernel/drivers/media/video/tveeprom.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/videobuf-core.ko: +kernel/drivers/media/video/videobuf-vmalloc.ko: kernel/drivers/media/video/videobuf-core.ko +kernel/drivers/media/video/videobuf-dvb.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/video/videobuf-core.ko +kernel/drivers/media/video/videobuf2-core.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/videobuf2-memops.ko: +kernel/drivers/media/video/videobuf2-vmalloc.ko: kernel/drivers/media/video/videobuf2-memops.ko +kernel/drivers/media/video/cx2341x.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/zr364xx.ko: kernel/drivers/media/video/videodev.ko kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko +kernel/drivers/media/video/stkwebcam.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/sn9c102/sn9c102.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/pwc/pwc.ko: kernel/drivers/media/video/videobuf2-core.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/video/videobuf2-vmalloc.ko kernel/drivers/media/video/videobuf2-memops.ko +kernel/drivers/media/video/gspca/gspca_main.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_benq.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_conex.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_cpia1.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_etoms.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_finepix.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_jeilinj.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_jl2005bcd.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_kinect.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_konica.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_mars.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_mr97310a.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_nw80x.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_ov519.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_ov534.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_ov534_9.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_pac207.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_pac7302.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_pac7311.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_se401.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_sn9c2028.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_sn9c20x.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_sonixb.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_sonixj.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_spca500.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_spca501.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_spca505.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_spca506.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_spca508.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_spca561.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_spca1528.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_sq905.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_sq905c.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_sq930x.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_sunplus.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_stk014.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_stv0680.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_t613.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_tv8532.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_vc032x.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_vicam.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_xirlink_cit.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gspca_zc3xx.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/m5602/gspca_m5602.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/stv06xx/gspca_stv06xx.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/gspca/gl860/gspca_gl860.ko: kernel/drivers/media/video/gspca/gspca_main.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/hdpvr/hdpvr.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/s2255drv.ko: kernel/drivers/media/video/videobuf-vmalloc.ko kernel/drivers/media/video/videobuf-core.ko kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/uvc/uvcvideo.ko: kernel/drivers/media/video/videobuf2-core.ko kernel/drivers/media/video/videodev.ko kernel/drivers/media/video/videobuf2-vmalloc.ko kernel/drivers/media/video/videobuf2-memops.ko +kernel/drivers/media/video/ir-kbd-i2c.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/radio/si470x/radio-usb-si470x.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/radio/shark2.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/radio/dsbr100.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/radio/radio-mr800.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/radio/radio-keene.ko: kernel/drivers/media/video/videodev.ko +kernel/drivers/media/dvb/dvb-core/dvb-core.ko: +kernel/drivers/media/dvb/frontends/dvb-pll.ko: +kernel/drivers/media/dvb/frontends/stv0299.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/stb0899.ko: +kernel/drivers/media/dvb/frontends/stb6100.ko: +kernel/drivers/media/dvb/frontends/sp8870.ko: +kernel/drivers/media/dvb/frontends/cx22700.ko: +kernel/drivers/media/dvb/frontends/s5h1432.ko: +kernel/drivers/media/dvb/frontends/cx24110.ko: +kernel/drivers/media/dvb/frontends/tda8083.ko: +kernel/drivers/media/dvb/frontends/l64781.ko: +kernel/drivers/media/dvb/frontends/dib3000mb.ko: +kernel/drivers/media/dvb/frontends/dib3000mc.ko: kernel/drivers/media/dvb/frontends/dibx000_common.ko +kernel/drivers/media/dvb/frontends/dibx000_common.ko: +kernel/drivers/media/dvb/frontends/dib7000m.ko: kernel/drivers/media/dvb/frontends/dibx000_common.ko +kernel/drivers/media/dvb/frontends/dib7000p.ko: kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/dib8000.ko: kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/dib9000.ko: kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/mt312.ko: +kernel/drivers/media/dvb/frontends/ves1820.ko: +kernel/drivers/media/dvb/frontends/ves1x93.ko: +kernel/drivers/media/dvb/frontends/tda1004x.ko: +kernel/drivers/media/dvb/frontends/sp887x.ko: +kernel/drivers/media/dvb/frontends/nxt6000.ko: +kernel/drivers/media/dvb/frontends/mt352.ko: +kernel/drivers/media/dvb/frontends/zl10036.ko: +kernel/drivers/media/dvb/frontends/zl10039.ko: +kernel/drivers/media/dvb/frontends/zl10353.ko: +kernel/drivers/media/dvb/frontends/cx22702.ko: +kernel/drivers/media/dvb/frontends/drxd.ko: +kernel/drivers/media/dvb/frontends/tda10021.ko: +kernel/drivers/media/dvb/frontends/tda10023.ko: +kernel/drivers/media/dvb/frontends/stv0297.ko: +kernel/drivers/media/dvb/frontends/nxt200x.ko: +kernel/drivers/media/dvb/frontends/or51211.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/or51132.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/bcm3510.ko: +kernel/drivers/media/dvb/frontends/s5h1420.ko: +kernel/drivers/media/dvb/frontends/lgdt330x.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/lgdt3305.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/lg2160.ko: +kernel/drivers/media/dvb/frontends/cx24123.ko: +kernel/drivers/media/dvb/frontends/lnbp21.ko: +kernel/drivers/media/dvb/frontends/lnbp22.ko: +kernel/drivers/media/dvb/frontends/isl6405.ko: +kernel/drivers/media/dvb/frontends/isl6421.ko: +kernel/drivers/media/dvb/frontends/tda10086.ko: +kernel/drivers/media/dvb/frontends/tda826x.ko: +kernel/drivers/media/dvb/frontends/tda8261.ko: +kernel/drivers/media/dvb/frontends/dib0070.ko: +kernel/drivers/media/dvb/frontends/dib0090.ko: +kernel/drivers/media/dvb/frontends/tua6100.ko: +kernel/drivers/media/dvb/frontends/s5h1409.ko: +kernel/drivers/media/dvb/frontends/itd1000.ko: +kernel/drivers/media/dvb/frontends/au8522_common.ko: +kernel/drivers/media/dvb/frontends/au8522_dig.ko: kernel/drivers/media/dvb/frontends/au8522_common.ko +kernel/drivers/media/dvb/frontends/au8522_decoder.ko: kernel/drivers/media/video/v4l2-common.ko kernel/drivers/media/dvb/frontends/au8522_common.ko kernel/drivers/media/video/videodev.ko +kernel/drivers/media/dvb/frontends/tda10048.ko: +kernel/drivers/media/dvb/frontends/cx24113.ko: +kernel/drivers/media/dvb/frontends/s5h1411.ko: +kernel/drivers/media/dvb/frontends/lgs8gl5.ko: +kernel/drivers/media/dvb/frontends/tda665x.ko: +kernel/drivers/media/dvb/frontends/lgs8gxx.ko: +kernel/drivers/media/dvb/frontends/atbm8830.ko: +kernel/drivers/media/dvb/frontends/af9013.ko: +kernel/drivers/media/dvb/frontends/cx24116.ko: +kernel/drivers/media/dvb/frontends/si21xx.ko: +kernel/drivers/media/dvb/frontends/stv0288.ko: +kernel/drivers/media/dvb/frontends/stb6000.ko: +kernel/drivers/media/dvb/frontends/s921.ko: +kernel/drivers/media/dvb/frontends/stv6110.ko: +kernel/drivers/media/dvb/frontends/stv0900.ko: +kernel/drivers/media/dvb/frontends/stv090x.ko: +kernel/drivers/media/dvb/frontends/stv6110x.ko: +kernel/drivers/media/dvb/frontends/isl6423.ko: +kernel/drivers/media/dvb/frontends/ec100.ko: +kernel/drivers/media/dvb/frontends/hd29l2.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/ds3000.ko: +kernel/drivers/media/dvb/frontends/mb86a16.ko: +kernel/drivers/media/dvb/frontends/mb86a20s.ko: +kernel/drivers/media/dvb/frontends/ix2505v.ko: +kernel/drivers/media/dvb/frontends/stv0367.ko: +kernel/drivers/media/dvb/frontends/cxd2820r.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/drxk.ko: +kernel/drivers/media/dvb/frontends/tda18271c2dd.ko: +kernel/drivers/media/dvb/frontends/it913x-fe.ko: +kernel/drivers/media/dvb/frontends/a8293.ko: +kernel/drivers/media/dvb/frontends/tda10071.ko: +kernel/drivers/media/dvb/frontends/rtl2830.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/rtl2832.ko: +kernel/drivers/media/dvb/frontends/m88rs2000.ko: +kernel/drivers/media/dvb/frontends/af9033.ko: +kernel/drivers/media/dvb/b2c2/b2c2-flexcop.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/dvb/frontends/cx24123.ko kernel/drivers/media/dvb/frontends/cx24113.ko kernel/drivers/media/dvb/frontends/s5h1420.ko +kernel/drivers/media/dvb/b2c2/b2c2-flexcop-usb.ko: kernel/drivers/media/dvb/b2c2/b2c2-flexcop.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/dvb/frontends/cx24123.ko kernel/drivers/media/dvb/frontends/cx24113.ko kernel/drivers/media/dvb/frontends/s5h1420.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko kernel/drivers/media/dvb/frontends/dib3000mc.ko kernel/drivers/media/dvb/frontends/dibx000_common.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-a800.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko kernel/drivers/media/dvb/frontends/dib3000mc.ko kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko kernel/drivers/media/dvb/frontends/dib3000mc.ko kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko kernel/drivers/media/dvb/frontends/dib3000mc.ko kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko kernel/drivers/media/dvb/frontends/dib3000mc.ko kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko kernel/drivers/media/dvb/frontends/dib3000mc.ko kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-m920x.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-gl861.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-au6610.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-digitv.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.ko: kernel/drivers/media/dvb/frontends/dib7000p.ko kernel/drivers/media/dvb/frontends/dibx000_common.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko kernel/drivers/media/dvb/frontends/dib0070.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.ko: kernel/drivers/media/dvb/frontends/dib0090.ko kernel/drivers/media/dvb/frontends/dib7000p.ko kernel/drivers/media/dvb/frontends/dib7000m.ko kernel/drivers/media/dvb/frontends/dib0070.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/frontends/dib8000.ko kernel/drivers/media/dvb/frontends/dib9000.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/dvb/frontends/dib3000mc.ko kernel/drivers/media/rc/rc-core.ko kernel/drivers/media/dvb/frontends/dibx000_common.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-opera.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.ko: +kernel/drivers/media/dvb/dvb-usb/dvb-usb-anysee.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-friio.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-ec168.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6007.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6027.ko: kernel/drivers/media/dvb/frontends/stb6100.ko kernel/drivers/media/dvb/frontends/stb0899.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-lmedm04.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-technisat-usb2.ko: kernel/drivers/media/dvb/frontends/stv090x.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv1.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv2.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-rtl28xxu.ko: kernel/drivers/media/dvb/frontends/rtl2830.ko kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9035.ko: kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/siano/smsmdtv.ko: kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/siano/smsdvb.ko: kernel/drivers/media/dvb/dvb-core/dvb-core.ko kernel/drivers/media/dvb/siano/smsmdtv.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/dvb/siano/smsusb.ko: kernel/drivers/media/dvb/siano/smsmdtv.ko kernel/drivers/media/rc/rc-core.ko +kernel/drivers/watchdog/bcm2708_wdog.ko: +kernel/drivers/md/linear.ko: kernel/drivers/md/md-mod.ko +kernel/drivers/md/raid0.ko: kernel/drivers/md/md-mod.ko +kernel/drivers/md/raid1.ko: kernel/drivers/md/md-mod.ko +kernel/drivers/md/raid10.ko: kernel/drivers/md/md-mod.ko +kernel/drivers/md/raid456.ko: kernel/drivers/md/md-mod.ko kernel/crypto/async_tx/async_pq.ko kernel/crypto/async_tx/async_xor.ko kernel/crypto/xor.ko kernel/crypto/async_tx/async_memcpy.ko kernel/crypto/async_tx/async_raid6_recov.ko kernel/lib/raid6/raid6_pq.ko kernel/crypto/async_tx/async_tx.ko +kernel/drivers/md/multipath.ko: kernel/drivers/md/md-mod.ko +kernel/drivers/md/faulty.ko: kernel/drivers/md/md-mod.ko +kernel/drivers/md/md-mod.ko: +kernel/drivers/md/dm-mod.ko: +kernel/drivers/md/dm-bufio.ko: kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-crypt.ko: kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-delay.ko: kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-multipath.ko: kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-round-robin.ko: kernel/drivers/md/dm-multipath.ko kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-queue-length.ko: kernel/drivers/md/dm-multipath.ko kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-service-time.ko: kernel/drivers/md/dm-multipath.ko kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-snapshot.ko: kernel/drivers/md/dm-mod.ko +kernel/drivers/md/persistent-data/dm-persistent-data.ko: kernel/drivers/md/dm-bufio.ko kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-mirror.ko: kernel/drivers/md/dm-region-hash.ko kernel/drivers/md/dm-log.ko kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-log.ko: kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-region-hash.ko: kernel/drivers/md/dm-log.ko kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-zero.ko: kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-raid.ko: kernel/drivers/md/dm-mod.ko kernel/drivers/md/raid10.ko kernel/drivers/md/raid1.ko kernel/drivers/md/raid456.ko kernel/drivers/md/md-mod.ko kernel/crypto/async_tx/async_pq.ko kernel/crypto/async_tx/async_xor.ko kernel/crypto/xor.ko kernel/crypto/async_tx/async_memcpy.ko kernel/crypto/async_tx/async_raid6_recov.ko kernel/lib/raid6/raid6_pq.ko kernel/crypto/async_tx/async_tx.ko +kernel/drivers/md/dm-thin-pool.ko: kernel/drivers/md/persistent-data/dm-persistent-data.ko kernel/drivers/md/dm-bufio.ko kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-verity.ko: kernel/drivers/md/dm-bufio.ko kernel/drivers/md/dm-mod.ko +kernel/drivers/cpufreq/cpufreq_stats.ko: +kernel/drivers/leds/ledtrig-timer.ko: +kernel/drivers/leds/ledtrig-oneshot.ko: +kernel/drivers/leds/ledtrig-heartbeat.ko: +kernel/drivers/leds/ledtrig-default-on.ko: +kernel/drivers/hid/uhid.ko: +kernel/drivers/hid/hid-a4tech.ko: +kernel/drivers/hid/hid-axff.ko: +kernel/drivers/hid/hid-apple.ko: +kernel/drivers/hid/hid-aureal.ko: +kernel/drivers/hid/hid-belkin.ko: +kernel/drivers/hid/hid-cherry.ko: +kernel/drivers/hid/hid-chicony.ko: +kernel/drivers/hid/hid-cypress.ko: +kernel/drivers/hid/hid-dr.ko: +kernel/drivers/hid/hid-emsff.ko: kernel/drivers/input/ff-memless.ko +kernel/drivers/hid/hid-elecom.ko: +kernel/drivers/hid/hid-ezkey.ko: +kernel/drivers/hid/hid-gyration.ko: +kernel/drivers/hid/hid-holtek-kbd.ko: +kernel/drivers/hid/hid-holtekff.ko: +kernel/drivers/hid/hid-kensington.ko: +kernel/drivers/hid/hid-keytouch.ko: +kernel/drivers/hid/hid-kye.ko: +kernel/drivers/hid/hid-lcpower.ko: +kernel/drivers/hid/hid-lenovo-tpkbd.ko: +kernel/drivers/hid/hid-logitech.ko: +kernel/drivers/hid/hid-logitech-dj.ko: +kernel/drivers/hid/hid-magicmouse.ko: +kernel/drivers/hid/hid-microsoft.ko: +kernel/drivers/hid/hid-monterey.ko: +kernel/drivers/hid/hid-multitouch.ko: +kernel/drivers/hid/hid-ntrig.ko: +kernel/drivers/hid/hid-ortek.ko: +kernel/drivers/hid/hid-prodikeys.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/drivers/hid/hid-pl.ko: +kernel/drivers/hid/hid-petalynx.ko: +kernel/drivers/hid/hid-picolcd.ko: kernel/drivers/video/backlight/backlight.ko kernel/drivers/video/backlight/lcd.ko kernel/drivers/video/fb_sys_fops.ko kernel/drivers/video/sysimgblt.ko kernel/drivers/video/sysfillrect.ko kernel/drivers/video/syscopyarea.ko +kernel/drivers/hid/hid-primax.ko: +kernel/drivers/hid/hid-roccat.ko: +kernel/drivers/hid/hid-roccat-common.ko: +kernel/drivers/hid/hid-roccat-arvo.ko: kernel/drivers/hid/hid-roccat-common.ko kernel/drivers/hid/hid-roccat.ko +kernel/drivers/hid/hid-roccat-isku.ko: kernel/drivers/hid/hid-roccat-common.ko kernel/drivers/hid/hid-roccat.ko +kernel/drivers/hid/hid-roccat-kone.ko: kernel/drivers/hid/hid-roccat.ko +kernel/drivers/hid/hid-roccat-koneplus.ko: kernel/drivers/hid/hid-roccat-common.ko kernel/drivers/hid/hid-roccat.ko +kernel/drivers/hid/hid-roccat-kovaplus.ko: kernel/drivers/hid/hid-roccat-common.ko kernel/drivers/hid/hid-roccat.ko +kernel/drivers/hid/hid-roccat-pyra.ko: kernel/drivers/hid/hid-roccat-common.ko kernel/drivers/hid/hid-roccat.ko +kernel/drivers/hid/hid-roccat-savu.ko: kernel/drivers/hid/hid-roccat-common.ko kernel/drivers/hid/hid-roccat.ko +kernel/drivers/hid/hid-saitek.ko: +kernel/drivers/hid/hid-samsung.ko: +kernel/drivers/hid/hid-sjoy.ko: +kernel/drivers/hid/hid-sony.ko: +kernel/drivers/hid/hid-speedlink.ko: +kernel/drivers/hid/hid-sunplus.ko: +kernel/drivers/hid/hid-gaff.ko: +kernel/drivers/hid/hid-tmff.ko: +kernel/drivers/hid/hid-tivo.ko: +kernel/drivers/hid/hid-topseed.ko: +kernel/drivers/hid/hid-twinhan.ko: +kernel/drivers/hid/hid-uclogic.ko: +kernel/drivers/hid/hid-zpff.ko: +kernel/drivers/hid/hid-zydacron.ko: +kernel/drivers/hid/hid-wacom.ko: +kernel/drivers/hid/hid-waltop.ko: +kernel/drivers/hid/hid-wiimote.ko: kernel/drivers/input/ff-memless.ko +kernel/drivers/staging/media/lirc/lirc_rpi.ko: kernel/drivers/media/rc/lirc_dev.ko +kernel/drivers/staging/media/lirc/lirc_rp1.ko: kernel/drivers/media/rc/lirc_dev.ko +kernel/drivers/staging/media/lirc/lirc_xbox.ko: kernel/drivers/media/rc/lirc_dev.ko +kernel/drivers/staging/winbond/w35und.ko: kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko +kernel/drivers/staging/wlan-ng/prism2_usb.ko: kernel/net/wireless/cfg80211.ko +kernel/drivers/staging/rtl8712/r8712u.ko: +kernel/drivers/staging/zram/zram.ko: +kernel/drivers/staging/ozwpan/ozwpan.ko: +kernel/drivers/staging/gdm72xx/gdmwm.ko: +kernel/drivers/staging/csr/csr_wifi.ko: kernel/drivers/staging/csr/csr_helper.ko +kernel/drivers/staging/csr/csr_helper.ko: +kernel/drivers/extcon/extcon_gpio.ko: +kernel/drivers/connector/cn.ko: +kernel/drivers/uio/uio.ko: +kernel/drivers/uio/uio_pdrv.ko: kernel/drivers/uio/uio.ko +kernel/drivers/uio/uio_pdrv_genirq.ko: kernel/drivers/uio/uio.ko +kernel/drivers/input/serio/serio.ko: +kernel/drivers/input/serio/serport.ko: kernel/drivers/input/serio/serio.ko +kernel/drivers/input/serio/serio_raw.ko: kernel/drivers/input/serio/serio.ko +kernel/drivers/input/gameport/gameport.ko: +kernel/drivers/input/gameport/lightning.ko: kernel/drivers/input/gameport/gameport.ko +kernel/drivers/input/gameport/ns558.ko: kernel/drivers/input/gameport/gameport.ko +kernel/drivers/w1/masters/ds2490.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/masters/ds2482.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/masters/ds1wm.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/masters/w1-gpio.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_therm.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_smem.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_ds2408.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_ds2423.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_ds2431.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_ds2433.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_ds2760.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_ds2780.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_ds2781.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_bq27000.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/slaves/w1_ds28e04.ko: kernel/drivers/w1/wire.ko kernel/drivers/connector/cn.ko +kernel/drivers/w1/wire.ko: kernel/drivers/connector/cn.ko +kernel/drivers/bluetooth/hci_vhci.ko: kernel/net/bluetooth/bluetooth.ko +kernel/drivers/bluetooth/bcm203x.ko: kernel/net/bluetooth/bluetooth.ko +kernel/drivers/bluetooth/bpa10x.ko: kernel/net/bluetooth/bluetooth.ko +kernel/drivers/bluetooth/bfusb.ko: kernel/net/bluetooth/bluetooth.ko +kernel/drivers/bluetooth/btusb.ko: kernel/net/bluetooth/bluetooth.ko +kernel/drivers/bluetooth/ath3k.ko: kernel/net/bluetooth/bluetooth.ko +kernel/drivers/bluetooth/btmrvl.ko: kernel/net/bluetooth/bluetooth.ko +kernel/drivers/bluetooth/btmrvl_sdio.ko: kernel/drivers/bluetooth/btmrvl.ko kernel/net/bluetooth/bluetooth.ko +kernel/drivers/ssb/ssb.ko: +kernel/sound/sound_firmware.ko: +kernel/sound/core/oss/snd-mixer-oss.ko: kernel/sound/core/snd.ko +kernel/sound/core/oss/snd-pcm-oss.ko: kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd-page-alloc.ko kernel/sound/core/oss/snd-mixer-oss.ko kernel/sound/core/snd.ko +kernel/sound/core/snd.ko: +kernel/sound/core/snd-hwdep.ko: kernel/sound/core/snd.ko +kernel/sound/core/snd-timer.ko: kernel/sound/core/snd.ko +kernel/sound/core/snd-hrtimer.ko: kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko +kernel/sound/core/snd-pcm.ko: kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko kernel/sound/core/snd-page-alloc.ko +kernel/sound/core/snd-page-alloc.ko: +kernel/sound/core/snd-rawmidi.ko: kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/core/seq/snd-seq.ko: kernel/sound/core/snd-timer.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/core/seq/snd-seq-device.ko: kernel/sound/core/snd.ko +kernel/sound/core/seq/snd-seq-midi-event.ko: kernel/sound/core/seq/snd-seq.ko kernel/sound/core/snd-timer.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/core/seq/oss/snd-seq-oss.ko: kernel/sound/core/seq/snd-seq-midi-event.ko kernel/sound/core/seq/snd-seq.ko kernel/sound/core/snd-timer.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/core/seq/snd-seq-dummy.ko: kernel/sound/core/seq/snd-seq.ko kernel/sound/core/snd-timer.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/core/seq/snd-seq-virmidi.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-midi-event.ko kernel/sound/core/seq/snd-seq.ko kernel/sound/core/snd-timer.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/core/seq/snd-seq-midi.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-midi-event.ko kernel/sound/core/seq/snd-seq.ko kernel/sound/core/snd-timer.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/drivers/snd-dummy.ko: kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko kernel/sound/core/snd-page-alloc.ko +kernel/sound/drivers/snd-aloop.ko: kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko kernel/sound/core/snd-page-alloc.ko +kernel/sound/drivers/snd-virmidi.ko: kernel/sound/core/seq/snd-seq-virmidi.ko kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-midi-event.ko kernel/sound/core/seq/snd-seq.ko kernel/sound/core/snd-timer.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/drivers/snd-serial-u16550.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/drivers/snd-mtpav.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/drivers/mpu401/snd-mpu401-uart.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/drivers/mpu401/snd-mpu401.ko: kernel/sound/drivers/mpu401/snd-mpu401-uart.ko kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/arm/snd-bcm2835.ko: kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko kernel/sound/core/snd-page-alloc.ko +kernel/sound/usb/snd-usb-audio.ko: kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd-page-alloc.ko kernel/sound/core/snd-hwdep.ko kernel/sound/usb/snd-usbmidi-lib.ko kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/usb/snd-usbmidi-lib.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/usb/misc/snd-ua101.ko: kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd-page-alloc.ko kernel/sound/usb/snd-usbmidi-lib.ko kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd.ko +kernel/sound/usb/caiaq/snd-usb-caiaq.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko kernel/sound/core/snd-page-alloc.ko +kernel/sound/usb/6fire/snd-usb-6fire.ko: kernel/sound/core/snd-rawmidi.ko kernel/sound/core/seq/snd-seq-device.ko kernel/sound/core/snd-pcm.ko kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko kernel/sound/core/snd-page-alloc.ko +kernel/arch/arm/oprofile/oprofile.ko: +kernel/net/core/pktgen.ko: +kernel/net/802/p8022.ko: kernel/net/llc/llc.ko +kernel/net/802/psnap.ko: kernel/net/llc/llc.ko +kernel/net/802/stp.ko: kernel/net/llc/llc.ko +kernel/net/802/garp.ko: kernel/net/802/stp.ko kernel/net/llc/llc.ko +kernel/net/sched/act_police.ko: +kernel/net/sched/act_gact.ko: +kernel/net/sched/act_mirred.ko: +kernel/net/sched/act_ipt.ko: kernel/net/netfilter/x_tables.ko +kernel/net/sched/act_nat.ko: +kernel/net/sched/act_pedit.ko: +kernel/net/sched/act_simple.ko: +kernel/net/sched/act_skbedit.ko: +kernel/net/sched/act_csum.ko: +kernel/net/sched/sch_cbq.ko: +kernel/net/sched/sch_htb.ko: +kernel/net/sched/sch_hfsc.ko: +kernel/net/sched/sch_red.ko: +kernel/net/sched/sch_gred.ko: +kernel/net/sched/sch_dsmark.ko: +kernel/net/sched/sch_sfb.ko: +kernel/net/sched/sch_sfq.ko: +kernel/net/sched/sch_tbf.ko: +kernel/net/sched/sch_teql.ko: +kernel/net/sched/sch_prio.ko: +kernel/net/sched/sch_multiq.ko: +kernel/net/sched/sch_netem.ko: +kernel/net/sched/sch_drr.ko: +kernel/net/sched/sch_plug.ko: +kernel/net/sched/sch_mqprio.ko: +kernel/net/sched/sch_choke.ko: +kernel/net/sched/sch_qfq.ko: +kernel/net/sched/sch_codel.ko: +kernel/net/sched/sch_fq_codel.ko: +kernel/net/sched/cls_u32.ko: +kernel/net/sched/cls_route.ko: +kernel/net/sched/cls_fw.ko: +kernel/net/sched/cls_rsvp.ko: +kernel/net/sched/cls_tcindex.ko: +kernel/net/sched/cls_rsvp6.ko: +kernel/net/sched/cls_basic.ko: +kernel/net/sched/cls_flow.ko: +kernel/net/sched/cls_cgroup.ko: +kernel/net/sched/em_cmp.ko: +kernel/net/sched/em_nbyte.ko: +kernel/net/sched/em_u32.ko: +kernel/net/sched/em_meta.ko: +kernel/net/sched/em_text.ko: +kernel/net/sched/em_ipset.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/nfnetlink.ko: +kernel/net/netfilter/nfnetlink_acct.ko: kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/nfnetlink_queue.ko: kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/nfnetlink_log.ko: kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/nf_conntrack.ko: +kernel/net/netfilter/nf_conntrack_proto_dccp.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_proto_gre.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_proto_sctp.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_proto_udplite.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_netlink.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/nf_conntrack_amanda.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_ftp.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_h323.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_irc.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_broadcast.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_netbios_ns.ko: kernel/net/netfilter/nf_conntrack_broadcast.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_snmp.ko: kernel/net/netfilter/nf_conntrack_broadcast.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_pptp.ko: kernel/net/netfilter/nf_conntrack_proto_gre.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_sane.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_sip.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_tftp.ko: kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_tproxy_core.ko: +kernel/net/netfilter/x_tables.ko: +kernel/net/netfilter/xt_tcpudp.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_mark.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_connmark.ko: kernel/net/netfilter/x_tables.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/xt_set.ko: kernel/net/netfilter/x_tables.ko kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/xt_AUDIT.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_CHECKSUM.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_CLASSIFY.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_CT.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_DSCP.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_HL.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_HMARK.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_LED.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_LOG.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_NFLOG.ko: kernel/net/netfilter/x_tables.ko kernel/net/netfilter/nfnetlink_log.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/xt_NFQUEUE.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_NOTRACK.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_RATEEST.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_TPROXY.ko: kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/nf_tproxy_core.ko kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko kernel/net/ipv6/ipv6.ko +kernel/net/netfilter/xt_TCPMSS.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_TCPOPTSTRIP.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_TEE.ko: kernel/net/ipv6/ipv6.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_TRACE.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_IDLETIMER.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_addrtype.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_cluster.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_comment.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_connbytes.ko: kernel/net/netfilter/x_tables.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/xt_connlimit.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_conntrack.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_cpu.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_dccp.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_devgroup.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_dscp.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_ecn.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_esp.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_hashlimit.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_helper.ko: kernel/net/netfilter/x_tables.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/xt_hl.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_iprange.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_length.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_limit.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_mac.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_multiport.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_nfacct.ko: kernel/net/netfilter/x_tables.ko kernel/net/netfilter/nfnetlink_acct.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/xt_osf.ko: kernel/net/netfilter/x_tables.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/xt_owner.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_physdev.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_pkttype.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_policy.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_quota.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_rateest.ko: kernel/net/netfilter/xt_RATEEST.ko kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_realm.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_recent.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_sctp.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_socket.ko: kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko kernel/net/ipv6/ipv6.ko +kernel/net/netfilter/xt_state.ko: kernel/net/netfilter/x_tables.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/xt_statistic.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_string.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_tcpmss.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_time.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_u32.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/ipset/ip_set.ko: kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_bitmap_ip.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_bitmap_ipmac.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_bitmap_port.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_hash_ip.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_hash_ipport.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_hash_ipportip.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_hash_ipportnet.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_hash_net.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_hash_netport.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_hash_netiface.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/ipset/ip_set_list_set.ko: kernel/net/netfilter/ipset/ip_set.ko kernel/net/netfilter/nfnetlink.ko +kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat.ko: kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko: +kernel/net/ipv4/netfilter/nf_nat_amanda.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/nf_conntrack_amanda.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/ipv4/netfilter/nf_nat_ftp.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/nf_conntrack_ftp.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/ipv4/netfilter/nf_nat_h323.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/nf_conntrack_h323.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/ipv4/netfilter/nf_nat_irc.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/nf_conntrack_irc.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/ipv4/netfilter/nf_nat_pptp.ko: kernel/net/netfilter/nf_conntrack_pptp.ko kernel/net/netfilter/nf_conntrack_proto_gre.ko kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat_sip.ko: kernel/net/netfilter/nf_conntrack_sip.ko kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat_snmp_basic.ko: kernel/net/netfilter/nf_conntrack_snmp.ko kernel/net/netfilter/nf_conntrack_broadcast.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/ipv4/netfilter/nf_nat_tftp.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/nf_conntrack_tftp.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/ipv4/netfilter/nf_nat_proto_dccp.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat_proto_udplite.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat_proto_sctp.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/ip_tables.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/iptable_filter.ko: kernel/net/ipv4/netfilter/ip_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/iptable_mangle.ko: kernel/net/ipv4/netfilter/ip_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/iptable_nat.ko: kernel/net/ipv4/netfilter/ip_tables.ko kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/netfilter/x_tables.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/iptable_raw.ko: kernel/net/ipv4/netfilter/ip_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/ipt_ah.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/ipt_rpfilter.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/ipt_ECN.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/x_tables.ko kernel/net/netfilter/nf_conntrack.ko +kernel/net/ipv4/netfilter/ipt_NETMAP.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/ipt_REDIRECT.ko: kernel/net/ipv4/netfilter/nf_nat.ko kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/ipt_REJECT.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/ipt_ULOG.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/arp_tables.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/arpt_mangle.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/netfilter/arptable_filter.ko: kernel/net/ipv4/netfilter/arp_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv4/ipip.ko: kernel/net/ipv4/tunnel4.ko +kernel/net/ipv4/ip_vti.ko: kernel/net/ipv4/xfrm4_mode_tunnel.ko +kernel/net/ipv4/ah4.ko: +kernel/net/ipv4/esp4.ko: +kernel/net/ipv4/ipcomp.ko: kernel/net/xfrm/xfrm_ipcomp.ko +kernel/net/ipv4/xfrm4_tunnel.ko: kernel/net/ipv4/tunnel4.ko +kernel/net/ipv4/xfrm4_mode_beet.ko: +kernel/net/ipv4/inet_lro.ko: +kernel/net/ipv4/tunnel4.ko: +kernel/net/ipv4/xfrm4_mode_transport.ko: +kernel/net/ipv4/xfrm4_mode_tunnel.ko: +kernel/net/ipv4/inet_diag.ko: +kernel/net/ipv4/tcp_diag.ko: kernel/net/ipv4/inet_diag.ko +kernel/net/ipv4/udp_diag.ko: kernel/net/ipv4/inet_diag.ko kernel/net/ipv6/ipv6.ko +kernel/net/xfrm/xfrm_ipcomp.ko: +kernel/net/ipv6/netfilter/ip6_tables.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6table_filter.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6table_mangle.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/netfilter/ip6table_raw.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko: kernel/net/netfilter/nf_conntrack.ko kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko: kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/netfilter/ip6t_ah.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6t_eui64.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6t_frag.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6t_ipv6header.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6t_mh.ko: kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6t_hbh.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6t_rpfilter.ko: kernel/net/netfilter/x_tables.ko kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/netfilter/ip6t_rt.ko: kernel/net/ipv6/netfilter/ip6_tables.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/netfilter/ip6t_REJECT.ko: kernel/net/ipv6/ipv6.ko kernel/net/netfilter/x_tables.ko +kernel/net/ipv6/ipv6.ko: +kernel/net/ipv6/ah6.ko: kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/esp6.ko: kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/ipcomp6.ko: kernel/net/xfrm/xfrm_ipcomp.ko kernel/net/ipv6/xfrm6_tunnel.ko kernel/net/ipv6/tunnel6.ko kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/xfrm6_tunnel.ko: kernel/net/ipv6/tunnel6.ko kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/tunnel6.ko: kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/xfrm6_mode_transport.ko: +kernel/net/ipv6/xfrm6_mode_tunnel.ko: kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/xfrm6_mode_beet.ko: kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/sit.ko: kernel/net/ipv4/tunnel4.ko kernel/net/ipv6/ipv6.ko +kernel/net/8021q/8021q.ko: kernel/net/802/garp.ko kernel/net/802/stp.ko kernel/net/llc/llc.ko +kernel/net/wireless/cfg80211.ko: +kernel/net/wireless/lib80211.ko: +kernel/net/wireless/lib80211_crypt_wep.ko: kernel/net/wireless/lib80211.ko +kernel/net/wireless/lib80211_crypt_ccmp.ko: kernel/net/wireless/lib80211.ko +kernel/net/wireless/lib80211_crypt_tkip.ko: kernel/net/wireless/lib80211.ko +kernel/net/llc/llc.ko: +kernel/net/key/af_key.ko: +kernel/net/bridge/bridge.ko: kernel/net/ipv6/ipv6.ko kernel/net/802/stp.ko kernel/net/llc/llc.ko +kernel/net/bridge/netfilter/ebtables.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebtable_broute.ko: kernel/net/bridge/bridge.ko kernel/net/ipv6/ipv6.ko kernel/net/802/stp.ko kernel/net/llc/llc.ko kernel/net/bridge/netfilter/ebtables.ko kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebtable_filter.ko: kernel/net/bridge/netfilter/ebtables.ko kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebtable_nat.ko: kernel/net/bridge/netfilter/ebtables.ko kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_802_3.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_among.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_arp.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_ip.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_ip6.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_limit.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_mark_m.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_pkttype.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_stp.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_vlan.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_arpreply.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_mark.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_dnat.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_redirect.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_snat.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_log.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_ulog.ko: kernel/net/netfilter/x_tables.ko +kernel/net/bridge/netfilter/ebt_nflog.ko: kernel/net/netfilter/x_tables.ko +kernel/net/netrom/netrom.ko: kernel/net/ax25/ax25.ko +kernel/net/rose/rose.ko: kernel/net/ax25/ax25.ko +kernel/net/ax25/ax25.ko: +kernel/net/irda/irda.ko: kernel/lib/crc-ccitt.ko +kernel/net/irda/irlan/irlan.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/net/irda/irnet/irnet.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko kernel/drivers/net/ppp/ppp_generic.ko kernel/drivers/net/slip/slhc.ko +kernel/net/irda/ircomm/ircomm.ko: kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/net/irda/ircomm/ircomm-tty.ko: kernel/net/irda/ircomm/ircomm.ko kernel/net/irda/irda.ko kernel/lib/crc-ccitt.ko +kernel/net/bluetooth/bluetooth.ko: +kernel/net/bluetooth/rfcomm/rfcomm.ko: kernel/net/bluetooth/bluetooth.ko +kernel/net/bluetooth/bnep/bnep.ko: kernel/net/bluetooth/bluetooth.ko +kernel/net/bluetooth/hidp/hidp.ko: kernel/net/bluetooth/bluetooth.ko +kernel/net/l2tp/l2tp_core.ko: kernel/net/ipv6/ipv6.ko +kernel/net/mac80211/mac80211.ko: kernel/net/wireless/cfg80211.ko +kernel/net/9p/9pnet.ko: +kernel/net/wimax/wimax.ko: +kernel/net/nfc/nfc.ko: +kernel/net/openvswitch/openvswitch.ko: +kernel/lib/crc-ccitt.ko: +kernel/lib/crc7.ko: +kernel/lib/zlib_deflate/zlib_deflate.ko: +kernel/lib/raid6/raid6_pq.ko: +kernel/lib/ts_kmp.ko: +kernel/lib/ts_bm.ko: +kernel/lib/ts_fsm.ko: +kernel/lib/lru_cache.ko: diff --git a/lib/modules/3.6.11+/modules.dep.bin b/lib/modules/3.6.11+/modules.dep.bin new file mode 100644 index 000000000..91ca1c682 Binary files /dev/null and b/lib/modules/3.6.11+/modules.dep.bin differ diff --git a/lib/modules/3.6.11+/modules.devname b/lib/modules/3.6.11+/modules.devname new file mode 100644 index 000000000..e7baa6cf5 --- /dev/null +++ b/lib/modules/3.6.11+/modules.devname @@ -0,0 +1,9 @@ +# Device nodes to trigger on-demand module loading. +fuse fuse c10:229 +btrfs btrfs-control c10:234 +tun net/tun c10:200 +ppp_generic ppp c108:0 +uinput uinput c10:223 +dm_mod mapper/control c10:236 +snd_timer snd/timer c116:33 +snd_seq snd/seq c116:1 diff --git a/lib/modules/3.6.11+/modules.ieee1394map b/lib/modules/3.6.11+/modules.ieee1394map new file mode 100644 index 000000000..d111b942c --- /dev/null +++ b/lib/modules/3.6.11+/modules.ieee1394map @@ -0,0 +1 @@ +# ieee1394 module match_flags vendor_id model_id specifier_id version diff --git a/lib/modules/3.6.11+/modules.inputmap b/lib/modules/3.6.11+/modules.inputmap new file mode 100644 index 000000000..ecd0108ba --- /dev/null +++ b/lib/modules/3.6.11+/modules.inputmap @@ -0,0 +1,2 @@ +# module matchBits bustype vendor product version evBits keyBits relBits absBits mscBits ledBits sndBits ffBits [swBits] driver_info +joydev 0x90 0x0 0x0 0x0 0x0 8 0 0 0 0 0 0 0 0 0x0 diff --git a/lib/modules/3.6.11+/modules.isapnpmap b/lib/modules/3.6.11+/modules.isapnpmap new file mode 100644 index 000000000..c0d397e68 --- /dev/null +++ b/lib/modules/3.6.11+/modules.isapnpmap @@ -0,0 +1 @@ +# isapnp module cardvendor carddevice driver_data vendor function ... diff --git a/lib/modules/3.6.11+/modules.ofmap b/lib/modules/3.6.11+/modules.ofmap new file mode 100644 index 000000000..aba3b5e04 --- /dev/null +++ b/lib/modules/3.6.11+/modules.ofmap @@ -0,0 +1,3 @@ +# of module name type compatible +bmp085-i2c * * bosch,bmp085 +bmp085-spi * * bosch,bmp085 diff --git a/lib/modules/3.6.11+/modules.order b/lib/modules/3.6.11+/modules.order new file mode 100644 index 000000000..cc792baf6 --- /dev/null +++ b/lib/modules/3.6.11+/modules.order @@ -0,0 +1,1160 @@ +kernel/fs/quota/quota_tree.ko +kernel/fs/nls/nls_cp737.ko +kernel/fs/nls/nls_cp775.ko +kernel/fs/nls/nls_cp850.ko +kernel/fs/nls/nls_cp852.ko +kernel/fs/nls/nls_cp855.ko +kernel/fs/nls/nls_cp857.ko +kernel/fs/nls/nls_cp860.ko +kernel/fs/nls/nls_cp861.ko +kernel/fs/nls/nls_cp862.ko +kernel/fs/nls/nls_cp863.ko +kernel/fs/nls/nls_cp864.ko +kernel/fs/nls/nls_cp865.ko +kernel/fs/nls/nls_cp866.ko +kernel/fs/nls/nls_cp869.ko +kernel/fs/nls/nls_cp874.ko +kernel/fs/nls/nls_cp932.ko +kernel/fs/nls/nls_euc-jp.ko +kernel/fs/nls/nls_cp936.ko +kernel/fs/nls/nls_cp949.ko +kernel/fs/nls/nls_cp950.ko +kernel/fs/nls/nls_cp1250.ko +kernel/fs/nls/nls_cp1251.ko +kernel/fs/nls/nls_iso8859-1.ko +kernel/fs/nls/nls_iso8859-2.ko +kernel/fs/nls/nls_iso8859-3.ko +kernel/fs/nls/nls_iso8859-4.ko +kernel/fs/nls/nls_iso8859-5.ko +kernel/fs/nls/nls_iso8859-6.ko +kernel/fs/nls/nls_iso8859-7.ko +kernel/fs/nls/nls_cp1255.ko +kernel/fs/nls/nls_iso8859-9.ko +kernel/fs/nls/nls_iso8859-13.ko +kernel/fs/nls/nls_iso8859-14.ko +kernel/fs/nls/nls_iso8859-15.ko +kernel/fs/nls/nls_koi8-r.ko +kernel/fs/nls/nls_koi8-u.ko +kernel/fs/nls/nls_koi8-ru.ko +kernel/fs/nls/nls_utf8.ko +kernel/fs/binfmt_misc.ko +kernel/fs/reiserfs/reiserfs.ko +kernel/fs/squashfs/squashfs.ko +kernel/fs/isofs/isofs.ko +kernel/fs/hfsplus/hfsplus.ko +kernel/fs/hfs/hfs.ko +kernel/fs/ecryptfs/ecryptfs.ko +kernel/fs/nfsd/nfsd.ko +kernel/fs/cifs/cifs.ko +kernel/fs/ntfs/ntfs.ko +kernel/fs/fuse/fuse.ko +kernel/fs/fuse/cuse.ko +kernel/fs/udf/udf.ko +kernel/fs/jfs/jfs.ko +kernel/fs/xfs/xfs.ko +kernel/fs/9p/9p.ko +kernel/fs/nilfs2/nilfs2.ko +kernel/fs/ocfs2/ocfs2.ko +kernel/fs/ocfs2/ocfs2_stackglue.ko +kernel/fs/ocfs2/ocfs2_stack_o2cb.ko +kernel/fs/ocfs2/dlmfs/ocfs2_dlmfs.ko +kernel/fs/ocfs2/cluster/ocfs2_nodemanager.ko +kernel/fs/ocfs2/dlm/ocfs2_dlm.ko +kernel/fs/btrfs/btrfs.ko +kernel/fs/gfs2/gfs2.ko +kernel/crypto/seqiv.ko +kernel/crypto/xcbc.ko +kernel/crypto/md4.ko +kernel/crypto/sha256_generic.ko +kernel/crypto/sha512_generic.ko +kernel/crypto/wp512.ko +kernel/crypto/tgr192.ko +kernel/crypto/gf128mul.ko +kernel/crypto/ecb.ko +kernel/crypto/xts.ko +kernel/crypto/aes_generic.ko +kernel/crypto/cast5.ko +kernel/crypto/arc4.ko +kernel/crypto/deflate.ko +kernel/crypto/michael_mic.ko +kernel/crypto/authenc.ko +kernel/crypto/authencesn.ko +kernel/crypto/xor.ko +kernel/crypto/async_tx/async_tx.ko +kernel/crypto/async_tx/async_memcpy.ko +kernel/crypto/async_tx/async_xor.ko +kernel/crypto/async_tx/async_pq.ko +kernel/crypto/async_tx/async_raid6_recov.ko +kernel/crypto/async_tx/raid6test.ko +kernel/drivers/video/backlight/lcd.ko +kernel/drivers/video/backlight/backlight.ko +kernel/drivers/video/backlight/generic_bl.ko +kernel/drivers/video/backlight/lp855x_bl.ko +kernel/drivers/video/backlight/pwm_bl.ko +kernel/drivers/video/sysfillrect.ko +kernel/drivers/video/syscopyarea.ko +kernel/drivers/video/sysimgblt.ko +kernel/drivers/video/fb_sys_fops.ko +kernel/drivers/video/udlfb.ko +kernel/drivers/base/regmap/regmap-i2c.ko +kernel/drivers/base/regmap/regmap-spi.ko +kernel/drivers/block/pktcdvd.ko +kernel/drivers/block/nbd.ko +kernel/drivers/block/cryptoloop.ko +kernel/drivers/block/drbd/drbd.ko +kernel/drivers/misc/eeprom/eeprom_93cx6.ko +kernel/drivers/misc/bmp085-i2c.ko +kernel/drivers/misc/bmp085-spi.ko +kernel/drivers/nfc/pn533.ko +kernel/drivers/scsi/st.ko +kernel/drivers/scsi/osst.ko +kernel/drivers/scsi/sr_mod.ko +kernel/drivers/spi/spidev.ko +kernel/drivers/spi/spi-bcm2708.ko +kernel/drivers/spi/spi-bitbang.ko +kernel/drivers/spi/spi-gpio.ko +kernel/drivers/spi/spi-xcomm.ko +kernel/drivers/hsi/clients/hsi_char.ko +kernel/drivers/hsi/hsi.ko +kernel/drivers/net/hamradio/mkiss.ko +kernel/drivers/net/hamradio/6pack.ko +kernel/drivers/net/hamradio/yam.ko +kernel/drivers/net/hamradio/bpqether.ko +kernel/drivers/net/hamradio/baycom_ser_fdx.ko +kernel/drivers/net/hamradio/hdlcdrv.ko +kernel/drivers/net/hamradio/baycom_ser_hdx.ko +kernel/drivers/net/wireless/at76c50x-usb.ko +kernel/drivers/net/wireless/hostap/hostap.ko +kernel/drivers/net/wireless/b43/b43.ko +kernel/drivers/net/wireless/b43legacy/b43legacy.ko +kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko +kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko +kernel/drivers/net/wireless/rndis_wlan.ko +kernel/drivers/net/wireless/zd1201.ko +kernel/drivers/net/wireless/libertas/libertas.ko +kernel/drivers/net/wireless/libertas/usb8xxx.ko +kernel/drivers/net/wireless/libertas/libertas_sdio.ko +kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko +kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko +kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko +kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko +kernel/drivers/net/wireless/rt2x00/rt2800lib.ko +kernel/drivers/net/wireless/rt2x00/rt2500usb.ko +kernel/drivers/net/wireless/rt2x00/rt73usb.ko +kernel/drivers/net/wireless/rt2x00/rt2800usb.ko +kernel/drivers/net/wireless/p54/p54common.ko +kernel/drivers/net/wireless/p54/p54usb.ko +kernel/drivers/net/wireless/ath/ath9k/ath9k.ko +kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko +kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko +kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko +kernel/drivers/net/wireless/ath/carl9170/carl9170.ko +kernel/drivers/net/wireless/ath/ath.ko +kernel/drivers/net/wireless/mac80211_hwsim.ko +kernel/drivers/net/wireless/mwifiex/mwifiex.ko +kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko +kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko +kernel/drivers/net/wireless/rtl8192cu/8192cu.ko +kernel/drivers/net/usb/catc.ko +kernel/drivers/net/usb/kaweth.ko +kernel/drivers/net/usb/pegasus.ko +kernel/drivers/net/usb/rtl8150.ko +kernel/drivers/net/usb/asix.ko +kernel/drivers/net/usb/cdc_ether.ko +kernel/drivers/net/usb/cdc_eem.ko +kernel/drivers/net/usb/dm9601.ko +kernel/drivers/net/usb/smsc75xx.ko +kernel/drivers/net/usb/gl620a.ko +kernel/drivers/net/usb/net1080.ko +kernel/drivers/net/usb/plusb.ko +kernel/drivers/net/usb/rndis_host.ko +kernel/drivers/net/usb/cdc_subset.ko +kernel/drivers/net/usb/mcs7830.ko +kernel/drivers/net/usb/int51x1.ko +kernel/drivers/net/usb/kalmia.ko +kernel/drivers/net/usb/ipheth.ko +kernel/drivers/net/usb/sierra_net.ko +kernel/drivers/net/usb/cx82310_eth.ko +kernel/drivers/net/usb/lg-vl600.ko +kernel/drivers/net/usb/qmi_wwan.ko +kernel/drivers/net/bonding/bonding.ko +kernel/drivers/net/macvlan.ko +kernel/drivers/net/netconsole.ko +kernel/drivers/net/phy/libphy.ko +kernel/drivers/net/phy/mdio-bitbang.ko +kernel/drivers/net/tun.ko +kernel/drivers/net/irda/irda-usb.ko +kernel/drivers/net/irda/stir4200.ko +kernel/drivers/net/irda/mcs7780.ko +kernel/drivers/net/irda/irtty-sir.ko +kernel/drivers/net/irda/sir-dev.ko +kernel/drivers/net/irda/kingsun-sir.ko +kernel/drivers/net/irda/ksdazzle-sir.ko +kernel/drivers/net/irda/ks959-sir.ko +kernel/drivers/net/ppp/ppp_generic.ko +kernel/drivers/net/ppp/ppp_async.ko +kernel/drivers/net/ppp/bsd_comp.ko +kernel/drivers/net/ppp/ppp_deflate.ko +kernel/drivers/net/ppp/ppp_mppe.ko +kernel/drivers/net/ppp/ppp_synctty.ko +kernel/drivers/net/ppp/pppox.ko +kernel/drivers/net/ppp/pppoe.ko +kernel/drivers/net/slip/slip.ko +kernel/drivers/net/slip/slhc.ko +kernel/drivers/net/wimax/i2400m/i2400m.ko +kernel/drivers/net/wimax/i2400m/i2400m-usb.ko +kernel/drivers/cdrom/cdrom.ko +kernel/drivers/usb/host/ssb-hcd.ko +kernel/drivers/usb/storage/ums-alauda.ko +kernel/drivers/usb/storage/ums-cypress.ko +kernel/drivers/usb/storage/ums-datafab.ko +kernel/drivers/usb/storage/ums-eneub6250.ko +kernel/drivers/usb/storage/ums-freecom.ko +kernel/drivers/usb/storage/ums-isd200.ko +kernel/drivers/usb/storage/ums-jumpshot.ko +kernel/drivers/usb/storage/ums-karma.ko +kernel/drivers/usb/storage/ums-onetouch.ko +kernel/drivers/usb/storage/ums-realtek.ko +kernel/drivers/usb/storage/ums-sddr09.ko +kernel/drivers/usb/storage/ums-sddr55.ko +kernel/drivers/usb/storage/ums-usbat.ko +kernel/drivers/usb/misc/adutux.ko +kernel/drivers/usb/misc/appledisplay.ko +kernel/drivers/usb/misc/cypress_cy7c63.ko +kernel/drivers/usb/misc/cytherm.ko +kernel/drivers/usb/misc/emi26.ko +kernel/drivers/usb/misc/emi62.ko +kernel/drivers/usb/misc/ftdi-elan.ko +kernel/drivers/usb/misc/idmouse.ko +kernel/drivers/usb/misc/iowarrior.ko +kernel/drivers/usb/misc/isight_firmware.ko +kernel/drivers/usb/misc/usblcd.ko +kernel/drivers/usb/misc/ldusb.ko +kernel/drivers/usb/misc/usbled.ko +kernel/drivers/usb/misc/legousbtower.ko +kernel/drivers/usb/misc/rio500.ko +kernel/drivers/usb/misc/usbtest.ko +kernel/drivers/usb/misc/trancevibrator.ko +kernel/drivers/usb/misc/usbsevseg.ko +kernel/drivers/usb/misc/yurex.ko +kernel/drivers/usb/phy/isp1301.ko +kernel/drivers/usb/mon/usbmon.ko +kernel/drivers/usb/class/cdc-acm.ko +kernel/drivers/usb/class/cdc-wdm.ko +kernel/drivers/usb/image/mdc800.ko +kernel/drivers/usb/image/microtek.ko +kernel/drivers/usb/serial/usbserial.ko +kernel/drivers/usb/serial/aircable.ko +kernel/drivers/usb/serial/ark3116.ko +kernel/drivers/usb/serial/belkin_sa.ko +kernel/drivers/usb/serial/ch341.ko +kernel/drivers/usb/serial/cp210x.ko +kernel/drivers/usb/serial/cyberjack.ko +kernel/drivers/usb/serial/cypress_m8.ko +kernel/drivers/usb/serial/usb_debug.ko +kernel/drivers/usb/serial/digi_acceleport.ko +kernel/drivers/usb/serial/io_edgeport.ko +kernel/drivers/usb/serial/io_ti.ko +kernel/drivers/usb/serial/empeg.ko +kernel/drivers/usb/serial/ftdi_sio.ko +kernel/drivers/usb/serial/funsoft.ko +kernel/drivers/usb/serial/garmin_gps.ko +kernel/drivers/usb/serial/hp4x.ko +kernel/drivers/usb/serial/ipaq.ko +kernel/drivers/usb/serial/ipw.ko +kernel/drivers/usb/serial/ir-usb.ko +kernel/drivers/usb/serial/iuu_phoenix.ko +kernel/drivers/usb/serial/keyspan.ko +kernel/drivers/usb/serial/keyspan_pda.ko +kernel/drivers/usb/serial/kl5kusb105.ko +kernel/drivers/usb/serial/kobil_sct.ko +kernel/drivers/usb/serial/mct_u232.ko +kernel/drivers/usb/serial/metro-usb.ko +kernel/drivers/usb/serial/mos7720.ko +kernel/drivers/usb/serial/mos7840.ko +kernel/drivers/usb/serial/moto_modem.ko +kernel/drivers/usb/serial/navman.ko +kernel/drivers/usb/serial/omninet.ko +kernel/drivers/usb/serial/opticon.ko +kernel/drivers/usb/serial/option.ko +kernel/drivers/usb/serial/oti6858.ko +kernel/drivers/usb/serial/pl2303.ko +kernel/drivers/usb/serial/qcaux.ko +kernel/drivers/usb/serial/qcserial.ko +kernel/drivers/usb/serial/quatech2.ko +kernel/drivers/usb/serial/safe_serial.ko +kernel/drivers/usb/serial/siemens_mpi.ko +kernel/drivers/usb/serial/sierra.ko +kernel/drivers/usb/serial/spcp8x5.ko +kernel/drivers/usb/serial/ssu100.ko +kernel/drivers/usb/serial/symbolserial.ko +kernel/drivers/usb/serial/usb_wwan.ko +kernel/drivers/usb/serial/ti_usb_3410_5052.ko +kernel/drivers/usb/serial/visor.ko +kernel/drivers/usb/serial/whiteheat.ko +kernel/drivers/usb/serial/vivopay-serial.ko +kernel/drivers/usb/serial/zio.ko +kernel/drivers/usb/chipidea/ci_hdrc.ko +kernel/drivers/usb/chipidea/ci13xxx_msm.ko +kernel/drivers/input/misc/ad714x.ko +kernel/drivers/input/misc/ad714x-i2c.ko +kernel/drivers/input/misc/ad714x-spi.ko +kernel/drivers/input/misc/adxl34x.ko +kernel/drivers/input/misc/adxl34x-i2c.ko +kernel/drivers/input/misc/adxl34x-spi.ko +kernel/drivers/input/misc/ati_remote2.ko +kernel/drivers/input/misc/cm109.ko +kernel/drivers/input/misc/cma3000_d0x.ko +kernel/drivers/input/misc/gp2ap002a00f.ko +kernel/drivers/input/misc/gpio_tilt_polled.ko +kernel/drivers/input/misc/keyspan_remote.ko +kernel/drivers/input/misc/powermate.ko +kernel/drivers/input/misc/rotary_encoder.ko +kernel/drivers/input/misc/uinput.ko +kernel/drivers/input/misc/yealink.ko +kernel/drivers/input/ff-memless.ko +kernel/drivers/input/input-polldev.ko +kernel/drivers/input/matrix-keymap.ko +kernel/drivers/input/joydev.ko +kernel/drivers/input/evdev.ko +kernel/drivers/rtc/rtc-bq32k.ko +kernel/drivers/rtc/rtc-ds1305.ko +kernel/drivers/rtc/rtc-ds1307.ko +kernel/drivers/rtc/rtc-ds1374.ko +kernel/drivers/rtc/rtc-ds1390.ko +kernel/drivers/rtc/rtc-ds1672.ko +kernel/drivers/rtc/rtc-ds3232.ko +kernel/drivers/rtc/rtc-ds3234.ko +kernel/drivers/rtc/rtc-em3027.ko +kernel/drivers/rtc/rtc-fm3130.ko +kernel/drivers/rtc/rtc-isl1208.ko +kernel/drivers/rtc/rtc-isl12022.ko +kernel/drivers/rtc/rtc-m41t80.ko +kernel/drivers/rtc/rtc-m41t93.ko +kernel/drivers/rtc/rtc-m41t94.ko +kernel/drivers/rtc/rtc-max6900.ko +kernel/drivers/rtc/rtc-max6902.ko +kernel/drivers/rtc/rtc-pcf8563.ko +kernel/drivers/rtc/rtc-pcf8583.ko +kernel/drivers/rtc/rtc-pcf2123.ko +kernel/drivers/rtc/rtc-r9701.ko +kernel/drivers/rtc/rtc-rs5c348.ko +kernel/drivers/rtc/rtc-rs5c372.ko +kernel/drivers/rtc/rtc-rv3029c2.ko +kernel/drivers/rtc/rtc-rx8025.ko +kernel/drivers/rtc/rtc-rx8581.ko +kernel/drivers/rtc/rtc-s35390a.ko +kernel/drivers/rtc/rtc-x1205.ko +kernel/drivers/i2c/algos/i2c-algo-bit.ko +kernel/drivers/i2c/busses/i2c-bcm2708.ko +kernel/drivers/i2c/busses/i2c-gpio.ko +kernel/drivers/i2c/busses/i2c-nomadik.ko +kernel/drivers/i2c/busses/i2c-diolan-u2c.ko +kernel/drivers/i2c/busses/i2c-tiny-usb.ko +kernel/drivers/i2c/i2c-dev.ko +kernel/drivers/media/common/tuners/tuner-xc2028.ko +kernel/drivers/media/common/tuners/tuner-simple.ko +kernel/drivers/media/common/tuners/tuner-types.ko +kernel/drivers/media/common/tuners/mt20xx.ko +kernel/drivers/media/common/tuners/tda8290.ko +kernel/drivers/media/common/tuners/tea5767.ko +kernel/drivers/media/common/tuners/tea5761.ko +kernel/drivers/media/common/tuners/tda9887.ko +kernel/drivers/media/common/tuners/tda827x.ko +kernel/drivers/media/common/tuners/tda18271.ko +kernel/drivers/media/common/tuners/xc5000.ko +kernel/drivers/media/common/tuners/xc4000.ko +kernel/drivers/media/common/tuners/mt2060.ko +kernel/drivers/media/common/tuners/mt2063.ko +kernel/drivers/media/common/tuners/mt2266.ko +kernel/drivers/media/common/tuners/qt1010.ko +kernel/drivers/media/common/tuners/mt2131.ko +kernel/drivers/media/common/tuners/mxl5005s.ko +kernel/drivers/media/common/tuners/mxl5007t.ko +kernel/drivers/media/common/tuners/mc44s803.ko +kernel/drivers/media/common/tuners/max2165.ko +kernel/drivers/media/common/tuners/tda18218.ko +kernel/drivers/media/common/tuners/tda18212.ko +kernel/drivers/media/common/tuners/tua9001.ko +kernel/drivers/media/common/tuners/fc0011.ko +kernel/drivers/media/common/tuners/fc0012.ko +kernel/drivers/media/common/tuners/fc0013.ko +kernel/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.ko +kernel/drivers/media/rc/keymaps/rc-alink-dtu-m.ko +kernel/drivers/media/rc/keymaps/rc-anysee.ko +kernel/drivers/media/rc/keymaps/rc-apac-viewcomp.ko +kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko +kernel/drivers/media/rc/keymaps/rc-asus-ps3-100.ko +kernel/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.ko +kernel/drivers/media/rc/keymaps/rc-ati-x10.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-a16d.ko +kernel/drivers/media/rc/keymaps/rc-avermedia.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-cardbus.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-dvbt.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-m135a.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.ko +kernel/drivers/media/rc/keymaps/rc-avermedia-rm-ks.ko +kernel/drivers/media/rc/keymaps/rc-avertv-303.ko +kernel/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.ko +kernel/drivers/media/rc/keymaps/rc-behold.ko +kernel/drivers/media/rc/keymaps/rc-behold-columbus.ko +kernel/drivers/media/rc/keymaps/rc-budget-ci-old.ko +kernel/drivers/media/rc/keymaps/rc-cinergy-1400.ko +kernel/drivers/media/rc/keymaps/rc-cinergy.ko +kernel/drivers/media/rc/keymaps/rc-dib0700-nec.ko +kernel/drivers/media/rc/keymaps/rc-dib0700-rc5.ko +kernel/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.ko +kernel/drivers/media/rc/keymaps/rc-digittrade.ko +kernel/drivers/media/rc/keymaps/rc-dm1105-nec.ko +kernel/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.ko +kernel/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.ko +kernel/drivers/media/rc/keymaps/rc-em-terratec.ko +kernel/drivers/media/rc/keymaps/rc-encore-enltv2.ko +kernel/drivers/media/rc/keymaps/rc-encore-enltv.ko +kernel/drivers/media/rc/keymaps/rc-encore-enltv-fm53.ko +kernel/drivers/media/rc/keymaps/rc-evga-indtube.ko +kernel/drivers/media/rc/keymaps/rc-eztv.ko +kernel/drivers/media/rc/keymaps/rc-flydvb.ko +kernel/drivers/media/rc/keymaps/rc-flyvideo.ko +kernel/drivers/media/rc/keymaps/rc-fusionhdtv-mce.ko +kernel/drivers/media/rc/keymaps/rc-gadmei-rm008z.ko +kernel/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.ko +kernel/drivers/media/rc/keymaps/rc-gotview7135.ko +kernel/drivers/media/rc/keymaps/rc-imon-mce.ko +kernel/drivers/media/rc/keymaps/rc-imon-pad.ko +kernel/drivers/media/rc/keymaps/rc-iodata-bctv7e.ko +kernel/drivers/media/rc/keymaps/rc-it913x-v1.ko +kernel/drivers/media/rc/keymaps/rc-it913x-v2.ko +kernel/drivers/media/rc/keymaps/rc-kaiomy.ko +kernel/drivers/media/rc/keymaps/rc-kworld-315u.ko +kernel/drivers/media/rc/keymaps/rc-kworld-pc150u.ko +kernel/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.ko +kernel/drivers/media/rc/keymaps/rc-leadtek-y04g0051.ko +kernel/drivers/media/rc/keymaps/rc-lirc.ko +kernel/drivers/media/rc/keymaps/rc-lme2510.ko +kernel/drivers/media/rc/keymaps/rc-manli.ko +kernel/drivers/media/rc/keymaps/rc-medion-x10.ko +kernel/drivers/media/rc/keymaps/rc-medion-x10-digitainer.ko +kernel/drivers/media/rc/keymaps/rc-medion-x10-or2x.ko +kernel/drivers/media/rc/keymaps/rc-msi-digivox-ii.ko +kernel/drivers/media/rc/keymaps/rc-msi-digivox-iii.ko +kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere.ko +kernel/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.ko +kernel/drivers/media/rc/keymaps/rc-nebula.ko +kernel/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.ko +kernel/drivers/media/rc/keymaps/rc-norwood.ko +kernel/drivers/media/rc/keymaps/rc-npgtech.ko +kernel/drivers/media/rc/keymaps/rc-pctv-sedna.ko +kernel/drivers/media/rc/keymaps/rc-pinnacle-color.ko +kernel/drivers/media/rc/keymaps/rc-pinnacle-grey.ko +kernel/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.ko +kernel/drivers/media/rc/keymaps/rc-pixelview.ko +kernel/drivers/media/rc/keymaps/rc-pixelview-mk12.ko +kernel/drivers/media/rc/keymaps/rc-pixelview-002t.ko +kernel/drivers/media/rc/keymaps/rc-pixelview-new.ko +kernel/drivers/media/rc/keymaps/rc-powercolor-real-angel.ko +kernel/drivers/media/rc/keymaps/rc-proteus-2309.ko +kernel/drivers/media/rc/keymaps/rc-purpletv.ko +kernel/drivers/media/rc/keymaps/rc-pv951.ko +kernel/drivers/media/rc/keymaps/rc-hauppauge.ko +kernel/drivers/media/rc/keymaps/rc-rc6-mce.ko +kernel/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.ko +kernel/drivers/media/rc/keymaps/rc-snapstream-firefly.ko +kernel/drivers/media/rc/keymaps/rc-streamzap.ko +kernel/drivers/media/rc/keymaps/rc-tbs-nec.ko +kernel/drivers/media/rc/keymaps/rc-technisat-usb2.ko +kernel/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.ko +kernel/drivers/media/rc/keymaps/rc-terratec-slim.ko +kernel/drivers/media/rc/keymaps/rc-terratec-slim-2.ko +kernel/drivers/media/rc/keymaps/rc-tevii-nec.ko +kernel/drivers/media/rc/keymaps/rc-tivo.ko +kernel/drivers/media/rc/keymaps/rc-total-media-in-hand.ko +kernel/drivers/media/rc/keymaps/rc-trekstor.ko +kernel/drivers/media/rc/keymaps/rc-tt-1500.ko +kernel/drivers/media/rc/keymaps/rc-twinhan1027.ko +kernel/drivers/media/rc/keymaps/rc-videomate-m1f.ko +kernel/drivers/media/rc/keymaps/rc-videomate-s350.ko +kernel/drivers/media/rc/keymaps/rc-videomate-tv-pvr.ko +kernel/drivers/media/rc/keymaps/rc-winfast.ko +kernel/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.ko +kernel/drivers/media/rc/rc-core.ko +kernel/drivers/media/rc/lirc_dev.ko +kernel/drivers/media/rc/ir-nec-decoder.ko +kernel/drivers/media/rc/ir-rc5-decoder.ko +kernel/drivers/media/rc/ir-rc6-decoder.ko +kernel/drivers/media/rc/ir-jvc-decoder.ko +kernel/drivers/media/rc/ir-sony-decoder.ko +kernel/drivers/media/rc/ir-rc5-sz-decoder.ko +kernel/drivers/media/rc/ir-sanyo-decoder.ko +kernel/drivers/media/rc/ir-mce_kbd-decoder.ko +kernel/drivers/media/rc/ir-lirc-codec.ko +kernel/drivers/media/rc/ati_remote.ko +kernel/drivers/media/rc/imon.ko +kernel/drivers/media/rc/mceusb.ko +kernel/drivers/media/rc/redrat3.ko +kernel/drivers/media/rc/streamzap.ko +kernel/drivers/media/rc/rc-loopback.ko +kernel/drivers/media/rc/gpio-ir-recv.ko +kernel/drivers/media/rc/iguanair.ko +kernel/drivers/media/video/videodev.ko +kernel/drivers/media/video/v4l2-int-device.ko +kernel/drivers/media/video/v4l2-common.ko +kernel/drivers/media/video/tuner.ko +kernel/drivers/media/video/saa7115.ko +kernel/drivers/media/video/msp3400.ko +kernel/drivers/media/video/cs53l32a.ko +kernel/drivers/media/video/wm8775.ko +kernel/drivers/media/video/cx25840/cx25840.ko +kernel/drivers/media/video/tveeprom.ko +kernel/drivers/media/video/em28xx/em28xx.ko +kernel/drivers/media/video/em28xx/em28xx-alsa.ko +kernel/drivers/media/video/em28xx/em28xx-dvb.ko +kernel/drivers/media/video/em28xx/em28xx-rc.ko +kernel/drivers/media/video/tlg2300/poseidon.ko +kernel/drivers/media/video/cx231xx/cx231xx.ko +kernel/drivers/media/video/cx231xx/cx231xx-alsa.ko +kernel/drivers/media/video/cx231xx/cx231xx-dvb.ko +kernel/drivers/media/video/usbvision/usbvision.ko +kernel/drivers/media/video/pvrusb2/pvrusb2.ko +kernel/drivers/media/video/videobuf-core.ko +kernel/drivers/media/video/videobuf-vmalloc.ko +kernel/drivers/media/video/videobuf-dvb.ko +kernel/drivers/media/video/videobuf2-core.ko +kernel/drivers/media/video/videobuf2-memops.ko +kernel/drivers/media/video/videobuf2-vmalloc.ko +kernel/drivers/media/video/cx2341x.ko +kernel/drivers/media/video/zr364xx.ko +kernel/drivers/media/video/stkwebcam.ko +kernel/drivers/media/video/sn9c102/sn9c102.ko +kernel/drivers/media/video/pwc/pwc.ko +kernel/drivers/media/video/gspca/gspca_main.ko +kernel/drivers/media/video/gspca/gspca_benq.ko +kernel/drivers/media/video/gspca/gspca_conex.ko +kernel/drivers/media/video/gspca/gspca_cpia1.ko +kernel/drivers/media/video/gspca/gspca_etoms.ko +kernel/drivers/media/video/gspca/gspca_finepix.ko +kernel/drivers/media/video/gspca/gspca_jeilinj.ko +kernel/drivers/media/video/gspca/gspca_jl2005bcd.ko +kernel/drivers/media/video/gspca/gspca_kinect.ko +kernel/drivers/media/video/gspca/gspca_konica.ko +kernel/drivers/media/video/gspca/gspca_mars.ko +kernel/drivers/media/video/gspca/gspca_mr97310a.ko +kernel/drivers/media/video/gspca/gspca_nw80x.ko +kernel/drivers/media/video/gspca/gspca_ov519.ko +kernel/drivers/media/video/gspca/gspca_ov534.ko +kernel/drivers/media/video/gspca/gspca_ov534_9.ko +kernel/drivers/media/video/gspca/gspca_pac207.ko +kernel/drivers/media/video/gspca/gspca_pac7302.ko +kernel/drivers/media/video/gspca/gspca_pac7311.ko +kernel/drivers/media/video/gspca/gspca_se401.ko +kernel/drivers/media/video/gspca/gspca_sn9c2028.ko +kernel/drivers/media/video/gspca/gspca_sn9c20x.ko +kernel/drivers/media/video/gspca/gspca_sonixb.ko +kernel/drivers/media/video/gspca/gspca_sonixj.ko +kernel/drivers/media/video/gspca/gspca_spca500.ko +kernel/drivers/media/video/gspca/gspca_spca501.ko +kernel/drivers/media/video/gspca/gspca_spca505.ko +kernel/drivers/media/video/gspca/gspca_spca506.ko +kernel/drivers/media/video/gspca/gspca_spca508.ko +kernel/drivers/media/video/gspca/gspca_spca561.ko +kernel/drivers/media/video/gspca/gspca_spca1528.ko +kernel/drivers/media/video/gspca/gspca_sq905.ko +kernel/drivers/media/video/gspca/gspca_sq905c.ko +kernel/drivers/media/video/gspca/gspca_sq930x.ko +kernel/drivers/media/video/gspca/gspca_sunplus.ko +kernel/drivers/media/video/gspca/gspca_stk014.ko +kernel/drivers/media/video/gspca/gspca_stv0680.ko +kernel/drivers/media/video/gspca/gspca_t613.ko +kernel/drivers/media/video/gspca/gspca_tv8532.ko +kernel/drivers/media/video/gspca/gspca_vc032x.ko +kernel/drivers/media/video/gspca/gspca_vicam.ko +kernel/drivers/media/video/gspca/gspca_xirlink_cit.ko +kernel/drivers/media/video/gspca/gspca_zc3xx.ko +kernel/drivers/media/video/gspca/m5602/gspca_m5602.ko +kernel/drivers/media/video/gspca/stv06xx/gspca_stv06xx.ko +kernel/drivers/media/video/gspca/gl860/gspca_gl860.ko +kernel/drivers/media/video/hdpvr/hdpvr.ko +kernel/drivers/media/video/s2255drv.ko +kernel/drivers/media/video/uvc/uvcvideo.ko +kernel/drivers/media/video/ir-kbd-i2c.ko +kernel/drivers/media/radio/si470x/radio-usb-si470x.ko +kernel/drivers/media/radio/shark2.ko +kernel/drivers/media/radio/dsbr100.ko +kernel/drivers/media/radio/radio-mr800.ko +kernel/drivers/media/radio/radio-keene.ko +kernel/drivers/media/dvb/dvb-core/dvb-core.ko +kernel/drivers/media/dvb/frontends/dvb-pll.ko +kernel/drivers/media/dvb/frontends/stv0299.ko +kernel/drivers/media/dvb/frontends/stb0899.ko +kernel/drivers/media/dvb/frontends/stb6100.ko +kernel/drivers/media/dvb/frontends/sp8870.ko +kernel/drivers/media/dvb/frontends/cx22700.ko +kernel/drivers/media/dvb/frontends/s5h1432.ko +kernel/drivers/media/dvb/frontends/cx24110.ko +kernel/drivers/media/dvb/frontends/tda8083.ko +kernel/drivers/media/dvb/frontends/l64781.ko +kernel/drivers/media/dvb/frontends/dib3000mb.ko +kernel/drivers/media/dvb/frontends/dib3000mc.ko +kernel/drivers/media/dvb/frontends/dibx000_common.ko +kernel/drivers/media/dvb/frontends/dib7000m.ko +kernel/drivers/media/dvb/frontends/dib7000p.ko +kernel/drivers/media/dvb/frontends/dib8000.ko +kernel/drivers/media/dvb/frontends/dib9000.ko +kernel/drivers/media/dvb/frontends/mt312.ko +kernel/drivers/media/dvb/frontends/ves1820.ko +kernel/drivers/media/dvb/frontends/ves1x93.ko +kernel/drivers/media/dvb/frontends/tda1004x.ko +kernel/drivers/media/dvb/frontends/sp887x.ko +kernel/drivers/media/dvb/frontends/nxt6000.ko +kernel/drivers/media/dvb/frontends/mt352.ko +kernel/drivers/media/dvb/frontends/zl10036.ko +kernel/drivers/media/dvb/frontends/zl10039.ko +kernel/drivers/media/dvb/frontends/zl10353.ko +kernel/drivers/media/dvb/frontends/cx22702.ko +kernel/drivers/media/dvb/frontends/drxd.ko +kernel/drivers/media/dvb/frontends/tda10021.ko +kernel/drivers/media/dvb/frontends/tda10023.ko +kernel/drivers/media/dvb/frontends/stv0297.ko +kernel/drivers/media/dvb/frontends/nxt200x.ko +kernel/drivers/media/dvb/frontends/or51211.ko +kernel/drivers/media/dvb/frontends/or51132.ko +kernel/drivers/media/dvb/frontends/bcm3510.ko +kernel/drivers/media/dvb/frontends/s5h1420.ko +kernel/drivers/media/dvb/frontends/lgdt330x.ko +kernel/drivers/media/dvb/frontends/lgdt3305.ko +kernel/drivers/media/dvb/frontends/lg2160.ko +kernel/drivers/media/dvb/frontends/cx24123.ko +kernel/drivers/media/dvb/frontends/lnbp21.ko +kernel/drivers/media/dvb/frontends/lnbp22.ko +kernel/drivers/media/dvb/frontends/isl6405.ko +kernel/drivers/media/dvb/frontends/isl6421.ko +kernel/drivers/media/dvb/frontends/tda10086.ko +kernel/drivers/media/dvb/frontends/tda826x.ko +kernel/drivers/media/dvb/frontends/tda8261.ko +kernel/drivers/media/dvb/frontends/dib0070.ko +kernel/drivers/media/dvb/frontends/dib0090.ko +kernel/drivers/media/dvb/frontends/tua6100.ko +kernel/drivers/media/dvb/frontends/s5h1409.ko +kernel/drivers/media/dvb/frontends/itd1000.ko +kernel/drivers/media/dvb/frontends/au8522_common.ko +kernel/drivers/media/dvb/frontends/au8522_dig.ko +kernel/drivers/media/dvb/frontends/au8522_decoder.ko +kernel/drivers/media/dvb/frontends/tda10048.ko +kernel/drivers/media/dvb/frontends/cx24113.ko +kernel/drivers/media/dvb/frontends/s5h1411.ko +kernel/drivers/media/dvb/frontends/lgs8gl5.ko +kernel/drivers/media/dvb/frontends/tda665x.ko +kernel/drivers/media/dvb/frontends/lgs8gxx.ko +kernel/drivers/media/dvb/frontends/atbm8830.ko +kernel/drivers/media/dvb/frontends/af9013.ko +kernel/drivers/media/dvb/frontends/cx24116.ko +kernel/drivers/media/dvb/frontends/si21xx.ko +kernel/drivers/media/dvb/frontends/stv0288.ko +kernel/drivers/media/dvb/frontends/stb6000.ko +kernel/drivers/media/dvb/frontends/s921.ko +kernel/drivers/media/dvb/frontends/stv6110.ko +kernel/drivers/media/dvb/frontends/stv0900.ko +kernel/drivers/media/dvb/frontends/stv090x.ko +kernel/drivers/media/dvb/frontends/stv6110x.ko +kernel/drivers/media/dvb/frontends/isl6423.ko +kernel/drivers/media/dvb/frontends/ec100.ko +kernel/drivers/media/dvb/frontends/hd29l2.ko +kernel/drivers/media/dvb/frontends/ds3000.ko +kernel/drivers/media/dvb/frontends/mb86a16.ko +kernel/drivers/media/dvb/frontends/mb86a20s.ko +kernel/drivers/media/dvb/frontends/ix2505v.ko +kernel/drivers/media/dvb/frontends/stv0367.ko +kernel/drivers/media/dvb/frontends/cxd2820r.ko +kernel/drivers/media/dvb/frontends/drxk.ko +kernel/drivers/media/dvb/frontends/tda18271c2dd.ko +kernel/drivers/media/dvb/frontends/it913x-fe.ko +kernel/drivers/media/dvb/frontends/a8293.ko +kernel/drivers/media/dvb/frontends/tda10071.ko +kernel/drivers/media/dvb/frontends/rtl2830.ko +kernel/drivers/media/dvb/frontends/rtl2832.ko +kernel/drivers/media/dvb/frontends/m88rs2000.ko +kernel/drivers/media/dvb/frontends/af9033.ko +kernel/drivers/media/dvb/b2c2/b2c2-flexcop.ko +kernel/drivers/media/dvb/b2c2/b2c2-flexcop-usb.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-a800.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-m920x.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-gl861.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-au6610.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-digitv.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-opera.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-anysee.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-friio.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-ec168.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6007.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6027.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-lmedm04.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-technisat-usb2.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv1.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913xv2.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-rtl28xxu.ko +kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9035.ko +kernel/drivers/media/dvb/siano/smsmdtv.ko +kernel/drivers/media/dvb/siano/smsdvb.ko +kernel/drivers/media/dvb/siano/smsusb.ko +kernel/drivers/watchdog/bcm2708_wdog.ko +kernel/drivers/md/linear.ko +kernel/drivers/md/raid0.ko +kernel/drivers/md/raid1.ko +kernel/drivers/md/raid10.ko +kernel/drivers/md/raid456.ko +kernel/drivers/md/multipath.ko +kernel/drivers/md/faulty.ko +kernel/drivers/md/md-mod.ko +kernel/drivers/md/dm-mod.ko +kernel/drivers/md/dm-bufio.ko +kernel/drivers/md/dm-crypt.ko +kernel/drivers/md/dm-delay.ko +kernel/drivers/md/dm-multipath.ko +kernel/drivers/md/dm-round-robin.ko +kernel/drivers/md/dm-queue-length.ko +kernel/drivers/md/dm-service-time.ko +kernel/drivers/md/dm-snapshot.ko +kernel/drivers/md/persistent-data/dm-persistent-data.ko +kernel/drivers/md/dm-mirror.ko +kernel/drivers/md/dm-log.ko +kernel/drivers/md/dm-region-hash.ko +kernel/drivers/md/dm-zero.ko +kernel/drivers/md/dm-raid.ko +kernel/drivers/md/dm-thin-pool.ko +kernel/drivers/md/dm-verity.ko +kernel/drivers/cpufreq/cpufreq_stats.ko +kernel/drivers/leds/ledtrig-timer.ko +kernel/drivers/leds/ledtrig-oneshot.ko +kernel/drivers/leds/ledtrig-heartbeat.ko +kernel/drivers/leds/ledtrig-default-on.ko +kernel/drivers/hid/uhid.ko +kernel/drivers/hid/hid-a4tech.ko +kernel/drivers/hid/hid-axff.ko +kernel/drivers/hid/hid-apple.ko +kernel/drivers/hid/hid-aureal.ko +kernel/drivers/hid/hid-belkin.ko +kernel/drivers/hid/hid-cherry.ko +kernel/drivers/hid/hid-chicony.ko +kernel/drivers/hid/hid-cypress.ko +kernel/drivers/hid/hid-dr.ko +kernel/drivers/hid/hid-emsff.ko +kernel/drivers/hid/hid-elecom.ko +kernel/drivers/hid/hid-ezkey.ko +kernel/drivers/hid/hid-gyration.ko +kernel/drivers/hid/hid-holtek-kbd.ko +kernel/drivers/hid/hid-holtekff.ko +kernel/drivers/hid/hid-kensington.ko +kernel/drivers/hid/hid-keytouch.ko +kernel/drivers/hid/hid-kye.ko +kernel/drivers/hid/hid-lcpower.ko +kernel/drivers/hid/hid-lenovo-tpkbd.ko +kernel/drivers/hid/hid-logitech.ko +kernel/drivers/hid/hid-logitech-dj.ko +kernel/drivers/hid/hid-magicmouse.ko +kernel/drivers/hid/hid-microsoft.ko +kernel/drivers/hid/hid-monterey.ko +kernel/drivers/hid/hid-multitouch.ko +kernel/drivers/hid/hid-ntrig.ko +kernel/drivers/hid/hid-ortek.ko +kernel/drivers/hid/hid-prodikeys.ko +kernel/drivers/hid/hid-pl.ko +kernel/drivers/hid/hid-petalynx.ko +kernel/drivers/hid/hid-picolcd.ko +kernel/drivers/hid/hid-primax.ko +kernel/drivers/hid/hid-roccat.ko +kernel/drivers/hid/hid-roccat-common.ko +kernel/drivers/hid/hid-roccat-arvo.ko +kernel/drivers/hid/hid-roccat-isku.ko +kernel/drivers/hid/hid-roccat-kone.ko +kernel/drivers/hid/hid-roccat-koneplus.ko +kernel/drivers/hid/hid-roccat-kovaplus.ko +kernel/drivers/hid/hid-roccat-pyra.ko +kernel/drivers/hid/hid-roccat-savu.ko +kernel/drivers/hid/hid-saitek.ko +kernel/drivers/hid/hid-samsung.ko +kernel/drivers/hid/hid-sjoy.ko +kernel/drivers/hid/hid-sony.ko +kernel/drivers/hid/hid-speedlink.ko +kernel/drivers/hid/hid-sunplus.ko +kernel/drivers/hid/hid-gaff.ko +kernel/drivers/hid/hid-tmff.ko +kernel/drivers/hid/hid-tivo.ko +kernel/drivers/hid/hid-topseed.ko +kernel/drivers/hid/hid-twinhan.ko +kernel/drivers/hid/hid-uclogic.ko +kernel/drivers/hid/hid-zpff.ko +kernel/drivers/hid/hid-zydacron.ko +kernel/drivers/hid/hid-wacom.ko +kernel/drivers/hid/hid-waltop.ko +kernel/drivers/hid/hid-wiimote.ko +kernel/drivers/staging/media/lirc/lirc_rpi.ko +kernel/drivers/staging/media/lirc/lirc_rp1.ko +kernel/drivers/staging/media/lirc/lirc_xbox.ko +kernel/drivers/staging/winbond/w35und.ko +kernel/drivers/staging/wlan-ng/prism2_usb.ko +kernel/drivers/staging/rtl8712/r8712u.ko +kernel/drivers/staging/zram/zram.ko +kernel/drivers/staging/ozwpan/ozwpan.ko +kernel/drivers/staging/gdm72xx/gdmwm.ko +kernel/drivers/staging/csr/csr_wifi.ko +kernel/drivers/staging/csr/csr_helper.ko +kernel/drivers/extcon/extcon_gpio.ko +kernel/drivers/connector/cn.ko +kernel/drivers/uio/uio.ko +kernel/drivers/uio/uio_pdrv.ko +kernel/drivers/uio/uio_pdrv_genirq.ko +kernel/drivers/input/serio/serio.ko +kernel/drivers/input/serio/serport.ko +kernel/drivers/input/serio/serio_raw.ko +kernel/drivers/input/gameport/gameport.ko +kernel/drivers/input/gameport/lightning.ko +kernel/drivers/input/gameport/ns558.ko +kernel/drivers/w1/masters/ds2490.ko +kernel/drivers/w1/masters/ds2482.ko +kernel/drivers/w1/masters/ds1wm.ko +kernel/drivers/w1/masters/w1-gpio.ko +kernel/drivers/w1/slaves/w1_therm.ko +kernel/drivers/w1/slaves/w1_smem.ko +kernel/drivers/w1/slaves/w1_ds2408.ko +kernel/drivers/w1/slaves/w1_ds2423.ko +kernel/drivers/w1/slaves/w1_ds2431.ko +kernel/drivers/w1/slaves/w1_ds2433.ko +kernel/drivers/w1/slaves/w1_ds2760.ko +kernel/drivers/w1/slaves/w1_ds2780.ko +kernel/drivers/w1/slaves/w1_ds2781.ko +kernel/drivers/w1/slaves/w1_bq27000.ko +kernel/drivers/w1/slaves/w1_ds28e04.ko +kernel/drivers/w1/wire.ko +kernel/drivers/bluetooth/hci_vhci.ko +kernel/drivers/bluetooth/bcm203x.ko +kernel/drivers/bluetooth/bpa10x.ko +kernel/drivers/bluetooth/bfusb.ko +kernel/drivers/bluetooth/btusb.ko +kernel/drivers/bluetooth/ath3k.ko +kernel/drivers/bluetooth/btmrvl.ko +kernel/drivers/bluetooth/btmrvl_sdio.ko +kernel/drivers/ssb/ssb.ko +kernel/sound/sound_firmware.ko +kernel/sound/core/oss/snd-mixer-oss.ko +kernel/sound/core/oss/snd-pcm-oss.ko +kernel/sound/core/snd.ko +kernel/sound/core/snd-hwdep.ko +kernel/sound/core/snd-timer.ko +kernel/sound/core/snd-hrtimer.ko +kernel/sound/core/snd-pcm.ko +kernel/sound/core/snd-page-alloc.ko +kernel/sound/core/snd-rawmidi.ko +kernel/sound/core/seq/snd-seq.ko +kernel/sound/core/seq/snd-seq-device.ko +kernel/sound/core/seq/snd-seq-midi-event.ko +kernel/sound/core/seq/oss/snd-seq-oss.ko +kernel/sound/core/seq/snd-seq-dummy.ko +kernel/sound/core/seq/snd-seq-virmidi.ko +kernel/sound/core/seq/snd-seq-midi.ko +kernel/sound/drivers/snd-dummy.ko +kernel/sound/drivers/snd-aloop.ko +kernel/sound/drivers/snd-virmidi.ko +kernel/sound/drivers/snd-serial-u16550.ko +kernel/sound/drivers/snd-mtpav.ko +kernel/sound/drivers/mpu401/snd-mpu401-uart.ko +kernel/sound/drivers/mpu401/snd-mpu401.ko +kernel/sound/arm/snd-bcm2835.ko +kernel/sound/usb/snd-usb-audio.ko +kernel/sound/usb/snd-usbmidi-lib.ko +kernel/sound/usb/misc/snd-ua101.ko +kernel/sound/usb/caiaq/snd-usb-caiaq.ko +kernel/sound/usb/6fire/snd-usb-6fire.ko +kernel/arch/arm/oprofile/oprofile.ko +kernel/net/core/pktgen.ko +kernel/net/802/p8022.ko +kernel/net/802/psnap.ko +kernel/net/802/stp.ko +kernel/net/802/garp.ko +kernel/net/sched/act_police.ko +kernel/net/sched/act_gact.ko +kernel/net/sched/act_mirred.ko +kernel/net/sched/act_ipt.ko +kernel/net/sched/act_nat.ko +kernel/net/sched/act_pedit.ko +kernel/net/sched/act_simple.ko +kernel/net/sched/act_skbedit.ko +kernel/net/sched/act_csum.ko +kernel/net/sched/sch_cbq.ko +kernel/net/sched/sch_htb.ko +kernel/net/sched/sch_hfsc.ko +kernel/net/sched/sch_red.ko +kernel/net/sched/sch_gred.ko +kernel/net/sched/sch_dsmark.ko +kernel/net/sched/sch_sfb.ko +kernel/net/sched/sch_sfq.ko +kernel/net/sched/sch_tbf.ko +kernel/net/sched/sch_teql.ko +kernel/net/sched/sch_prio.ko +kernel/net/sched/sch_multiq.ko +kernel/net/sched/sch_netem.ko +kernel/net/sched/sch_drr.ko +kernel/net/sched/sch_plug.ko +kernel/net/sched/sch_mqprio.ko +kernel/net/sched/sch_choke.ko +kernel/net/sched/sch_qfq.ko +kernel/net/sched/sch_codel.ko +kernel/net/sched/sch_fq_codel.ko +kernel/net/sched/cls_u32.ko +kernel/net/sched/cls_route.ko +kernel/net/sched/cls_fw.ko +kernel/net/sched/cls_rsvp.ko +kernel/net/sched/cls_tcindex.ko +kernel/net/sched/cls_rsvp6.ko +kernel/net/sched/cls_basic.ko +kernel/net/sched/cls_flow.ko +kernel/net/sched/cls_cgroup.ko +kernel/net/sched/em_cmp.ko +kernel/net/sched/em_nbyte.ko +kernel/net/sched/em_u32.ko +kernel/net/sched/em_meta.ko +kernel/net/sched/em_text.ko +kernel/net/sched/em_ipset.ko +kernel/net/netfilter/nfnetlink.ko +kernel/net/netfilter/nfnetlink_acct.ko +kernel/net/netfilter/nfnetlink_queue.ko +kernel/net/netfilter/nfnetlink_log.ko +kernel/net/netfilter/nf_conntrack.ko +kernel/net/netfilter/nf_conntrack_proto_dccp.ko +kernel/net/netfilter/nf_conntrack_proto_gre.ko +kernel/net/netfilter/nf_conntrack_proto_sctp.ko +kernel/net/netfilter/nf_conntrack_proto_udplite.ko +kernel/net/netfilter/nf_conntrack_netlink.ko +kernel/net/netfilter/nf_conntrack_amanda.ko +kernel/net/netfilter/nf_conntrack_ftp.ko +kernel/net/netfilter/nf_conntrack_h323.ko +kernel/net/netfilter/nf_conntrack_irc.ko +kernel/net/netfilter/nf_conntrack_broadcast.ko +kernel/net/netfilter/nf_conntrack_netbios_ns.ko +kernel/net/netfilter/nf_conntrack_snmp.ko +kernel/net/netfilter/nf_conntrack_pptp.ko +kernel/net/netfilter/nf_conntrack_sane.ko +kernel/net/netfilter/nf_conntrack_sip.ko +kernel/net/netfilter/nf_conntrack_tftp.ko +kernel/net/netfilter/nf_tproxy_core.ko +kernel/net/netfilter/x_tables.ko +kernel/net/netfilter/xt_tcpudp.ko +kernel/net/netfilter/xt_mark.ko +kernel/net/netfilter/xt_connmark.ko +kernel/net/netfilter/xt_set.ko +kernel/net/netfilter/xt_AUDIT.ko +kernel/net/netfilter/xt_CHECKSUM.ko +kernel/net/netfilter/xt_CLASSIFY.ko +kernel/net/netfilter/xt_CT.ko +kernel/net/netfilter/xt_DSCP.ko +kernel/net/netfilter/xt_HL.ko +kernel/net/netfilter/xt_HMARK.ko +kernel/net/netfilter/xt_LED.ko +kernel/net/netfilter/xt_LOG.ko +kernel/net/netfilter/xt_NFLOG.ko +kernel/net/netfilter/xt_NFQUEUE.ko +kernel/net/netfilter/xt_NOTRACK.ko +kernel/net/netfilter/xt_RATEEST.ko +kernel/net/netfilter/xt_TPROXY.ko +kernel/net/netfilter/xt_TCPMSS.ko +kernel/net/netfilter/xt_TCPOPTSTRIP.ko +kernel/net/netfilter/xt_TEE.ko +kernel/net/netfilter/xt_TRACE.ko +kernel/net/netfilter/xt_IDLETIMER.ko +kernel/net/netfilter/xt_addrtype.ko +kernel/net/netfilter/xt_cluster.ko +kernel/net/netfilter/xt_comment.ko +kernel/net/netfilter/xt_connbytes.ko +kernel/net/netfilter/xt_connlimit.ko +kernel/net/netfilter/xt_conntrack.ko +kernel/net/netfilter/xt_cpu.ko +kernel/net/netfilter/xt_dccp.ko +kernel/net/netfilter/xt_devgroup.ko +kernel/net/netfilter/xt_dscp.ko +kernel/net/netfilter/xt_ecn.ko +kernel/net/netfilter/xt_esp.ko +kernel/net/netfilter/xt_hashlimit.ko +kernel/net/netfilter/xt_helper.ko +kernel/net/netfilter/xt_hl.ko +kernel/net/netfilter/xt_iprange.ko +kernel/net/netfilter/xt_length.ko +kernel/net/netfilter/xt_limit.ko +kernel/net/netfilter/xt_mac.ko +kernel/net/netfilter/xt_multiport.ko +kernel/net/netfilter/xt_nfacct.ko +kernel/net/netfilter/xt_osf.ko +kernel/net/netfilter/xt_owner.ko +kernel/net/netfilter/xt_physdev.ko +kernel/net/netfilter/xt_pkttype.ko +kernel/net/netfilter/xt_policy.ko +kernel/net/netfilter/xt_quota.ko +kernel/net/netfilter/xt_rateest.ko +kernel/net/netfilter/xt_realm.ko +kernel/net/netfilter/xt_recent.ko +kernel/net/netfilter/xt_sctp.ko +kernel/net/netfilter/xt_socket.ko +kernel/net/netfilter/xt_state.ko +kernel/net/netfilter/xt_statistic.ko +kernel/net/netfilter/xt_string.ko +kernel/net/netfilter/xt_tcpmss.ko +kernel/net/netfilter/xt_time.ko +kernel/net/netfilter/xt_u32.ko +kernel/net/netfilter/ipset/ip_set.ko +kernel/net/netfilter/ipset/ip_set_bitmap_ip.ko +kernel/net/netfilter/ipset/ip_set_bitmap_ipmac.ko +kernel/net/netfilter/ipset/ip_set_bitmap_port.ko +kernel/net/netfilter/ipset/ip_set_hash_ip.ko +kernel/net/netfilter/ipset/ip_set_hash_ipport.ko +kernel/net/netfilter/ipset/ip_set_hash_ipportip.ko +kernel/net/netfilter/ipset/ip_set_hash_ipportnet.ko +kernel/net/netfilter/ipset/ip_set_hash_net.ko +kernel/net/netfilter/ipset/ip_set_hash_netport.ko +kernel/net/netfilter/ipset/ip_set_hash_netiface.ko +kernel/net/netfilter/ipset/ip_set_list_set.ko +kernel/net/ipv4/netfilter/nf_conntrack_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat.ko +kernel/net/ipv4/netfilter/nf_defrag_ipv4.ko +kernel/net/ipv4/netfilter/nf_nat_amanda.ko +kernel/net/ipv4/netfilter/nf_nat_ftp.ko +kernel/net/ipv4/netfilter/nf_nat_h323.ko +kernel/net/ipv4/netfilter/nf_nat_irc.ko +kernel/net/ipv4/netfilter/nf_nat_pptp.ko +kernel/net/ipv4/netfilter/nf_nat_sip.ko +kernel/net/ipv4/netfilter/nf_nat_snmp_basic.ko +kernel/net/ipv4/netfilter/nf_nat_tftp.ko +kernel/net/ipv4/netfilter/nf_nat_proto_dccp.ko +kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko +kernel/net/ipv4/netfilter/nf_nat_proto_udplite.ko +kernel/net/ipv4/netfilter/nf_nat_proto_sctp.ko +kernel/net/ipv4/netfilter/ip_tables.ko +kernel/net/ipv4/netfilter/iptable_filter.ko +kernel/net/ipv4/netfilter/iptable_mangle.ko +kernel/net/ipv4/netfilter/iptable_nat.ko +kernel/net/ipv4/netfilter/iptable_raw.ko +kernel/net/ipv4/netfilter/ipt_ah.ko +kernel/net/ipv4/netfilter/ipt_rpfilter.ko +kernel/net/ipv4/netfilter/ipt_ECN.ko +kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko +kernel/net/ipv4/netfilter/ipt_NETMAP.ko +kernel/net/ipv4/netfilter/ipt_REDIRECT.ko +kernel/net/ipv4/netfilter/ipt_REJECT.ko +kernel/net/ipv4/netfilter/ipt_ULOG.ko +kernel/net/ipv4/netfilter/arp_tables.ko +kernel/net/ipv4/netfilter/arpt_mangle.ko +kernel/net/ipv4/netfilter/arptable_filter.ko +kernel/net/ipv4/ipip.ko +kernel/net/ipv4/ip_vti.ko +kernel/net/ipv4/ah4.ko +kernel/net/ipv4/esp4.ko +kernel/net/ipv4/ipcomp.ko +kernel/net/ipv4/xfrm4_tunnel.ko +kernel/net/ipv4/xfrm4_mode_beet.ko +kernel/net/ipv4/inet_lro.ko +kernel/net/ipv4/tunnel4.ko +kernel/net/ipv4/xfrm4_mode_transport.ko +kernel/net/ipv4/xfrm4_mode_tunnel.ko +kernel/net/ipv4/inet_diag.ko +kernel/net/ipv4/tcp_diag.ko +kernel/net/ipv4/udp_diag.ko +kernel/net/xfrm/xfrm_ipcomp.ko +kernel/net/ipv6/netfilter/ip6_tables.ko +kernel/net/ipv6/netfilter/ip6table_filter.ko +kernel/net/ipv6/netfilter/ip6table_mangle.ko +kernel/net/ipv6/netfilter/ip6table_raw.ko +kernel/net/ipv6/netfilter/nf_conntrack_ipv6.ko +kernel/net/ipv6/netfilter/nf_defrag_ipv6.ko +kernel/net/ipv6/netfilter/ip6t_ah.ko +kernel/net/ipv6/netfilter/ip6t_eui64.ko +kernel/net/ipv6/netfilter/ip6t_frag.ko +kernel/net/ipv6/netfilter/ip6t_ipv6header.ko +kernel/net/ipv6/netfilter/ip6t_mh.ko +kernel/net/ipv6/netfilter/ip6t_hbh.ko +kernel/net/ipv6/netfilter/ip6t_rpfilter.ko +kernel/net/ipv6/netfilter/ip6t_rt.ko +kernel/net/ipv6/netfilter/ip6t_REJECT.ko +kernel/net/ipv6/ipv6.ko +kernel/net/ipv6/ah6.ko +kernel/net/ipv6/esp6.ko +kernel/net/ipv6/ipcomp6.ko +kernel/net/ipv6/xfrm6_tunnel.ko +kernel/net/ipv6/tunnel6.ko +kernel/net/ipv6/xfrm6_mode_transport.ko +kernel/net/ipv6/xfrm6_mode_tunnel.ko +kernel/net/ipv6/xfrm6_mode_beet.ko +kernel/net/ipv6/sit.ko +kernel/net/8021q/8021q.ko +kernel/net/wireless/cfg80211.ko +kernel/net/wireless/lib80211.ko +kernel/net/wireless/lib80211_crypt_wep.ko +kernel/net/wireless/lib80211_crypt_ccmp.ko +kernel/net/wireless/lib80211_crypt_tkip.ko +kernel/net/llc/llc.ko +kernel/net/key/af_key.ko +kernel/net/bridge/bridge.ko +kernel/net/bridge/netfilter/ebtables.ko +kernel/net/bridge/netfilter/ebtable_broute.ko +kernel/net/bridge/netfilter/ebtable_filter.ko +kernel/net/bridge/netfilter/ebtable_nat.ko +kernel/net/bridge/netfilter/ebt_802_3.ko +kernel/net/bridge/netfilter/ebt_among.ko +kernel/net/bridge/netfilter/ebt_arp.ko +kernel/net/bridge/netfilter/ebt_ip.ko +kernel/net/bridge/netfilter/ebt_ip6.ko +kernel/net/bridge/netfilter/ebt_limit.ko +kernel/net/bridge/netfilter/ebt_mark_m.ko +kernel/net/bridge/netfilter/ebt_pkttype.ko +kernel/net/bridge/netfilter/ebt_stp.ko +kernel/net/bridge/netfilter/ebt_vlan.ko +kernel/net/bridge/netfilter/ebt_arpreply.ko +kernel/net/bridge/netfilter/ebt_mark.ko +kernel/net/bridge/netfilter/ebt_dnat.ko +kernel/net/bridge/netfilter/ebt_redirect.ko +kernel/net/bridge/netfilter/ebt_snat.ko +kernel/net/bridge/netfilter/ebt_log.ko +kernel/net/bridge/netfilter/ebt_ulog.ko +kernel/net/bridge/netfilter/ebt_nflog.ko +kernel/net/netrom/netrom.ko +kernel/net/rose/rose.ko +kernel/net/ax25/ax25.ko +kernel/net/irda/irda.ko +kernel/net/irda/irlan/irlan.ko +kernel/net/irda/irnet/irnet.ko +kernel/net/irda/ircomm/ircomm.ko +kernel/net/irda/ircomm/ircomm-tty.ko +kernel/net/bluetooth/bluetooth.ko +kernel/net/bluetooth/rfcomm/rfcomm.ko +kernel/net/bluetooth/bnep/bnep.ko +kernel/net/bluetooth/hidp/hidp.ko +kernel/net/l2tp/l2tp_core.ko +kernel/net/mac80211/mac80211.ko +kernel/net/9p/9pnet.ko +kernel/net/wimax/wimax.ko +kernel/net/nfc/nfc.ko +kernel/net/openvswitch/openvswitch.ko +kernel/lib/crc-ccitt.ko +kernel/lib/crc7.ko +kernel/lib/zlib_deflate/zlib_deflate.ko +kernel/lib/raid6/raid6_pq.ko +kernel/lib/ts_kmp.ko +kernel/lib/ts_bm.ko +kernel/lib/ts_fsm.ko +kernel/lib/lru_cache.ko diff --git a/lib/modules/3.6.11+/modules.pcimap b/lib/modules/3.6.11+/modules.pcimap new file mode 100644 index 000000000..3fd01ca28 --- /dev/null +++ b/lib/modules/3.6.11+/modules.pcimap @@ -0,0 +1 @@ +# pci module vendor device subvendor subdevice class class_mask driver_data diff --git a/lib/modules/3.6.11+/modules.seriomap b/lib/modules/3.6.11+/modules.seriomap new file mode 100644 index 000000000..cf96023a1 --- /dev/null +++ b/lib/modules/3.6.11+/modules.seriomap @@ -0,0 +1,3 @@ +# serio module type extra id proto +serio_raw 0x01 0xff 0xff 0xff +serio_raw 0x06 0xff 0xff 0xff diff --git a/lib/modules/3.6.11+/modules.softdep b/lib/modules/3.6.11+/modules.softdep new file mode 100644 index 000000000..3cc051267 --- /dev/null +++ b/lib/modules/3.6.11+/modules.softdep @@ -0,0 +1,2 @@ +# Soft dependencies extracted from modules themselves. +# Copy, with a .conf extension, to /etc/modprobe.d to use it with modprobe. diff --git a/lib/modules/3.6.11+/modules.symbols b/lib/modules/3.6.11+/modules.symbols new file mode 100644 index 000000000..c1f1149a4 --- /dev/null +++ b/lib/modules/3.6.11+/modules.symbols @@ -0,0 +1,2480 @@ +# Aliases for symbols, used by symbol_request(). +alias symbol:cfg80211_send_rx_assoc cfg80211 +alias symbol:hsi_async hsi +alias symbol:ieee80211_wake_queues mac80211 +alias symbol:ieee80211_queue_stopped mac80211 +alias symbol:cfg80211_wext_siwscan cfg80211 +alias symbol:cfg80211_wext_giwscan cfg80211 +alias symbol:o2hb_setup_callback ocfs2_nodemanager +alias symbol:videobuf_queue_cancel videobuf_core +alias symbol:l2tp_session_find_by_ifname l2tp_core +alias symbol:v4l2_ctrl_grab videodev +alias symbol:usb_serial_generic_write_bulk_callback usbserial +alias symbol:nfc_target_lost nfc +alias symbol:ax25_find_cb ax25 +alias symbol:em28xx_write_reg em28xx +alias symbol:dlm_unregister_eviction_cb ocfs2_dlm +alias symbol:md_finish_reshape md_mod +alias symbol:cma3000_suspend cma3000_d0x +alias symbol:hostap_handle_sta_tx_exc hostap +alias symbol:dm_get_device dm_mod +alias symbol:dm_put_device dm_mod +alias symbol:dib8000_ctrl_timf dib8000 +alias symbol:p9_client_statfs 9pnet +alias symbol:nf_nat_sdp_port_hook nf_conntrack_sip +alias symbol:dm_rh_start_recovery dm_region_hash +alias symbol:hostap_info_process hostap +alias symbol:nfc_tm_activated nfc +alias symbol:dib8096p_get_i2c_tuner dib8000 +alias symbol:ir_raw_event_handle rc_core +alias symbol:rc_keyup rc_core +alias symbol:rt2800_rfkill_poll rt2800lib +alias symbol:snd_power_wait snd +alias symbol:w1_unregister_family wire +alias symbol:mwifiex_add_virtual_intf mwifiex +alias symbol:ircomm_disconnect_request ircomm +alias symbol:i2400m_error_recovery i2400m +alias symbol:dibusb_i2c_algo dvb_usb_dibusb_common +alias symbol:stv0288_attach stv0288 +alias symbol:ax25_uid_policy ax25 +alias symbol:usbnet_cdc_unbind cdc_ether +alias symbol:rc_map_dibusb_table dvb_usb_dibusb_common +alias symbol:phy_device_register libphy +alias symbol:hostap_set_multicast_list_queue hostap +alias symbol:nf_conntrack_l4proto_tcp4 nf_conntrack +alias symbol:v4l_fill_dv_preset_info v4l2_common +alias symbol:arpt_do_table arp_tables +alias symbol:async_tx_submit async_tx +alias symbol:CsrWifiEventCsrUint16Des csr_helper +alias symbol:hostap_check_sta_fw_version hostap +alias symbol:xt_proto_fini x_tables +alias symbol:snd_card_free snd +alias symbol:ath9k_hw_disable_interrupts ath9k_hw +alias symbol:dm_exception_store_destroy dm_snapshot +alias symbol:input_unregister_polled_device input_polldev +alias symbol:rt2x00lib_txdone_noinfo rt2x00lib +alias symbol:ip6_local_out ipv6 +alias symbol:usb_wwan_open usb_wwan +alias symbol:register_pppox_proto pppox +alias symbol:eeprom_93cx6_read eeprom_93cx6 +alias symbol:snd_pcm_new_internal snd_pcm +alias symbol:md_check_no_bitmap md_mod +alias symbol:md_raid5_congested raid456 +alias symbol:md_raid1_congested raid1 +alias symbol:cx24123_attach cx24123 +alias symbol:cx231xx_dev_uninit cx231xx +alias symbol:v4l2_i2c_new_subdev v4l2_common +alias symbol:cn_del_callback cn +alias symbol:videobuf_mmap_free videobuf_core +alias symbol:ezusb_set_reset usbserial +alias symbol:ar9003_mci_send_wlan_channels ath9k_hw +alias symbol:p9_client_lock_dotl 9pnet +alias symbol:nf_ct_l3proto_put nf_conntrack +alias symbol:nf_ct_l4proto_put nf_conntrack +alias symbol:dvb_register_device dvb_core +alias symbol:usb_serial_deregister_drivers usbserial +alias symbol:ssb_commit_settings ssb +alias symbol:rt2x00usb_vendor_request rt2x00usb +alias symbol:nfc_get_local_general_bytes nfc +alias symbol:phy_stop_interrupts libphy +alias symbol:rt2x00lib_dmastart rt2x00lib +alias symbol:qtree_release_dquot quota_tree +alias symbol:p9_client_fsync 9pnet +alias symbol:ip_set_netmask_map ip_set +alias symbol:ip_set_put_byindex ip_set +alias symbol:rt2x00usb_disable_radio rt2x00usb +alias symbol:snd_pcm_lib_default_mmap snd_pcm +alias symbol:ar9003_mci_cleanup ath9k_hw +alias symbol:wiphy_to_ieee80211_hw mac80211 +alias symbol:ipv6_getsockopt ipv6 +alias symbol:roccat_connect hid_roccat +alias symbol:usb_ftdi_elan_edset_setup ftdi_elan +alias symbol:ath9k_hw_setmcastfilter ath9k_hw +alias symbol:cfg80211_ch_switch_notify cfg80211 +alias symbol:v4l2_i2c_new_subdev_board v4l2_common +alias symbol:cfg80211_notify_new_peer_candidate cfg80211 +alias symbol:dib7000p_ctrl_timf dib7000p +alias symbol:o2nm_node_get ocfs2_nodemanager +alias symbol:dibusb_rc_query dvb_usb_dibusb_common +alias symbol:cx2341x_handler_setup cx2341x +alias symbol:snd_usbmidi_create snd_usbmidi_lib +alias symbol:ssb_admatch_base ssb +alias symbol:ssb_admatch_size ssb +alias symbol:w1_ds2781_io w1_ds2781 +alias symbol:w1_ds2780_io w1_ds2780 +alias symbol:nfnetlink_parse_nat_setup_hook nf_conntrack +alias symbol:snd_seq_autoload_unlock snd_seq_device +alias symbol:adxl34x_suspend adxl34x +alias symbol:fuse_do_open fuse +alias symbol:dib7000p_update_pll dib7000p +alias symbol:arpt_alloc_initial_table arp_tables +alias symbol:v4l2_subdev_queryctrl videodev +alias symbol:au8522_led_ctrl au8522_common +alias symbol:ax25_listen_register ax25 +alias symbol:vb2_ioctl_dqbuf videobuf2_core +alias symbol:gf128mul_lle gf128mul +alias symbol:flexcop_pass_dmx_packets b2c2_flexcop +alias symbol:dib0070_wbd_offset dib0070 +alias symbol:adxl34x_probe adxl34x +alias symbol:ieee80211_stop_tx_ba_cb_irqsafe mac80211 +alias symbol:lro_flush_all inet_lro +alias symbol:snd_seq_device_unregister_driver snd_seq_device +alias symbol:rt2x00lib_remove_dev rt2x00lib +alias symbol:backlight_force_update backlight +alias symbol:ieee80211_sched_scan_stopped mac80211 +alias symbol:tuner_MT2063_SoftwareShutdown mt2063 +alias symbol:ath9k_hw_addrxbuf_edma ath9k_hw +alias symbol:p54_free_common p54common +alias symbol:llc_add_pack llc +alias symbol:xfrm6_tunnel_alloc_spi xfrm6_tunnel +alias symbol:v4l2_int_ioctl_0 v4l2_int_device +alias symbol:ath9k_hw_deinit ath9k_hw +alias symbol:bt_info bluetooth +alias symbol:rc_map_af9005_table dvb_usb_af9005_remote +alias symbol:stv6110_attach stv6110 +alias symbol:lnbp22_attach lnbp22 +alias symbol:mwifiex_add_card mwifiex +alias symbol:l2tp_tunnel_delete l2tp_core +alias symbol:inet_diag_bc_sk inet_diag +alias symbol:s921_attach s921 +alias symbol:ath9k_hw_abortpcurecv ath9k_hw +alias symbol:rt2800_read_eeprom_efuse rt2800lib +alias symbol:roccat_disconnect hid_roccat +alias symbol:nf_nat_pptp_hook_expectfn nf_conntrack_pptp +alias symbol:w1_add_master_device wire +alias symbol:regmap_init_spi regmap_spi +alias symbol:regmap_init_i2c regmap_i2c +alias symbol:zlib_deflate zlib_deflate +alias symbol:hci_register_dev bluetooth +alias symbol:irda_param_pack irda +alias symbol:v4l2_ctrl_next v4l2_common +alias symbol:snd_rawmidi_drain_output snd_rawmidi +alias symbol:fuse_request_send_background fuse +alias symbol:cfg80211_wext_siwrts cfg80211 +alias symbol:cfg80211_wext_giwrts cfg80211 +alias symbol:__nf_conntrack_confirm nf_conntrack +alias symbol:lirc_dev_fop_poll lirc_dev +alias symbol:mdiobus_scan libphy +alias symbol:ocfs2_dlm_lock ocfs2_stackglue +alias symbol:ip_set_name_byindex ip_set +alias symbol:dm_bufio_write_dirty_buffers dm_bufio +alias symbol:mwifiex_deauthenticate mwifiex +alias symbol:lbtf_send_tx_feedback libertas_tf +alias symbol:__serio_register_port serio +alias symbol:md_integrity_register md_mod +alias symbol:snd_ctl_unregister_ioctl snd +alias symbol:ssb_bus_resume ssb +alias symbol:o2hb_check_node_heartbeating ocfs2_nodemanager +alias symbol:irlmp_discovery_request irda +alias symbol:ssb_device_is_enabled ssb +alias symbol:usb_wwan_suspend usb_wwan +alias symbol:dlm_unregister_domain ocfs2_dlm +alias symbol:dlm_register_domain ocfs2_dlm +alias symbol:CsrWifiEventCsrUint16CsrUint8Ser csr_helper +alias symbol:snd_timer_global_new snd_timer +alias symbol:usb_ftdi_elan_edset_empty ftdi_elan +alias symbol:i2400m_tx_msg_sent i2400m +alias symbol:ieee80211_queue_delayed_work mac80211 +alias symbol:snd_ctl_add snd +alias symbol:dvb_ca_en50221_release dvb_core +alias symbol:ath9k_hw_check_alive ath9k_hw +alias symbol:dm_kcopyd_client_destroy dm_mod +alias symbol:v4l2_device_set_name videodev +alias symbol:bitmap_start_sync md_mod +alias symbol:irda_unregister_dongle sir_dev +alias symbol:ath9k_hw_setopmode ath9k_hw +alias symbol:w1_ds2760_recall_eeprom w1_ds2760 +alias symbol:lirc_get_pdata lirc_dev +alias symbol:nf_ct_invert_tuple nf_conntrack +alias symbol:snd_pcm_format_unsigned snd_pcm +alias symbol:dm_btree_insert_notify dm_persistent_data +alias symbol:zl10036_attach zl10036 +alias symbol:dib8000_update_pll dib8000 +alias symbol:rt2800_config_shared_key rt2800lib +alias symbol:rt2800_link_tuner rt2800lib +alias symbol:ip6_route_me_harder ipv6 +alias symbol:rc_map_get rc_core +alias symbol:usb_ftdi_elan_write_pcimem ftdi_elan +alias symbol:lro_receive_skb inet_lro +alias symbol:snd_device_new snd +alias symbol:dib7090_tuner_sleep dib7000p +alias symbol:p9_client_disconnect 9pnet +alias symbol:snd_pcm_hw_constraint_list snd_pcm +alias symbol:smscore_getbuffer smsmdtv +alias symbol:smscore_putbuffer smsmdtv +alias symbol:vb2_ops_wait_prepare videobuf2_core +alias symbol:ieee80211_data_from_8023 cfg80211 +alias symbol:dvb_frontend_reinitialise dvb_core +alias symbol:irda_param_extract_all irda +alias symbol:s5h1411_attach s5h1411 +alias symbol:p9_is_proto_dotl 9pnet +alias symbol:dm_exception_store_create dm_snapshot +alias symbol:dvb_frontend_detach dvb_core +alias symbol:p9_client_renameat 9pnet +alias symbol:ath9k_hw_stop_dma_queue ath9k_hw +alias symbol:ip6_frag_match ipv6 +alias symbol:snd_info_get_str snd +alias symbol:cdrom_get_last_written cdrom +alias symbol:dm_rh_get_region_key dm_region_hash +alias symbol:dm_read_arg_group dm_mod +alias symbol:dib3000mc_pid_parse dib3000mc +alias symbol:rt2x00queue_unmap_skb rt2x00lib +alias symbol:cfg80211_sched_scan_results cfg80211 +alias symbol:video_device_release videodev +alias symbol:snd_pcm_hw_rule_noresample snd_pcm +alias symbol:v4l2_subdev_querymenu videodev +alias symbol:ath9k_hw_btcoex_init_2wire ath9k_hw +alias symbol:rt2x00mac_sw_scan_start rt2x00lib +alias symbol:fuse_conn_put fuse +alias symbol:em28xx_set_mode em28xx +alias symbol:ieee80211_get_hdrlen_from_skb cfg80211 +alias symbol:videobuf_querybuf videobuf_core +alias symbol:rt2x00mac_bss_info_changed rt2x00lib +alias symbol:nf_ct_l3proto_module_put nf_conntrack +alias symbol:gameport_stop_polling gameport +alias symbol:ar9003_mci_set_bt_version ath9k_hw +alias symbol:snd_pcm_hw_constraint_msbits snd_pcm +alias symbol:v4l2_device_register_subdev_nodes videodev +alias symbol:snd_card_create snd +alias symbol:nfs4_acl_write_who nfsd +alias symbol:snd_midi_event_reset_encode snd_seq_midi_event +alias symbol:irias_add_string_attrib irda +alias symbol:p9stat_read 9pnet +alias symbol:inet6_add_protocol ipv6 +alias symbol:xt_register_table x_tables +alias symbol:set_h225_addr_hook nf_conntrack_h323 +alias symbol:md_unregister_thread md_mod +alias symbol:rc_map_unregister rc_core +alias symbol:usb_serial_generic_unthrottle usbserial +alias symbol:unregister_pppox_proto pppox +alias symbol:snd_ctl_activate_id snd +alias symbol:usb_serial_generic_submit_read_urbs usbserial +alias symbol:rt2x00mac_sw_scan_complete rt2x00lib +alias symbol:nfnl_acct_put nfnetlink_acct +alias symbol:dm_exception_store_type_unregister dm_snapshot +alias symbol:input_free_polled_device input_polldev +alias symbol:usb_serial_generic_close usbserial +alias symbol:snd_pcm_format_size snd_pcm +alias symbol:v4l2_ctrl_activate videodev +alias symbol:irttp_data_request irda +alias symbol:irlmp_data_request irda +alias symbol:rt2800_config_erp rt2800lib +alias symbol:flexcop_pid_feed_control b2c2_flexcop +alias symbol:dib9000_set_gpio dib9000 +alias symbol:dib8000_set_gpio dib8000 +alias symbol:vb2_wait_for_all_buffers videobuf2_core +alias symbol:tuner_MT2063_ClearPowerMaskBits mt2063 +alias symbol:phy_register_fixup libphy +alias symbol:ath9k_hw_rxprocdesc ath9k_hw +alias symbol:inet6_csk_search_req ipv6 +alias symbol:xc4000_attach xc4000 +alias symbol:xc5000_attach xc5000 +alias symbol:snd_seq_kernel_client_dispatch snd_seq +alias symbol:async_tx_quiesce async_tx +alias symbol:snd_usbmidi_input_start snd_usbmidi_lib +alias symbol:v4l2_ctrl_get_name videodev +alias symbol:rt2x00lib_dmadone rt2x00lib +alias symbol:hci_free_dev bluetooth +alias symbol:snd_pcm_open_substream snd_pcm +alias symbol:ssb_device_disable ssb +alias symbol:mwifiex_handle_rx_packet mwifiex +alias symbol:nf_ct_l3protos nf_conntrack +alias symbol:snd_device_free snd +alias symbol:ndisc_build_skb ipv6 +alias symbol:au8522_release_state au8522_common +alias symbol:em28xx_stop_urbs em28xx +alias symbol:mddev_congested md_mod +alias symbol:v4l2_i2c_subdev_init v4l2_common +alias symbol:v4l2_i2c_subdev_addr v4l2_common +alias symbol:snd_pcm_period_elapsed snd_pcm +alias symbol:i2400m_dev_bootstrap i2400m +alias symbol:lgs8gl5_attach lgs8gl5 +alias symbol:v4l2_ctrl_cluster videodev +alias symbol:adxl34x_remove adxl34x +alias symbol:v4l2_event_pending videodev +alias symbol:cdrom_media_changed cdrom +alias symbol:w1_ds2760_read w1_ds2760 +alias symbol:dib0090_update_rframp_7090 dib0090 +alias symbol:raid6_vgfmul raid6_pq +alias symbol:w1_ds2760_write w1_ds2760 +alias symbol:cxd2820r_attach cxd2820r +alias symbol:usb_wwan_write_room usb_wwan +alias symbol:irias_add_integer_attrib irda +alias symbol:vb2_fop_write videobuf2_core +alias symbol:unregister_cdrom cdrom +alias symbol:rt2x00usb_register_read_async rt2x00usb +alias symbol:o2net_fill_node_map ocfs2_nodemanager +alias symbol:ieee80211_disable_dyn_ps mac80211 +alias symbol:v4l2_int_device_try_attach_all v4l2_int_device +alias symbol:ath9k_hw_reset_tsf ath9k_hw +alias symbol:__lbtf_cmd libertas_tf +alias symbol:nf_nat_need_gre nf_nat_proto_gre +alias symbol:dvb_usb_device_init dvb_usb +alias symbol:ath9k_hw_getrxfilter ath9k_hw +alias symbol:ath9k_hw_setrxfilter ath9k_hw +alias symbol:lc_reset lru_cache +alias symbol:i2400m_rx i2400m +alias symbol:i2400m_tx i2400m +alias symbol:input_register_polled_device input_polldev +alias symbol:ssb_pmu_set_ldo_paref ssb +alias symbol:flexcop_device_initialize b2c2_flexcop +alias symbol:v4l2_ctrl_new_std videodev +alias symbol:usb_serial_generic_write usbserial +alias symbol:mdiobus_register libphy +alias symbol:ar9003_paprd_is_done ath9k_hw +alias symbol:ar9003_get_pll_sqsum_dvc ath9k_hw +alias symbol:dlmlock ocfs2_dlm +alias symbol:snd_timer_interrupt snd_timer +alias symbol:ppp_register_net_channel ppp_generic +alias symbol:md_register_thread md_mod +alias symbol:mwifiex_process_hs_config mwifiex +alias symbol:ieee80211_stop_tx_ba_session mac80211 +alias symbol:v4l2_video_std_frame_period videodev +alias symbol:p9_client_wstat 9pnet +alias symbol:bt_accept_dequeue bluetooth +alias symbol:bitmap_endwrite md_mod +alias symbol:generic_rndis_bind rndis_host +alias symbol:zl10039_attach zl10039 +alias symbol:videobuf_mmap_mapper videobuf_core +alias symbol:hdlcdrv_unregister hdlcdrv +alias symbol:p9_client_xattrcreate 9pnet +alias symbol:__ieee80211_get_radio_led_name mac80211 +alias symbol:in6_dev_finish_destroy ipv6 +alias symbol:usb_wwan_close usb_wwan +alias symbol:ath9k_hw_getnf ath9k_hw +alias symbol:em28xx_alloc_isoc em28xx +alias symbol:rt2x00mac_tx_frames_pending rt2x00lib +alias symbol:cdrom_check_events cdrom +alias symbol:i2400m_setup i2400m +alias symbol:rt2x00mac_get_stats rt2x00lib +alias symbol:hsi_unregister_port_event hsi +alias symbol:p9dirent_read 9pnet +alias symbol:p9_client_readdir 9pnet +alias symbol:ieee80211_queue_work mac80211 +alias symbol:v4l2_s_ctrl videodev +alias symbol:l2tp_tunnel_find l2tp_core +alias symbol:cx2341x_ext_ctrls cx2341x +alias symbol:p54_free_skb p54common +alias symbol:snd_pcm_hw_param_first snd_pcm +alias symbol:ip6t_unregister_table ip6_tables +alias symbol:snd_pcm_new snd_pcm +alias symbol:qtree_write_dquot quota_tree +alias symbol:ircomm_control_request ircomm +alias symbol:_snd_pcm_lib_alloc_vmalloc_buffer snd_pcm +alias symbol:ath9k_hw_computetxtime ath9k_hw +alias symbol:if_usb_prog_firmware libertas_tf_usb +alias symbol:nf_ct_invert_tuplepr nf_conntrack +alias symbol:v4l2_s_ext_ctrls videodev +alias symbol:ath9k_hw_init_btcoex_hw ath9k_hw +alias symbol:ar9003_paprd_create_curve ath9k_hw +alias symbol:ath9k_hw_gpio_get ath9k_hw +alias symbol:ieee80211_stop_queue mac80211 +alias symbol:ieee80211_hdrlen cfg80211 +alias symbol:CsrWifiEventCsrUint32Sizeof csr_helper +alias symbol:v4l2_norm_to_name videodev +alias symbol:irias_new_integer_value irda +alias symbol:smscore_register_device smsmdtv +alias symbol:p9_client_clunk 9pnet +alias symbol:dm_io dm_mod +alias symbol:dm_suspended dm_mod +alias symbol:rt2x00lib_get_bssidx rt2x00lib +alias symbol:dm_bufio_get_block_number dm_bufio +alias symbol:dib7000p_attach dib7000p +alias symbol:dib7000m_attach dib7000m +alias symbol:vb2_read videobuf2_core +alias symbol:rndis_status rndis_host +alias symbol:irttp_disconnect_request irda +alias symbol:irlmp_disconnect_request irda +alias symbol:lc_del lru_cache +alias symbol:dvb_dmx_swfilter_packets dvb_core +alias symbol:ocfs2_plock ocfs2_stackglue +alias symbol:nf_ct_untracked_status_or nf_conntrack +alias symbol:get_phy_device libphy +alias symbol:iriap_getvaluebyclass_request irda +alias symbol:print_tuple nf_conntrack +alias symbol:dib0090_set_vga dib0090 +alias symbol:em28xx_audio_analog_set em28xx +alias symbol:inet6_del_protocol ipv6 +alias symbol:zlib_deflateEnd zlib_deflate +alias symbol:snd_rawmidi_transmit_empty snd_rawmidi +alias symbol:snd_timer_open snd_timer +alias symbol:vb2_ioctl_create_bufs videobuf2_core +alias symbol:rt2800_wait_wpdma_ready rt2800lib +alias symbol:v9fs_get_trans_by_name 9pnet +alias symbol:ax25_listen_release ax25 +alias symbol:serio_unregister_driver serio +alias symbol:dvb_dmx_init dvb_core +alias symbol:ebt_unregister_table ebtables +alias symbol:ip_set_type_register ip_set +alias symbol:nat_rtp_rtcp_hook nf_conntrack_h323 +alias symbol:rc_repeat rc_core +alias symbol:ip6t_do_table ip6_tables +alias symbol:nf_ct_expect_init nf_conntrack +alias symbol:snd_unregister_oss_device snd +alias symbol:gameport_start_polling gameport +alias symbol:dm_get_mapinfo dm_mod +alias symbol:mddev_suspend md_mod +alias symbol:dib9000_set_i2c_adapter dib9000 +alias symbol:dibx000_get_i2c_adapter dibx000_common +alias symbol:nfs4_acl_get_whotype nfsd +alias symbol:mt352_attach mt352 +alias symbol:mt312_attach mt312 +alias symbol:fuse_sync_release fuse +alias symbol:nf_conntrack_alter_reply nf_conntrack +alias symbol:cx231xx_send_gpio_cmd cx231xx +alias symbol:if_usb_reset_device libertas_tf_usb +alias symbol:genericbl_limit_intensity generic_bl +alias symbol:cfg80211_unlink_bss cfg80211 +alias symbol:p9_client_xattrwalk 9pnet +alias symbol:ndisc_send_skb ipv6 +alias symbol:nf_ct_helper_expectfn_unregister nf_conntrack +alias symbol:videobuf_read_stream videobuf_core +alias symbol:ath9k_hw_setpower ath9k_hw +alias symbol:hostap_set_roaming hostap +alias symbol:xfrm6_tunnel_register tunnel6 +alias symbol:xfrm4_tunnel_register tunnel4 +alias symbol:nf_ct_get_tuple nf_conntrack +alias symbol:ssb_clockspeed ssb +alias symbol:p9_client_readlink 9pnet +alias symbol:ircomm_open ircomm +alias symbol:snd_pcm_lib_ioctl snd_pcm +alias symbol:w1_read_8 wire +alias symbol:ir_raw_event_store_edge rc_core +alias symbol:rt2x00queue_stop_queue rt2x00lib +alias symbol:lc_seq_printf_stats lru_cache +alias symbol:ircomm_close ircomm +alias symbol:ip6_append_data ipv6 +alias symbol:v4l2_device_register videodev +alias symbol:hsi_register_controller hsi +alias symbol:ieee80211_channel_to_frequency cfg80211 +alias symbol:dib9000_get_component_bus_interface dib9000 +alias symbol:raid6_gfexp raid6_pq +alias symbol:dvb_register_frontend dvb_core +alias symbol:ipcomp_init_state xfrm_ipcomp +alias symbol:xt_check_match x_tables +alias symbol:dib3000mc_attach dib3000mc +alias symbol:dib3000mb_attach dib3000mb +alias symbol:crypto_aes_expand_key aes_generic +alias symbol:nf_ct_l3proto_try_module_get nf_conntrack +alias symbol:s5h1432_attach s5h1432 +alias symbol:mxl5005s_attach mxl5005s +alias symbol:dlm_errmsg ocfs2_dlm +alias symbol:dib9000_remove_slave_frontend dib9000 +alias symbol:dib8000_remove_slave_frontend dib8000 +alias symbol:o2nm_this_node ocfs2_nodemanager +alias symbol:inet6_hash_frag ipv6 +alias symbol:snd_component_add snd +alias symbol:ip6t_alloc_initial_table ip6_tables +alias symbol:tuner_count tuner_types +alias symbol:hostap_set_encryption hostap +alias symbol:wimax_reset wimax +alias symbol:nf_nat_proto_unique_tuple nf_nat +alias symbol:nf_nat_mangle_udp_packet nf_nat +alias symbol:ip_set_free ip_set +alias symbol:smscore_unregister_hotplug smsmdtv +alias symbol:si21xx_attach si21xx +alias symbol:vb2_get_contig_userptr videobuf2_memops +alias symbol:nfc_class nfc +alias symbol:ieee80211_restart_hw mac80211 +alias symbol:dm_table_add_target_callbacks dm_mod +alias symbol:smsendian_handle_message_header smsmdtv +alias symbol:hostap_80211_rx hostap +alias symbol:snd_iprintf snd +alias symbol:nxt6000_attach nxt6000 +alias symbol:input_ff_create_memless ff_memless +alias symbol:ip6_redirect ipv6 +alias symbol:hd29l2_attach hd29l2 +alias symbol:i2c_bit_add_numbered_bus i2c_algo_bit +alias symbol:ieee80211_sched_scan_results mac80211 +alias symbol:hsi_release_port hsi +alias symbol:nf_nat_setup_info nf_nat +alias symbol:ath9k_hw_setup_statusring ath9k_hw +alias symbol:wimax_dev_add wimax +alias symbol:wimax_msg wimax +alias symbol:nf_ct_unlink_expect_report nf_conntrack +alias symbol:dm_bufio_release dm_bufio +alias symbol:xt_unregister_matches x_tables +alias symbol:btmrvl_register_hdev btmrvl +alias symbol:dm_tm_unlock dm_persistent_data +alias symbol:dm_bm_unlock dm_persistent_data +alias symbol:irlmp_register_service irda +alias symbol:m88rs2000_attach m88rs2000 +alias symbol:usb_cdc_wdm_register cdc_wdm +alias symbol:__gameport_register_driver gameport +alias symbol:__ieee80211_get_tx_led_name mac80211 +alias symbol:l2tp_xmit_skb l2tp_core +alias symbol:snd_pcm_new_stream snd_pcm +alias symbol:sync_page_io md_mod +alias symbol:inet6_csk_update_pmtu ipv6 +alias symbol:v4l2_ctrl_get_menu videodev +alias symbol:mc44s803_attach mc44s803 +alias symbol:videobuf_queue_vmalloc_init videobuf_vmalloc +alias symbol:usb_serial_suspend usbserial +alias symbol:p9_idpool_create 9pnet +alias symbol:phy_init_eee libphy +alias symbol:snd_rawmidi_info_select snd_rawmidi +alias symbol:snd_timer_global_register snd_timer +alias symbol:gspca_frame_add gspca_main +alias symbol:ir_raw_event_set_idle rc_core +alias symbol:l2tp_session_find l2tp_core +alias symbol:irttp_connect_response irda +alias symbol:irlmp_connect_response irda +alias symbol:xfrm6_rcv ipv6 +alias symbol:nf_ct_delete_from_lists nf_conntrack +alias symbol:ppp_output_wakeup ppp_generic +alias symbol:bt_err bluetooth +alias symbol:ath9k_hw_wow_enable ath9k +alias symbol:lbs_host_sleep_cfg libertas +alias symbol:async_raid6_2data_recov async_raid6_recov +alias symbol:cfg80211_put_bss cfg80211 +alias symbol:btmrvl_check_evtpkt btmrvl +alias symbol:sms_board_load_modules smsmdtv +alias symbol:phy_connect libphy +alias symbol:stv6110x_attach stv6110x +alias symbol:v4l2_ctrl_fill videodev +alias symbol:v4l2_ctrl_find videodev +alias symbol:v4l_printk_ioctl videodev +alias symbol:ath9k_cmn_init_crypto ath9k_common +alias symbol:bitmap_resize md_mod +alias symbol:vb2_put_vma videobuf2_memops +alias symbol:tda18212_attach tda18212 +alias symbol:tda18218_attach tda18218 +alias symbol:ircomm_data_request ircomm +alias symbol:dm_bufio_get_device_size dm_bufio +alias symbol:wimax_report_rfkill_sw wimax +alias symbol:rt2x00queue_stop_queues rt2x00lib +alias symbol:dibusb_dib3000mc_frontend_attach dvb_usb_dibusb_common +alias symbol:dvb_ringbuffer_write dvb_core +alias symbol:cx231xx_unregister_extension cx231xx +alias symbol:lbs_start_card libertas +alias symbol:xt_table_unlock x_tables +alias symbol:phy_find_first libphy +alias symbol:nfs4_acl_new nfsd +alias symbol:p9_client_begin_disconnect 9pnet +alias symbol:xfrm6_tunnel_spi_lookup xfrm6_tunnel +alias symbol:cx231xx_dev_init cx231xx +alias symbol:cma3000_init cma3000_d0x +alias symbol:cma3000_exit cma3000_d0x +alias symbol:qtree_read_dquot quota_tree +alias symbol:dm_io_client_destroy dm_mod +alias symbol:print_ssid lib80211 +alias symbol:snd_seq_kernel_client_write_poll snd_seq +alias symbol:cx231xx_uninit_bulk cx231xx +alias symbol:v4l2_subdev_init videodev +alias symbol:ulist_alloc btrfs +alias symbol:CsrUint16Ser csr_helper +alias symbol:CsrUint32Ser csr_helper +alias symbol:macvlan_common_setup macvlan +alias symbol:ip_set_get_ip4_port ip_set +alias symbol:ip_set_get_ip6_port ip_set +alias symbol:ssb_bus_suspend ssb +alias symbol:btmrvl_enable_ps btmrvl +alias symbol:btmrvl_enable_hs btmrvl +alias symbol:dib0090_set_dc_servo dib0090 +alias symbol:async_wrap_skb irda +alias symbol:cfg80211_wext_giwretry cfg80211 +alias symbol:rt2x00usb_flush_queue rt2x00usb +alias symbol:mlog_not_bits ocfs2_nodemanager +alias symbol:p9_idpool_put 9pnet +alias symbol:nf_conntrack_l4proto_tcp6 nf_conntrack +alias symbol:snd_seq_device_new snd_seq_device +alias symbol:lg2160_attach lg2160 +alias symbol:cfg80211_remain_on_channel_expired cfg80211 +alias symbol:snd_seq_create_kernel_client snd_seq +alias symbol:dvb_dmx_swfilter dvb_core +alias symbol:l2tp_session_find_nth l2tp_core +alias symbol:hsi_register_client_driver hsi +alias symbol:crc7 crc7 +alias symbol:lib80211_register_crypto_ops lib80211 +alias symbol:dm_io_client_create dm_mod +alias symbol:vb2_ioctl_prepare_buf videobuf2_core +alias symbol:inet_diag_dump_one_icsk inet_diag +alias symbol:tea5761_attach tea5761 +alias symbol:nf_nat_used_tuple nf_nat +alias symbol:nf_nat_packet nf_nat +alias symbol:dm_bufio_get_block_data dm_bufio +alias symbol:snd_midi_event_decode snd_seq_midi_event +alias symbol:dm_set_target_max_io_len dm_mod +alias symbol:v4l2_ctrl_g_ctrl videodev +alias symbol:usb_ftdi_elan_edset_input ftdi_elan +alias symbol:cdrom_get_media_event cdrom +alias symbol:xfrm4_mode_tunnel_input_deregister xfrm4_mode_tunnel +alias symbol:dib0090_get_current_gain dib0090 +alias symbol:xt_proto_init x_tables +alias symbol:CsrWifiEventCsrUint8Sizeof csr_helper +alias symbol:smsclient_sendrequest smsmdtv +alias symbol:phy_device_free libphy +alias symbol:rtl2832_attach rtl2832 +alias symbol:radio_tea5777_exit shark2 +alias symbol:ath9k_hw_puttxbuf ath9k_hw +alias symbol:ath9k_hw_putrxbuf ath9k_hw +alias symbol:hostap_set_hostapd hostap +alias symbol:irlap_open irda +alias symbol:iriap_open irda +alias symbol:snd_ctl_notify snd +alias symbol:cx2341x_handler_set_busy cx2341x +alias symbol:irlap_close irda +alias symbol:iriap_close irda +alias symbol:snd_pcm_hw_constraint_step snd_pcm +alias symbol:dm_bm_checksum dm_persistent_data +alias symbol:hostap_init_proc hostap +alias symbol:cfg80211_find_ie cfg80211 +alias symbol:w1_register_family wire +alias symbol:dibx000_i2c_set_speed dibx000_common +alias symbol:nf_nat_pptp_hook_inbound nf_conntrack_pptp +alias symbol:nf_conntrack_l3proto_unregister nf_conntrack +alias symbol:nf_conntrack_l4proto_unregister nf_conntrack +alias symbol:nfulnl_log_packet nfnetlink_log +alias symbol:ulist_fini btrfs +alias symbol:ulist_free btrfs +alias symbol:ieee80211_remain_on_channel_expired mac80211 +alias symbol:set_sig_addr_hook nf_conntrack_h323 +alias symbol:vb2_fop_mmap videobuf2_core +alias symbol:usb_wwan_port_probe usb_wwan +alias symbol:smscore_start_device smsmdtv +alias symbol:flexcop_wan_set_speed b2c2_flexcop +alias symbol:rt2800_disable_radio rt2800lib +alias symbol:xt_hook_unlink x_tables +alias symbol:serio_unregister_port serio +alias symbol:dm_underlying_device_busy dm_mod +alias symbol:v4l2_ctrl_s_ctrl videodev +alias symbol:ath9k_hw_setantenna ath9k_hw +alias symbol:snd_pcm_format_physical_width snd_pcm +alias symbol:dib9000_fw_set_component_bus_speed dib9000 +alias symbol:dvb_ringbuffer_read dvb_core +alias symbol:dm_rh_recovery_start dm_region_hash +alias symbol:dvb_pll_attach dvb_pll +alias symbol:v4l2_querymenu videodev +alias symbol:bt_to_errno bluetooth +alias symbol:ebt_register_table ebtables +alias symbol:cx2341x_handler_init cx2341x +alias symbol:nf_nat_seq_adjust_hook nf_conntrack_ipv4 +alias symbol:v4l2_ctrl_sub_ev_ops videodev +alias symbol:ath9k_hw_releasetxqueue ath9k_hw +alias symbol:rt2800_reset_tuner rt2800lib +alias symbol:raid6_datap_recov raid6_pq +alias symbol:hci_conn_put_device bluetooth +alias symbol:nf_ip6_checksum ipv6 +alias symbol:ad714x_disable ad714x +alias symbol:async_unwrap_char irda +alias symbol:rt2x00usb_initialize rt2x00usb +alias symbol:p9_tag_lookup 9pnet +alias symbol:ax25_defaddr ax25 +alias symbol:lbs_add_card libertas +alias symbol:lc_seq_dump_details lru_cache +alias symbol:nf_nat_proto_nlattr_to_range nf_nat +alias symbol:snd_pcm_lib_preallocate_pages_for_all snd_pcm +alias symbol:cx231xx_init_bulk cx231xx +alias symbol:raid6_gfexi raid6_pq +alias symbol:qtree_entry_unused quota_tree +alias symbol:baswap bluetooth +alias symbol:cfg80211_cqm_txe_notify cfg80211 +alias symbol:dm_snap_origin dm_snapshot +alias symbol:tun_get_socket tun +alias symbol:snd_card_unref snd +alias symbol:dm_noflush_suspending dm_mod +alias symbol:rt2800_ampdu_action rt2800lib +alias symbol:p9_client_remove 9pnet +alias symbol:p9_client_rename 9pnet +alias symbol:snd_rawmidi_kernel_open snd_rawmidi +alias symbol:slhc_remember slhc +alias symbol:snd_ctl_boolean_mono_info snd +alias symbol:rt2800_wait_csr_ready rt2800lib +alias symbol:lib80211_crypt_info_free lib80211 +alias symbol:ieee80211_frequency_to_channel cfg80211 +alias symbol:dibusb_power_ctrl dvb_usb_dibusb_common +alias symbol:nf_ct_remove_expectations nf_conntrack +alias symbol:ath_is_world_regd ath +alias symbol:nf_tproxy_assign_sock nf_tproxy_core +alias symbol:nfnetlink_unicast nfnetlink +alias symbol:snd_mixer_oss_ioctl_card snd_mixer_oss +alias symbol:rt2x00lib_pretbtt rt2x00lib +alias symbol:dibusb2_0_streaming_ctrl dvb_usb_dibusb_common +alias symbol:usb_serial_generic_throttle usbserial +alias symbol:cdrom_mode_select cdrom +alias symbol:ar9003_paprd_enable ath9k_hw +alias symbol:nf_conntrack_in nf_conntrack +alias symbol:snd_pcm_lib_preallocate_free_for_all snd_pcm +alias symbol:dm_kcopyd_client_create dm_mod +alias symbol:v4l2_fh_add videodev +alias symbol:rc_map_register rc_core +alias symbol:serio_interrupt serio +alias symbol:rc_unregister_device rc_core +alias symbol:ath9k_hw_set_gpio ath9k_hw +alias symbol:p54_rx p54common +alias symbol:md_set_array_sectors md_mod +alias symbol:flexcop_dump_reg b2c2_flexcop +alias symbol:cfg80211_ref_bss cfg80211 +alias symbol:w1_ds2781_eeprom_cmd w1_ds2781 +alias symbol:w1_ds2780_eeprom_cmd w1_ds2780 +alias symbol:hostap_dump_rx_header hostap +alias symbol:hostap_dump_tx_header hostap +alias symbol:crypto_aes_set_key aes_generic +alias symbol:snd_unregister_device snd +alias symbol:vb2_mmap_pfn_range videobuf2_memops +alias symbol:xt_request_find_match x_tables +alias symbol:microtune_attach mt20xx +alias symbol:dibusb2_0_power_ctrl dvb_usb_dibusb_common +alias symbol:cx231xx_demod_reset cx231xx +alias symbol:w1_calc_crc8 wire +alias symbol:nf_conntrack_set_hashsize nf_conntrack +alias symbol:vb2_qbuf videobuf2_core +alias symbol:video_usercopy videodev +alias symbol:rt2x00mac_sta_remove rt2x00lib +alias symbol:md_done_sync md_mod +alias symbol:flexcop_i2c_request b2c2_flexcop +alias symbol:hashbin_insert irda +alias symbol:lib80211_crypt_info_init lib80211 +alias symbol:ipv6_chk_prefix ipv6 +alias symbol:ip6_dst_lookup_flow ipv6 +alias symbol:nf_ct_nat_offset nf_conntrack +alias symbol:usb_ftdi_elan_edset_output ftdi_elan +alias symbol:mdio_bus_type libphy +alias symbol:ip6_xmit ipv6 +alias symbol:w1_remove_master_device wire +alias symbol:o2nm_get_node_by_ip ocfs2_nodemanager +alias symbol:gf128mul_init_64k_lle gf128mul +alias symbol:gf128mul_init_64k_bbe gf128mul +alias symbol:xt_find_match x_tables +alias symbol:dvb_usb_device_exit dvb_usb +alias symbol:nf_ct_helper_expectfn_find_by_name nf_conntrack +alias symbol:snd_card_set_id snd +alias symbol:serio_reconnect serio +alias symbol:ar9003_hw_disable_phy_restart ath9k_hw +alias symbol:crc_ccitt crc_ccitt +alias symbol:CsrUint8Des csr_helper +alias symbol:lbs_get_firmware_async libertas +alias symbol:xfrm6_tunnel_deregister tunnel6 +alias symbol:xfrm4_tunnel_deregister tunnel4 +alias symbol:p9_client_attach 9pnet +alias symbol:ieee80211_disable_rssi_reports mac80211 +alias symbol:nf_ct_unexpect_related nf_conntrack +alias symbol:dib7000p_get_agc_values dib7000p +alias symbol:dibx000_init_i2c_master dibx000_common +alias symbol:dibx000_exit_i2c_master dibx000_common +alias symbol:snd_pcm_hw_constraint_ratdens snd_pcm +alias symbol:release_and_free_resource snd +alias symbol:em28xx_write_regs em28xx +alias symbol:a8293_attach a8293 +alias symbol:p9_client_cb 9pnet +alias symbol:cfg80211_wext_siwfrag cfg80211 +alias symbol:cfg80211_wext_giwfrag cfg80211 +alias symbol:dm_btree_empty dm_persistent_data +alias symbol:uio_event_notify uio +alias symbol:alloc_mdio_bitbang mdio_bitbang +alias symbol:xfrm4_mode_tunnel_input_register xfrm4_mode_tunnel +alias symbol:w1_reset_select_slave wire +alias symbol:md_unplug md_mod +alias symbol:mt2060_attach mt2060 +alias symbol:lbtf_remove_card libertas_tf +alias symbol:hostap_free_data hostap +alias symbol:bitmap_load md_mod +alias symbol:dvb_usb_get_hexline dvb_usb +alias symbol:cfg80211_rx_spurious_frame cfg80211 +alias symbol:ocfs2_stack_glue_unregister ocfs2_stackglue +alias symbol:videobuf_read_one videobuf_core +alias symbol:o2hb_unregister_callback ocfs2_nodemanager +alias symbol:snd_pcm_lib_readv snd_pcm +alias symbol:v4l2_event_subscribe videodev +alias symbol:phy_driver_unregister libphy +alias symbol:ath_regd_init ath +alias symbol:ath9k_hw_wait ath9k_hw +alias symbol:ulist_init btrfs +alias symbol:ct_sip_parse_numerical_param nf_conntrack_sip +alias symbol:p9_error_init 9pnet +alias symbol:mdiobus_read libphy +alias symbol:rt2x00mac_add_interface rt2x00lib +alias symbol:w1_reset_resume_command wire +alias symbol:ir_raw_event_store rc_core +alias symbol:phy_scan_fixups libphy +alias symbol:bt_sock_unregister bluetooth +alias symbol:ath9k_hw_setuptxqueue ath9k_hw +alias symbol:snd_timer_resolution snd_timer +alias symbol:inet_diag_register inet_diag +alias symbol:dm_rh_dirty_log dm_region_hash +alias symbol:vb2_ops_wait_finish videobuf2_core +alias symbol:ath9k_hw_set_sta_beacon_timers ath9k_hw +alias symbol:snd_pcm_hw_rule_add snd_pcm +alias symbol:snd_free_pages snd_page_alloc +alias symbol:snd_card_file_remove snd +alias symbol:dm_tm_destroy dm_persistent_data +alias symbol:au8522_sleep au8522_common +alias symbol:o2nm_get_node_by_num ocfs2_nodemanager +alias symbol:snd_interval_ratnum snd_pcm +alias symbol:wimax_msg_send wimax +alias symbol:ipv6_dev_get_saddr ipv6 +alias symbol:dm_register_path_selector dm_multipath +alias symbol:tea5761_autodetection tea5761 +alias symbol:hci_conn_hold_device bluetooth +alias symbol:nf_nat_protocol_register nf_nat +alias symbol:dib0090_gain_control dib0090 +alias symbol:ieee80211_rate_control_register mac80211 +alias symbol:inet_diag_unregister inet_diag +alias symbol:nf_nat_protocol_unregister nf_nat +alias symbol:snd_malloc_pages snd_page_alloc +alias symbol:l2tp_recv_common l2tp_core +alias symbol:cfg80211_find_vendor_ie cfg80211 +alias symbol:snd_hwdep_new snd_hwdep +alias symbol:rt2x00usb_vendor_request_buff rt2x00usb +alias symbol:hsi_register_port_event hsi +alias symbol:snd_ctl_boolean_stereo_info snd +alias symbol:__ieee80211_get_assoc_led_name mac80211 +alias symbol:ieee80211_ctstoself_duration mac80211 +alias symbol:CsrMemCpySer csr_helper +alias symbol:ath9k_hw_btcoex_set_weight ath9k_hw +alias symbol:fuse_request_send fuse +alias symbol:nf_ct_expect_put nf_conntrack +alias symbol:v4l2_ctrl_new_custom videodev +alias symbol:tda829x_attach tda8290 +alias symbol:wimax_dev_init wimax +alias symbol:unregister_md_personality md_mod +alias symbol:o2net_send_message_vec ocfs2_nodemanager +alias symbol:fuse_conn_get fuse +alias symbol:xfrm6_prepare_output ipv6 +alias symbol:snd_rawmidi_set_ops snd_rawmidi +alias symbol:snd_pcm_link_rwlock snd_pcm +alias symbol:dm_bufio_client_destroy dm_bufio +alias symbol:vb2_reqbufs videobuf2_core +alias symbol:lc_try_get lru_cache +alias symbol:ieee80211_ready_on_channel mac80211 +alias symbol:nf_nat_amanda_hook nf_conntrack_amanda +alias symbol:v9fs_register_trans 9pnet +alias symbol:CsrWifiEventCsrUint32Des csr_helper +alias symbol:vb2_create_bufs videobuf2_core +alias symbol:dvb_generic_open dvb_core +alias symbol:ax25_send_frame ax25 +alias symbol:snd_timer_stop snd_timer +alias symbol:ath9k_hw_stopdmarecv ath9k_hw +alias symbol:cfg80211_ready_on_channel cfg80211 +alias symbol:rt2x00queue_for_each_entry rt2x00lib +alias symbol:dm_tm_inc dm_persistent_data +alias symbol:dib8000_set_wbd_ref dib8000 +alias symbol:tda18271_attach tda18271 +alias symbol:lib80211_unregister_crypto_ops lib80211 +alias symbol:xt_replace_table x_tables +alias symbol:v4l2_int_device_register v4l2_int_device +alias symbol:nf_nat_sip_seq_adjust_hook nf_conntrack_sip +alias symbol:snd_midi_event_encode_byte snd_seq_midi_event +alias symbol:dm_dispatch_request dm_mod +alias symbol:v4l2_int_device_unregister v4l2_int_device +alias symbol:vb2_plane_cookie videobuf2_core +alias symbol:rt2x00usb_kick_queue rt2x00usb +alias symbol:ix2505v_attach ix2505v +alias symbol:stv090x_attach stv090x +alias symbol:vb2_fop_poll videobuf2_core +alias symbol:phy_start_interrupts libphy +alias symbol:v4l2_ctrl_replace videodev +alias symbol:lbs_stop_card libertas +alias symbol:cfg80211_classify8021d cfg80211 +alias symbol:irda_register_dongle sir_dev +alias symbol:ar9003_mci_send_message ath9k_hw +alias symbol:icmpv6_send ipv6 +alias symbol:video_device_release_empty videodev +alias symbol:nf_conntrack_lock nf_conntrack +alias symbol:it913x_fe_attach it913x_fe +alias symbol:p9_client_walk 9pnet +alias symbol:phy_stop libphy +alias symbol:spi_bitbang_start spi_bitbang +alias symbol:ieee80211_generic_frame_duration mac80211 +alias symbol:nf_ct_port_nla_policy nf_conntrack +alias symbol:em28xx_uninit_isoc em28xx +alias symbol:usb_wwan_set_termios usb_wwan +alias symbol:o2hb_check_node_heartbeating_from_callback ocfs2_nodemanager +alias symbol:rt2800_check_firmware rt2800lib +alias symbol:hashbin_delete irda +alias symbol:snd_cards snd +alias symbol:cn_add_callback cn +alias symbol:ath9k_hw_disable_mib_counters ath9k_hw +alias symbol:nat_q931_hook nf_conntrack_h323 +alias symbol:snd_mpu401_uart_interrupt_tx snd_mpu401_uart +alias symbol:mdiobus_free libphy +alias symbol:mwifiex_del_virtual_intf mwifiex +alias symbol:xt_find_table_lock x_tables +alias symbol:tea5767_attach tea5767 +alias symbol:ppp_dev_name ppp_generic +alias symbol:lbs_send_tx_feedback libertas +alias symbol:irias_delete_value irda +alias symbol:wimax_msg_len wimax +alias symbol:ip6_frag_init ipv6 +alias symbol:ir_raw_handler_unregister rc_core +alias symbol:l2tp_session_delete l2tp_core +alias symbol:smscore_unregister_device smsmdtv +alias symbol:__udp6_lib_lookup ipv6 +alias symbol:xt_rateest_put xt_RATEEST +alias symbol:mwifiex_cancel_hs mwifiex +alias symbol:lc_find lru_cache +alias symbol:xt_unregister_table x_tables +alias symbol:mb86a16_attach mb86a16 +alias symbol:snd_pcm_format_signed snd_pcm +alias symbol:hostap_80211_ops hostap +alias symbol:hostap_info_init hostap +alias symbol:flexcop_sram_ctrl b2c2_flexcop +alias symbol:crc_ccitt_table crc_ccitt +alias symbol:nf_nat_icmp_reply_translation nf_nat +alias symbol:ct_sip_get_sdp_header nf_conntrack_sip +alias symbol:rt2800_link_stats rt2800lib +alias symbol:spi_bitbang_transfer spi_bitbang +alias symbol:gf128mul_init_4k_lle gf128mul +alias symbol:gf128mul_init_4k_bbe gf128mul +alias symbol:raid5_set_cache_size raid456 +alias symbol:macvlan_dellink macvlan +alias symbol:usbnet_cdc_status cdc_ether +alias symbol:ct_sip_parse_request nf_conntrack_sip +alias symbol:flexcop_sram_set_dest b2c2_flexcop +alias symbol:ath9k_hw_phy_disable ath9k_hw +alias symbol:p9_parse_header 9pnet +alias symbol:ppp_unregister_compressor ppp_generic +alias symbol:v4l2_chip_match_i2c_client v4l2_common +alias symbol:i2c_bit_add_bus i2c_algo_bit +alias symbol:dm_bufio_prefetch dm_bufio +alias symbol:md_rdev_init md_mod +alias symbol:usb_ftdi_elan_edset_single ftdi_elan +alias symbol:snd_timer_start snd_timer +alias symbol:usb_serial_generic_read_bulk_callback usbserial +alias symbol:s5h1409_attach s5h1409 +alias symbol:ath9k_hw_process_rxdesc_edma ath9k_hw +alias symbol:hdlcdrv_receiver hdlcdrv +alias symbol:nf_ct_get_tuplepr nf_conntrack +alias symbol:snd_pcm_notify snd_pcm +alias symbol:dm_table_get_mode dm_mod +alias symbol:max2165_attach max2165 +alias symbol:rt2x00mac_remove_interface rt2x00lib +alias symbol:ieee80211_start_tx_ba_cb_irqsafe mac80211 +alias symbol:irlmp_service_to_hint irda +alias symbol:garp_request_join garp +alias symbol:dm_tm_pre_commit dm_persistent_data +alias symbol:dm_block_manager_destroy dm_persistent_data +alias symbol:ieee80211_sta_block_awake mac80211 +alias symbol:nf_conntrack_find_get nf_conntrack +alias symbol:snd_rawmidi_transmit_ack snd_rawmidi +alias symbol:serio_unregister_child_port serio +alias symbol:md_write_start md_mod +alias symbol:dib9000_i2c_enumeration dib9000 +alias symbol:dib8000_i2c_enumeration dib8000 +alias symbol:o2nm_configured_node_map ocfs2_nodemanager +alias symbol:nf_nat_sip_expect_hook nf_conntrack_sip +alias symbol:__lbs_cmd libertas +alias symbol:fuse_file_poll fuse +alias symbol:hci_register_cb bluetooth +alias symbol:dm_snap_cow dm_snapshot +alias symbol:ath9k_cmn_padpos ath9k_common +alias symbol:wimax_state_get wimax +alias symbol:ath9k_hw_gettsf32 ath9k_hw +alias symbol:ath_key_delete ath +alias symbol:rt2800_config_pairwise_key rt2800lib +alias symbol:dm_btree_del dm_persistent_data +alias symbol:wiphy_register cfg80211 +alias symbol:videobuf_to_vmalloc videobuf_vmalloc +alias symbol:usb_wwan_chars_in_buffer usb_wwan +alias symbol:ath_is_49ghz_allowed ath +alias symbol:nf_nat_sdp_addr_hook nf_conntrack_sip +alias symbol:v4l2_event_unsubscribe videodev +alias symbol:wimax_rfkill wimax +alias symbol:ieee80211_beacon_get_tim mac80211 +alias symbol:ipv6_dup_options ipv6 +alias symbol:dib7090_get_i2c_tuner dib7000p +alias symbol:dib7090_get_adc_power dib7000p +alias symbol:dvb_generic_ioctl dvb_core +alias symbol:videobuf_dvb_unregister_bus videobuf_dvb +alias symbol:phy_register_fixup_for_id libphy +alias symbol:sys_copyarea syscopyarea +alias symbol:ad714x_enable ad714x +alias symbol:ath_hw_setbssidmask ath +alias symbol:dm_bm_set_read_only dm_persistent_data +alias symbol:vb2_dqbuf videobuf2_core +alias symbol:ath9k_hw_gettsf64 ath9k_hw +alias symbol:ath9k_hw_settsf64 ath9k_hw +alias symbol:au8522_i2c_gate_ctrl au8522_common +alias symbol:gspca_dev_probe2 gspca_main +alias symbol:lcd_device_unregister lcd +alias symbol:gameport_open gameport +alias symbol:cfg80211_cqm_rssi_notify cfg80211 +alias symbol:smscore_register_hotplug smsmdtv +alias symbol:videobuf_read_start videobuf_core +alias symbol:o2net_unregister_handler_list ocfs2_nodemanager +alias symbol:snd_dma_reserve_buf snd_page_alloc +alias symbol:ath9k_hw_init_global_settings ath9k_hw +alias symbol:wiphy_rfkill_set_hw_state cfg80211 +alias symbol:rc_allocate_device rc_core +alias symbol:irda_init_max_qos_capabilies irda +alias symbol:snd_add_device_sysfs_file snd +alias symbol:dm_rh_update_states dm_region_hash +alias symbol:irias_find_object irda +alias symbol:rc_keydown rc_core +alias symbol:ipt_unregister_table ip_tables +alias symbol:CsrWifiEventSizeof csr_helper +alias symbol:vb2_buffer_done videobuf2_core +alias symbol:usb_wwan_write usb_wwan +alias symbol:ath9k_hw_getchan_noise ath9k_hw +alias symbol:rt2x00mac_conf_tx rt2x00lib +alias symbol:p9_client_getlock_dotl 9pnet +alias symbol:xt_unregister_target x_tables +alias symbol:flexcop_device_kfree b2c2_flexcop +alias symbol:hostap_add_interface hostap +alias symbol:ieee80211_start_tx_ba_session mac80211 +alias symbol:ax25_findbyuid ax25 +alias symbol:v4l2_fh_is_singular videodev +alias symbol:ath9k_hw_wow_apply_pattern ath9k +alias symbol:ct_sip_parse_address_param nf_conntrack_sip +alias symbol:nf_conntrack_unregister_notifier nf_conntrack +alias symbol:cx231xx_capture_start cx231xx +alias symbol:rndis_rx_fixup rndis_host +alias symbol:dm_bufio_get_client dm_bufio +alias symbol:smsendian_handle_tx_message smsmdtv +alias symbol:smsendian_handle_rx_message smsmdtv +alias symbol:cfg80211_connect_result cfg80211 +alias symbol:dm_table_event dm_mod +alias symbol:usb_serial_handle_sysrq_char usbserial +alias symbol:ath9k_hw_abort_tx_dma ath9k_hw +alias symbol:snd_seq_expand_var_event snd_seq +alias symbol:dm_region_hash_create dm_region_hash +alias symbol:mwifiex_process_sleep_confirm_resp mwifiex +alias symbol:cdrom_number_of_slots cdrom +alias symbol:datagram_send_ctl ipv6 +alias symbol:ip_set_get_ipaddr4 ip_set +alias symbol:ip_set_get_ipaddr6 ip_set +alias symbol:sms_board_setup smsmdtv +alias symbol:__video_register_device videodev +alias symbol:p54_parse_eeprom p54common +alias symbol:md_stop_writes md_mod +alias symbol:vb2_write videobuf2_core +alias symbol:rt2x00usb_clear_entry rt2x00usb +alias symbol:ircomm_flow_request ircomm +alias symbol:irias_add_octseq_attrib irda +alias symbol:cfg80211_roamed cfg80211 +alias symbol:snd_mpu401_uart_new snd_mpu401_uart +alias symbol:ssb_bus_may_powerdown ssb +alias symbol:dm_rh_recovery_prepare dm_region_hash +alias symbol:cx231xx_register_extension cx231xx +alias symbol:md_new_event md_mod +alias symbol:videobuf_queue_to_vaddr videobuf_core +alias symbol:cx231xx_init_vbi_isoc cx231xx +alias symbol:ieee80211_cqm_rssi_notify mac80211 +alias symbol:em28xx_init_isoc em28xx +alias symbol:v4l2_subdev_g_ext_ctrls videodev +alias symbol:v4l2_subdev_s_ext_ctrls videodev +alias symbol:ath_hw_get_listen_time ath +alias symbol:irttp_udata_request irda +alias symbol:snd_card_register snd +alias symbol:nf_nat_sip_hook nf_conntrack_sip +alias symbol:nf_nat_irc_hook nf_conntrack_irc +alias symbol:nf_nat_ftp_hook nf_conntrack_ftp +alias symbol:mddev_resume md_mod +alias symbol:ar9003_mci_get_interrupt ath9k_hw +alias symbol:p54_register_common p54common +alias symbol:rt2x00usb_probe rt2x00usb +alias symbol:i2400m_is_boot_barker i2400m +alias symbol:lbs_get_firmware libertas +alias symbol:rt2x00queue_map_txskb rt2x00lib +alias symbol:register_cdrom cdrom +alias symbol:nf_ct_deliver_cached_events nf_conntrack +alias symbol:rt2800_enable_radio rt2800lib +alias symbol:dib8000_pid_filter dib8000 +alias symbol:dvb_ringbuffer_empty dvb_core +alias symbol:xfrm6_rcv_spi ipv6 +alias symbol:snd_pcm_release_substream snd_pcm +alias symbol:dm_dirty_log_destroy dm_log +alias symbol:dib9000_fw_pid_filter_ctrl dib9000 +alias symbol:wiphy_free cfg80211 +alias symbol:snd_ctl_new1 snd +alias symbol:dm_rh_stop_recovery dm_region_hash +alias symbol:dib8000_pwm_agc_reset dib8000 +alias symbol:dvb_ca_en50221_init dvb_core +alias symbol:rt2800_process_rxwi rt2800lib +alias symbol:usb_wwan_tiocmget usb_wwan +alias symbol:usb_wwan_tiocmset usb_wwan +alias symbol:ath9k_cmn_update_ichannel ath9k_common +alias symbol:cfg80211_rx_mgmt cfg80211 +alias symbol:btmrvl_add_card btmrvl +alias symbol:dib3000mc_pid_control dib3000mc +alias symbol:genphy_read_status libphy +alias symbol:hsi_alloc_msg hsi +alias symbol:ieee80211_get_tkip_p1k_iv mac80211 +alias symbol:v4l2_prio_change videodev +alias symbol:ath_gen_timer_free ath9k_hw +alias symbol:hci_suspend_dev bluetooth +alias symbol:nf_ct_expect_find_get nf_conntrack +alias symbol:snd_pcm_lib_free_pages snd_pcm +alias symbol:roccat_common2_send hid_roccat_common +alias symbol:smscore_set_board_id smsmdtv +alias symbol:smscore_get_board_id smsmdtv +alias symbol:ip6_update_pmtu ipv6 +alias symbol:snd_card_disconnect snd +alias symbol:dm_put dm_mod +alias symbol:zl10353_attach zl10353 +alias symbol:v4l2_field_names videodev +alias symbol:tda9887_attach tda9887 +alias symbol:i2400m_unknown_barker i2400m +alias symbol:dm_dirty_log_create dm_log +alias symbol:xt_find_revision x_tables +alias symbol:ath9k_hw_set_interrupts ath9k_hw +alias symbol:nf_conntrack_l3proto_generic nf_conntrack +alias symbol:fc0011_attach fc0011 +alias symbol:snd_rawmidi_drop_output snd_rawmidi +alias symbol:v4l2_device_unregister_subdev videodev +alias symbol:l2tp_session_free l2tp_core +alias symbol:dib0070_get_rf_output dib0070 +alias symbol:dib0070_set_rf_output dib0070 +alias symbol:dm_dirty_log_type_unregister dm_log +alias symbol:cx231xx_enable656 cx231xx +alias symbol:ieee80211_radiotap_iterator_init cfg80211 +alias symbol:dlm_errname ocfs2_dlm +alias symbol:v4l2_ctrl_query_fill v4l2_common +alias symbol:ieee80211_find_sta mac80211 +alias symbol:ieee80211_tx_status_irqsafe mac80211 +alias symbol:snd_dma_free_pages snd_page_alloc +alias symbol:dm_read_arg dm_mod +alias symbol:bt_sock_unlink bluetooth +alias symbol:ves1x93_attach ves1x93 +alias symbol:v4l2_prio_max videodev +alias symbol:ar9003_paprd_init_table ath9k_hw +alias symbol:rt2x00usb_uninitialize rt2x00usb +alias symbol:ocfs2_cluster_connect ocfs2_stackglue +alias symbol:cfg80211_ibss_joined cfg80211 +alias symbol:videobuf_mmap_setup videobuf_core +alias symbol:tea5767_autodetection tea5767 +alias symbol:lbs_remove_card libertas +alias symbol:hostap_set_string hostap +alias symbol:snd_ctl_remove_id snd +alias symbol:hci_conn_security bluetooth +alias symbol:bt_debugfs bluetooth +alias symbol:dm_sm_disk_open dm_persistent_data +alias symbol:ppp_register_channel ppp_generic +alias symbol:__gameport_register_port gameport +alias symbol:dvb_unregister_frontend dvb_core +alias symbol:async_syndrome_val async_pq +alias symbol:ieee80211_stop_queues mac80211 +alias symbol:nf_ct_expect_unregister_notifier nf_conntrack +alias symbol:gf128mul_free_64k gf128mul +alias symbol:stv090x_set_gpio stv090x +alias symbol:ieee80211_enable_dyn_ps mac80211 +alias symbol:nfnl_acct_find_get nfnetlink_acct +alias symbol:simple_tuner_attach tuner_simple +alias symbol:udpv6_encap_enable ipv6 +alias symbol:snd_pcm_set_sync snd_pcm +alias symbol:dib0070_attach dib0070 +alias symbol:raid6_empty_zero_page raid6_pq +alias symbol:snd_info_create_card_entry snd +alias symbol:wimax_msg_alloc wimax +alias symbol:cfg80211_send_disassoc cfg80211 +alias symbol:xfrm6_find_1stfragopt ipv6 +alias symbol:snd_lookup_oss_minor_data snd +alias symbol:snd_request_card snd +alias symbol:snd_seq_kernel_client_ctl snd_seq +alias symbol:gameport_unregister_driver gameport +alias symbol:dm_register_target dm_mod +alias symbol:ieee80211_nullfunc_get mac80211 +alias symbol:ax25_display_timer ax25 +alias symbol:v4l2_prio_close videodev +alias symbol:ip_set_test ip_set +alias symbol:ezusb_writememory usbserial +alias symbol:ip6_flush_pending_frames ipv6 +alias symbol:gf128mul_64k_lle gf128mul +alias symbol:gf128mul_64k_bbe gf128mul +alias symbol:ieee80211_stop_rx_ba_session mac80211 +alias symbol:p9_idpool_get 9pnet +alias symbol:cfg80211_send_deauth cfg80211 +alias symbol:isp1301_get_client isp1301 +alias symbol:snd_pcm_format_set_silence snd_pcm +alias symbol:cfg80211_roamed_bss cfg80211 +alias symbol:ath9k_hw_beaconinit ath9k_hw +alias symbol:wiphy_rfkill_stop_polling cfg80211 +alias symbol:lnbh24_attach lnbp21 +alias symbol:rt2800_txdone_entry rt2800lib +alias symbol:register_snap_client psnap +alias symbol:bt_accept_unlink bluetooth +alias symbol:nf_ct_gre_keymap_add nf_conntrack_proto_gre +alias symbol:xt_check_target x_tables +alias symbol:rt2x00queue_pause_queue rt2x00lib +alias symbol:udp6_lib_lookup ipv6 +alias symbol:__nf_ct_try_assign_helper nf_conntrack +alias symbol:ath_regd_get_band_ctl ath +alias symbol:set_h245_addr_hook nf_conntrack_h323 +alias symbol:seq_print_acct nf_conntrack +alias symbol:stp_proto_register stp +alias symbol:cx231xx_tuner_callback cx231xx +alias symbol:inet6_csk_bind_conflict ipv6 +alias symbol:garp_register_application garp +alias symbol:ieee80211_rts_duration mac80211 +alias symbol:ieee80211_ave_rssi mac80211 +alias symbol:cfg80211_del_sta cfg80211 +alias symbol:ip6_route_output ipv6 +alias symbol:s5h1420_get_tuner_i2c_adapter s5h1420 +alias symbol:dvb_ringbuffer_init dvb_core +alias symbol:o2net_register_handler ocfs2_nodemanager +alias symbol:tua9001_attach tua9001 +alias symbol:ieee80211_gtk_rekey_notify mac80211 +alias symbol:irttp_flow_request irda +alias symbol:snd_pcm_format_little_endian snd_pcm +alias symbol:v4l2_try_ext_ctrls videodev +alias symbol:ieee80211_get_tkip_rx_p1k mac80211 +alias symbol:stp_proto_unregister stp +alias symbol:snd_usbmidi_input_stop snd_usbmidi_lib +alias symbol:bitmap_end_sync md_mod +alias symbol:dvb_net_release dvb_core +alias symbol:videobuf_poll_stream videobuf_core +alias symbol:bt_sock_reclassify_lock bluetooth +alias symbol:ipv6_push_nfrag_opts ipv6 +alias symbol:ipt_register_table ip_tables +alias symbol:snd_pcm_format_width snd_pcm +alias symbol:tda10023_attach tda10023 +alias symbol:tda10021_attach tda10021 +alias symbol:snd_mixer_oss_notify_callback snd +alias symbol:roccat_common2_receive hid_roccat_common +alias symbol:ipcomp_destroy xfrm_ipcomp +alias symbol:ath9k_cmn_get_curchannel ath9k_common +alias symbol:rt2x00mac_flush rt2x00lib +alias symbol:ieee80211_unregister_hw mac80211 +alias symbol:gf128mul_4k_lle gf128mul +alias symbol:gf128mul_4k_bbe gf128mul +alias symbol:dibusb_read_eeprom_byte dvb_usb_dibusb_common +alias symbol:dib0090_set_switch dib0090 +alias symbol:ieee80211_get_buffered_bc mac80211 +alias symbol:dm_bufio_release_move dm_bufio +alias symbol:usb_serial_generic_resume usbserial +alias symbol:ppp_channel_index ppp_generic +alias symbol:hashbin_get_next irda +alias symbol:md_check_recovery md_mod +alias symbol:sirdev_set_dongle sir_dev +alias symbol:macvlan_link_register macvlan +alias symbol:lc_create lru_cache +alias symbol:fuse_do_ioctl fuse +alias symbol:tda665x_attach tda665x +alias symbol:intlog2 dvb_core +alias symbol:ath9k_hw_setrxabort ath9k_hw +alias symbol:rt2800_init_eeprom rt2800lib +alias symbol:ec100_attach ec100 +alias symbol:nf_nat_pptp_hook_exp_gre nf_conntrack_pptp +alias symbol:rt2x00mac_config rt2x00lib +alias symbol:bt_sock_poll bluetooth +alias symbol:snd_seq_kernel_client_enqueue_blocking snd_seq +alias symbol:i2400m_dev_reset_handle i2400m +alias symbol:rt2800_clear_beacon rt2800lib +alias symbol:dm_bm_write_lock dm_persistent_data +alias symbol:flexcop_eeprom_check_mac_addr b2c2_flexcop +alias symbol:nfc_unregister_device nfc +alias symbol:lro_receive_frags inet_lro +alias symbol:v9fs_unregister_trans 9pnet +alias symbol:gameport_close gameport +alias symbol:dib8000_get_adc_power dib8000 +alias symbol:lbtf_bcn_sent libertas_tf +alias symbol:nf_ct_port_tuple_to_nlattr nf_conntrack +alias symbol:dvb_ringbuffer_flush dvb_core +alias symbol:nf_conntrack_helper_register nf_conntrack +alias symbol:snd_seq_root snd +alias symbol:cx2341x_handler_set_50hz cx2341x +alias symbol:ir_raw_handler_register rc_core +alias symbol:slhc_compress slhc +alias symbol:l2tp_session_create l2tp_core +alias symbol:batostr bluetooth +alias symbol:ieee80211_get_response_rate cfg80211 +alias symbol:ssb_bus_unregister ssb +alias symbol:snd_pcm_format_big_endian snd_pcm +alias symbol:mt2131_attach mt2131 +alias symbol:cfg80211_cqm_pktloss_notify cfg80211 +alias symbol:ip6_sk_update_pmtu ipv6 +alias symbol:dm_bm_write_lock_zero dm_persistent_data +alias symbol:au8522_get_state au8522_common +alias symbol:timeval_usec_diff dvb_core +alias symbol:dib7000p_i2c_enumeration dib7000p +alias symbol:lc_element_by_index lru_cache +alias symbol:ath9k_hw_startpcureceive ath9k_hw +alias symbol:rdev_set_badblocks md_mod +alias symbol:raid6_gfmul raid6_pq +alias symbol:snd_midi_event_no_status snd_seq_midi_event +alias symbol:snd_ecards_limit snd +alias symbol:btmrvl_send_module_cfg_cmd btmrvl +alias symbol:tda18271c2dd_attach tda18271c2dd +alias symbol:lc_destroy lru_cache +alias symbol:dib9000_set_slave_frontend dib9000 +alias symbol:dib9000_get_slave_frontend dib9000 +alias symbol:dib8000_set_slave_frontend dib8000 +alias symbol:dib8000_get_slave_frontend dib8000 +alias symbol:nfc_targets_found nfc +alias symbol:asc2ax ax25 +alias symbol:ds3000_attach ds3000 +alias symbol:dib0070_ctrl_agc_filter dib0070 +alias symbol:i2c_bit_algo i2c_algo_bit +alias symbol:video_device_alloc videodev +alias symbol:p9stat_free 9pnet +alias symbol:nf_conntrack_l4proto_udp4 nf_conntrack +alias symbol:dm_rh_inc_pending dm_region_hash +alias symbol:ath9k_hw_btcoex_init_scheme ath9k_hw +alias symbol:async_gen_syndrome async_pq +alias symbol:o2hb_get_all_regions ocfs2_nodemanager +alias symbol:nfs4_acl_nfsv4_to_posix nfsd +alias symbol:ip_set_get_byname ip_set +alias symbol:v4l2_chip_match_host v4l2_common +alias symbol:ath9k_hw_gen_timer_stop ath9k_hw +alias symbol:CsrWifiEventCsrUint16Ser csr_helper +alias symbol:snd_rawmidi_new snd_rawmidi +alias symbol:dm_rh_region_context dm_region_hash +alias symbol:ath9k_hw_updatetxtriglevel ath9k_hw +alias symbol:nf_conntrack_free nf_conntrack +alias symbol:dm_kcopyd_do_callback dm_mod +alias symbol:is_fw_load cx231xx +alias symbol:mdiobus_alloc_size libphy +alias symbol:macvlan_common_newlink macvlan +alias symbol:hashbin_remove irda +alias symbol:cfg80211_sched_scan_stopped cfg80211 +alias symbol:cfg80211_get_bss cfg80211 +alias symbol:md_run md_mod +alias symbol:hci_conn_switch_role bluetooth +alias symbol:br_should_route_hook bridge +alias symbol:dvb_filter_pes2ts_init dvb_core +alias symbol:cfg80211_gtk_rekey_notify cfg80211 +alias symbol:p54_read_eeprom p54common +alias symbol:cfg80211_probe_status cfg80211 +alias symbol:snd_register_oss_device snd +alias symbol:snd_info_get_line snd +alias symbol:em28xx_gpio_set em28xx +alias symbol:v4l2_ctrl_auto_cluster videodev +alias symbol:v4l2_event_dequeue videodev +alias symbol:dib0090_get_tune_state dib0090 +alias symbol:dib0090_set_tune_state dib0090 +alias symbol:fl6_merge_options ipv6 +alias symbol:rt2800_efuse_detect rt2800lib +alias symbol:i2400m_tx_msg_get i2400m +alias symbol:ip_set_alloc ip_set +alias symbol:videobuf_streamon videobuf_core +alias symbol:nfc_driver_failure nfc +alias symbol:dm_bufio_read dm_bufio +alias symbol:stv0297_attach stv0297 +alias symbol:nf_ct_l3proto_find_get nf_conntrack +alias symbol:nf_ct_l4proto_find_get nf_conntrack +alias symbol:dib9000_firmware_post_pll_init dib9000 +alias symbol:fuse_conn_kill fuse +alias symbol:dm_rh_mark_nosync dm_region_hash +alias symbol:dib8000_pid_filter_ctrl dib8000 +alias symbol:dib3000mc_i2c_enumeration dib3000mc +alias symbol:l2tp_tunnel_find_nth l2tp_core +alias symbol:dm_table_put dm_mod +alias symbol:v4l2_i2c_tuner_addrs v4l2_common +alias symbol:fb_sys_write fb_sys_fops +alias symbol:dvb_ringbuffer_read_user dvb_core +alias symbol:nf_nat_get_offset nf_nat +alias symbol:ipv6_setsockopt ipv6 +alias symbol:dm_kcopyd_zero dm_mod +alias symbol:usb_serial_port_softint usbserial +alias symbol:bt_sock_wait_state bluetooth +alias symbol:CsrMsgConvCustomLookupRegister csr_helper +alias symbol:phy_drivers_unregister libphy +alias symbol:xt_recseq x_tables +alias symbol:cx22700_attach cx22700 +alias symbol:rt2x00mac_set_key rt2x00lib +alias symbol:ieee80211_sta_set_buffered mac80211 +alias symbol:xt_request_find_target x_tables +alias symbol:dm_kill_unmapped_request dm_mod +alias symbol:vb2_querybuf videobuf2_core +alias symbol:hdlcdrv_register hdlcdrv +alias symbol:dm_rh_delay dm_region_hash +alias symbol:register_md_personality md_mod +alias symbol:dib3000mc_get_tuner_i2c_master dib3000mc +alias symbol:snd_pcm_rate_bit_to_rate snd_pcm +alias symbol:ath9k_hw_btcoex_enable ath9k_hw +alias symbol:inet6_csk_reqsk_queue_hash_add ipv6 +alias symbol:dib0090_pwm_gain_reset dib0090 +alias symbol:wimax_msg_data wimax +alias symbol:CsrPanic csr_helper +alias symbol:p9_client_mknod_dotl 9pnet +alias symbol:p9_client_mkdir_dotl 9pnet +alias symbol:bt_sock_stream_recvmsg bluetooth +alias symbol:au8522_init au8522_common +alias symbol:dib0090_dcc_freq dib0090 +alias symbol:sp8870_attach sp8870 +alias symbol:mwifiex_enable_hs mwifiex +alias symbol:ath9k_hw_gettxbuf ath9k_hw +alias symbol:cfg80211_calculate_bitrate cfg80211 +alias symbol:register_inet6addr_notifier ipv6 +alias symbol:nf_ct_gre_keymap_destroy nf_conntrack_proto_gre +alias symbol:mt2266_attach mt2266 +alias symbol:nfnetlink_subsys_register nfnetlink +alias symbol:snd_pcm_lib_free_vmalloc_buffer snd_pcm +alias symbol:ath9k_hw_gen_timer_start ath9k_hw +alias symbol:dm_bm_block_size dm_persistent_data +alias symbol:dm_bufio_mark_buffer_dirty dm_bufio +alias symbol:dib9000_get_i2c_master dib9000 +alias symbol:dib8000_get_i2c_master dib8000 +alias symbol:gspca_dev_probe gspca_main +alias symbol:ocfs2_cluster_this_node ocfs2_stackglue +alias symbol:p9_client_destroy 9pnet +alias symbol:lbs_resume libertas +alias symbol:cfg80211_send_unprot_disassoc cfg80211 +alias symbol:CsrWifiEventCsrUint16CsrUint8Sizeof csr_helper +alias symbol:isl6421_attach isl6421 +alias symbol:gf128mul_x_ble gf128mul +alias symbol:cfg80211_get_mesh cfg80211 +alias symbol:usb_serial_generic_process_read_urb usbserial +alias symbol:rt2x00mac_rfkill_poll rt2x00lib +alias symbol:snd_seq_event_port_detach snd_seq +alias symbol:ssb_device_enable ssb +alias symbol:phy_ethtool_sset libphy +alias symbol:phy_ethtool_gset libphy +alias symbol:l2tp_udp_encap_recv l2tp_core +alias symbol:garp_unregister_application garp +alias symbol:btmrvl_interrupt btmrvl +alias symbol:mxl5007t_attach mxl5007t +alias symbol:snd_ctl_remove snd +alias symbol:rc_core_debug rc_core +alias symbol:icmpv6_err_convert ipv6 +alias symbol:cx2341x_update cx2341x +alias symbol:vb2_plane_vaddr videobuf2_core +alias symbol:rt2800_write_beacon rt2800lib +alias symbol:cx2341x_fill_defaults cx2341x +alias symbol:videobuf_streamoff videobuf_core +alias symbol:ad714x_remove ad714x +alias symbol:hostap_init_data hostap +alias symbol:v4l2_ctrl_subscribe_event videodev +alias symbol:ppp_input ppp_generic +alias symbol:au8522_writereg au8522_common +alias symbol:lirc_dev_fop_ioctl lirc_dev +alias symbol:nfc_register_device nfc +alias symbol:eeprom_93cx6_multiread eeprom_93cx6 +alias symbol:irlmp_update_client irda +alias symbol:garp_uninit_applicant garp +alias symbol:cx231xx_uninit_isoc cx231xx +alias symbol:usb_serial_generic_disconnect usbserial +alias symbol:ar9003_mci_get_next_gpm_offset ath9k_hw +alias symbol:dm_block_manager_create dm_persistent_data +alias symbol:slhc_toss slhc +alias symbol:fuse_conn_init fuse +alias symbol:ieee80211_scan_completed mac80211 +alias symbol:tda829x_probe tda8290 +alias symbol:dlm_setup_eviction_cb ocfs2_dlm +alias symbol:xt_free_table_info x_tables +alias symbol:cn_netlink_send cn +alias symbol:prism2_update_comms_qual hostap +alias symbol:async_raid6_datap_recov async_raid6_recov +alias symbol:null_ax25_address ax25 +alias symbol:snd_dma_alloc_pages_fallback snd_page_alloc +alias symbol:drxk_attach drxk +alias symbol:drxd_attach drxd +alias symbol:p54_unregister_common p54common +alias symbol:ax25_hard_header ax25 +alias symbol:ipcomp_input xfrm_ipcomp +alias symbol:nat_h245_hook nf_conntrack_h323 +alias symbol:snd_ctl_register_ioctl snd +alias symbol:CsrCharStringDes csr_helper +alias symbol:inet6_sk_rebuild_header ipv6 +alias symbol:dib3000mc_set_config dib3000mc +alias symbol:v4l2_event_queue videodev +alias symbol:rc_keydown_notimeout rc_core +alias symbol:nf_ct_extend_register nf_conntrack +alias symbol:v4l2_type_names videodev +alias symbol:free_mdio_bitbang mdio_bitbang +alias symbol:dm_rh_recovery_in_flight dm_region_hash +alias symbol:ip6_sk_dst_lookup_flow ipv6 +alias symbol:snd_dma_get_reserved_buf snd_page_alloc +alias symbol:rt2x00mac_sta_add rt2x00lib +alias symbol:snd_timer_new snd_timer +alias symbol:raid6_call raid6_pq +alias symbol:lirc_dev_fop_write lirc_dev +alias symbol:ath9k_hw_numtxpending ath9k_hw +alias symbol:ieee80211_report_low_ack mac80211 +alias symbol:proc_irda irda +alias symbol:bitmap_startwrite md_mod +alias symbol:__nf_ct_kill_acct nf_conntrack +alias symbol:lirc_unregister_driver lirc_dev +alias symbol:slhc_init slhc +alias symbol:dm_get_rq_mapinfo dm_mod +alias symbol:ath9k_hw_btcoex_init_3wire ath9k_hw +alias symbol:zlib_deflate_workspacesize zlib_deflate +alias symbol:snd_mpu401_uart_interrupt snd_mpu401_uart +alias symbol:bt_sock_recvmsg bluetooth +alias symbol:snd_timer_notify snd_timer +alias symbol:bitmap_unplug md_mod +alias symbol:l64781_attach l64781 +alias symbol:ath_key_config ath +alias symbol:dvb_usb_nec_rc_key_to_event dvb_usb +alias symbol:i2400m_netdev_setup i2400m +alias symbol:snd_rawmidi_transmit_peek snd_rawmidi +alias symbol:video_devdata videodev +alias symbol:videobuf_queue_core_init videobuf_core +alias symbol:ath9k_hw_set_txpowerlimit ath9k_hw +alias symbol:snd_midi_event_reset_decode snd_seq_midi_event +alias symbol:md_do_sync md_mod +alias symbol:snd_card_proc_new snd +alias symbol:dm_tm_shadow_block dm_persistent_data +alias symbol:spi_bitbang_setup_transfer spi_bitbang +alias symbol:CsrUint16Des csr_helper +alias symbol:CsrUint32Des csr_helper +alias symbol:__ieee80211_create_tpt_led_trigger mac80211 +alias symbol:cfg80211_can_beacon_sec_chan cfg80211 +alias symbol:sp887x_attach sp887x +alias symbol:dvb_ringbuffer_flush_spinlock_wakeup dvb_core +alias symbol:ppp_unregister_channel ppp_generic +alias symbol:lbtf_cmd_response_rx libertas_tf +alias symbol:ieee80211_amsdu_to_8023s cfg80211 +alias symbol:cx231xx_uninit_vbi_isoc cx231xx +alias symbol:cfg80211_new_sta cfg80211 +alias symbol:ip_set_get_ip_port ip_set +alias symbol:genphy_update_link libphy +alias symbol:vb2_queue_init videobuf2_core +alias symbol:ath_rxbuf_alloc ath +alias symbol:xt_alloc_table_info x_tables +alias symbol:s5h1420_attach s5h1420 +alias symbol:cx231xx_enable_i2c_port_3 cx231xx +alias symbol:lbtf_rx libertas_tf +alias symbol:ieee80211_register_hw mac80211 +alias symbol:dvb_ca_en50221_frda_irq dvb_core +alias symbol:p9_is_proto_dotu 9pnet +alias symbol:mb86a20s_attach mb86a20s +alias symbol:dm_bufio_get_block_size dm_bufio +alias symbol:dvb_usb_generic_write dvb_usb +alias symbol:tda10086_attach tda10086 +alias symbol:backlight_device_register backlight +alias symbol:CsrWifiEventSer csr_helper +alias symbol:CsrWifiEventDes csr_helper +alias symbol:rt2800_validate_eeprom rt2800lib +alias symbol:raid6_2data_recov raid6_pq +alias symbol:ieee80211_sta_ps_transition mac80211 +alias symbol:ocfs2_cluster_connect_agnostic ocfs2_stackglue +alias symbol:ieee80211_find_sta_by_ifaddr mac80211 +alias symbol:dm_bufio_write_dirty_buffers_async dm_bufio +alias symbol:md_rdev_clear md_mod +alias symbol:v4l2_fh_del videodev +alias symbol:ax25_rebuild_header ax25 +alias symbol:snd_ctl_rename_id snd +alias symbol:rt2x00queue_unpause_queue rt2x00lib +alias symbol:rt2x00lib_txdone rt2x00lib +alias symbol:ath9k_hw_btcoex_disable ath9k_hw +alias symbol:sys_imageblit sysimgblt +alias symbol:w1_touch_block wire +alias symbol:dibusb_dib3000mc_tuner_attach dvb_usb_dibusb_common +alias symbol:cx2341x_ctrl_query cx2341x +alias symbol:llc_mac_hdr_init llc +alias symbol:nf_conntrack_max nf_conntrack +alias symbol:snd_pcm_suspend snd_pcm +alias symbol:hci_conn_check_secure bluetooth +alias symbol:dib7000p_get_i2c_master dib7000p +alias symbol:dib7000m_get_i2c_master dib7000m +alias symbol:v4l2_ctrl_check v4l2_common +alias symbol:video_unregister_device videodev +alias symbol:ath9k_hw_enable_interrupts ath9k_hw +alias symbol:ath9k_hw_write_associd ath9k_hw +alias symbol:rt2x00queue_get_entry rt2x00lib +alias symbol:rt2x00mac_get_antenna rt2x00lib +alias symbol:snd_usbmidi_disconnect snd_usbmidi_lib +alias symbol:snd_timer_continue snd_timer +alias symbol:drbd_set_st_err_str drbd +alias symbol:dvb_dmx_swfilter_204 dvb_core +alias symbol:dvb_dmx_swfilter_raw dvb_core +alias symbol:ath9k_hw_beaconq_setup ath9k_hw +alias symbol:snd_card_file_add snd +alias symbol:dm_bufio_get dm_bufio +alias symbol:cx2341x_ctrl_get_menu cx2341x +alias symbol:irlmp_unregister_service irda +alias symbol:snd_midi_event_new snd_seq_midi_event +alias symbol:nf_nat_tftp_hook nf_conntrack_tftp +alias symbol:nf_nat_snmp_hook nf_conntrack_snmp +alias symbol:get_h225_addr nf_conntrack_h323 +alias symbol:v4l2_ctrl_handler_free videodev +alias symbol:snd_info_create_module_entry snd +alias symbol:lc_changed lru_cache +alias symbol:irttp_open_tsap irda +alias symbol:irlmp_open_lsap irda +alias symbol:ip6_route_lookup ipv6 +alias symbol:smscore_unregister_client smsmdtv +alias symbol:snd_pcm_lib_get_vmalloc_page snd_pcm +alias symbol:input_allocate_polled_device input_polldev +alias symbol:rt2x00lib_suspend rt2x00lib +alias symbol:p9_client_open 9pnet +alias symbol:dvb_frontend_sleep_until dvb_core +alias symbol:fuse_direct_io fuse +alias symbol:or51211_attach or51211 +alias symbol:v4l2_fh_release videodev +alias symbol:async_memcpy async_memcpy +alias symbol:nfc_dep_link_is_up nfc +alias symbol:llc_sap_open llc +alias symbol:systime dibx000_common +alias symbol:rt2x00lib_beacondone rt2x00lib +alias symbol:v4l2_g_ctrl videodev +alias symbol:rt2x00mac_set_antenna rt2x00lib +alias symbol:snd_pcm_hw_constraint_integer snd_pcm +alias symbol:sirdev_raw_read sir_dev +alias symbol:ath_hw_cycle_counters_update ath +alias symbol:fuse_file_fallocate fuse +alias symbol:__nf_nat_mangle_tcp_packet nf_nat +alias symbol:snd_dma_alloc_pages snd_page_alloc +alias symbol:hostap_remove_proc hostap +alias symbol:nfc_proto_register nfc +alias symbol:snd_seq_event_port_attach snd_seq +alias symbol:v4l2_g_ext_ctrls videodev +alias symbol:cdrom_release cdrom +alias symbol:rt2x00usb_vendor_req_buff_lock rt2x00usb +alias symbol:ip6_datagram_connect ipv6 +alias symbol:nf_conntrack_helper_try_module_get nf_conntrack +alias symbol:irttp_dup irda +alias symbol:mod_firmware_load sound_firmware +alias symbol:dib8096p_tuner_sleep dib8000 +alias symbol:v4l2_ctrl_poll videodev +alias symbol:wimax_dev_rm wimax +alias symbol:snd_rawmidi_kernel_write snd_rawmidi +alias symbol:gspca_disconnect gspca_main +alias symbol:fc0012_attach fc0012 +alias symbol:ftdi_elan_gone_away ftdi_elan +alias symbol:spi_bitbang_stop spi_bitbang +alias symbol:tuners tuner_types +alias symbol:nfc_proto_unregister nfc +alias symbol:llc_sap_find llc +alias symbol:dm_consume_args dm_mod +alias symbol:pppox_unbind_sock pppox +alias symbol:rt2800_sta_remove rt2800lib +alias symbol:async_trigger_callback async_tx +alias symbol:ocfs2_dlm_lvb ocfs2_stackglue +alias symbol:dib8000_get_tune_state dib8000 +alias symbol:dib8000_set_tune_state dib8000 +alias symbol:hci_recv_frame bluetooth +alias symbol:ath9k_cmn_count_streams ath9k_common +alias symbol:dibusb_streaming_ctrl dvb_usb_dibusb_common +alias symbol:vb2_common_vm_ops videobuf2_memops +alias symbol:snd_seq_delete_kernel_client snd_seq +alias symbol:rt2x00lib_resume rt2x00lib +alias symbol:hsi_claim_port hsi +alias symbol:snd_pcm_kernel_ioctl snd_pcm +alias symbol:dm_block_location dm_persistent_data +alias symbol:bridge_tunnel_header cfg80211 +alias symbol:snd_card_free_when_closed snd +alias symbol:dm_bufio_issue_flush dm_bufio +alias symbol:ieee80211_chswitch_done mac80211 +alias symbol:rc_register_device rc_core +alias symbol:rt2x00usb_disconnect rt2x00usb +alias symbol:fl6_sock_lookup ipv6 +alias symbol:snd_info_free_entry snd +alias symbol:sms_get_board smsmdtv +alias symbol:ath9k_hw_reset_calvalid ath9k_hw +alias symbol:ieee80211_connection_loss mac80211 +alias symbol:ieee80211_get_tkip_p2k mac80211 +alias symbol:nf_ct_port_nlattr_to_tuple nf_conntrack +alias symbol:snd_pcm_set_ops snd_pcm +alias symbol:rt2800_config rt2800lib +alias symbol:ax25_linkfail_release ax25 +alias symbol:CsrTimeGet csr_helper +alias symbol:lbs_disablemesh libertas +alias symbol:fuse_dev_operations fuse +alias symbol:dibusb_pid_filter_ctrl dvb_usb_dibusb_common +alias symbol:zlib_deflateReset zlib_deflate +alias symbol:ieee80211_sta_eosp_irqsafe mac80211 +alias symbol:nf_conntrack_flush_report nf_conntrack +alias symbol:snd_pcm_lib_malloc_pages snd_pcm +alias symbol:ci13xxx_add_device ci_hdrc +alias symbol:irlmp_unregister_client irda +alias symbol:p9_nr_pages 9pnet +alias symbol:ip6_dst_hoplimit ipv6 +alias symbol:dib7090_slave_reset dib7000p +alias symbol:dvb_generic_release dvb_core +alias symbol:ath9k_hw_setuprxdesc ath9k_hw +alias symbol:unregister_8022_client p8022 +alias symbol:lbtf_cmd_copyback libertas_tf +alias symbol:hostap_set_word hostap +alias symbol:sys_fillrect sysfillrect +alias symbol:irttp_close_tsap irda +alias symbol:hashbin_remove_this irda +alias symbol:irlmp_close_lsap irda +alias symbol:llc_set_station_handler llc +alias symbol:snd_ctl_add_vmaster_hook snd +alias symbol:wiphy_unregister cfg80211 +alias symbol:dvb_ca_en50221_camchange_irq dvb_core +alias symbol:v4l2_ctrl_merge videodev +alias symbol:cfg80211_send_assoc_timeout cfg80211 +alias symbol:nf_ct_helper_hash nf_conntrack +alias symbol:cx2341x_mpeg_ctrls cx2341x +alias symbol:fc0013_rc_cal_add fc0013 +alias symbol:dm_device_name dm_mod +alias symbol:rt2800_disable_wpdma rt2800lib +alias symbol:ocfs2_dlm_dump_lksb ocfs2_stackglue +alias symbol:smscore_onresponse smsmdtv +alias symbol:copy_from_user_toio snd +alias symbol:dm_kcopyd_copy dm_mod +alias symbol:dib7000p_pid_filter_ctrl dib7000p +alias symbol:dib7000m_pid_filter_ctrl dib7000m +alias symbol:usb_serial_handle_dcd_change usbserial +alias symbol:v4l2_ctrl_add_handler videodev +alias symbol:xfrm6_input_addr ipv6 +alias symbol:tda8083_attach tda8083 +alias symbol:ar9003_hw_bb_watchdog_dbg_info ath9k_hw +alias symbol:rt2800_write_tx_data rt2800lib +alias symbol:hci_get_route bluetooth +alias symbol:rc_g_keycode_from_table rc_core +alias symbol:v4l2_prio_init videodev +alias symbol:rt2x00usb_regbusy_read rt2x00usb +alias symbol:dm_bufio_get_aux_data dm_bufio +alias symbol:snd_timer_close snd_timer +alias symbol:nf_conntrack_broadcast_help nf_conntrack_broadcast +alias symbol:dib0090_get_wbd_target dib0090 +alias symbol:i2400m_init i2400m +alias symbol:ar9003_mci_state ath9k_hw +alias symbol:lgs8gxx_attach lgs8gxx +alias symbol:mdiobus_write libphy +alias symbol:rt2800_config_filter rt2800lib +alias symbol:hashbin_get_first irda +alias symbol:ndisc_mc_map ipv6 +alias symbol:nf_ct_helper_expectfn_find_by_symbol nf_conntrack +alias symbol:v4l2_ctrl_query_menu v4l2_common +alias symbol:wimax_state_change wimax +alias symbol:raid6_gfinv raid6_pq +alias symbol:nf_ct_extend_unregister nf_conntrack +alias symbol:hdlcdrv_transmitter hdlcdrv +alias symbol:nxt200x_attach nxt200x +alias symbol:ath9k_hw_ani_monitor ath9k_hw +alias symbol:videobuf_reqbufs videobuf_core +alias symbol:v4l2_queryctrl videodev +alias symbol:rt2800_load_firmware rt2800lib +alias symbol:ieee80211_wake_queue mac80211 +alias symbol:w1_ds2760_store_eeprom w1_ds2760 +alias symbol:v4l2_ctrl_handler_log_status videodev +alias symbol:inet6_csk_addr2sockaddr ipv6 +alias symbol:gspca_suspend gspca_main +alias symbol:ath_gen_timer_alloc ath9k_hw +alias symbol:xt_unregister_targets x_tables +alias symbol:ieee80211_napi_complete mac80211 +alias symbol:tda826x_attach tda826x +alias symbol:o2hb_check_local_node_heartbeating ocfs2_nodemanager +alias symbol:CsrMemCpyDes csr_helper +alias symbol:videobuf_qbuf videobuf_core +alias symbol:em28xx_write_reg_bits em28xx +alias symbol:__ieee80211_get_rx_led_name mac80211 +alias symbol:md_ack_all_badblocks md_mod +alias symbol:dib9000_fw_pid_filter dib9000 +alias symbol:inet6_release ipv6 +alias symbol:nf_ct_expect_hsize nf_conntrack +alias symbol:v4l2_ctrl_new_int_menu videodev +alias symbol:zlib_deflateInit2 zlib_deflate +alias symbol:nfc_set_remote_general_bytes nfc +alias symbol:dib7000pc_detection dib7000p +alias symbol:fl6_update_dst ipv6 +alias symbol:ocfs2_stack_glue_set_max_proto_version ocfs2_stackglue +alias symbol:lirc_dev_fop_open lirc_dev +alias symbol:l2tp_tunnel_create l2tp_core +alias symbol:dm_tm_commit dm_persistent_data +alias symbol:v4l2_find_nearest_format v4l2_common +alias symbol:gameport_unregister_port gameport +alias symbol:cx231xx_disable656 cx231xx +alias symbol:ath9k_hw_set_tsfadjust ath9k_hw +alias symbol:ocfs2_dlm_lock_status ocfs2_stackglue +alias symbol:nf_ct_alloc_hashtable nf_conntrack +alias symbol:rt6_lookup ipv6 +alias symbol:slhc_free slhc +alias symbol:spi_bitbang_cleanup spi_bitbang +alias symbol:hci_recv_fragment bluetooth +alias symbol:ieee80211_beacon_loss mac80211 +alias symbol:vb2_prepare_buf videobuf2_core +alias symbol:snd_rawmidi_kernel_release snd_rawmidi +alias symbol:ci13xxx_remove_device ci_hdrc +alias symbol:hostap_init_ap_proc hostap +alias symbol:qt1010_attach qt1010 +alias symbol:__cfg80211_send_disassoc cfg80211 +alias symbol:flexcop_pass_dmx_data b2c2_flexcop +alias symbol:cx231xx_unmute_audio cx231xx +alias symbol:v4l_bound_align_image v4l2_common +alias symbol:v4l2_ctrl_new_std_menu videodev +alias symbol:ath9k_hw_bstuck_nfcal ath9k_hw +alias symbol:nfnetlink_set_err nfnetlink +alias symbol:mddev_init md_mod +alias symbol:bt_sock_register bluetooth +alias symbol:irias_delete_object irda +alias symbol:usb_serial_handle_break usbserial +alias symbol:mwifiex_disable_auto_ds mwifiex +alias symbol:irias_object_change_attribute irda +alias symbol:snd_pcm_hw_constraint_minmax snd_pcm +alias symbol:au8522_readreg au8522_common +alias symbol:rt2x00queue_flush_queue rt2x00lib +alias symbol:snd_midi_event_free snd_seq_midi_event +alias symbol:i2400m_bm_cmd_prepare i2400m +alias symbol:lbtf_debug libertas_tf +alias symbol:ieee80211_free_txskb mac80211 +alias symbol:llc_sap_close llc +alias symbol:garp_request_leave garp +alias symbol:snd_ctl_sync_vmaster_hook snd +alias symbol:ad714x_probe ad714x +alias symbol:mdiobus_unregister libphy +alias symbol:p9_payload_gup 9pnet +alias symbol:phy_detach libphy +alias symbol:wimax_msg_data_len wimax +alias symbol:cfg80211_inform_bss_frame cfg80211 +alias symbol:nf_conntrack_l4proto_udp6 nf_conntrack +alias symbol:smscore_registry_getmode smsmdtv +alias symbol:rt2x00mac_tx rt2x00lib +alias symbol:drbd_conn_str drbd +alias symbol:p9_client_unlinkat 9pnet +alias symbol:snd_pcm_hw_constraint_ratnums snd_pcm +alias symbol:snd_ctl_replace snd +alias symbol:md_allow_write md_mod +alias symbol:nf_conntrack_l3proto_register nf_conntrack +alias symbol:nf_conntrack_l4proto_register nf_conntrack +alias symbol:usb_serial_resume usbserial +alias symbol:sirdev_write_complete sir_dev +alias symbol:ieee80211_rx mac80211 +alias symbol:ieee80211_rx_irqsafe mac80211 +alias symbol:nf_nat_sdp_media_hook nf_conntrack_sip +alias symbol:sirdev_receive sir_dev +alias symbol:nf_ct_iterate_cleanup nf_conntrack +alias symbol:ath9k_hw_kill_interrupts ath9k_hw +alias symbol:lbs_suspend libertas +alias symbol:llc_sap_list llc +alias symbol:dvb_unregister_adapter dvb_core +alias symbol:phy_start_aneg libphy +alias symbol:lc_index_of lru_cache +alias symbol:nf_defrag_ipv6_enable nf_defrag_ipv6 +alias symbol:nf_defrag_ipv4_enable nf_defrag_ipv4 +alias symbol:nf_ct_free_hashtable nf_conntrack +alias symbol:rtl2830_get_tuner_i2c_adapter rtl2830 +alias symbol:or51132_attach or51132 +alias symbol:ieee80211_iterate_active_interfaces_atomic mac80211 +alias symbol:ath9k_hw_init ath9k_hw +alias symbol:async_xor_val async_xor +alias symbol:dm_sm_disk_create dm_persistent_data +alias symbol:v4l2_spi_new_subdev v4l2_common +alias symbol:v4l2_ctrl_handler_setup videodev +alias symbol:md_integrity_add_rdev md_mod +alias symbol:rt2800_get_tkip_seq rt2800lib +alias symbol:hashbin_find irda +alias symbol:ipt_alloc_initial_table ip_tables +alias symbol:ct_sip_get_header nf_conntrack_sip +alias symbol:dvb_net_init dvb_core +alias symbol:rc_free_device rc_core +alias symbol:p9_errstr2errno 9pnet +alias symbol:snd_rawmidi_input_params snd_rawmidi +alias symbol:serio_rescan serio +alias symbol:CsrCharStringSer csr_helper +alias symbol:dm_block_data dm_persistent_data +alias symbol:md_error md_mod +alias symbol:ulist_next btrfs +alias symbol:dm_region_hash_destroy dm_region_hash +alias symbol:vb2_fop_read videobuf2_core +alias symbol:dm_rh_get_state dm_region_hash +alias symbol:phy_get_eee_err libphy +alias symbol:ath9k_cmn_get_hw_crypto_keytype ath9k_common +alias symbol:ath9k_hw_btcoex_bt_stomp ath9k_hw +alias symbol:ath9k_hw_txstart ath9k_hw +alias symbol:dm_shift_arg dm_mod +alias symbol:dib9000_get_tuner_interface dib9000 +alias symbol:ath_reg_notifier_apply ath +alias symbol:eeprom_93cx6_write eeprom_93cx6 +alias symbol:ieee80211_enable_rssi_reports mac80211 +alias symbol:dm_bufio_new dm_bufio +alias symbol:dibx000_reset_i2c_master dibx000_common +alias symbol:usb_wwan_resume usb_wwan +alias symbol:__ieee80211_get_channel cfg80211 +alias symbol:__nf_conntrack_helper_find nf_conntrack +alias symbol:ppp_unit_number ppp_generic +alias symbol:ppp_input_error ppp_generic +alias symbol:lbs_notify_command_response libertas +alias symbol:ocfs2_stack_supports_plocks ocfs2_stackglue +alias symbol:p9_client_link 9pnet +alias symbol:dvb_filter_get_ac3info dvb_core +alias symbol:v4l2_device_disconnect videodev +alias symbol:usb_serial_generic_open usbserial +alias symbol:hci_unregister_cb bluetooth +alias symbol:ebt_do_table ebtables +alias symbol:ip_set_type_unregister ip_set +alias symbol:md_wait_for_blocked_rdev md_mod +alias symbol:cx24110_attach cx24110 +alias symbol:snd_virmidi_new snd_seq_virmidi +alias symbol:p9_client_setattr 9pnet +alias symbol:ocfs2_cluster_disconnect ocfs2_stackglue +alias symbol:videobuf_queue_is_busy videobuf_core +alias symbol:ieee80211_alloc_hw mac80211 +alias symbol:llc_remove_pack llc +alias symbol:cfg80211_disconnected cfg80211 +alias symbol:cfg80211_send_rx_auth cfg80211 +alias symbol:dvb_register_adapter dvb_core +alias symbol:gspca_expo_autogain gspca_main +alias symbol:vb2_ioctl_querybuf videobuf2_core +alias symbol:rt2x00queue_flush_queues rt2x00lib +alias symbol:irda_notify_init irda +alias symbol:rt2800_config_ant rt2800lib +alias symbol:p9_client_read 9pnet +alias symbol:p9_client_write 9pnet +alias symbol:nf_ct_port_nlattr_tuple_size nf_conntrack +alias symbol:phy_start libphy +alias symbol:xt_hook_link x_tables +alias symbol:ircomm_connect_request ircomm +alias symbol:w1_reset_bus wire +alias symbol:ath9k_hw_reset ath9k_hw +alias symbol:hostap_80211_get_hdrlen hostap +alias symbol:uio_unregister_device uio +alias symbol:hostap_set_auth_algs hostap +alias symbol:dm_table_get_size dm_mod +alias symbol:ssb_dma_translation ssb +alias symbol:vb2_streamon videobuf2_core +alias symbol:cx231xx_init_isoc cx231xx +alias symbol:genphy_restart_aneg libphy +alias symbol:lbs_cmd_copyback libertas +alias symbol:snd_pcm_lib_read snd_pcm +alias symbol:lbs_host_to_card_done libertas +alias symbol:ocfs2_cluster_hangup ocfs2_stackglue +alias symbol:snd_pcm_format_silence_64 snd_pcm +alias symbol:md_stop md_mod +alias symbol:v4l2_device_unregister videodev +alias symbol:phy_connect_direct libphy +alias symbol:bt_sock_ioctl bluetooth +alias symbol:ipv6_opt_accepted ipv6 +alias symbol:arpt_register_table arp_tables +alias symbol:ssb_bus_powerup ssb +alias symbol:ulist_add btrfs +alias symbol:_snd_pcm_hw_param_setempty snd_pcm +alias symbol:nfc_tm_data_received nfc +alias symbol:ax25_protocol_release ax25 +alias symbol:rt2800_sta_add rt2800lib +alias symbol:xt_rateest_lookup xt_RATEEST +alias symbol:md_wakeup_thread md_mod +alias symbol:irda_device_set_media_busy irda +alias symbol:dm_ratelimit_state dm_mod +alias symbol:v4l2_subdev_try_ext_ctrls videodev +alias symbol:rndis_tx_fixup rndis_host +alias symbol:__nf_ct_l4proto_find nf_conntrack +alias symbol:p9_release_pages 9pnet +alias symbol:dvb_ca_en50221_camready_irq dvb_core +alias symbol:em28xx_unregister_extension em28xx +alias symbol:xc2028_attach tuner_xc2028 +alias symbol:ip_set_nfnl_get_byindex ip_set +alias symbol:rt2x00lib_rxdone rt2x00lib +alias symbol:nf_nat_set_seq_adjust nf_nat +alias symbol:nf_nat_tcp_seq_adjust nf_nat +alias symbol:nfs4_acl_posix_to_nfsv4 nfsd +alias symbol:snd_seq_autoload_lock snd_seq_device +alias symbol:snd_pcm_hw_param_last snd_pcm +alias symbol:ath9k_hw_cfg_gpio_input ath9k_hw +alias symbol:cfg80211_report_obss_beacon cfg80211 +alias symbol:i2400m_cmd_enter_powersave i2400m +alias symbol:snd_ctl_enum_info snd +alias symbol:hsi_unregister_controller hsi +alias symbol:snd_pcm_hw_refine snd_pcm +alias symbol:dm_tm_open_with_sm dm_persistent_data +alias symbol:dm_set_device_limits dm_mod +alias symbol:dib0090_fw_register dib0090 +alias symbol:rt2x00lib_probe_dev rt2x00lib +alias symbol:usb_serial_register_drivers usbserial +alias symbol:roccat_common2_send_with_status hid_roccat_common +alias symbol:dvb_dmxdev_release dvb_core +alias symbol:hsi_alloc_controller hsi +alias symbol:ar9003_paprd_populate_single_table ath9k_hw +alias symbol:ip_set_hostmask_map ip_set +alias symbol:tua6100_attach tua6100 +alias symbol:cfg80211_scan_done cfg80211 +alias symbol:inet6_csk_xmit ipv6 +alias symbol:dm_unregister_path_selector dm_multipath +alias symbol:videobuf_alloc_vb videobuf_core +alias symbol:sirdev_set_dtr_rts sir_dev +alias symbol:ieee80211_proberesp_get mac80211 +alias symbol:ipv6_recv_error ipv6 +alias symbol:v4l2_subdev_g_ctrl videodev +alias symbol:v4l2_subdev_s_ctrl videodev +alias symbol:unregister_snap_client psnap +alias symbol:dm_btree_lookup dm_persistent_data +alias symbol:phy_driver_register libphy +alias symbol:nf_conntrack_register_notifier nf_conntrack +alias symbol:dm_exception_store_type_register dm_snapshot +alias symbol:phy_print_status libphy +alias symbol:rt2800_config_intf rt2800lib +alias symbol:w1_write_block wire +alias symbol:itd1000_attach itd1000 +alias symbol:need_conntrack nf_conntrack +alias symbol:flexcop_device_kmalloc b2c2_flexcop +alias symbol:o2nm_node_put ocfs2_nodemanager +alias symbol:dvb_filter_pes2ts dvb_core +alias symbol:irda_param_insert irda +alias symbol:copy_to_user_fromio snd +alias symbol:ipv6_fixup_options ipv6 +alias symbol:cdrom_open cdrom +alias symbol:vb2_streamoff videobuf2_core +alias symbol:p9_client_stat 9pnet +alias symbol:xts_crypt xts +alias symbol:inet_diag_dump_icsk inet_diag +alias symbol:videobuf_dvb_find_frontend videobuf_dvb +alias symbol:ath9k_hw_name ath9k_hw +alias symbol:nf_nat_proto_in_range nf_nat +alias symbol:nf_conntrack_hash_rnd nf_conntrack +alias symbol:nfnl_unlock nfnetlink +alias symbol:w1_next_pullup wire +alias symbol:usb_ftdi_elan_read_pcimem ftdi_elan +alias symbol:au8522_attach au8522_dig +alias symbol:vb2_poll videobuf2_core +alias symbol:snd_seq_device_load_drivers snd_seq_device +alias symbol:bio_alloc_mddev md_mod +alias symbol:i2400m_pre_reset i2400m +alias symbol:nf_ct_gre_keymap_flush nf_conntrack_proto_gre +alias symbol:snd_pcm_hw_constraint_pow2 snd_pcm +alias symbol:ssb_set_devtypedata ssb +alias symbol:dib0090_register dib0090 +alias symbol:dlm_register_eviction_cb ocfs2_dlm +alias symbol:rt2800_get_survey rt2800lib +alias symbol:lbtf_add_card libertas_tf +alias symbol:__videobuf_mmap_setup videobuf_core +alias symbol:ath_hw_keyreset ath +alias symbol:rt2800_vco_calibration rt2800lib +alias symbol:hsi_put_controller hsi +alias symbol:usb_wwan_dtr_rts usb_wwan +alias symbol:drbd_disk_str drbd +alias symbol:v4l2_ctrl_handler_init videodev +alias symbol:nfnetlink_send nfnetlink +alias symbol:serio_open serio +alias symbol:dm_rh_flush dm_region_hash +alias symbol:cx24113_attach cx24113 +alias symbol:serio_close serio +alias symbol:vb2_ioctl_qbuf videobuf2_core +alias symbol:__cfg80211_send_deauth cfg80211 +alias symbol:inet6_register_protosw ipv6 +alias symbol:nfnl_lock nfnetlink +alias symbol:md_is_badblock md_mod +alias symbol:phy_register_fixup_for_uid libphy +alias symbol:rt2x00usb_suspend rt2x00usb +alias symbol:rfc1042_header cfg80211 +alias symbol:snd_midi_event_encode snd_seq_midi_event +alias symbol:ath9k_hw_wow_wakeup ath9k +alias symbol:af9005_rc_decode dvb_usb_af9005_remote +alias symbol:videobuf_next_field videobuf_core +alias symbol:hostap_set_hostapd_sta hostap +alias symbol:mlog_and_bits ocfs2_nodemanager +alias symbol:p9_client_fcreate 9pnet +alias symbol:set_ras_addr_hook nf_conntrack_h323 +alias symbol:v4l2_chip_ident_i2c_client v4l2_common +alias symbol:lirc_register_driver lirc_dev +alias symbol:wimax_report_rfkill_hw wimax +alias symbol:snd_pcm_limit_hw_rates snd_pcm +alias symbol:dm_dirty_log_type_register dm_log +alias symbol:usb_cypress_load_firmware dvb_usb +alias symbol:o2net_send_message ocfs2_nodemanager +alias symbol:v9fs_get_default_trans 9pnet +alias symbol:ieee80211_napi_schedule mac80211 +alias symbol:dvb_ringbuffer_avail dvb_core +alias symbol:xt_register_match x_tables +alias symbol:vb2_fop_release videobuf2_core +alias symbol:vb2_mmap videobuf2_core +alias symbol:genphy_suspend libphy +alias symbol:lc_set lru_cache +alias symbol:lc_get lru_cache +alias symbol:lc_put lru_cache +alias symbol:nf_conntrack_hash_check_insert nf_conntrack +alias symbol:videobuf_dvb_register_bus videobuf_dvb +alias symbol:v4l2_spi_subdev_init v4l2_common +alias symbol:ath9k_hw_cfg_output ath9k_hw +alias symbol:__nf_ct_ext_add_length nf_conntrack +alias symbol:CsrWifiEventCsrUint32Ser csr_helper +alias symbol:videobuf_iolock videobuf_core +alias symbol:snd_rawmidi_drain_input snd_rawmidi +alias symbol:snd_register_device_for_dev snd +alias symbol:cfg80211_wext_giwrange cfg80211 +alias symbol:ip6_dst_lookup ipv6 +alias symbol:fc0013_rc_cal_reset fc0013 +alias symbol:lbs_debug libertas +alias symbol:ieee80211_free_hw mac80211 +alias symbol:hci_resume_dev bluetooth +alias symbol:md_raid10_congested raid10 +alias symbol:mwifiex_remove_card mwifiex +alias symbol:pppox_ioctl pppox +alias symbol:dlmunlock ocfs2_dlm +alias symbol:snd_pcm_stop snd_pcm +alias symbol:CsrWifiEventCsrUint16Sizeof csr_helper +alias symbol:em28xx_write_ac97 em28xx +alias symbol:hsi_free_msg hsi +alias symbol:cfg80211_pmksa_candidate_notify cfg80211 +alias symbol:intlog10 dvb_core +alias symbol:ieee80211_get_mesh_hdrlen cfg80211 +alias symbol:__nf_ct_ext_destroy nf_conntrack +alias symbol:rt2x00usb_resume rt2x00usb +alias symbol:ieee80211_pspoll_get mac80211 +alias symbol:lib80211_get_crypto_ops lib80211 +alias symbol:stv0900_attach stv0900 +alias symbol:stb6000_attach stb6000 +alias symbol:lnbp21_attach lnbp21 +alias symbol:stb6100_attach stb6100 +alias symbol:o2hb_global_heartbeat_active ocfs2_nodemanager +alias symbol:ieee80211_rts_get mac80211 +alias symbol:w1_read_block wire +alias symbol:smscore_get_device_mode smsmdtv +alias symbol:dib0090_update_tuning_table_7090 dib0090 +alias symbol:video_ioctl2 videodev +alias symbol:ax25_bcast ax25 +alias symbol:cx231xx_set_mode cx231xx +alias symbol:v4l2_ctrl_query_menu_valid_items v4l2_common +alias symbol:irttp_connect_request irda +alias symbol:irlmp_connect_request irda +alias symbol:snd_rawmidi_receive snd_rawmidi +alias symbol:ssb_pmu_set_ldo_voltage ssb +alias symbol:ax2asc ax25 +alias symbol:__nf_ct_refresh_acct nf_conntrack +alias symbol:snd_seq_kernel_client_enqueue snd_seq +alias symbol:flexcop_device_exit b2c2_flexcop +alias symbol:cma3000_resume cma3000_d0x +alias symbol:init_cdrom_command cdrom +alias symbol:dm_rh_bio_to_region dm_region_hash +alias symbol:em28xx_audio_setup em28xx +alias symbol:crc7_syndrome_table crc7 +alias symbol:nf_ct_expect_register_notifier nf_conntrack +alias symbol:nf_conntrack_untracked nf_conntrack +alias symbol:dm_table_get dm_mod +alias symbol:ieee80211_request_smps mac80211 +alias symbol:dm_get_md dm_mod +alias symbol:fc0013_attach fc0013 +alias symbol:nf_ct_helper_hsize nf_conntrack +alias symbol:lirc_dev_fop_close lirc_dev +alias symbol:cdrom_ioctl cdrom +alias symbol:rt2800_set_rts_threshold rt2800lib +alias symbol:cfg80211_mgmt_tx_status cfg80211 +alias symbol:nfnl_acct_update nfnetlink_acct +alias symbol:snd_major snd +alias symbol:dm_vcalloc dm_mod +alias symbol:videobuf_read_stop videobuf_core +alias symbol:videobuf_waiton videobuf_core +alias symbol:ppp_register_compressor ppp_generic +alias symbol:atbm8830_attach atbm8830 +alias symbol:freq_reg_info cfg80211 +alias symbol:tda10048_attach tda10048 +alias symbol:tda10045_attach tda1004x +alias symbol:tda10046_attach tda1004x +alias symbol:o2hb_register_callback ocfs2_nodemanager +alias symbol:p9_client_getattr_dotl 9pnet +alias symbol:spi_bitbang_setup spi_bitbang +alias symbol:af9033_attach af9033 +alias symbol:af9013_attach af9013 +alias symbol:v4l2_ctrl_add_ctrl videodev +alias symbol:phy_attach libphy +alias symbol:p9_client_create_dotl 9pnet +alias symbol:xt_unregister_match x_tables +alias symbol:gspca_coarse_grained_expo_autogain gspca_main +alias symbol:em28xx_tuner_callback em28xx +alias symbol:devm_regmap_init_spi regmap_spi +alias symbol:devm_regmap_init_i2c regmap_i2c +alias symbol:lirc_dev_fop_read lirc_dev +alias symbol:drbd_role_str drbd +alias symbol:__nf_conntrack_find nf_conntrack +alias symbol:rtl2830_attach rtl2830 +alias symbol:usbnet_cdc_bind cdc_ether +alias symbol:dm_btree_remove dm_persistent_data +alias symbol:bitmap_close_sync md_mod +alias symbol:phy_ethtool_get_eee libphy +alias symbol:phy_ethtool_set_eee libphy +alias symbol:gf128mul_bbe gf128mul +alias symbol:snd_interval_refine snd_pcm +alias symbol:videobuf_dvb_dealloc_frontends videobuf_dvb +alias symbol:p54_parse_firmware p54common +alias symbol:hostap_master_start_xmit hostap +alias symbol:nfc_allocate_device nfc +alias symbol:nfnetlink_subsys_unregister nfnetlink +alias symbol:ir_raw_event_store_with_filter rc_core +alias symbol:p9_client_create 9pnet +alias symbol:eeprom_93cx6_wren eeprom_93cx6 +alias symbol:nat_callforwarding_hook nf_conntrack_h323 +alias symbol:snd_ctl_find_numid snd +alias symbol:CsrThreadSleep csr_helper +alias symbol:vb2_get_vma videobuf2_memops +alias symbol:nf_ct_helper_ext_add nf_conntrack +alias symbol:CsrUint8Ser csr_helper +alias symbol:phy_disconnect libphy +alias symbol:o2hb_stop_all_regions ocfs2_nodemanager +alias symbol:rate_control_send_low mac80211 +alias symbol:ieee80211_radiotap_iterator_next cfg80211 +alias symbol:bio_clone_mddev md_mod +alias symbol:hci_recv_stream_fragment bluetooth +alias symbol:snd_rawmidi_kernel_read snd_rawmidi +alias symbol:hsi_event hsi +alias symbol:hci_unregister_dev bluetooth +alias symbol:slhc_uncompress slhc +alias symbol:dm_btree_insert dm_persistent_data +alias symbol:rt2x00mac_configure_filter rt2x00lib +alias symbol:ip6_sk_redirect ipv6 +alias symbol:dm_btree_find_highest_key dm_persistent_data +alias symbol:cx231xx_set_alt_setting cx231xx +alias symbol:cx24116_attach cx24116 +alias symbol:adxl34x_resume adxl34x +alias symbol:lcd_device_register lcd +alias symbol:snd_info_register snd +alias symbol:radio_tea5777_init shark2 +alias symbol:_snd_pcm_hw_params_any snd_pcm +alias symbol:dm_rh_region_to_sector dm_region_hash +alias symbol:videobuf_dqbuf videobuf_core +alias symbol:genphy_resume libphy +alias symbol:rt2x00mac_stop rt2x00lib +alias symbol:irias_new_object irda +alias symbol:nf_conntrack_helper_unregister nf_conntrack +alias symbol:ar9003_mci_setup ath9k_hw +alias symbol:wiphy_new cfg80211 +alias symbol:snd_pcm_mmap_data snd_pcm +alias symbol:dm_requeue_unmapped_request dm_mod +alias symbol:v4l2_int_ioctl_1 v4l2_int_device +alias symbol:matrix_keypad_build_keymap matrix_keymap +alias symbol:w1_write_8 wire +alias symbol:ath9k_hw_btcoex_init_mci ath9k_hw +alias symbol:rt2x00queue_start_queue rt2x00lib +alias symbol:ip_set_nfnl_get ip_set +alias symbol:ip_set_nfnl_put ip_set +alias symbol:dm_bufio_client_create dm_bufio +alias symbol:tda8261_attach tda8261 +alias symbol:ieee80211_bss_get_ie cfg80211 +alias symbol:ath9k_hw_set_txq_props ath9k_hw +alias symbol:ath9k_hw_get_txq_props ath9k_hw +alias symbol:rt2x00mac_set_tim rt2x00lib +alias symbol:CsrWifiEventCsrUint8Des csr_helper +alias symbol:dvb_usb_generic_rw dvb_usb +alias symbol:dibusb_pid_filter dvb_usb_dibusb_common +alias symbol:isl6405_attach isl6405 +alias symbol:inet6_getname ipv6 +alias symbol:nf_conntrack_tuple_taken nf_conntrack +alias symbol:snd_device_register snd +alias symbol:ip_set_range_to_cidr ip_set +alias symbol:usb_wwan_ioctl usb_wwan +alias symbol:snd_ctl_find_id snd +alias symbol:__uio_register_device uio +alias symbol:p9_idpool_destroy 9pnet +alias symbol:v4l2_fh_init videodev +alias symbol:v4l2_fh_exit videodev +alias symbol:llc_build_and_send_ui_pkt llc +alias symbol:hostap_remove_interface hostap +alias symbol:rt2800_get_tsf rt2800lib +alias symbol:xt_register_matches x_tables +alias symbol:roccat_report_event hid_roccat +alias symbol:cx24123_get_tuner_i2c_adapter cx24123 +alias symbol:ssb_driver_unregister ssb +alias symbol:ar9003_paprd_setup_gain_table ath9k_hw +alias symbol:async_xor async_xor +alias symbol:dm_rh_dec dm_region_hash +alias symbol:dm_tm_dec dm_persistent_data +alias symbol:i2400m_release i2400m +alias symbol:ipcomp_output xfrm_ipcomp +alias symbol:nf_ct_expect_related_report nf_conntrack +alias symbol:dm_unregister_target dm_mod +alias symbol:snd_seq_device_register_driver snd_seq_device +alias symbol:dvb_dmx_release dvb_core +alias symbol:sms_board_power smsmdtv +alias symbol:hashbin_lock_find irda +alias symbol:inet6_destroy_sock ipv6 +alias symbol:snd_rawmidi_transmit snd_rawmidi +alias symbol:cdrom_mode_sense cdrom +alias symbol:phy_device_create libphy +alias symbol:qtree_delete_dquot quota_tree +alias symbol:v4l2_ctrl_log_status videodev +alias symbol:inet6_unregister_protosw ipv6 +alias symbol:dm_kcopyd_prepare_callback dm_mod +alias symbol:ieee80211_tx_status mac80211 +alias symbol:snd_seq_set_queue_tempo snd_seq +alias symbol:v4l2_video_std_construct videodev +alias symbol:rt2800_probe_hw_mode rt2800lib +alias symbol:hostap_get_porttype hostap +alias symbol:nf_conntrack_alloc nf_conntrack +alias symbol:__ssb_driver_register ssb +alias symbol:dib7000p_set_wbd_ref dib7000p +alias symbol:tda827x_attach tda827x +alias symbol:drxd_config_i2c drxd +alias symbol:stb0899_attach stb0899 +alias symbol:stv0299_attach stv0299 +alias symbol:snd_interval_list snd_pcm +alias symbol:fuse_put_request fuse +alias symbol:mwifiex_write_data_complete mwifiex +alias symbol:snd_ctl_make_virtual_master snd +alias symbol:ieee80211_probereq_get mac80211 +alias symbol:ieee80211_send_bar mac80211 +alias symbol:hci_alloc_dev bluetooth +alias symbol:usb_wwan_port_remove usb_wwan +alias symbol:hdlcdrv_arbitrate hdlcdrv +alias symbol:bitmap_cond_end_sync md_mod +alias symbol:vb2_ioctl_streamon videobuf2_core +alias symbol:ieee80211_rate_control_unregister mac80211 +alias symbol:inet6_ioctl ipv6 +alias symbol:snd_pcm_format_linear snd_pcm +alias symbol:ves1820_attach ves1820 +alias symbol:rt2x00usb_watchdog rt2x00usb +alias symbol:hostap_setup_dev hostap +alias symbol:fuse_get_req fuse +alias symbol:rt2x00mac_start rt2x00lib +alias symbol:ieee80211_iter_keys mac80211 +alias symbol:ip6t_register_table ip6_tables +alias symbol:tveeprom_hauppauge_analog tveeprom +alias symbol:cfg80211_send_unprot_deauth cfg80211 +alias symbol:tda10071_attach tda10071 +alias symbol:cx22702_attach cx22702 +alias symbol:lbs_process_rxed_packet libertas +alias symbol:backlight_device_unregister backlight +alias symbol:ip6_push_pending_frames ipv6 +alias symbol:md_write_end md_mod +alias symbol:mwifiex_init_shutdown_fw mwifiex +alias symbol:lbs_queue_event libertas +alias symbol:hostap_set_antsel hostap +alias symbol:snd_pcm_format_name snd_pcm +alias symbol:rt2x00queue_start_queues rt2x00lib +alias symbol:llc_sap_list_lock llc +alias symbol:cfg80211_inform_bss cfg80211 +alias symbol:sms_board_lna_control smsmdtv +alias symbol:ath9k_hw_set_rx_bufsize ath9k_hw +alias symbol:crypto_ft_tab aes_generic +alias symbol:crypto_fl_tab aes_generic +alias symbol:crypto_it_tab aes_generic +alias symbol:crypto_il_tab aes_generic +alias symbol:nfnetlink_has_listeners nfnetlink +alias symbol:ax25_header_ops ax25 +alias symbol:snd_pcm_suspend_all snd_pcm +alias symbol:mt2063_attach mt2063 +alias symbol:inet6_bind ipv6 +alias symbol:ieee80211_ap_probereq_get mac80211 +alias symbol:snd_pcm_lib_write snd_pcm +alias symbol:ieee80211_resume_disconnect mac80211 +alias symbol:bt_accept_enqueue bluetooth +alias symbol:ieee80211_data_to_8023 cfg80211 +alias symbol:nf_nat_sdp_session_hook nf_conntrack_sip +alias symbol:sms_board_led_feedback smsmdtv +alias symbol:lgdt3305_attach lgdt3305 +alias symbol:lgdt330x_attach lgdt330x +alias symbol:v4l2_device_register_subdev videodev +alias symbol:register_8022_client p8022 +alias symbol:dm_tm_create_non_blocking_clone dm_persistent_data +alias symbol:sms_board_event smsmdtv +alias symbol:bcm3510_attach bcm3510 +alias symbol:em28xx_read_reg em28xx +alias symbol:btmrvl_remove_card btmrvl +alias symbol:CsrWifiEventCsrUint16CsrUint8Des csr_helper +alias symbol:videobuf_dvb_alloc_frontend videobuf_dvb +alias symbol:isl6423_attach isl6423 +alias symbol:cx2341x_log_status cx2341x +alias symbol:tveeprom_read tveeprom +alias symbol:rt2x00mac_get_ringparam rt2x00lib +alias symbol:btmrvl_send_hscfg_cmd btmrvl +alias symbol:ath9k_cmn_update_txpow ath9k_common +alias symbol:dib0090_get_wbd_offset dib0090 +alias symbol:ath_printk ath +alias symbol:ath9k_hw_disable ath9k_hw +alias symbol:rt2800_gain_calibration rt2800lib +alias symbol:dm_tm_create_with_sm dm_persistent_data +alias symbol:v4l2_event_unsubscribe_all videodev +alias symbol:ath9k_hw_resettxqueue ath9k_hw +alias symbol:v4l2_event_queue_fh videodev +alias symbol:fb_sys_read fb_sys_fops +alias symbol:ircomm_connect_response ircomm +alias symbol:snd_oss_info_register snd +alias symbol:v4l2_prio_open videodev +alias symbol:fuse_request_alloc fuse +alias symbol:lro_flush_pkt inet_lro +alias symbol:ip_set_add ip_set +alias symbol:ip_set_del ip_set +alias symbol:CsrMsgConvInit csr_helper +alias symbol:gspca_resume gspca_main +alias symbol:videobuf_dvb_get_frontend videobuf_dvb +alias symbol:em28xx_read_ac97 em28xx +alias symbol:ssb_chipco_gpio_control ssb +alias symbol:snd_rawmidi_output_params snd_rawmidi +alias symbol:ieee80211_ctstoself_get mac80211 +alias symbol:nf_conntrack_htable_size nf_conntrack +alias symbol:CsrMsgConvFindEntry csr_helper +alias symbol:em28xx_register_extension em28xx +alias symbol:need_ipv4_conntrack nf_conntrack_ipv4 +alias symbol:irias_insert_object irda +alias symbol:ax25_register_pid ax25 +alias symbol:snd_pcm_lib_preallocate_pages snd_pcm +alias symbol:rt2800_conf_tx rt2800lib +alias symbol:ax25_linkfail_register ax25 +alias symbol:dm_tm_read_lock dm_persistent_data +alias symbol:dm_bm_read_lock dm_persistent_data +alias symbol:nfc_tm_deactivated nfc +alias symbol:ocfs2_dlm_lvb_valid ocfs2_stackglue +alias symbol:ieee80211_get_key_tx_seq mac80211 +alias symbol:ieee80211_get_key_rx_seq mac80211 +alias symbol:nf_ct_insert_dying_list nf_conntrack +alias symbol:vb2_ioctl_streamoff videobuf2_core +alias symbol:fuse_abort_conn fuse +alias symbol:snd_lookup_minor_data snd +alias symbol:i2400m_reset i2400m +alias symbol:ulist_reinit btrfs +alias symbol:cfg80211_wext_giwname cfg80211 +alias symbol:cfg80211_wext_siwmode cfg80211 +alias symbol:cfg80211_wext_giwmode cfg80211 +alias symbol:cfg80211_send_auth_timeout cfg80211 +alias symbol:regulatory_hint cfg80211 +alias symbol:wiphy_rfkill_start_polling cfg80211 +alias symbol:videobuf_vmalloc_free videobuf_vmalloc +alias symbol:bt_sock_link bluetooth +alias symbol:xt_register_target x_tables +alias symbol:phy_drivers_register libphy +alias symbol:dvb_unregister_device dvb_core +alias symbol:rndis_command rndis_host +alias symbol:btmrvl_process_event btmrvl +alias symbol:i2400m_post_reset i2400m +alias symbol:wiphy_apply_custom_regulatory cfg80211 +alias symbol:dm_table_get_md dm_mod +alias symbol:cx24113_agc_callback cx24113 +alias symbol:ct_sip_parse_header_uri nf_conntrack_sip +alias symbol:gameport_set_phys gameport +alias symbol:v4l2_prio_check videodev +alias symbol:irlmp_register_client irda +alias symbol:nf_ct_expect_alloc nf_conntrack +alias symbol:ath9k_hw_intrpend ath9k_hw +alias symbol:ath9k_hw_wow_event_to_string ath9k +alias symbol:p54_init_common p54common +alias symbol:o2hb_fill_node_map ocfs2_nodemanager +alias symbol:ocfs2_dlm_unlock ocfs2_stackglue +alias symbol:snd_timer_global_free snd_timer +alias symbol:smscore_register_client smsmdtv +alias symbol:usb_ftdi_elan_edset_flush ftdi_elan +alias symbol:snd_pcm_lib_writev snd_pcm +alias symbol:irlmp_get_discoveries irda +alias symbol:__nf_ct_expect_find nf_conntrack +alias symbol:garp_init_applicant garp +alias symbol:usbnet_generic_cdc_bind cdc_ether +alias symbol:ipv6_find_hdr ip6_tables +alias symbol:CsrWifiEventCsrUint8Ser csr_helper +alias symbol:hashbin_new irda +alias symbol:md_flush_request md_mod +alias symbol:dvb_ringbuffer_free dvb_core +alias symbol:dvb_dmxdev_init dvb_core +alias symbol:irda_qos_bits_to_value irda +alias symbol:ax25cmp ax25 +alias symbol:rt2800_mcu_request rt2800lib +alias symbol:snd_ctl_free_one snd +alias symbol:v4l2_fh_open videodev +alias symbol:dlm_print_one_lock ocfs2_dlm +alias symbol:nf_ct_helper_expectfn_register nf_conntrack +alias symbol:videobuf_stop videobuf_core +alias symbol:dm_rh_recovery_end dm_region_hash +alias symbol:cx231xx_send_usb_command cx231xx +alias symbol:v4l2_device_put videodev +alias symbol:sirdev_raw_write sir_dev +alias symbol:__serio_register_driver serio +alias symbol:ath_gen_timer_isr ath9k_hw +alias symbol:snd_pcm_rate_to_rate_bit snd_pcm +alias symbol:rndis_unbind rndis_host +alias symbol:unregister_inet6addr_notifier ipv6 +alias symbol:dib7000p_set_gpio dib7000p +alias symbol:vb2_queue_release videobuf2_core +alias symbol:cfg80211_rx_unexpected_4addr_frame cfg80211 +alias symbol:ipv6_chk_addr ipv6 +alias symbol:vb2_vmalloc_memops videobuf2_vmalloc +alias symbol:CsrMsgConvInsert csr_helper +alias symbol:dm_rh_get_region_size dm_region_hash +alias symbol:dib7000p_pid_filter dib7000p +alias symbol:dib7000m_pid_filter dib7000m +alias symbol:ipv6_find_tlv ipv6 +alias symbol:cfg80211_michael_mic_failure cfg80211 +alias symbol:ipt_do_table ip_tables +alias symbol:snd_seq_dump_var_event snd_seq +alias symbol:_snd_ctl_add_slave snd +alias symbol:vb2_ioctl_reqbufs videobuf2_core +alias symbol:xt_find_target x_tables +alias symbol:phy_mii_ioctl libphy +alias symbol:nfc_alloc_recv_skb nfc +alias symbol:snd_pcm_hw_param_value snd_pcm +alias symbol:nf_nat_follow_master nf_nat +alias symbol:ocfs2_stack_glue_register ocfs2_stackglue +alias symbol:fuse_dev_release fuse +alias symbol:p9_idpool_check 9pnet +alias symbol:p9_client_symlink 9pnet +alias symbol:dib8090p_get_dc_power dib8000 +alias symbol:lib80211_crypt_delayed_deinit lib80211 +alias symbol:md_trim_bio md_mod +alias symbol:rdev_clear_badblocks md_mod +alias symbol:sirdev_get_instance sir_dev +alias symbol:sirdev_put_instance sir_dev +alias symbol:xt_register_targets x_tables +alias symbol:snd_timer_pause snd_timer +alias symbol:dib9000_attach dib9000 +alias symbol:dib8000_attach dib8000 +alias symbol:xor_blocks xor +alias symbol:ieee80211_iterate_active_interfaces mac80211 +alias symbol:nf_nat_pptp_hook_outbound nf_conntrack_pptp +alias symbol:macvlan_start_xmit macvlan +alias symbol:nat_t120_hook nf_conntrack_h323 +alias symbol:genphy_config_aneg libphy +alias symbol:alloc_irdadev irda +alias symbol:inet_sk_diag_fill inet_diag +alias symbol:arpt_unregister_table arp_tables +alias symbol:rc_map_af9005_table_size dvb_usb_af9005_remote +alias symbol:stv0367ter_attach stv0367 +alias symbol:stv0367cab_attach stv0367 diff --git a/lib/modules/3.6.11+/modules.symbols.bin b/lib/modules/3.6.11+/modules.symbols.bin new file mode 100644 index 000000000..3aeabebe3 Binary files /dev/null and b/lib/modules/3.6.11+/modules.symbols.bin differ diff --git a/lib/modules/3.6.11+/modules.usbmap b/lib/modules/3.6.11+/modules.usbmap new file mode 100644 index 000000000..ed55d8811 --- /dev/null +++ b/lib/modules/3.6.11+/modules.usbmap @@ -0,0 +1,283 @@ +# usb module match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info +udlfb 0x0381 0x17e9 0x0000 0x0000 0x0000 0x00 0x00 0x00 0xff 0x00 0x00 0x0 +pn533 0x0003 0x04cc 0x2533 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +at76c50x-usb 0x0003 0x03eb 0x7603 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +zd1211rw 0x0003 0x0105 0x145f 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +rtl8187 0x0003 0x0b05 0x171d 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +rndis_wlan 0x0383 0x0411 0x00bc 0x0000 0x0000 0x00 0x00 0x00 0x02 0x02 0xff 0x0 +zd1201 0x0003 0x0586 0x3400 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +usb8xxx 0x0003 0x1286 0x2001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +libertas_tf_usb 0x0003 0x1286 0x2001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +rt2500usb 0x0003 0x0b05 0x1706 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +rt73usb 0x0003 0x07b8 0xb21b 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +rt2800usb 0x0003 0x07b8 0x2870 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +p54usb 0x0003 0x0411 0x0050 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ath9k_htc 0x0003 0x0cf3 0x9271 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +carl9170 0x0003 0x0cf3 0x9170 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +mwifiex_usb 0x0003 0x1286 0x2043 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +8192cu 0x0003 0x0bda 0x8191 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +catc 0x0003 0x0423 0x000a 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +kaweth 0x0003 0x03e8 0x0008 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +pegasus 0x0003 0x0506 0x4601 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +rtl8150 0x0003 0x0bda 0x8150 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +asix 0x0003 0x077b 0x2226 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cdc_ether 0x0383 0x04dd 0x8004 0x0000 0x0000 0x00 0x00 0x00 0x02 0x06 0x00 0x0 +cdc_eem 0x0380 0x0000 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x02 0x0c 0x07 0x0 +dm9601 0x0003 0x07aa 0x9601 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +smsc75xx 0x0003 0x0424 0x7500 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gl620a 0x0003 0x05e3 0x0502 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +net1080 0x0003 0x0525 0x1080 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +plusb 0x0003 0x067b 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +rndis_host 0x0383 0x1630 0x0042 0x0000 0x0000 0x00 0x00 0x00 0x02 0x02 0xff 0x0 +cdc_subset 0x0003 0x0402 0x5632 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +mcs7830 0x0003 0x9710 0x7832 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +int51x1 0x0003 0x09e1 0x5121 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +kalmia 0x0003 0x04e8 0x689a 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ipheth 0x0383 0x05ac 0x1290 0x0000 0x0000 0x00 0x00 0x00 0xff 0xfd 0x01 0x0 +sierra_net 0x0403 0x1199 0x68a3 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cx82310_eth 0x0073 0x0572 0xcb01 0x0000 0x0000 0xff 0x00 0x00 0x00 0x00 0x00 0x0 +lg-vl600 0x0383 0x1004 0x61aa 0x0000 0x0000 0x00 0x00 0x00 0x02 0x06 0x00 0x0 +qmi_wwan 0x0381 0x12d1 0x0000 0x0000 0x0000 0x00 0x00 0x00 0xff 0x01 0x09 0x0 +irda-usb 0x0003 0x09c4 0x0011 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +stir4200 0x0003 0x066f 0x4200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +mcs7780 0x0003 0x9710 0x7780 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +kingsun-sir 0x0003 0x07c0 0x4200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ksdazzle-sir 0x0003 0x07d0 0x4100 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ks959-sir 0x0003 0x07d0 0x4959 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +i2400m-usb 0x0003 0x8086 0x0186 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-alauda 0x000f 0x0584 0x0008 0x0102 0x0102 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-alauda 0x0000 0x0100 0x000f 0x07b4 0x010a 0x02 0x01 0x02 0x01 0x00 0x00 0x0 +ums-cypress 0x000f 0x04b4 0x6830 0x0000 0x9999 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-cypress 0x0000 0x0100 0x000f 0x04b4 0x6831 0x00 0x00 0x99 0x99 0x00 0x00 0x0 +ums-cypress 0x0000 0x0000 0x0000 0x0100 0x000f 0xcd 0x14 0x16 0x61 0x00 0x00 0x0 +ums-datafab 0x000f 0x07c4 0xa000 0x0000 0x0015 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-datafab 0x0000 0x0100 0x000f 0x07c4 0xa001 0x00 0x00 0xff 0xff 0x00 0x00 0x0 +ums-datafab 0x0000 0x0000 0x0000 0x0100 0x000f 0xc4 0x07 0x02 0xa0 0x00 0x00 0x0 +ums-eneub6250 0x000f 0x0cf2 0x6250 0x0000 0x9999 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-eneub6250 0x0000 0x0100 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-freecom 0x000f 0x07ab 0xfc01 0x0000 0x9999 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-freecom 0x0000 0x0100 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-isd200 0x000f 0x054c 0x002b 0x0100 0x0110 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-isd200 0x0000 0x0100 0x000f 0x05ab 0x0031 0x00 0x01 0x10 0x01 0x00 0x00 0x0 +ums-isd200 0x0000 0x0000 0x0000 0x0100 0x000f 0xab 0x05 0x01 0x03 0x00 0x01 0x0 +ums-jumpshot 0x000f 0x05dc 0x0001 0x0000 0x0001 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-jumpshot 0x0002 0x0100 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-karma 0x000f 0x045a 0x5210 0x0101 0x0101 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-karma 0x0000 0x0100 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-onetouch 0x000f 0x0d49 0x7000 0x0000 0x9999 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-onetouch 0x0000 0x0100 0x000f 0x0d49 0x7010 0x00 0x00 0x99 0x99 0x00 0x00 0x0 +ums-realtek 0x000f 0x0bda 0x0138 0x0000 0x9999 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-realtek 0x0000 0x0100 0x000f 0x0bda 0x0158 0x00 0x00 0x99 0x99 0x00 0x00 0x0 +ums-realtek 0x0000 0x0000 0x0000 0x0100 0x000f 0xda 0x0b 0x59 0x01 0x00 0x00 0x0 +ums-sddr09 0x000f 0x0436 0x0005 0x0100 0x0100 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-sddr09 0x0000 0x0100 0x000f 0x04e6 0x0003 0x00 0x00 0x99 0x99 0x00 0x00 0x0 +ums-sddr09 0x0000 0x0000 0x0000 0x0100 0x000f 0xe6 0x04 0x05 0x00 0x00 0x01 0x0 +ums-sddr55 0x000f 0x07c4 0xa103 0x0000 0x9999 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-sddr55 0x0008 0x0100 0x000f 0x07c4 0xa109 0x00 0x00 0xff 0xff 0x00 0x00 0x0 +ums-sddr55 0x0000 0x0000 0x0000 0x0100 0x000f 0x0b 0x0c 0x09 0xa1 0x00 0x00 0x0 +ums-usbat 0x000f 0x03f0 0x0207 0x0001 0x0001 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ums-usbat 0x0000 0x0100 0x000f 0x03f0 0x0307 0x01 0x00 0x01 0x00 0x00 0x00 0x0 +ums-usbat 0x0000 0x0000 0x0000 0x0100 0x000f 0xe6 0x04 0x10 0x10 0x00 0x00 0x0 +adutux 0x0003 0x0a07 0x0064 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +appledisplay 0x0283 0x05ac 0x9218 0x0000 0x0000 0x00 0x00 0x00 0x03 0x00 0x00 0x0 +cypress_cy7c63 0x0003 0x0a2c 0x0008 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cytherm 0x0003 0x04b4 0x0002 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +emi26 0x0003 0x086a 0x0100 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +emi62 0x0003 0x086a 0x0110 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ftdi-elan 0x0003 0x0403 0xd6ea 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +idmouse 0x0003 0x0681 0x0005 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +iowarrior 0x0003 0x07c0 0x1500 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +isight_firmware 0x0003 0x05ac 0x8300 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +usblcd 0x0001 0x10d2 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ldusb 0x0003 0x0f11 0x1000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +usbled 0x0003 0x0fc5 0x1223 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +legousbtower 0x0003 0x0694 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +rio500 0x0003 0x0841 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +usbtest 0x0003 0x0547 0x2235 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +trancevibrator 0x0003 0x0b49 0x064f 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +usbsevseg 0x0003 0x0fc5 0x1227 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +yurex 0x0003 0x0c45 0x1010 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cdc-acm 0x0003 0x0870 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cdc-wdm 0x0180 0x0000 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x02 0x09 0x00 0x0 +mdc800 0x0003 0x055f 0xa800 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +microtek 0x0003 0x04ce 0x0300 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +aircable 0x0003 0x16ca 0x1502 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ark3116 0x0003 0x6547 0x0232 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +belkin_sa 0x0003 0x050d 0x0103 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ch341 0x0003 0x4348 0x5523 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cp210x 0x0003 0x045b 0x0053 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cyberjack 0x0003 0x0c4b 0x0100 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cypress_m8 0x0003 0x1163 0x0100 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +usb_debug 0x0003 0x0525 0x127a 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +digi_acceleport 0x0003 0x05c5 0x0002 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +io_edgeport 0x0003 0x1608 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +io_ti 0x0003 0x1608 0x0215 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +empeg 0x0003 0x084f 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ftdi_sio 0x0003 0x0403 0xf7c0 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +funsoft 0x0003 0x1404 0xcddc 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +garmin_gps 0x0003 0x091e 0x0003 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +hp4x 0x0003 0x03f0 0x0121 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ipaq 0x0003 0x0104 0x00be 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ipw 0x0003 0x0bc3 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ir-usb 0x0003 0x050f 0x0180 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +iuu_phoenix 0x0003 0x104f 0x0004 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +keyspan 0x0003 0x06cd 0x0105 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +keyspan_pda 0x0003 0x06cd 0x0103 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +kl5kusb105 0x0003 0x0830 0x0080 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +kobil_sct 0x0003 0x0d46 0x2011 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +mct_u232 0x0003 0x0711 0x0210 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +metro-usb 0x0003 0x0c2e 0x0720 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +mos7720 0x0003 0x9710 0x7720 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +mos7840 0x0003 0x9710 0x7840 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +moto_modem 0x0003 0x05c6 0x3197 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +navman 0x0003 0x0a99 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +omninet 0x0003 0x0586 0x1000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +opticon 0x0003 0x065a 0x0009 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +option 0x0003 0x0af0 0x5000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +oti6858 0x0003 0x0ea0 0x6858 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +pl2303 0x0003 0x067b 0x2303 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +qcaux 0x0383 0x106c 0x3701 0x0000 0x0000 0x00 0x00 0x00 0xff 0x00 0x00 0x0 +qcserial 0x0003 0x05c6 0x9211 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +quatech2 0x0003 0x061d 0xc120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +safe_serial 0x0193 0x049f 0xffff 0x0000 0x0000 0x02 0x00 0x00 0xff 0x02 0x00 0x0 +siemens_mpi 0x0003 0x0908 0x0004 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +sierra 0x0003 0x0f3d 0x0112 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +spcp8x5 0x0003 0x0471 0x081e 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ssu100 0x0003 0x061d 0xc020 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +symbolserial 0x0003 0x05e0 0x0600 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ti_usb_3410_5052 0x0003 0x0451 0x3410 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +visor 0x0003 0x082d 0x0100 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +whiteheat 0x0003 0x0710 0x8001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +vivopay-serial 0x0003 0x1d5f 0x1004 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +zio 0x0003 0x1cbe 0x0103 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ati_remote2 0x0003 0x0471 0x0602 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +cm109 0x0383 0x0d8c 0x000e 0x0000 0x0000 0x00 0x00 0x00 0x03 0x00 0x00 0x0 +keyspan_remote 0x0003 0x06cd 0x0202 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +powermate 0x0003 0x077d 0x0410 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +yealink 0x0383 0x6993 0xb001 0x0000 0x0000 0x00 0x00 0x00 0x03 0x00 0x00 0x0 +i2c-diolan-u2c 0x0003 0x0abf 0x3370 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +i2c-tiny-usb 0x0003 0x0403 0xc631 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ati_remote 0x0003 0x0bc7 0x0002 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +imon 0x0003 0x15c2 0xffdc 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +mceusb 0x0003 0x045e 0x006d 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +redrat3 0x0003 0x112a 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +streamzap 0x0003 0x0e9c 0x0000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +iguanair 0x0003 0x1781 0x0938 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +em28xx 0x0003 0xeb1a 0x2750 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +poseidon 0x0383 0x1b24 0x4001 0x0000 0x0000 0x00 0x00 0x00 0xff 0x01 0x00 0x0 +cx231xx 0x0003 0x0572 0x5a3c 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +usbvision 0x0003 0x0a6f 0x0400 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +pvrusb2 0x0003 0x2040 0x2900 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +zr364xx 0x0003 0x08ca 0x0109 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +stkwebcam 0x0383 0x174f 0xa311 0x0000 0x0000 0x00 0x00 0x00 0xff 0xff 0xff 0x0 +sn9c102 0x0083 0x0c45 0x6024 0x0000 0x0000 0x00 0x00 0x00 0xff 0x00 0x00 0x0 +pwc 0x0003 0x0471 0x0302 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_benq 0x0003 0x04a5 0x3035 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_conex 0x0003 0x0572 0x0041 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_cpia1 0x0003 0x0553 0x0002 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_etoms 0x0003 0x102c 0x6151 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_finepix 0x0003 0x04cb 0x0104 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_jeilinj 0x0003 0x0979 0x0280 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_jl2005bcd 0x0003 0x0979 0x0227 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_kinect 0x0003 0x045e 0x02ae 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_konica 0x0003 0x04c8 0x0720 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_mars 0x0003 0x093a 0x050f 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_mr97310a 0x0003 0x08ca 0x0110 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_nw80x 0x0003 0x046d 0xd001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_ov519 0x0003 0x041e 0x4003 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_ov534 0x0003 0x1415 0x2000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_ov534_9 0x0003 0x05a9 0x8065 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_pac207 0x0003 0x041e 0x4028 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_pac7302 0x0003 0x06f8 0x3009 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_pac7311 0x0003 0x093a 0x2600 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_se401 0x0003 0x03e8 0x0004 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sn9c2028 0x0003 0x0458 0x7005 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sn9c20x 0x0003 0x0c45 0x6240 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sonixb 0x0003 0x0c45 0x6001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sonixj 0x0003 0x0458 0x7025 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sonixj 0x0401 0x0003 0x0003 0x0458 0x702e 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sonixj 0x0000 0x0000 0x0a00 0x0003 0x0003 0x5e 0x04 0xf5 0x00 0x00 0x00 0x0 +gspca_sonixj 0x0000 0x0000 0x0000 0x0000 0x0a01 0x01 0x00 0x03 0x00 0x5e 0x04 0x0 +gspca_sonixj 0x0000 0x0000 0x0000 0x0000 0x0000 0x00 0x00 0x01 0x0a 0x01 0x00 0x0 +gspca_spca500 0x0003 0x040a 0x0300 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_spca501 0x0003 0x040a 0x0002 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_spca505 0x0003 0x041e 0x401d 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_spca506 0x0003 0x06e1 0xa190 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_spca508 0x0003 0x0130 0x0130 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_spca561 0x0003 0x041e 0x401a 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_spca1528 0x0003 0x04fc 0x1528 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sq905 0x0003 0x2770 0x9120 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sq905c 0x0003 0x2770 0x905c 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sq930x 0x0003 0x041e 0x4038 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_sunplus 0x0003 0x041e 0x400b 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_stk014 0x0003 0x05e1 0x0893 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_stv0680 0x0003 0x0553 0x0202 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_t613 0x0003 0x17a1 0x0128 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_tv8532 0x0003 0x046d 0x0920 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_vc032x 0x0003 0x041e 0x405b 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_vicam 0x0003 0x04c1 0x009d 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_xirlink_cit 0x000f 0x0545 0x8080 0x0001 0x0001 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_xirlink_cit 0x0000 0x0000 0x000f 0x0545 0x8080 0x02 0x00 0x02 0x00 0x00 0x00 0x0 +gspca_xirlink_cit 0x0000 0x0000 0x0001 0x0000 0x000f 0x45 0x05 0x80 0x80 0x0a 0x03 0x0 +gspca_zc3xx 0x0003 0x03f0 0x1b07 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_m5602 0x0003 0x0402 0x5602 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_stv06xx 0x0003 0x046d 0x0840 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gspca_gl860 0x0003 0x05e3 0x0503 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +hdpvr 0x0003 0x2040 0x4900 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +s2255drv 0x0003 0x1943 0x2255 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +uvcvideo 0x0383 0x0416 0xa91a 0x0000 0x0000 0x00 0x00 0x00 0x0e 0x01 0x00 0x0 +radio-usb-si470x 0x0383 0x10c4 0x818a 0x0000 0x0000 0x00 0x00 0x00 0x03 0x00 0x00 0x0 +shark2 0x008f 0x077d 0x627a 0x0010 0x0010 0x00 0x00 0x00 0x03 0x00 0x00 0x0 +dsbr100 0x0003 0x04b4 0x1002 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +radio-mr800 0x0383 0x07ca 0xb800 0x0000 0x0000 0x00 0x00 0x00 0x03 0x00 0x00 0x0 +radio-keene 0x0383 0x046d 0x0a0e 0x0000 0x0000 0x00 0x00 0x00 0x03 0x00 0x00 0x0 +b2c2-flexcop-usb 0x0003 0x0af7 0x0101 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-vp7045 0x0003 0x13d3 0x3205 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-vp702x 0x0003 0x13d3 0x3207 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-gp8psk 0x0003 0x09c0 0x0200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-dtt200u 0x0003 0x14aa 0x0201 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-a800 0x0003 0x07ca 0xa800 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-dibusb-mb 0x0003 0x14aa 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-dibusb-mc 0x0003 0x10b8 0x0bc6 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-nova-t-usb2 0x0003 0x2040 0x9300 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-umt-010 0x0003 0x15f4 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-m920x 0x0003 0x0db0 0x5580 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-gl861 0x0003 0x0db0 0x5581 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-au6610 0x0003 0x058f 0x6610 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-digitv 0x0003 0x0547 0x0201 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-cxusb 0x0003 0x1660 0x0932 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-ttusb2 0x0003 0x2304 0x020f 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-dib0700 0x0003 0x10b8 0x1e14 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-opera 0x0003 0x04b4 0x2830 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-af9005 0x0003 0x15a4 0x9020 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-anysee 0x0003 0x04b4 0x861f 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-dw2102 0x0003 0x04b4 0x2102 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-dtv5100 0x0003 0x06be 0xa232 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-af9015 0x0003 0x15a4 0x9015 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-cinergyT2 0x0003 0x0ccd 0x0038 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-ce6230 0x0003 0x8086 0x9500 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-friio 0x0003 0x7a69 0x0001 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-ec168 0x0003 0x18b4 0x1689 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-az6007 0x0003 0x13d3 0x0ccd 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-az6027 0x0003 0x13d3 0x3275 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-lmedm04 0x0003 0x3344 0x1122 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-it913xv1 0x0003 0x1b80 0xe409 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-it913xv2 0x0003 0x1b80 0xe409 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-rtl28xxu 0x0003 0x0bda 0x2831 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +dvb-usb-af9035 0x0003 0x15a4 0x9035 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +smsusb 0x0003 0x187f 0x0010 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +lirc_xbox 0x0003 0x040b 0x6521 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +w35und 0x0003 0x0416 0x0035 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +prism2_usb 0x0003 0x04bb 0x0922 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +r8712u 0x0003 0x0bda 0x8171 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +gdmwm 0x0003 0x1076 0x7e20 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +ds2490 0x0003 0x04fa 0x2490 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +bcm203x 0x0003 0x0a5c 0x2033 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +bpa10x 0x0003 0x08fd 0x0002 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +bfusb 0x0003 0x057c 0x2200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +btusb 0x0070 0x0000 0x0000 0x0000 0x0000 0xe0 0x01 0x01 0x00 0x00 0x00 0x0 +ath3k 0x0003 0x0cf3 0x3000 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +snd-usb-audio 0x0003 0x0403 0xb8d8 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +snd-ua101 0x0003 0x0582 0x0044 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +snd-usb-caiaq 0x0003 0x17cc 0x1969 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 +snd-usb-6fire 0x0003 0x0ccd 0x0080 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0 diff --git a/lib/udev/rules.d/10-local-rpi.rules b/lib/udev/rules.d/10-local-rpi.rules new file mode 100644 index 000000000..5d849e9f3 --- /dev/null +++ b/lib/udev/rules.d/10-local-rpi.rules @@ -0,0 +1 @@ +SUBSYSTEM=="vchiq", GROUP="video", MODE="0666" diff --git a/lib/udev/rules.d/99-local-xbian.rules b/lib/udev/rules.d/99-local-xbian.rules new file mode 100644 index 000000000..3adbbaeb6 --- /dev/null +++ b/lib/udev/rules.d/99-local-xbian.rules @@ -0,0 +1 @@ +KERNEL=="tty0", GROUP="xbian", OWNER="xbian" diff --git a/opt/vc/LICENCE b/opt/vc/LICENCE new file mode 100644 index 000000000..64fbc1fab --- /dev/null +++ b/opt/vc/LICENCE @@ -0,0 +1,35 @@ +Note: this licence applies to the binaries in the bin, sbin, and lib +sub-directories. The header files in the include sub-directory and the example +code in src describes their licence at the top of the file. + +---- + +Copyright (c) 2006, Broadcom Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* This software may only be used for the purposes of developing for, + running or using a Raspberry Pi device. +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Broadcom Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. + +DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + diff --git a/opt/vc/bin/edidparser b/opt/vc/bin/edidparser new file mode 100755 index 000000000..9780c9f93 Binary files /dev/null and b/opt/vc/bin/edidparser differ diff --git a/opt/vc/bin/tvservice b/opt/vc/bin/tvservice new file mode 100755 index 000000000..4075d6882 Binary files /dev/null and b/opt/vc/bin/tvservice differ diff --git a/opt/vc/bin/vcdbg b/opt/vc/bin/vcdbg new file mode 100755 index 000000000..9810935c7 Binary files /dev/null and b/opt/vc/bin/vcdbg differ diff --git a/opt/vc/bin/vcgencmd b/opt/vc/bin/vcgencmd new file mode 100755 index 000000000..4d4232072 Binary files /dev/null and b/opt/vc/bin/vcgencmd differ diff --git a/opt/vc/bin/vchiq_test b/opt/vc/bin/vchiq_test new file mode 100755 index 000000000..109c6715c Binary files /dev/null and b/opt/vc/bin/vchiq_test differ diff --git a/opt/vc/include/EGL/egl.h b/opt/vc/include/EGL/egl.h new file mode 100644 index 000000000..0471e5a09 --- /dev/null +++ b/opt/vc/include/EGL/egl.h @@ -0,0 +1,329 @@ +/* -*- mode: c; tab-width: 8; -*- */ +/* vi: set sw=4 ts=8: */ +/* Reference version of egl.h for EGL 1.4. + * $Revision: 9356 $ on $Date: 2009-10-21 02:52:25 -0700 (Wed, 21 Oct 2009) $ + */ + +/* +** Copyright (c) 2007-2009 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#ifndef __egl_h_ +#define __egl_h_ + +/* All platform-dependent types and macro boilerplate (such as EGLAPI + * and EGLAPIENTRY) should go in eglplatform.h. + */ +#include "eglplatform.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* EGL Types */ +/* EGLint is defined in eglplatform.h */ +typedef unsigned int EGLBoolean; +typedef unsigned int EGLenum; +typedef void *EGLConfig; +typedef void *EGLContext; +typedef void *EGLDisplay; +typedef void *EGLSurface; +typedef void *EGLClientBuffer; + +/* EGL Versioning */ +#define EGL_VERSION_1_0 1 +#define EGL_VERSION_1_1 1 +#define EGL_VERSION_1_2 1 +#define EGL_VERSION_1_3 1 +#define EGL_VERSION_1_4 1 + +/* EGL Enumerants. Bitmasks and other exceptional cases aside, most + * enums are assigned unique values starting at 0x3000. + */ + +/* EGL aliases */ +#define EGL_FALSE ((EGLBoolean)0) +#define EGL_TRUE ((EGLBoolean)1) + +/* Out-of-band handle values */ +#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0) +#define EGL_NO_CONTEXT ((EGLContext)0) +#define EGL_NO_DISPLAY ((EGLDisplay)0) +#define EGL_NO_SURFACE ((EGLSurface)0) + +/* Out-of-band attribute value */ +#define EGL_DONT_CARE ((EGLint)-1) + +/* Errors / GetError return values */ +#define EGL_SUCCESS 0x3000 +#define EGL_NOT_INITIALIZED 0x3001 +#define EGL_BAD_ACCESS 0x3002 +#define EGL_BAD_ALLOC 0x3003 +#define EGL_BAD_ATTRIBUTE 0x3004 +#define EGL_BAD_CONFIG 0x3005 +#define EGL_BAD_CONTEXT 0x3006 +#define EGL_BAD_CURRENT_SURFACE 0x3007 +#define EGL_BAD_DISPLAY 0x3008 +#define EGL_BAD_MATCH 0x3009 +#define EGL_BAD_NATIVE_PIXMAP 0x300A +#define EGL_BAD_NATIVE_WINDOW 0x300B +#define EGL_BAD_PARAMETER 0x300C +#define EGL_BAD_SURFACE 0x300D +#define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */ + +/* Reserved 0x300F-0x301F for additional errors */ + +/* Config attributes */ +#define EGL_BUFFER_SIZE 0x3020 +#define EGL_ALPHA_SIZE 0x3021 +#define EGL_BLUE_SIZE 0x3022 +#define EGL_GREEN_SIZE 0x3023 +#define EGL_RED_SIZE 0x3024 +#define EGL_DEPTH_SIZE 0x3025 +#define EGL_STENCIL_SIZE 0x3026 +#define EGL_CONFIG_CAVEAT 0x3027 +#define EGL_CONFIG_ID 0x3028 +#define EGL_LEVEL 0x3029 +#define EGL_MAX_PBUFFER_HEIGHT 0x302A +#define EGL_MAX_PBUFFER_PIXELS 0x302B +#define EGL_MAX_PBUFFER_WIDTH 0x302C +#define EGL_NATIVE_RENDERABLE 0x302D +#define EGL_NATIVE_VISUAL_ID 0x302E +#define EGL_NATIVE_VISUAL_TYPE 0x302F +#define EGL_SAMPLES 0x3031 +#define EGL_SAMPLE_BUFFERS 0x3032 +#define EGL_SURFACE_TYPE 0x3033 +#define EGL_TRANSPARENT_TYPE 0x3034 +#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 +#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 +#define EGL_TRANSPARENT_RED_VALUE 0x3037 +#define EGL_NONE 0x3038 /* Attrib list terminator */ +#define EGL_BIND_TO_TEXTURE_RGB 0x3039 +#define EGL_BIND_TO_TEXTURE_RGBA 0x303A +#define EGL_MIN_SWAP_INTERVAL 0x303B +#define EGL_MAX_SWAP_INTERVAL 0x303C +#define EGL_LUMINANCE_SIZE 0x303D +#define EGL_ALPHA_MASK_SIZE 0x303E +#define EGL_COLOR_BUFFER_TYPE 0x303F +#define EGL_RENDERABLE_TYPE 0x3040 +#define EGL_MATCH_NATIVE_PIXMAP 0x3041 /* Pseudo-attribute (not queryable) */ +#define EGL_CONFORMANT 0x3042 + +/* Reserved 0x3041-0x304F for additional config attributes */ + +/* Config attribute values */ +#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ +#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */ +#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ +#define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */ +#define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */ + +/* More config attribute values, for EGL_TEXTURE_FORMAT */ +#define EGL_NO_TEXTURE 0x305C +#define EGL_TEXTURE_RGB 0x305D +#define EGL_TEXTURE_RGBA 0x305E +#define EGL_TEXTURE_2D 0x305F + +/* Config attribute mask bits */ +#define EGL_PBUFFER_BIT 0x0001 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_PIXMAP_BIT 0x0002 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_WINDOW_BIT 0x0004 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 /* EGL_SURFACE_TYPE mask bits */ +#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 /* EGL_SURFACE_TYPE mask bits */ + +#define EGL_OPENGL_ES_BIT 0x0001 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENVG_BIT 0x0002 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENGL_ES2_BIT 0x0004 /* EGL_RENDERABLE_TYPE mask bits */ +#define EGL_OPENGL_BIT 0x0008 /* EGL_RENDERABLE_TYPE mask bits */ + +/* QueryString targets */ +#define EGL_VENDOR 0x3053 +#define EGL_VERSION 0x3054 +#define EGL_EXTENSIONS 0x3055 +#define EGL_CLIENT_APIS 0x308D + +/* QuerySurface / SurfaceAttrib / CreatePbufferSurface targets */ +#define EGL_HEIGHT 0x3056 +#define EGL_WIDTH 0x3057 +#define EGL_LARGEST_PBUFFER 0x3058 +#define EGL_TEXTURE_FORMAT 0x3080 +#define EGL_TEXTURE_TARGET 0x3081 +#define EGL_MIPMAP_TEXTURE 0x3082 +#define EGL_MIPMAP_LEVEL 0x3083 +#define EGL_RENDER_BUFFER 0x3086 +#define EGL_VG_COLORSPACE 0x3087 +#define EGL_VG_ALPHA_FORMAT 0x3088 +#define EGL_HORIZONTAL_RESOLUTION 0x3090 +#define EGL_VERTICAL_RESOLUTION 0x3091 +#define EGL_PIXEL_ASPECT_RATIO 0x3092 +#define EGL_SWAP_BEHAVIOR 0x3093 +#define EGL_MULTISAMPLE_RESOLVE 0x3099 + +/* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */ +#define EGL_BACK_BUFFER 0x3084 +#define EGL_SINGLE_BUFFER 0x3085 + +/* OpenVG color spaces */ +#define EGL_VG_COLORSPACE_sRGB 0x3089 /* EGL_VG_COLORSPACE value */ +#define EGL_VG_COLORSPACE_LINEAR 0x308A /* EGL_VG_COLORSPACE value */ + +/* OpenVG alpha formats */ +#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */ +#define EGL_VG_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */ + +/* Constant scale factor by which fractional display resolutions & + * aspect ratio are scaled when queried as integer values. + */ +#define EGL_DISPLAY_SCALING 10000 + +/* Unknown display resolution/aspect ratio */ +#define EGL_UNKNOWN ((EGLint)-1) + +/* Back buffer swap behaviors */ +#define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */ +#define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */ + +/* CreatePbufferFromClientBuffer buffer types */ +#define EGL_OPENVG_IMAGE 0x3096 + +/* QueryContext targets */ +#define EGL_CONTEXT_CLIENT_TYPE 0x3097 + +/* CreateContext attributes */ +#define EGL_CONTEXT_CLIENT_VERSION 0x3098 + +/* Multisample resolution behaviors */ +#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A /* EGL_MULTISAMPLE_RESOLVE value */ +#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B /* EGL_MULTISAMPLE_RESOLVE value */ + +/* BindAPI/QueryAPI targets */ +#define EGL_OPENGL_ES_API 0x30A0 +#define EGL_OPENVG_API 0x30A1 +#define EGL_OPENGL_API 0x30A2 + +/* GetCurrentSurface targets */ +#define EGL_DRAW 0x3059 +#define EGL_READ 0x305A + +/* WaitNative engines */ +#define EGL_CORE_NATIVE_ENGINE 0x305B + +/* EGL 1.2 tokens renamed for consistency in EGL 1.3 */ +#define EGL_COLORSPACE EGL_VG_COLORSPACE +#define EGL_ALPHA_FORMAT EGL_VG_ALPHA_FORMAT +#define EGL_COLORSPACE_sRGB EGL_VG_COLORSPACE_sRGB +#define EGL_COLORSPACE_LINEAR EGL_VG_COLORSPACE_LINEAR +#define EGL_ALPHA_FORMAT_NONPRE EGL_VG_ALPHA_FORMAT_NONPRE +#define EGL_ALPHA_FORMAT_PRE EGL_VG_ALPHA_FORMAT_PRE + +/* EGL extensions must request enum blocks from the Khronos + * API Registrar, who maintains the enumerant registry. Submit + * a bug in Khronos Bugzilla against task "Registry". + */ + + + +/* EGL Functions */ + +EGLAPI EGLint EGLAPIENTRY eglGetError(void); + +EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id); +EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); +EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy); + +EGLAPI const char * EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name); + +EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, + EGLint config_size, EGLint *num_config); +EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, + EGLConfig *configs, EGLint config_size, + EGLint *num_config); +EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, + EGLint attribute, EGLint *value); + +EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, + EGLNativeWindowType win, + const EGLint *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, + const EGLint *attrib_list); +EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, + EGLNativePixmapType pixmap, + const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface); +EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint *value); + +EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api); +EGLAPI EGLenum EGLAPIENTRY eglQueryAPI(void); + +EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient(void); + +EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread(void); + +EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer( + EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, + EGLConfig config, const EGLint *attrib_list); + +EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, + EGLint attribute, EGLint value); +EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); +EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); + + +EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval); + + +EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, + EGLContext share_context, + const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx); +EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, + EGLSurface read, EGLContext ctx); + +EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext(void); +EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw); +EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay(void); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx, + EGLint attribute, EGLint *value); + +EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void); +EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine); +EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface); +EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, + EGLNativePixmapType target); + +/* This is a generic function pointer type, whose name indicates it must + * be cast to the proper type *and calling convention* before use. + */ +typedef void (*__eglMustCastToProperFunctionPointerType)(void); + +/* Now, define eglGetProcAddress using the generic function ptr. type */ +EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY + eglGetProcAddress(const char *procname); + +#ifdef __cplusplus +} +#endif + +#endif /* __egl_h_ */ diff --git a/opt/vc/include/EGL/eglext.h b/opt/vc/include/EGL/eglext.h new file mode 100644 index 000000000..89a3369e3 --- /dev/null +++ b/opt/vc/include/EGL/eglext.h @@ -0,0 +1,205 @@ +#ifndef __eglext_h_ +#define __eglext_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** Copyright (c) 2007-2009 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +#include "eglplatform.h" + +/* We want this */ +#ifndef EGL_EGLEXT_PROTOTYPES +#define EGL_EGLEXT_PROTOTYPES +#endif + +/*************************************************************/ + +/* Header file version number */ +/* Current version at http://www.khronos.org/registry/egl/ */ +/* $Revision: 7244 $ on $Date: 2009-01-20 17:06:59 -0800 (Tue, 20 Jan 2009) $ */ +#define EGL_EGLEXT_VERSION 3 + +#ifndef EGL_KHR_config_attribs +#define EGL_KHR_config_attribs 1 +#define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */ +#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 /* EGL_SURFACE_TYPE bitfield */ +#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */ +#endif + +#ifndef EGL_KHR_lock_surface +#define EGL_KHR_lock_surface 1 +#define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ +#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ +#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 /* EGL_SURFACE_TYPE bitfield */ +#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 /* EGL_SURFACE_TYPE bitfield */ +#define EGL_MATCH_FORMAT_KHR 0x3043 /* EGLConfig attribute */ +#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 /* EGL_MATCH_FORMAT_KHR value */ +#define EGL_FORMAT_RGB_565_KHR 0x30C1 /* EGL_MATCH_FORMAT_KHR value */ +#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 /* EGL_MATCH_FORMAT_KHR value */ +#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 /* EGL_MATCH_FORMAT_KHR value */ +#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 /* eglLockSurfaceKHR attribute */ +#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 /* eglLockSurfaceKHR attribute */ +#define EGL_BITMAP_POINTER_KHR 0x30C6 /* eglQuerySurface attribute */ +#define EGL_BITMAP_PITCH_KHR 0x30C7 /* eglQuerySurface attribute */ +#define EGL_BITMAP_ORIGIN_KHR 0x30C8 /* eglQuerySurface attribute */ +#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 /* eglQuerySurface attribute */ +#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA /* eglQuerySurface attribute */ +#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB /* eglQuerySurface attribute */ +#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC /* eglQuerySurface attribute */ +#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD /* eglQuerySurface attribute */ +#define EGL_LOWER_LEFT_KHR 0x30CE /* EGL_BITMAP_ORIGIN_KHR value */ +#define EGL_UPPER_LEFT_KHR 0x30CF /* EGL_BITMAP_ORIGIN_KHR value */ +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface); +#endif + +#ifndef EGL_KHR_image +#define EGL_KHR_image 1 +#define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */ +typedef void *EGLImageKHR; +#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); +#endif + +#ifndef EGL_KHR_vg_parent_image +#define EGL_KHR_vg_parent_image 1 +#define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ +#endif + +#ifndef EGL_KHR_gl_texture_2D_image +#define EGL_KHR_gl_texture_2D_image 1 +#define EGL_GL_TEXTURE_2D_KHR 0x30B1 /* eglCreateImageKHR target */ +#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC /* eglCreateImageKHR attribute */ +#endif + +#ifndef EGL_KHR_gl_texture_cubemap_image +#define EGL_KHR_gl_texture_cubemap_image 1 +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 /* eglCreateImageKHR target */ +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 /* eglCreateImageKHR target */ +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 /* eglCreateImageKHR target */ +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 /* eglCreateImageKHR target */ +#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 /* eglCreateImageKHR target */ +#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 /* eglCreateImageKHR target */ +#endif + +#ifndef EGL_KHR_gl_texture_3D_image +#define EGL_KHR_gl_texture_3D_image 0 +#define EGL_GL_TEXTURE_3D_KHR 0x30B2 /* eglCreateImageKHR target */ +#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD /* eglCreateImageKHR attribute */ +#endif + +#ifndef EGL_KHR_gl_renderbuffer_image +#define EGL_KHR_gl_renderbuffer_image 1 +#define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */ +#endif + +#ifndef EGL_KHR_image_base +#define EGL_KHR_image_base 1 +/* Most interfaces defined by EGL_KHR_image_pixmap above */ +#define EGL_IMAGE_PRESERVED_KHR 0x30D2 /* eglCreateImageKHR attribute */ +#endif + +#ifndef EGL_KHR_image_pixmap +#define EGL_KHR_image_pixmap 1 +/* Interfaces defined by EGL_KHR_image above */ +#endif + +#ifndef EGL_KHR_fence_sync +#define EGL_KHR_fence_sync 1 +#define GL_OES_EGL_sync 1 +#endif + +#ifndef EGL_KHR_sync +#define EGL_KHR_sync 1 +#endif + +#if ((EGL_KHR_sync == 1) || (EGL_KHR_fence_sync == 1)) +#define EGL_KHR_sync 1 /* EGL_KHR_fence_sync depends on this stuff */ +/* +* EGLSyncKHR is an opaque handle to an EGL sync object +*/ + +typedef void* EGLSyncKHR; + +/* +* EGLTimeKHR is a 64-bit unsigned integer representing intervals +* in nanoseconds. +*/ + +typedef khronos_utime_nanoseconds_t EGLTimeKHR; + +#define EGL_SYNC_FENCE_KHR 0x30F9 +#define EGL_SYNC_REUSABLE_KHR 0x30FA +#define EGL_SYNC_TYPE_KHR 0x30F7 +#define EGL_SYNC_STATUS_KHR 0x30F1 +#define EGL_SYNC_CONDITION_KHR 0x30F8 +#define EGL_SIGNALED_KHR 0x30F2 +#define EGL_UNSIGNALED_KHR 0x30F3 +#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 +#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 +#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 +#define EGL_CONDITION_SATISFIED_KHR 0x30F6 + +#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull + +#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0) + +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); +EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); +EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); +EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); +typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); +#endif + + +#ifdef __cplusplus +} +#endif + +#include "eglext_brcm.h" + +#if defined(ANDROID) +#include "eglext_android.h" +#include "eglext_nvidia.h" +#endif + +#endif diff --git a/opt/vc/include/EGL/eglext_android.h b/opt/vc/include/EGL/eglext_android.h new file mode 100644 index 000000000..9a4320de6 --- /dev/null +++ b/opt/vc/include/EGL/eglext_android.h @@ -0,0 +1,99 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#if defined(ANDROID) + +#ifndef EGLEXT_ANDROID_H +#define EGLEXT_ANDROID_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef EGL_ANDROID_image_native_buffer + #define EGL_ANDROID_image_native_buffer 1 + #if defined(EGL_EGLEXT_ANDROID_STRUCT_HEADER) + #include + #else + struct android_native_buffer_t; + #endif + #define EGL_NATIVE_BUFFER_ANDROID 0x3140 /* eglCreateImageKHR target */ +#endif + +/* Structure layout for android native buffers. + * + * Note: this will be harmonized with gralloc_brcm.h. + */ +typedef enum +{ + EGL_BRCM_ANDROID_BUFFER_TYPE_GL_RESOURCE = 0, + EGL_BRCM_ANDROID_BUFFER_TYPE_MM_RESOURCE, +} EGL_BRCM_ANDROID_BUFFER_TYPE_T; + +/* By default Android always define this internally, also due to a missing +** proper pending #define in the Android frameworks/base/opengl/libs/egl/egl.cpp +** module we cannot actually disable EGL_ANDROID_swap_rectangle support via build +** configuration (ie setting 'TARGET_GLOBAL_CPPFLAGS += -DEGL_ANDROID_swap_rectangle=0' +** in our BoardConfig.mk) which would be the preferred mechanism, instead we therefore +** have to match Android behavior and define by default what is expected to be supported, +** as well as provide an implementation for it (which implementation may be empty as +** long as it satisfies Android expectations). +*/ +#ifndef EGL_ANDROID_swap_rectangle +#define EGL_ANDROID_swap_rectangle 1 +#endif + +#if EGL_ANDROID_swap_rectangle +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglSetSwapRectangleANDROID (EGLDisplay dpy, EGLSurface draw, EGLint left, EGLint top, EGLint width, EGLint height); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSWAPRECTANGLEANDROIDPROC) (EGLDisplay dpy, EGLSurface draw, EGLint left, EGLint top, EGLint width, EGLint height); +#endif /* EGL_ANDROID_swap_rectangle */ + + +#ifndef EGL_ANDROID_render_buffer +#define EGL_ANDROID_render_buffer 1 +#endif + +#if EGL_ANDROID_render_buffer +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLClientBuffer EGLAPIENTRY eglGetRenderBufferANDROID (EGLDisplay dpy, EGLSurface sur); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef EGLClientBuffer (EGLAPIENTRYP PFNEGLGETRENDERBUFFERANDROIDPROC) (EGLDisplay dpy, EGLSurface sur); +#endif /* EGL_ANDROID_swap_rectangle */ + +#ifndef EGL_ANDROID_recordable +#define EGL_ANDROID_recordable 1 +#define EGL_RECORDABLE_ANDROID 0x3142 +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* EGLEXT_ANDROID_H */ + +#endif /* defined(ANDROID) */ diff --git a/opt/vc/include/EGL/eglext_brcm.h b/opt/vc/include/EGL/eglext_brcm.h new file mode 100644 index 000000000..65f747843 --- /dev/null +++ b/opt/vc/include/EGL/eglext_brcm.h @@ -0,0 +1,190 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef EGLEXT_BRCM_H +#define EGLEXT_BRCM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define EGL_NATIVE_PIXMAP_CLIENT_SIDE_BRCM 0x99930B0 /* eglCreateImageKHR server-side target */ +#define EGL_IMAGE_FROM_SURFACE_BRCM 0x99930B1 /* eglCreateImageKHR server-side target */ +/* Multimedia target - created by gralloc */ +#define EGL_IMAGE_BRCM_MULTIMEDIA 0x99930B2 +#define EGL_IMAGE_BRCM_DUPLICATE 0x99930B3 /* a new EGL Image pointing at the same underlying object */ +#define EGL_IMAGE_BRCM_RAW_PIXELS 0x99930B4 /* Raw YUV multimedia pixels */ +#ifndef EGL_BRCM_sane_choose_config +#define EGL_BRCM_sane_choose_config 1 +#endif +#if EGL_BRCM_sane_choose_config +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglSaneChooseConfigBRCM(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSANECHOOSECONFIGBRCM)(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); +#endif + +#ifndef EGL_BRCM_global_image +#define EGL_BRCM_global_image 1 +#endif +#if EGL_BRCM_global_image +#define EGL_PIXEL_FORMAT_ARGB_8888_PRE_BRCM 0 +#define EGL_PIXEL_FORMAT_ARGB_8888_BRCM 1 +#define EGL_PIXEL_FORMAT_XRGB_8888_BRCM 2 +#define EGL_PIXEL_FORMAT_RGB_565_BRCM 3 +#define EGL_PIXEL_FORMAT_A_8_BRCM 4 +#define EGL_PIXEL_FORMAT_RENDER_GL_BRCM (1 << 3) +#define EGL_PIXEL_FORMAT_RENDER_GLES_BRCM (1 << 4) +#define EGL_PIXEL_FORMAT_RENDER_GLES2_BRCM (1 << 5) +#define EGL_PIXEL_FORMAT_RENDER_VG_BRCM (1 << 6) +#define EGL_PIXEL_FORMAT_RENDER_MASK_BRCM 0x78 +#define EGL_PIXEL_FORMAT_VG_IMAGE_BRCM (1 << 7) +#define EGL_PIXEL_FORMAT_GLES_TEXTURE_BRCM (1 << 8) +#define EGL_PIXEL_FORMAT_GLES2_TEXTURE_BRCM (1 << 9) +#define EGL_PIXEL_FORMAT_TEXTURE_MASK_BRCM 0x380 +#define EGL_PIXEL_FORMAT_USAGE_MASK_BRCM 0x3f8 +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void EGLAPIENTRY eglCreateGlobalImageBRCM(EGLint width, EGLint height, EGLint pixel_format, const void *data, EGLint data_stride, EGLint *id); +EGLAPI void EGLAPIENTRY eglCreateCopyGlobalImageBRCM(const EGLint *src_id, EGLint *id); +EGLAPI EGLBoolean EGLAPIENTRY eglDestroyGlobalImageBRCM(const EGLint *id); +EGLAPI EGLBoolean EGLAPIENTRY eglQueryGlobalImageBRCM(const EGLint *id, EGLint *width_height_pixel_format); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef void (EGLAPIENTRYP PFNEGLCREATEGLOBALIMAGEBRCMPROC)(EGLint width, EGLint height, EGLint pixel_format, const void *data, EGLint data_stride, EGLint *id); +typedef void (EGLAPIENTRYP PFNEGLCREATECOPYGLOBALIMAGEBRCMPROC)(const EGLint *src_id, EGLint *id); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYGLOBALIMAGEBRCMPROC)(const EGLint *id); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYGLOBALIMAGEBRCMPROC)(const EGLint *id, EGLint *width_height_pixel_format); +#endif + +#ifndef EGL_BRCM_perf_monitor +#define EGL_BRCM_perf_monitor 0 +#endif +#if EGL_BRCM_perf_monitor +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglInitPerfMonitorBRCM(EGLDisplay display); +EGLAPI EGLBoolean EGLAPIENTRY eglTermPerfMonitorBRCM(EGLDisplay display); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef void (EGLAPIENTRYP PFNEGLINITPERFMONITORBRCMPROC)(EGLDisplay display); +typedef void (EGLAPIENTRYP PFNEGLTERMPERFMONITORBRCMPROC)(EGLDisplay display); +#endif + +#ifndef EGL_BRCM_driver_monitor +#define EGL_BRCM_driver_monitor 1 +#endif +#if EGL_BRCM_driver_monitor +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglInitDriverMonitorBRCM(EGLDisplay display, EGLint hw_bank, EGLint l3c_bank); +EGLAPI void EGLAPIENTRY eglGetDriverMonitorXMLBRCM(EGLDisplay display, EGLint bufSize, EGLint *length, char *xmlStats); +EGLAPI EGLBoolean EGLAPIENTRY eglTermDriverMonitorBRCM(EGLDisplay display); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef void (EGLAPIENTRYP PFNEGLINITDRIVERMONITORBRCMPROC)(EGLDisplay display, EGLint hw_bank, EGLint l3c_bank); +typedef void (EGLAPIENTRYP PFNEGLGETDRIVERMONITORXMLBRCMPROC)(EGLDisplay display, EGLint bufSize, EGLint *length, char *xmlStats); +typedef void (EGLAPIENTRYP PFNEGLTERMDRIVERMONITORBRCMPROC)(EGLDisplay display); +#endif + +#ifndef EGL_BRCM_perf_stats +#define EGL_BRCM_perf_stats 0 +#endif +#if EGL_BRCM_perf_stats +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void eglPerfStatsResetBRCM(void); +EGLAPI void eglPerfStatsGetBRCM(char *buffer, EGLint buffer_len, EGLBoolean reset); +#endif +typedef void (EGLAPIENTRYP PFNEGLPERFSTATSRESETBRCM) (void); +typedef void (EGLAPIENTRYP PFNEGLPERFSTATSGETBRCM) (char *buffer, EGLint buffer_len, EGLBoolean reset); +#endif + +#ifndef EGL_proc_state_valid +#define EGL_proc_state_valid 1 +#endif +#if EGL_proc_state_valid +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void EGLAPIENTRY eglProcStateValid( EGLDisplay dpy, EGLBoolean *result ); +#endif +typedef void (EGLAPIENTRYP PFNEGLPROCSTATEVALID) ( EGLDisplay dpy, EGLBoolean *valid ); +#endif + +#ifndef EGL_BRCM_flush +#define EGL_BRCM_flush 1 +#endif +#if EGL_BRCM_flush +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void EGLAPIENTRY eglFlushBRCM(void); +#endif /* EGL_EGLEXT_PROTOTYPES */ +typedef void (EGLAPIENTRYP PFNEGLFLUSHBRCMPROC)(void); +#endif + +#ifndef EGL_BRCM_image_wrap +#define EGL_BRCM_image_wrap 1 +#define EGL_IMAGE_WRAP_BRCM 0x9993140 +#endif + +#ifndef EGL_BRCM_image_wrap_bcg +#define EGL_BRCM_image_wrap_bcg 0 +#define EGL_IMAGE_WRAP_BRCM_BCG 0x9993141 + +#if EGL_BRCM_image_wrap_bcg +typedef struct { + BEGL_BufferFormat format; + + uint16_t width; + uint16_t height; + + int32_t stride; /* in bytes */ + + void *storage; +} EGL_IMAGE_WRAP_BRCM_BCG_IMAGE_T; +#endif + +#endif + +#ifndef EGL_BRCM_mem_usage +#define EGL_BRCM_mem_usage 0 +#endif +#if EGL_BRCM_mem_usage +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI void eglProcessMemUsageGetBRCM(uint32_t id_0, uint32_t id_1, char *buffer, uint32_t buffer_len); +#endif +typedef void (EGLAPIENTRYP PFNEGLPROCESSMEMUSAGEGETBRCM) (uint32_t id_0, uint32_t id_1, char *buffer, uint32_t buffer_len); +#endif + +/* +Only enable this #define if the application (or wrapper layer) is going to call eglDirectRenderingPointer +when appropriate (i.e. the first time eglMakeCurrent is called, and then at eglSwapBuffers) + +Only used for testing purposes on 2763 +*/ +//#define DIRECT_RENDERING + +#ifdef DIRECT_RENDERING +EGLAPI EGLBoolean EGLAPIENTRY eglDirectRenderingPointer(EGLDisplay dpy, EGLSurface surf, void *image /* KHRN_IMAGE_WRAP_T */); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/opt/vc/include/EGL/eglext_nvidia.h b/opt/vc/include/EGL/eglext_nvidia.h new file mode 100644 index 000000000..4108d23c7 --- /dev/null +++ b/opt/vc/include/EGL/eglext_nvidia.h @@ -0,0 +1,54 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#if defined(ANDROID) + +#ifndef EGLEXT_NVIDIA_H +#define EGLEXT_NVIDIA_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef EGL_NV_system_time +#define EGL_NV_system_time 1 +typedef khronos_int64_t EGLint64NV; +typedef khronos_uint64_t EGLuint64NV; +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void); +EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void); +#endif +typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC)(void); +typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC)(void); +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* EGLEXT_NVIDIA_H */ + +#endif /* defined(ANDROID) */ diff --git a/opt/vc/include/EGL/eglplatform.h b/opt/vc/include/EGL/eglplatform.h new file mode 100644 index 000000000..1f7c93061 --- /dev/null +++ b/opt/vc/include/EGL/eglplatform.h @@ -0,0 +1,205 @@ +#ifndef __eglplatform_h_ +#define __eglplatform_h_ + +/* +** Copyright (c) 2007-2009 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +/* Platform-specific types and definitions for egl.h + * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $ + * + * Adopters may modify khrplatform.h and this file to suit their platform. + * You are encouraged to submit all modifications to the Khronos group so that + * they can be included in future versions of this file. Please submit changes + * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) + * by filing a bug against product "EGL" component "Registry". + */ + +#include "../KHR/khrplatform.h" + +#ifdef ABSTRACT_PLATFORM +#include "begl_memplatform.h" +#include "begl_hwplatform.h" +#include "begl_dispplatform.h" +#endif /* ABSTRACT_PLATFORM */ + +/* Macros used in EGL function prototype declarations. + * + * EGL functions should be prototyped as: + * + * EGLAPI return-type EGLAPIENTRY eglFunction(arguments); + * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); + * + * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h + */ + +#ifndef EGLAPI +#define EGLAPI KHRONOS_APICALL +#endif + +#ifndef EGLAPIENTRY +#define EGLAPIENTRY KHRONOS_APIENTRY +#endif +#ifndef EGLAPIENTRYP +#define EGLAPIENTRYP EGLAPIENTRY * +#endif +#ifndef EGLAPI +#ifdef KHAPI +#define EGLAPI KHAPI +#else +#define EGLAPI extern +#endif +#endif + +/* The types NativeDisplayType, NativeWindowType, and NativePixmapType + * are aliases of window-system-dependent types, such as X Display * or + * Windows Device Context. They must be defined in platform-specific + * code below. The EGL-prefixed versions of Native*Type are the same + * types, renamed in EGL 1.3 so all types in the API start with "EGL". + * + * Khronos STRONGLY RECOMMENDS that you use the default definitions + * provided below, since these changes affect both binary and source + * portability of applications using EGL running on different EGL + * implementations. + */ + +/* Unix (tentative) + #include + typedef Display *NativeDisplayType; + - or maybe, if encoding "hostname:display.head" + typedef const char *NativeWindowType; + etc. + */ +#if (defined (__ANDROID__) || defined(ANDROID)) && defined(KHRN_BCG_ANDROID) + +struct android_native_window_t; +struct egl_native_pixmap_t; + +typedef struct android_native_window_t* EGLNativeWindowType; +typedef struct egl_native_pixmap_t* EGLNativePixmapType; +typedef void *EGLNativeDisplayType; + +#else + +typedef void *EGLNativeDisplayType; +typedef void *EGLNativePixmapType; +typedef void *EGLNativeWindowType; +#endif + +#ifndef EGL_SERVER_SMALLINT + +#include "interface/vmcs_host/vc_dispmanx.h" +/* TODO: EGLNativeWindowType is really one of these but I'm leaving it + * as void* for now, in case changing it would cause problems + */ +typedef struct { + DISPMANX_ELEMENT_HANDLE_T element; + int width; /* This is necessary because dispmanx elements are not queriable. */ + int height; +} EGL_DISPMANX_WINDOW_T; +#elif defined (ABSTRACT_PLATFORM) + +#else + +/* window I of a horizontal strip of N WxH windows */ +#define PACK_NATIVE_WINDOW(W, H, I, N) ((NativeWindowType)((W) | ((H) << 12) | ((I) << 24) | ((N) << 28))) +#define UNPACK_NATIVE_WINDOW_W(WIN) ((unsigned int)(WIN) & 0xfff) +#define UNPACK_NATIVE_WINDOW_H(WIN) (((unsigned int)(WIN) >> 12) & 0xfff) +#define UNPACK_NATIVE_WINDOW_I(WIN) (((unsigned int)(WIN) >> 24) & 0xf) +#define UNPACK_NATIVE_WINDOW_N(WIN) ((unsigned int)(WIN) >> 28) + +/* todo: can we change these to use PACK_NATIVE_WINDOW and get rid of platform_canonical_win from platform.h? */ +#define NATIVE_WINDOW_800_480 ((NativeWindowType)0) +#define NATIVE_WINDOW_640_480 ((NativeWindowType)1) +#define NATIVE_WINDOW_320_240 ((NativeWindowType)2) +#define NATIVE_WINDOW_240_320 ((NativeWindowType)3) +#define NATIVE_WINDOW_64_64 ((NativeWindowType)4) +#define NATIVE_WINDOW_400_480_A ((NativeWindowType)5) +#define NATIVE_WINDOW_400_480_B ((NativeWindowType)6) +#define NATIVE_WINDOW_512_512 ((NativeWindowType)7) +#define NATIVE_WINDOW_360_640 ((NativeWindowType)8) +#define NATIVE_WINDOW_640_360 ((NativeWindowType)9) +#define NATIVE_WINDOW_1280_720 ((NativeWindowType)10) +#define NATIVE_WINDOW_1920_1080 ((NativeWindowType)11) +#define NATIVE_WINDOW_480_320 ((NativeWindowType)12) +#define NATIVE_WINDOW_1680_1050 ((NativeWindowType)13) +#endif + +/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ +typedef EGLNativeDisplayType NativeDisplayType; +typedef EGLNativePixmapType NativePixmapType; +typedef EGLNativeWindowType NativeWindowType; + + +/* Define EGLint. This must be a signed integral type large enough to contain + * all legal attribute names and values passed into and out of EGL, whether + * their type is boolean, bitmask, enumerant (symbolic constant), integer, + * handle, or other. While in general a 32-bit integer will suffice, if + * handles are 64 bit types, then EGLint should be defined as a signed 64-bit + * integer type. + */ +typedef khronos_int32_t EGLint; + +#ifdef ABSTRACT_PLATFORM + +#ifdef __cplusplus +extern "C" +{ +#endif + +/* +The client application, or default platform library must register valid versions of each of these +interfaces before any EGL or GL functions are invoked, using the following functions provided by the 3D driver. +*/ +typedef struct +{ + BEGL_MemoryInterface *memInterface; /* Memory interface which will called by the 3d driver */ + BEGL_HWInterface *hwInterface; /* Hardware interface which will be called by the driver */ + BEGL_DisplayInterface *displayInterface; /* Display interface which will be called by the driver */ + + BEGL_DisplayCallbacks displayCallbacks; /* Callback pointers set by BEGL_GetDefaultDriverInterfaces, for client to call into driver */ + int hwInterfaceCloned; + int memInterfaceCloned; + void *memInterfaceFn; + void *hwInterfaceFn; +} BEGL_DriverInterfaces; + +/* Register application level overrides for any or all of the abstract API calls made by the 3D driver. */ +EGLAPI void EGLAPIENTRY BEGL_RegisterDriverInterfaces(BEGL_DriverInterfaces *iface); + +/* Get a pointer to the registered driver interfaces, can be used to override partial defaults - see android platform layer(s) for example */ +EGLAPI BEGL_DriverInterfaces * BEGL_GetDriverInterfaces(void); + +/* Initializes all interfaces in the structure to NULL, fills out Callbacks with appropriate function pointers */ +EGLAPI void EGLAPIENTRY BEGL_GetDefaultDriverInterfaces(BEGL_DriverInterfaces *iface); + +#ifdef __cplusplus +} +#endif + +#endif /* ABSTRACT_PLATFORM */ + +#if 0 +#include "interface/khronos/common/khrn_client_mangle.h" +#endif + +#endif /* __eglplatform_h */ diff --git a/opt/vc/include/GLES/gl.h b/opt/vc/include/GLES/gl.h new file mode 100644 index 000000000..f28466315 --- /dev/null +++ b/opt/vc/include/GLES/gl.h @@ -0,0 +1,798 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef __gl_h_ +#define __gl_h_ + +/* $Revision: 10601 $ on $Date:: 2010-03-04 22:15:27 -0800 #$ */ + +#include "glplatform.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This document is licensed under the SGI Free Software B License Version + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + */ + +#ifndef __gl2_h_ +typedef void GLvoid; +typedef char GLchar; +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef khronos_int8_t GLbyte; +typedef short GLshort; +typedef int GLint; +typedef int GLsizei; +typedef khronos_uint8_t GLubyte; +typedef unsigned short GLushort; +typedef unsigned int GLuint; +typedef khronos_float_t GLfloat; +typedef khronos_float_t GLclampf; +typedef khronos_int32_t GLfixed; + +typedef khronos_intptr_t GLintptr; +typedef khronos_ssize_t GLsizeiptr; +#endif +typedef khronos_int32_t GLclampx; + +/*************************************************************/ + +/* OpenGL ES core versions */ +#define GL_VERSION_ES_CM_1_0 1 +#define GL_VERSION_ES_CL_1_0 1 +#define GL_VERSION_ES_CM_1_1 1 +#define GL_VERSION_ES_CL_1_1 1 + +/* ClearBufferMask */ +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 + +/* Boolean */ +#define GL_FALSE (GLboolean)0 +#define GL_TRUE (GLboolean)1 + +/* BeginMode */ +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 + +/* AlphaFunction */ +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 + +/* BlendingFactorDest */ +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 + +/* BlendingFactorSrc */ +/* GL_ZERO */ +/* GL_ONE */ +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +/* GL_SRC_ALPHA */ +/* GL_ONE_MINUS_SRC_ALPHA */ +/* GL_DST_ALPHA */ +/* GL_ONE_MINUS_DST_ALPHA */ + +/* ClipPlaneName */ +#define GL_CLIP_PLANE0 0x3000 +#define GL_CLIP_PLANE1 0x3001 +#define GL_CLIP_PLANE2 0x3002 +#define GL_CLIP_PLANE3 0x3003 +#define GL_CLIP_PLANE4 0x3004 +#define GL_CLIP_PLANE5 0x3005 + +/* ColorMaterialFace */ +/* GL_FRONT_AND_BACK */ + +/* ColorMaterialParameter */ +/* GL_AMBIENT_AND_DIFFUSE */ + +/* ColorPointerType */ +/* GL_UNSIGNED_BYTE */ +/* GL_FLOAT */ +/* GL_FIXED */ + +/* CullFaceMode */ +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_FRONT_AND_BACK 0x0408 + +/* DepthFunction */ +/* GL_NEVER */ +/* GL_LESS */ +/* GL_EQUAL */ +/* GL_LEQUAL */ +/* GL_GREATER */ +/* GL_NOTEQUAL */ +/* GL_GEQUAL */ +/* GL_ALWAYS */ + +/* EnableCap */ +#define GL_FOG 0x0B60 +#define GL_LIGHTING 0x0B50 +#define GL_TEXTURE_2D 0x0DE1 +#define GL_CULL_FACE 0x0B44 +#define GL_ALPHA_TEST 0x0BC0 +#define GL_BLEND 0x0BE2 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_DITHER 0x0BD0 +#define GL_STENCIL_TEST 0x0B90 +#define GL_DEPTH_TEST 0x0B71 +/* GL_LIGHT0 */ +/* GL_LIGHT1 */ +/* GL_LIGHT2 */ +/* GL_LIGHT3 */ +/* GL_LIGHT4 */ +/* GL_LIGHT5 */ +/* GL_LIGHT6 */ +/* GL_LIGHT7 */ +#define GL_POINT_SMOOTH 0x0B10 +#define GL_LINE_SMOOTH 0x0B20 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_MATERIAL 0x0B57 +#define GL_NORMALIZE 0x0BA1 +#define GL_RESCALE_NORMAL 0x803A +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_VERTEX_ARRAY 0x8074 +#define GL_NORMAL_ARRAY 0x8075 +#define GL_COLOR_ARRAY 0x8076 +#define GL_TEXTURE_COORD_ARRAY 0x8078 +#define GL_MULTISAMPLE 0x809D +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_ALPHA_TO_ONE 0x809F +#define GL_SAMPLE_COVERAGE 0x80A0 + +/* ErrorCode */ +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_STACK_OVERFLOW 0x0503 +#define GL_STACK_UNDERFLOW 0x0504 +#define GL_OUT_OF_MEMORY 0x0505 + +/* FogMode */ +/* GL_LINEAR */ +#define GL_EXP 0x0800 +#define GL_EXP2 0x0801 + +/* FogParameter */ +#define GL_FOG_DENSITY 0x0B62 +#define GL_FOG_START 0x0B63 +#define GL_FOG_END 0x0B64 +#define GL_FOG_MODE 0x0B65 +#define GL_FOG_COLOR 0x0B66 + +/* FrontFaceDirection */ +#define GL_CW 0x0900 +#define GL_CCW 0x0901 + +/* GetPName */ +#define GL_CURRENT_COLOR 0x0B00 +#define GL_CURRENT_NORMAL 0x0B02 +#define GL_CURRENT_TEXTURE_COORDS 0x0B03 +#define GL_POINT_SIZE 0x0B11 +#define GL_POINT_SIZE_MIN 0x8126 +#define GL_POINT_SIZE_MAX 0x8127 +#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 +#define GL_POINT_DISTANCE_ATTENUATION 0x8129 +#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 +#define GL_LINE_WIDTH 0x0B21 +#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_SHADE_MODEL 0x0B54 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_MATRIX_MODE 0x0BA0 +#define GL_VIEWPORT 0x0BA2 +#define GL_MODELVIEW_STACK_DEPTH 0x0BA3 +#define GL_PROJECTION_STACK_DEPTH 0x0BA4 +#define GL_TEXTURE_STACK_DEPTH 0x0BA5 +#define GL_MODELVIEW_MATRIX 0x0BA6 +#define GL_PROJECTION_MATRIX 0x0BA7 +#define GL_TEXTURE_MATRIX 0x0BA8 +#define GL_ALPHA_TEST_FUNC 0x0BC1 +#define GL_ALPHA_TEST_REF 0x0BC2 +#define GL_BLEND_DST 0x0BE0 +#define GL_BLEND_SRC 0x0BE1 +#define GL_LOGIC_OP_MODE 0x0BF0 +#define GL_SCISSOR_BOX 0x0C10 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_LIGHTS 0x0D31 +#define GL_MAX_CLIP_PLANES 0x0D32 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 +#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 +#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_MAX_TEXTURE_UNITS 0x84E2 +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_RED_BITS 0x0D52 +#define GL_GREEN_BITS 0x0D53 +#define GL_BLUE_BITS 0x0D54 +#define GL_ALPHA_BITS 0x0D55 +#define GL_DEPTH_BITS 0x0D56 +#define GL_STENCIL_BITS 0x0D57 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_VERTEX_ARRAY_SIZE 0x807A +#define GL_VERTEX_ARRAY_TYPE 0x807B +#define GL_VERTEX_ARRAY_STRIDE 0x807C +#define GL_NORMAL_ARRAY_TYPE 0x807E +#define GL_NORMAL_ARRAY_STRIDE 0x807F +#define GL_COLOR_ARRAY_SIZE 0x8081 +#define GL_COLOR_ARRAY_TYPE 0x8082 +#define GL_COLOR_ARRAY_STRIDE 0x8083 +#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 +#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 +#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A +#define GL_VERTEX_ARRAY_POINTER 0x808E +#define GL_NORMAL_ARRAY_POINTER 0x808F +#define GL_COLOR_ARRAY_POINTER 0x8090 +#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB + +/* GetTextureParameter */ +/* GL_TEXTURE_MAG_FILTER */ +/* GL_TEXTURE_MIN_FILTER */ +/* GL_TEXTURE_WRAP_S */ +/* GL_TEXTURE_WRAP_T */ + +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 + +/* HintMode */ +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 + +/* HintTarget */ +#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 +#define GL_POINT_SMOOTH_HINT 0x0C51 +#define GL_LINE_SMOOTH_HINT 0x0C52 +#define GL_FOG_HINT 0x0C54 +#define GL_GENERATE_MIPMAP_HINT 0x8192 + +/* LightModelParameter */ +#define GL_LIGHT_MODEL_AMBIENT 0x0B53 +#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 + +/* LightParameter */ +#define GL_AMBIENT 0x1200 +#define GL_DIFFUSE 0x1201 +#define GL_SPECULAR 0x1202 +#define GL_POSITION 0x1203 +#define GL_SPOT_DIRECTION 0x1204 +#define GL_SPOT_EXPONENT 0x1205 +#define GL_SPOT_CUTOFF 0x1206 +#define GL_CONSTANT_ATTENUATION 0x1207 +#define GL_LINEAR_ATTENUATION 0x1208 +#define GL_QUADRATIC_ATTENUATION 0x1209 + +/* DataType */ +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_FLOAT 0x1406 +#define GL_FIXED 0x140C + +/* LogicOp */ +#define GL_CLEAR 0x1500 +#define GL_AND 0x1501 +#define GL_AND_REVERSE 0x1502 +#define GL_COPY 0x1503 +#define GL_AND_INVERTED 0x1504 +#define GL_NOOP 0x1505 +#define GL_XOR 0x1506 +#define GL_OR 0x1507 +#define GL_NOR 0x1508 +#define GL_EQUIV 0x1509 +#define GL_INVERT 0x150A +#define GL_OR_REVERSE 0x150B +#define GL_COPY_INVERTED 0x150C +#define GL_OR_INVERTED 0x150D +#define GL_NAND 0x150E +#define GL_SET 0x150F + +/* MaterialFace */ +/* GL_FRONT_AND_BACK */ + +/* MaterialParameter */ +#define GL_EMISSION 0x1600 +#define GL_SHININESS 0x1601 +#define GL_AMBIENT_AND_DIFFUSE 0x1602 +/* GL_AMBIENT */ +/* GL_DIFFUSE */ +/* GL_SPECULAR */ + +/* MatrixMode */ +#define GL_MODELVIEW 0x1700 +#define GL_PROJECTION 0x1701 +#define GL_TEXTURE 0x1702 + +/* NormalPointerType */ +/* GL_BYTE */ +/* GL_SHORT */ +/* GL_FLOAT */ +/* GL_FIXED */ + +/* PixelFormat */ +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_LUMINANCE 0x1909 +#define GL_LUMINANCE_ALPHA 0x190A + +/* PixelStoreParameter */ +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_ALIGNMENT 0x0D05 + +/* PixelType */ +/* GL_UNSIGNED_BYTE */ +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 + +/* ShadingModel */ +#define GL_FLAT 0x1D00 +#define GL_SMOOTH 0x1D01 + +/* StencilFunction */ +/* GL_NEVER */ +/* GL_LESS */ +/* GL_EQUAL */ +/* GL_LEQUAL */ +/* GL_GREATER */ +/* GL_NOTEQUAL */ +/* GL_GEQUAL */ +/* GL_ALWAYS */ + +/* StencilOp */ +/* GL_ZERO */ +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +/* GL_INVERT */ + +/* StringName */ +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 + +/* TexCoordPointerType */ +/* GL_SHORT */ +/* GL_FLOAT */ +/* GL_FIXED */ +/* GL_BYTE */ + +/* TextureEnvMode */ +#define GL_MODULATE 0x2100 +#define GL_DECAL 0x2101 +/* GL_BLEND */ +#define GL_ADD 0x0104 +/* GL_REPLACE */ + +/* TextureEnvParameter */ +#define GL_TEXTURE_ENV_MODE 0x2200 +#define GL_TEXTURE_ENV_COLOR 0x2201 + +/* TextureEnvTarget */ +#define GL_TEXTURE_ENV 0x2300 + +/* TextureMagFilter */ +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 + +/* TextureMinFilter */ +/* GL_NEAREST */ +/* GL_LINEAR */ +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 + +/* TextureParameterName */ +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 +#define GL_GENERATE_MIPMAP 0x8191 + +/* TextureTarget */ +/* GL_TEXTURE_2D */ + +/* TextureUnit */ +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 +#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 + +/* TextureWrapMode */ +#define GL_REPEAT 0x2901 +#define GL_CLAMP_TO_EDGE 0x812F + +/* VertexPointerType */ +/* GL_SHORT */ +/* GL_FLOAT */ +/* GL_FIXED */ +/* GL_BYTE */ + +/* LightName */ +#define GL_LIGHT0 0x4000 +#define GL_LIGHT1 0x4001 +#define GL_LIGHT2 0x4002 +#define GL_LIGHT3 0x4003 +#define GL_LIGHT4 0x4004 +#define GL_LIGHT5 0x4005 +#define GL_LIGHT6 0x4006 +#define GL_LIGHT7 0x4007 + +/* Buffer Objects */ +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 + +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 +#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 +#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 +#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 +#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A + +#define GL_STATIC_DRAW 0x88E4 +#define GL_DYNAMIC_DRAW 0x88E8 + +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 + +/* Texture combine + dot3 */ +#define GL_SUBTRACT 0x84E7 +#define GL_COMBINE 0x8570 +#define GL_COMBINE_RGB 0x8571 +#define GL_COMBINE_ALPHA 0x8572 +#define GL_RGB_SCALE 0x8573 +#define GL_ADD_SIGNED 0x8574 +#define GL_INTERPOLATE 0x8575 +#define GL_CONSTANT 0x8576 +#define GL_PRIMARY_COLOR 0x8577 +#define GL_PREVIOUS 0x8578 +#define GL_OPERAND0_RGB 0x8590 +#define GL_OPERAND1_RGB 0x8591 +#define GL_OPERAND2_RGB 0x8592 +#define GL_OPERAND0_ALPHA 0x8598 +#define GL_OPERAND1_ALPHA 0x8599 +#define GL_OPERAND2_ALPHA 0x859A + +#define GL_ALPHA_SCALE 0x0D1C + +#define GL_SRC0_RGB 0x8580 +#define GL_SRC1_RGB 0x8581 +#define GL_SRC2_RGB 0x8582 +#define GL_SRC0_ALPHA 0x8588 +#define GL_SRC1_ALPHA 0x8589 +#define GL_SRC2_ALPHA 0x858A + +#define GL_DOT3_RGB 0x86AE +#define GL_DOT3_RGBA 0x86AF + +/*------------------------------------------------------------------------* + * required OES extension tokens + *------------------------------------------------------------------------*/ + +/* OES_read_format */ +#ifndef GL_OES_read_format +#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B +#endif + +/* GL_OES_compressed_paletted_texture */ +#ifndef GL_OES_compressed_paletted_texture +#define GL_PALETTE4_RGB8_OES 0x8B90 +#define GL_PALETTE4_RGBA8_OES 0x8B91 +#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 +#define GL_PALETTE4_RGBA4_OES 0x8B93 +#define GL_PALETTE4_RGB5_A1_OES 0x8B94 +#define GL_PALETTE8_RGB8_OES 0x8B95 +#define GL_PALETTE8_RGBA8_OES 0x8B96 +#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 +#define GL_PALETTE8_RGBA4_OES 0x8B98 +#define GL_PALETTE8_RGB5_A1_OES 0x8B99 +#endif + +/* OES_point_size_array */ +#ifndef GL_OES_point_size_array +#define GL_POINT_SIZE_ARRAY_OES 0x8B9C +#define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A +#define GL_POINT_SIZE_ARRAY_STRIDE_OES 0x898B +#define GL_POINT_SIZE_ARRAY_POINTER_OES 0x898C +#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F +#endif + +/* GL_OES_point_sprite */ +#ifndef GL_OES_point_sprite +#define GL_POINT_SPRITE_OES 0x8861 +#define GL_COORD_REPLACE_OES 0x8862 +#endif + +/*************************************************************/ + +/* Available only in Common profile */ +GL_API void GL_APIENTRY glAlphaFunc (GLenum func, GLclampf ref); +GL_API void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +GL_API void GL_APIENTRY glClearDepthf (GLclampf depth); +GL_API void GL_APIENTRY glClipPlanef (GLenum plane, const GLfloat *equation); +GL_API void GL_APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GL_API void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); +GL_API void GL_APIENTRY glFogf (GLenum pname, GLfloat param); +GL_API void GL_APIENTRY glFogfv (GLenum pname, const GLfloat *params); +GL_API void GL_APIENTRY glFrustumf (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +GL_API void GL_APIENTRY glGetClipPlanef (GLenum pname, GLfloat eqn[4]); +GL_API void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *params); +GL_API void GL_APIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params); +GL_API void GL_APIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params); +GL_API void GL_APIENTRY glGetTexEnvfv (GLenum env, GLenum pname, GLfloat *params); +GL_API void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); +GL_API void GL_APIENTRY glLightModelf (GLenum pname, GLfloat param); +GL_API void GL_APIENTRY glLightModelfv (GLenum pname, const GLfloat *params); +GL_API void GL_APIENTRY glLightf (GLenum light, GLenum pname, GLfloat param); +GL_API void GL_APIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params); +GL_API void GL_APIENTRY glLineWidth (GLfloat width); +GL_API void GL_APIENTRY glLoadMatrixf (const GLfloat *m); +GL_API void GL_APIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param); +GL_API void GL_APIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); +GL_API void GL_APIENTRY glMultMatrixf (const GLfloat *m); +GL_API void GL_APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GL_API void GL_APIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); +GL_API void GL_APIENTRY glOrthof (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +GL_API void GL_APIENTRY glPointParameterf (GLenum pname, GLfloat param); +GL_API void GL_APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params); +GL_API void GL_APIENTRY glPointSize (GLfloat size); +GL_API void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); +GL_API void GL_APIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +GL_API void GL_APIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z); +GL_API void GL_APIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param); +GL_API void GL_APIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); +GL_API void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); +GL_API void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); +GL_API void GL_APIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z); + +/* Available in both Common and Common-Lite profiles */ +GL_API void GL_APIENTRY glActiveTexture (GLenum texture); +GL_API void GL_APIENTRY glAlphaFuncx (GLenum func, GLclampx ref); +GL_API void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); +GL_API void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); +GL_API void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); +GL_API void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); +GL_API void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); +GL_API void GL_APIENTRY glClear (GLbitfield mask); +GL_API void GL_APIENTRY glClearColorx (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); +GL_API void GL_APIENTRY glClearDepthx (GLclampx depth); +GL_API void GL_APIENTRY glClearStencil (GLint s); +GL_API void GL_APIENTRY glClientActiveTexture (GLenum texture); +GL_API void GL_APIENTRY glClipPlanex (GLenum plane, const GLfixed *equation); +GL_API void GL_APIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); +GL_API void GL_APIENTRY glColor4x (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); +GL_API void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GL_API void GL_APIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GL_API void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); +GL_API void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); +GL_API void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GL_API void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GL_API void GL_APIENTRY glCullFace (GLenum mode); +GL_API void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers); +GL_API void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); +GL_API void GL_APIENTRY glDepthFunc (GLenum func); +GL_API void GL_APIENTRY glDepthMask (GLboolean flag); +GL_API void GL_APIENTRY glDepthRangex (GLclampx zNear, GLclampx zFar); +GL_API void GL_APIENTRY glDisable (GLenum cap); +GL_API void GL_APIENTRY glDisableClientState (GLenum array); +GL_API void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); +GL_API void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); +GL_API void GL_APIENTRY glEnable (GLenum cap); +GL_API void GL_APIENTRY glEnableClientState (GLenum array); +GL_API void GL_APIENTRY glFinish (void); +GL_API void GL_APIENTRY glFlush (void); +GL_API void GL_APIENTRY glFogx (GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glFogxv (GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glFrontFace (GLenum mode); +GL_API void GL_APIENTRY glFrustumx (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +GL_API void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *params); +GL_API void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params); +GL_API void GL_APIENTRY glGetClipPlanex (GLenum pname, GLfixed eqn[4]); +GL_API void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers); +GL_API void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures); +GL_API GLenum GL_APIENTRY glGetError (void); +GL_API void GL_APIENTRY glGetFixedv (GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *params); +GL_API void GL_APIENTRY glGetLightxv (GLenum light, GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glGetMaterialxv (GLenum face, GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glGetPointerv (GLenum pname, GLvoid **params); +GL_API const GLubyte * GL_APIENTRY glGetString (GLenum name); +GL_API void GL_APIENTRY glGetTexEnviv (GLenum env, GLenum pname, GLint *params); +GL_API void GL_APIENTRY glGetTexEnvxv (GLenum env, GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); +GL_API void GL_APIENTRY glGetTexParameterxv (GLenum target, GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glHint (GLenum target, GLenum mode); +GL_API GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); +GL_API GLboolean GL_APIENTRY glIsEnabled (GLenum cap); +GL_API GLboolean GL_APIENTRY glIsTexture (GLuint texture); +GL_API void GL_APIENTRY glLightModelx (GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glLightModelxv (GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glLightx (GLenum light, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glLightxv (GLenum light, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glLineWidthx (GLfixed width); +GL_API void GL_APIENTRY glLoadIdentity (void); +GL_API void GL_APIENTRY glLoadMatrixx (const GLfixed *m); +GL_API void GL_APIENTRY glLogicOp (GLenum opcode); +GL_API void GL_APIENTRY glMaterialx (GLenum face, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glMaterialxv (GLenum face, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glMatrixMode (GLenum mode); +GL_API void GL_APIENTRY glMultMatrixx (const GLfixed *m); +GL_API void GL_APIENTRY glMultiTexCoord4x (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); +GL_API void GL_APIENTRY glNormal3x (GLfixed nx, GLfixed ny, GLfixed nz); +GL_API void GL_APIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer); +GL_API void GL_APIENTRY glOrthox (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +GL_API void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); +GL_API void GL_APIENTRY glPointParameterx (GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glPointParameterxv (GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glPointSizex (GLfixed size); +GL_API void GL_APIENTRY glPolygonOffsetx (GLfixed factor, GLfixed units); +GL_API void GL_APIENTRY glPopMatrix (void); +GL_API void GL_APIENTRY glPushMatrix (void); +GL_API void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); +GL_API void GL_APIENTRY glRotatex (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); +GL_API void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); +GL_API void GL_APIENTRY glSampleCoveragex (GLclampx value, GLboolean invert); +GL_API void GL_APIENTRY glScalex (GLfixed x, GLfixed y, GLfixed z); +GL_API void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); +GL_API void GL_APIENTRY glShadeModel (GLenum mode); +GL_API void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); +GL_API void GL_APIENTRY glStencilMask (GLuint mask); +GL_API void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); +GL_API void GL_APIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GL_API void GL_APIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param); +GL_API void GL_APIENTRY glTexEnvx (GLenum target, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params); +GL_API void GL_APIENTRY glTexEnvxv (GLenum target, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +GL_API void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); +GL_API void GL_APIENTRY glTexParameterx (GLenum target, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); +GL_API void GL_APIENTRY glTexParameterxv (GLenum target, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); +GL_API void GL_APIENTRY texSubImage2DAsync (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLint hpixels); +GL_API void GL_APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z); +GL_API void GL_APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GL_API void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); + +/*------------------------------------------------------------------------* + * Required OES extension functions + *------------------------------------------------------------------------*/ + +/* GL_OES_read_format */ +#ifndef GL_OES_read_format +#define GL_OES_read_format 1 +#endif + +/* GL_OES_compressed_paletted_texture */ +#ifndef GL_OES_compressed_paletted_texture +#define GL_OES_compressed_paletted_texture 1 +#endif + +/* GL_OES_point_size_array */ +#ifndef GL_OES_point_size_array +#define GL_OES_point_size_array 1 +GL_API void GL_APIENTRY glPointSizePointerOES (GLenum type, GLsizei stride, const GLvoid *pointer); +#endif + +/* GL_OES_point_sprite */ +#ifndef GL_OES_point_sprite +#define GL_OES_point_sprite 1 +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __gl_h_ */ + diff --git a/opt/vc/include/GLES/glext.h b/opt/vc/include/GLES/glext.h new file mode 100644 index 000000000..20ad00177 --- /dev/null +++ b/opt/vc/include/GLES/glext.h @@ -0,0 +1,1147 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef __glext_h_ +#define __glext_h_ + +/* $Revision: 13240 $ on $Date:: 2010-12-17 15:16:00 -0800 #$ */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* We want this */ +#ifndef GL_GLEXT_PROTOTYPES +#define GL_GLEXT_PROTOTYPES +#endif + +/* + * This document is licensed under the SGI Free Software B License Version + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + */ + +#ifndef GL_APIENTRYP +# define GL_APIENTRYP GL_APIENTRY* +#endif + +/*------------------------------------------------------------------------* + * OES extension tokens + *------------------------------------------------------------------------*/ + +/* GL_OES_blend_equation_separate */ +#ifndef GL_OES_blend_equation_separate +/* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */ +#define GL_BLEND_EQUATION_RGB_OES 0x8009 +#define GL_BLEND_EQUATION_ALPHA_OES 0x883D +#endif + +/* GL_OES_blend_func_separate */ +#ifndef GL_OES_blend_func_separate +#define GL_BLEND_DST_RGB_OES 0x80C8 +#define GL_BLEND_SRC_RGB_OES 0x80C9 +#define GL_BLEND_DST_ALPHA_OES 0x80CA +#define GL_BLEND_SRC_ALPHA_OES 0x80CB +#endif + +/* GL_OES_blend_subtract */ +#ifndef GL_OES_blend_subtract +#define GL_BLEND_EQUATION_OES 0x8009 +#define GL_FUNC_ADD_OES 0x8006 +#define GL_FUNC_SUBTRACT_OES 0x800A +#define GL_FUNC_REVERSE_SUBTRACT_OES 0x800B +#endif + +/* GL_OES_compressed_ETC1_RGB8_texture */ +#ifndef GL_OES_compressed_ETC1_RGB8_texture +#define GL_ETC1_RGB8_OES 0x8D64 +#endif + +/* GL_OES_depth24 */ +#ifndef GL_OES_depth24 +#define GL_DEPTH_COMPONENT24_OES 0x81A6 +#endif + +/* GL_OES_depth32 */ +#ifndef GL_OES_depth32 +#define GL_DEPTH_COMPONENT32_OES 0x81A7 +#endif + +/* GL_OES_draw_texture */ +#ifndef GL_OES_draw_texture +#define GL_TEXTURE_CROP_RECT_OES 0x8B9D +#endif + +/* GL_OES_EGL_image */ +#ifndef GL_OES_EGL_image +typedef void* GLeglImageOES; +#endif + +/* GL_OES_EGL_image_external */ +#ifndef GL_OES_EGL_image_external +/* GLeglImageOES defined in GL_OES_EGL_image already. */ +#define GL_TEXTURE_EXTERNAL_OES 0x8D65 +#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 +#endif + +/* GL_OES_element_index_uint */ +#ifndef GL_OES_element_index_uint +#define GL_UNSIGNED_INT 0x1405 +#endif + +/* GL_OES_fixed_point */ +#ifndef GL_OES_fixed_point +#define GL_FIXED_OES 0x140C +#endif + +/* GL_OES_framebuffer_object */ +#ifndef GL_OES_framebuffer_object +#define GL_NONE_OES 0 +#define GL_FRAMEBUFFER_OES 0x8D40 +#define GL_RENDERBUFFER_OES 0x8D41 +#define GL_RGBA4_OES 0x8056 +#define GL_RGB5_A1_OES 0x8057 +#define GL_RGB565_OES 0x8D62 +#define GL_DEPTH_COMPONENT16_OES 0x81A5 +#define GL_RENDERBUFFER_WIDTH_OES 0x8D42 +#define GL_RENDERBUFFER_HEIGHT_OES 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44 +#define GL_RENDERBUFFER_RED_SIZE_OES 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE_OES 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE_OES 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE_OES 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE_OES 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE_OES 0x8D55 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3 +#define GL_COLOR_ATTACHMENT0_OES 0x8CE0 +#define GL_DEPTH_ATTACHMENT_OES 0x8D00 +#define GL_STENCIL_ATTACHMENT_OES 0x8D20 +#define GL_FRAMEBUFFER_COMPLETE_OES 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9 +#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA +#define GL_FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD +#define GL_FRAMEBUFFER_BINDING_OES 0x8CA6 +#define GL_RENDERBUFFER_BINDING_OES 0x8CA7 +#define GL_MAX_RENDERBUFFER_SIZE_OES 0x84E8 +#define GL_INVALID_FRAMEBUFFER_OPERATION_OES 0x0506 +#endif + +/* GL_OES_mapbuffer */ +#ifndef GL_OES_mapbuffer +#define GL_WRITE_ONLY_OES 0x88B9 +#define GL_BUFFER_ACCESS_OES 0x88BB +#define GL_BUFFER_MAPPED_OES 0x88BC +#define GL_BUFFER_MAP_POINTER_OES 0x88BD +#endif + +/* GL_OES_matrix_get */ +#ifndef GL_OES_matrix_get +#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D +#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E +#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F +#endif + +/* GL_OES_matrix_palette */ +#ifndef GL_OES_matrix_palette +#define GL_MAX_VERTEX_UNITS_OES 0x86A4 +#define GL_MAX_PALETTE_MATRICES_OES 0x8842 +#define GL_MATRIX_PALETTE_OES 0x8840 +#define GL_MATRIX_INDEX_ARRAY_OES 0x8844 +#define GL_WEIGHT_ARRAY_OES 0x86AD +#define GL_CURRENT_PALETTE_MATRIX_OES 0x8843 +#define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846 +#define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847 +#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848 +#define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849 +#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E +#define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB +#define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9 +#define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA +#define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC +#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E +#endif + +/* GL_OES_packed_depth_stencil */ +#ifndef GL_OES_packed_depth_stencil +#define GL_DEPTH_STENCIL_OES 0x84F9 +#define GL_UNSIGNED_INT_24_8_OES 0x84FA +#define GL_DEPTH24_STENCIL8_OES 0x88F0 +#endif + +/* GL_OES_rgb8_rgba8 */ +#ifndef GL_OES_rgb8_rgba8 +#define GL_RGB8_OES 0x8051 +#define GL_RGBA8_OES 0x8058 +#endif + +/* GL_OES_stencil1 */ +#ifndef GL_OES_stencil1 +#define GL_STENCIL_INDEX1_OES 0x8D46 +#endif + +/* GL_OES_stencil4 */ +#ifndef GL_OES_stencil4 +#define GL_STENCIL_INDEX4_OES 0x8D47 +#endif + +/* GL_OES_stencil8 */ +#ifndef GL_OES_stencil8 +#define GL_STENCIL_INDEX8_OES 0x8D48 +#endif + +/* GL_OES_stencil_wrap */ +#ifndef GL_OES_stencil_wrap +#define GL_INCR_WRAP_OES 0x8507 +#define GL_DECR_WRAP_OES 0x8508 +#endif + +/* GL_OES_texture_cube_map */ +#ifndef GL_OES_texture_cube_map +#define GL_NORMAL_MAP_OES 0x8511 +#define GL_REFLECTION_MAP_OES 0x8512 +#define GL_TEXTURE_CUBE_MAP_OES 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP_OES 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851A +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES 0x851C +#define GL_TEXTURE_GEN_MODE_OES 0x2500 +#define GL_TEXTURE_GEN_STR_OES 0x8D60 +#endif + +/* GL_OES_texture_mirrored_repeat */ +#ifndef GL_OES_texture_mirrored_repeat +#define GL_MIRRORED_REPEAT_OES 0x8370 +#endif + +/* GL_OES_vertex_array_object */ +#ifndef GL_OES_vertex_array_object +#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 +#endif + +/*------------------------------------------------------------------------* + * AMD extension tokens + *------------------------------------------------------------------------*/ + +/* GL_AMD_compressed_3DC_texture */ +#ifndef GL_AMD_compressed_3DC_texture +#define GL_3DC_X_AMD 0x87F9 +#define GL_3DC_XY_AMD 0x87FA +#endif + +/* GL_AMD_compressed_ATC_texture */ +#ifndef GL_AMD_compressed_ATC_texture +#define GL_ATC_RGB_AMD 0x8C92 +#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 +#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE +#endif + +/*------------------------------------------------------------------------* + * APPLE extension tokens + *------------------------------------------------------------------------*/ + +/* GL_APPLE_texture_2D_limited_npot */ +/* No new tokens introduced by this extension. */ + +/* GL_APPLE_framebuffer_multisample */ +#ifndef GL_APPLE_framebuffer_multisample +#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 +#define GL_MAX_SAMPLES_APPLE 0x8D57 +#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA +#endif + +/* GL_APPLE_texture_format_BGRA8888 */ +#ifndef GL_APPLE_texture_format_BGRA8888 +#define GL_BGRA_EXT 0x80E1 +#endif + +/* GL_APPLE_texture_max_level */ +#ifndef GL_APPLE_texture_max_level +#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D +#endif + +/* GL_APPLE_rgb_422 */ +#ifndef GL_APPLE_rgb_422 +#define GL_APPLE_rgb_422 1 +#define GL_RGB_422_APPLE 0x8A1F +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#endif +/*------------------------------------------------------------------------* + * ARM extension tokens + *------------------------------------------------------------------------*/ + +/* GL_ARM_rgba8 */ +/* No new tokens introduced by this extension. */ + +/*------------------------------------------------------------------------* + * EXT extension tokens + *------------------------------------------------------------------------*/ + +/* GL_EXT_blend_minmax */ +#ifndef GL_EXT_blend_minmax +#define GL_MIN_EXT 0x8007 +#define GL_MAX_EXT 0x8008 +#endif + +/* GL_EXT_discard_framebuffer */ +#ifndef GL_EXT_discard_framebuffer +#define GL_COLOR_EXT 0x1800 +#define GL_DEPTH_EXT 0x1801 +#define GL_STENCIL_EXT 0x1802 +#endif + +/* GL_EXT_multi_draw_arrays */ +/* No new tokens introduced by this extension. */ + +/* GL_EXT_read_format_bgra */ +#ifndef GL_EXT_read_format_bgra +#define GL_BGRA_EXT 0x80E1 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 +#endif + +/* GL_EXT_texture_filter_anisotropic */ +#ifndef GL_EXT_texture_filter_anisotropic +#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF +#endif + +/* GL_EXT_texture_format_BGRA8888 */ +#ifndef GL_EXT_texture_format_BGRA8888 +#define GL_BGRA_EXT 0x80E1 +#endif + +#ifndef GL_texture_format_RGBX8888_BRCM +#define GL_RGBX_BRCM 0x80EE +#endif + +/* GL_EXT_texture_lod_bias */ +#ifndef GL_EXT_texture_lod_bias +#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD +#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 +#define GL_TEXTURE_LOD_BIAS_EXT 0x8501 +#endif + +/*------------------------------------------------------------------------* + * IMG extension tokens + *------------------------------------------------------------------------*/ + +/* GL_IMG_read_format */ +#ifndef GL_IMG_read_format +#define GL_BGRA_IMG 0x80E1 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 +#endif + +/* GL_IMG_texture_compression_pvrtc */ +#ifndef GL_IMG_texture_compression_pvrtc +#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 +#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 +#endif + +/* GL_IMG_texture_env_enhanced_fixed_function */ +#ifndef GL_IMG_texture_env_enhanced_fixed_function +#define GL_MODULATE_COLOR_IMG 0x8C04 +#define GL_RECIP_ADD_SIGNED_ALPHA_IMG 0x8C05 +#define GL_TEXTURE_ALPHA_MODULATE_IMG 0x8C06 +#define GL_FACTOR_ALPHA_MODULATE_IMG 0x8C07 +#define GL_FRAGMENT_ALPHA_MODULATE_IMG 0x8C08 +#define GL_ADD_BLEND_IMG 0x8C09 +#define GL_DOT3_RGBA_IMG 0x86AF +#endif + +/* GL_IMG_user_clip_plane */ +#ifndef GL_IMG_user_clip_plane +#define GL_CLIP_PLANE0_IMG 0x3000 +#define GL_CLIP_PLANE1_IMG 0x3001 +#define GL_CLIP_PLANE2_IMG 0x3002 +#define GL_CLIP_PLANE3_IMG 0x3003 +#define GL_CLIP_PLANE4_IMG 0x3004 +#define GL_CLIP_PLANE5_IMG 0x3005 +#define GL_MAX_CLIP_PLANES_IMG 0x0D32 +#endif + +/* GL_IMG_multisampled_render_to_texture */ +#ifndef GL_IMG_multisampled_render_to_texture +#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 +#define GL_MAX_SAMPLES_IMG 0x9135 +#define GL_TEXTURE_SAMPLES_IMG 0x9136 +#endif + +/*------------------------------------------------------------------------* + * NV extension tokens + *------------------------------------------------------------------------*/ + +/* GL_NV_fence */ +#ifndef GL_NV_fence +#define GL_ALL_COMPLETED_NV 0x84F2 +#define GL_FENCE_STATUS_NV 0x84F3 +#define GL_FENCE_CONDITION_NV 0x84F4 +#endif + +/*------------------------------------------------------------------------* + * QCOM extension tokens + *------------------------------------------------------------------------*/ + +/* GL_QCOM_driver_control */ +/* No new tokens introduced by this extension. */ + +/* GL_QCOM_extended_get */ +#ifndef GL_QCOM_extended_get +#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 +#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 +#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 +#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 +#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 +#define GL_TEXTURE_TYPE_QCOM 0x8BD7 +#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 +#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 +#define GL_TEXTURE_TARGET_QCOM 0x8BDA +#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB +#define GL_STATE_RESTORE 0x8BDC +#endif + +/* GL_QCOM_extended_get2 */ +/* No new tokens introduced by this extension. */ + +/* GL_QCOM_perfmon_global_mode */ +#ifndef GL_QCOM_perfmon_global_mode +#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 +#endif + +/* GL_QCOM_writeonly_rendering */ +#ifndef GL_QCOM_writeonly_rendering +#define GL_WRITEONLY_RENDERING_QCOM 0x8823 +#endif + +/* GL_QCOM_tiled_rendering */ +#ifndef GL_QCOM_tiled_rendering +#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 +#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 +#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 +#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 +#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 +#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 +#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 +#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 +#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 +#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 +#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 +#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 +#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 +#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 +#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 +#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 +#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 +#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 +#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 +#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 +#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 +#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 +#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 +#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 +#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 +#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 +#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 +#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 +#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 +#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 +#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 +#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 +#endif + +/*------------------------------------------------------------------------* + * BRCM extension tokens + * TODO: these aren't official yet + *------------------------------------------------------------------------*/ +#ifndef GL_BRCM_side_by_side_stero_hint +#define GL_SIDE_BY_SIDE_STEREO_HINT_BRCM 0x8193 /* GET AN OFFICIAL ENUM */ +#endif + +/*------------------------------------------------------------------------* + * End of extension tokens, start of corresponding extension functions + *------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------* + * OES extension functions + *------------------------------------------------------------------------*/ + +/* GL_OES_blend_equation_separate */ +#ifndef GL_OES_blend_equation_separate +#define GL_OES_blend_equation_separate 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha); +#endif +typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha); +#endif + +/* GL_OES_blend_func_separate */ +#ifndef GL_OES_blend_func_separate +#define GL_OES_blend_func_separate 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +#endif +typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +#endif + +/* GL_OES_blend_subtract */ +#ifndef GL_OES_blend_subtract +#define GL_OES_blend_subtract 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode); +#endif +typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode); +#endif + +/* GL_OES_byte_coordinates */ +#ifndef GL_OES_byte_coordinates +#define GL_OES_byte_coordinates 0 +#endif + +/* GL_OES_compressed_ETC1_RGB8_texture */ +#ifndef GL_OES_compressed_ETC1_RGB8_texture +#define GL_OES_compressed_ETC1_RGB8_texture 1 +#endif + +/* GL_OES_depth24 */ +#ifndef GL_OES_depth24 +#define GL_OES_depth24 0 +#endif + +/* GL_OES_depth32 */ +#ifndef GL_OES_depth32 +#define GL_OES_depth32 0 +#endif + +/* GL_OES_draw_texture */ +#ifndef GL_OES_draw_texture +#define GL_OES_draw_texture 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); +GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height); +GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); +GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords); +GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords); +GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords); +GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); +GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords); +#endif +typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); +typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height); +typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); +typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords); +typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords); +typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords); +typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); +typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords); +#endif + +/* GL_OES_EGL_image */ +#ifndef GL_OES_EGL_image +#define GL_OES_EGL_image 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); +GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); +#endif +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); +#endif + +/* GL_OES_EGL_image_external */ +#ifndef GL_OES_EGL_image_external +#define GL_OES_EGL_image_external 1 +/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ +#endif + +/* GL_OES_element_index_uint */ +#ifndef GL_OES_element_index_uint +#define GL_OES_element_index_uint 0 +#endif + +/* GL_OES_extended_matrix_palette */ +#ifndef GL_OES_extended_matrix_palette +#define GL_OES_extended_matrix_palette 0 +#endif + +/* GL_OES_fbo_render_mipmap */ +#ifndef GL_OES_fbo_render_mipmap +#define GL_OES_fbo_render_mipmap 0 +#endif + +/* GL_OES_fixed_point */ +#ifndef GL_OES_fixed_point +#define GL_OES_fixed_point 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref); +GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); +GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth); +GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation); +GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); +GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar); +GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]); +GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params); +GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width); +GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m); +GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m); +GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); +GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz); +GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glPointSizexOES (GLfixed size); +GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units); +GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); +GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert); +GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z); +GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z); +#endif +typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref); +typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); +typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth); +typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation); +typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); +typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar); +typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param); +typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params); +typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]); +typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params); +typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params); +typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params); +typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params); +typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params); +typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param); +typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params); +typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param); +typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params); +typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width); +typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m); +typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param); +typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params); +typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m); +typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); +typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz); +typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param); +typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params); +typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size); +typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units); +typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); +typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert); +typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); +typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param); +typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param); +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); +typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); +#endif + +/* GL_OES_framebuffer_object */ +#ifndef GL_OES_framebuffer_object +#define GL_OES_framebuffer_object 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer); +GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer); +GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers); +GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers); +GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params); +GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer); +GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer); +GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers); +GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers); +GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target); +GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params); +GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target); +#endif +typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer); +typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer); +typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers); +typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers); +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params); +typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer); +typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer); +typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers); +typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers); +typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); +typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target); +#endif + +/* GL_OES_mapbuffer */ +#ifndef GL_OES_mapbuffer +#define GL_OES_mapbuffer 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); +GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); +GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid ** params); +#endif +typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); +typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); +typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid ** params); +#endif + +/* GL_OES_matrix_get */ +#ifndef GL_OES_matrix_get +#define GL_OES_matrix_get 0 +#endif + +/* GL_OES_matrix_palette */ +#ifndef GL_OES_matrix_palette +#define GL_OES_matrix_palette 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex); +GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void); +GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +#endif +typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex); +typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void); +typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +#endif + +/* GL_OES_packed_depth_stencil */ +#ifndef GL_OES_packed_depth_stencil +#define GL_OES_packed_depth_stencil 0 +#endif + +/* GL_OES_query_matrix */ +#ifndef GL_OES_query_matrix +#define GL_OES_query_matrix 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]); +#endif +typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]); +#endif + +/* GL_OES_rgb8_rgba8 */ +#ifndef GL_OES_rgb8_rgba8 +#define GL_OES_rgb8_rgba8 1 +#endif + +/* GL_OES_single_precision */ +#ifndef GL_OES_single_precision +#define GL_OES_single_precision 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar); +GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation); +GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]); +GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth); +#endif +typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar); +typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation); +typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]); +typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth); +#endif + +/* GL_OES_stencil1 */ +#ifndef GL_OES_stencil1 +#define GL_OES_stencil1 0 +#endif + +/* GL_OES_stencil4 */ +#ifndef GL_OES_stencil4 +#define GL_OES_stencil4 0 +#endif + +/* GL_OES_stencil8 */ +#ifndef GL_OES_stencil8 +#define GL_OES_stencil8 1 +#endif + +/* GL_OES_stencil_wrap */ +#ifndef GL_OES_stencil_wrap +#define GL_OES_stencil_wrap 0 +#endif + +/* GL_OES_texture_cube_map */ +#ifndef GL_OES_texture_cube_map +#define GL_OES_texture_cube_map 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param); +GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params); +GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param); +GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params); +GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param); +GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params); +GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params); +GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params); +GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params); +#endif +typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param); +typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params); +typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param); +typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params); +typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param); +typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params); +typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params); +typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params); +#endif + +/* GL_OES_texture_env_crossbar */ +#ifndef GL_OES_texture_env_crossbar +#define GL_OES_texture_env_crossbar 0 +#endif + +/* GL_OES_texture_mirrored_repeat */ +#ifndef GL_OES_texture_mirrored_repeat +#define GL_OES_texture_mirrored_repeat 0 +#endif + +/* GL_OES_vertex_array_object */ +#ifndef GL_OES_vertex_array_object +#define GL_OES_vertex_array_object 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array); +GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); +GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); +GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); +#endif +typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); +typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); +typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); +typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); +#endif + +/*------------------------------------------------------------------------* + * AMD extension functions + *------------------------------------------------------------------------*/ + +/* GL_AMD_compressed_3DC_texture */ +#ifndef GL_AMD_compressed_3DC_texture +#define GL_AMD_compressed_3DC_texture 0 +#endif + +/* GL_AMD_compressed_ATC_texture */ +#ifndef GL_AMD_compressed_ATC_texture +#define GL_AMD_compressed_ATC_texture 0 +#endif + +/*------------------------------------------------------------------------* + * APPLE extension functions + *------------------------------------------------------------------------*/ + +/* GL_APPLE_texture_2D_limited_npot */ +#ifndef GL_APPLE_texture_2D_limited_npot +#define GL_APPLE_texture_2D_limited_npot 0 +#endif + +/* GL_APPLE_framebuffer_multisample */ +#ifndef GL_APPLE_framebuffer_multisample +#define GL_APPLE_framebuffer_multisample 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); +#endif + +/* GL_APPLE_texture_format_BGRA8888 */ +#ifndef GL_APPLE_texture_format_BGRA8888 +#define GL_APPLE_texture_format_BGRA8888 0 +#endif + +/* GL_APPLE_texture_max_level */ +#ifndef GL_APPLE_texture_max_level +#define GL_APPLE_texture_max_level 0 +#endif + +/*------------------------------------------------------------------------* + * ARM extension functions + *------------------------------------------------------------------------*/ + +/* GL_ARM_rgba8 */ +#ifndef GL_ARM_rgba8 +#define GL_ARM_rgba8 0 +#endif + +/*------------------------------------------------------------------------* + * EXT extension functions + *------------------------------------------------------------------------*/ + +/* GL_EXT_blend_minmax */ +#ifndef GL_EXT_blend_minmax +#define GL_EXT_blend_minmax 0 +#endif + +/* GL_EXT_discard_framebuffer */ +#ifndef GL_EXT_discard_framebuffer +#define GL_EXT_discard_framebuffer 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); +#endif +typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); +#endif + +/* GL_EXT_debug_marker */ +#ifndef GL_EXT_debug_marker +#define GL_EXT_debug_marker 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); +GL_API void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); +GL_API void GL_APIENTRY glPopGroupMarkerEXT (void); +#endif +typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); +typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); +typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); +#endif + +/* GL_EXT_multi_draw_arrays */ +#ifndef GL_EXT_multi_draw_arrays +#define GL_EXT_multi_draw_arrays 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); +GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); +typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); +#endif + +/* GL_EXT_read_format_bgra */ +#ifndef GL_EXT_read_format_bgra +#define GL_EXT_read_format_bgra 0 +#endif + +/* GL_EXT_texture_filter_anisotropic */ +#ifndef GL_EXT_texture_filter_anisotropic +#define GL_EXT_texture_filter_anisotropic 0 +#endif + +/* GL_EXT_texture_format_BGRA8888 */ +#ifndef GL_EXT_texture_format_BGRA8888 +#define GL_EXT_texture_format_BGRA8888 1 +#endif + +#ifndef GL_texture_format_RGBX8888_BRCM +#define GL_texture_format_RGBX8888_BRCM 1 +#endif + +/* GL_EXT_texture_lod_bias */ +#ifndef GL_EXT_texture_lod_bias +#define GL_EXT_texture_lod_bias 0 +#endif + +/*------------------------------------------------------------------------* + * IMG extension functions + *------------------------------------------------------------------------*/ + +/* GL_IMG_read_format */ +#ifndef GL_IMG_read_format +#define GL_IMG_read_format 0 +#endif + +/* GL_IMG_texture_compression_pvrtc */ +#ifndef GL_IMG_texture_compression_pvrtc +#define GL_IMG_texture_compression_pvrtc 0 +#endif + +/* GL_IMG_texture_env_enhanced_fixed_function */ +#ifndef GL_IMG_texture_env_enhanced_fixed_function +#define GL_IMG_texture_env_enhanced_fixed_function 0 +#endif + +/* GL_IMG_user_clip_plane */ +#ifndef GL_IMG_user_clip_plane +#define GL_IMG_user_clip_plane 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glClipPlanefIMG (GLenum, const GLfloat *); +GL_API void GL_APIENTRY glClipPlanexIMG (GLenum, const GLfixed *); +#endif +typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn); +typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn); +#endif + +/* GL_IMG_multisampled_render_to_texture */ +#ifndef GL_IMG_multisampled_render_to_texture +#define GL_IMG_multisampled_render_to_texture 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); +#endif +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); +#endif + +/*------------------------------------------------------------------------* + * NV extension functions + *------------------------------------------------------------------------*/ + +/* NV_fence */ +#ifndef GL_NV_fence +#define GL_NV_fence 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); +GL_API void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); +GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint); +GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint); +GL_API void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); +GL_API void GL_APIENTRY glFinishFenceNV (GLuint); +GL_API void GL_APIENTRY glSetFenceNV (GLuint, GLenum); +#endif +typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); +typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); +typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); +typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); +typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); +typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); +#endif + +/*------------------------------------------------------------------------* + * QCOM extension functions + *------------------------------------------------------------------------*/ + +/* GL_QCOM_driver_control */ +#ifndef GL_QCOM_driver_control +#define GL_QCOM_driver_control 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); +GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); +GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); +GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); +#endif +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); +typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); +typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); +#endif + +/* GL_QCOM_extended_get */ +#ifndef GL_QCOM_extended_get +#define GL_QCOM_extended_get 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); +GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); +GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); +GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); +GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); +GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); +GL_API void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); +GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); +#endif +typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); +#endif + +/* GL_QCOM_extended_get2 */ +#ifndef GL_QCOM_extended_get2 +#define GL_QCOM_extended_get2 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); +GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); +GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); +GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); +#endif +typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); +typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); +#endif + +/* GL_QCOM_perfmon_global_mode */ +#ifndef GL_QCOM_perfmon_global_mode +#define GL_QCOM_perfmon_global_mode 0 +#endif + +/* GL_QCOM_writeonly_rendering */ +#ifndef GL_QCOM_writeonly_rendering +#define GL_QCOM_writeonly_rendering 0 +#endif + +/* GL_QCOM_tiled_rendering */ +#ifndef GL_QCOM_tiled_rendering +#define GL_QCOM_tiled_rendering 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); +GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); +#endif +typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); +typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); +#endif + +/*------------------------------------------------------------------------* + * BRCM extension functions + * TODO: these aren't official yet + *------------------------------------------------------------------------*/ +#ifndef GL_BRCM_side_by_side_stero_hint +#define GL_BRCM_side_by_side_stero_hint 1 +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __glext_h_ */ diff --git a/opt/vc/include/GLES/glplatform.h b/opt/vc/include/GLES/glplatform.h new file mode 100644 index 000000000..cad1905c8 --- /dev/null +++ b/opt/vc/include/GLES/glplatform.h @@ -0,0 +1,64 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef __glplatform_h_ +#define __glplatform_h_ + +/* $Revision: 10601 $ on $Date:: 2010-03-04 22:15:27 -0800 #$ */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This document is licensed under the SGI Free Software B License Version + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + */ + +/* Platform-specific types and definitions for OpenGL ES 1.X gl.h + * + * Adopters may modify khrplatform.h and this file to suit their platform. + * You are encouraged to submit all modifications to the Khronos group so that + * they can be included in future versions of this file. Please submit changes + * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) + * by filing a bug against product "OpenGL-ES" component "Registry". + */ + +#include "../KHR/khrplatform.h" + +#ifndef GL_API +#define GL_API KHRONOS_APICALL +#endif + +#ifndef GL_APIENTRY +#define GL_APIENTRY KHRONOS_APIENTRY +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __glplatform_h_ */ diff --git a/opt/vc/include/GLES2/gl2.h b/opt/vc/include/GLES2/gl2.h new file mode 100644 index 000000000..a14ed588e --- /dev/null +++ b/opt/vc/include/GLES2/gl2.h @@ -0,0 +1,649 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef __gl2_h_ +#define __gl2_h_ + +/* $Revision: 10602 $ on $Date:: 2010-03-05 06:35:34 +0000 #$ */ + +#include "gl2platform.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This document is licensed under the SGI Free Software B License Version + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + */ + +/*------------------------------------------------------------------------- + * Data type definitions + *-----------------------------------------------------------------------*/ + +#ifndef __gl_h_ +typedef void GLvoid; +typedef char GLchar; +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef khronos_int8_t GLbyte; +typedef short GLshort; +typedef int GLint; +typedef int GLsizei; +typedef khronos_uint8_t GLubyte; +typedef unsigned short GLushort; +typedef unsigned int GLuint; +typedef khronos_float_t GLfloat; +typedef khronos_float_t GLclampf; +typedef khronos_int32_t GLfixed; + +/* GL types for handling large vertex buffer objects */ +typedef khronos_intptr_t GLintptr; +typedef khronos_ssize_t GLsizeiptr; +#endif + +/* OpenGL ES core versions */ +#define GL_ES_VERSION_2_0 1 + +/* ClearBufferMask */ +#define GL_DEPTH_BUFFER_BIT 0x00000100 +#define GL_STENCIL_BUFFER_BIT 0x00000400 +#define GL_COLOR_BUFFER_BIT 0x00004000 + +/* Boolean */ +#define GL_FALSE (GLboolean)0 +#define GL_TRUE (GLboolean)1 + +/* BeginMode */ +#define GL_POINTS 0x0000 +#define GL_LINES 0x0001 +#define GL_LINE_LOOP 0x0002 +#define GL_LINE_STRIP 0x0003 +#define GL_TRIANGLES 0x0004 +#define GL_TRIANGLE_STRIP 0x0005 +#define GL_TRIANGLE_FAN 0x0006 + +/* AlphaFunction (not supported in ES20) */ +/* GL_NEVER */ +/* GL_LESS */ +/* GL_EQUAL */ +/* GL_LEQUAL */ +/* GL_GREATER */ +/* GL_NOTEQUAL */ +/* GL_GEQUAL */ +/* GL_ALWAYS */ + +/* BlendingFactorDest */ +#define GL_ZERO 0 +#define GL_ONE 1 +#define GL_SRC_COLOR 0x0300 +#define GL_ONE_MINUS_SRC_COLOR 0x0301 +#define GL_SRC_ALPHA 0x0302 +#define GL_ONE_MINUS_SRC_ALPHA 0x0303 +#define GL_DST_ALPHA 0x0304 +#define GL_ONE_MINUS_DST_ALPHA 0x0305 + +/* BlendingFactorSrc */ +/* GL_ZERO */ +/* GL_ONE */ +#define GL_DST_COLOR 0x0306 +#define GL_ONE_MINUS_DST_COLOR 0x0307 +#define GL_SRC_ALPHA_SATURATE 0x0308 +/* GL_SRC_ALPHA */ +/* GL_ONE_MINUS_SRC_ALPHA */ +/* GL_DST_ALPHA */ +/* GL_ONE_MINUS_DST_ALPHA */ + +/* BlendEquationSeparate */ +#define GL_FUNC_ADD 0x8006 +#define GL_BLEND_EQUATION 0x8009 +#define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */ +#define GL_BLEND_EQUATION_ALPHA 0x883D + +/* BlendSubtract */ +#define GL_FUNC_SUBTRACT 0x800A +#define GL_FUNC_REVERSE_SUBTRACT 0x800B + +/* Separate Blend Functions */ +#define GL_BLEND_DST_RGB 0x80C8 +#define GL_BLEND_SRC_RGB 0x80C9 +#define GL_BLEND_DST_ALPHA 0x80CA +#define GL_BLEND_SRC_ALPHA 0x80CB +#define GL_CONSTANT_COLOR 0x8001 +#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 +#define GL_CONSTANT_ALPHA 0x8003 +#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_BLEND_COLOR 0x8005 + +/* Buffer Objects */ +#define GL_ARRAY_BUFFER 0x8892 +#define GL_ELEMENT_ARRAY_BUFFER 0x8893 +#define GL_ARRAY_BUFFER_BINDING 0x8894 +#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 + +#define GL_STREAM_DRAW 0x88E0 +#define GL_STATIC_DRAW 0x88E4 +#define GL_DYNAMIC_DRAW 0x88E8 + +#define GL_BUFFER_SIZE 0x8764 +#define GL_BUFFER_USAGE 0x8765 + +#define GL_CURRENT_VERTEX_ATTRIB 0x8626 + +/* CullFaceMode */ +#define GL_FRONT 0x0404 +#define GL_BACK 0x0405 +#define GL_FRONT_AND_BACK 0x0408 + +/* DepthFunction */ +/* GL_NEVER */ +/* GL_LESS */ +/* GL_EQUAL */ +/* GL_LEQUAL */ +/* GL_GREATER */ +/* GL_NOTEQUAL */ +/* GL_GEQUAL */ +/* GL_ALWAYS */ + +/* EnableCap */ +#define GL_TEXTURE_2D 0x0DE1 +#define GL_CULL_FACE 0x0B44 +#define GL_BLEND 0x0BE2 +#define GL_DITHER 0x0BD0 +#define GL_STENCIL_TEST 0x0B90 +#define GL_DEPTH_TEST 0x0B71 +#define GL_SCISSOR_TEST 0x0C11 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E +#define GL_SAMPLE_COVERAGE 0x80A0 + +/* ErrorCode */ +#define GL_NO_ERROR 0 +#define GL_INVALID_ENUM 0x0500 +#define GL_INVALID_VALUE 0x0501 +#define GL_INVALID_OPERATION 0x0502 +#define GL_OUT_OF_MEMORY 0x0505 + +/* FrontFaceDirection */ +#define GL_CW 0x0900 +#define GL_CCW 0x0901 + +/* GetPName */ +#define GL_LINE_WIDTH 0x0B21 +#define GL_ALIASED_POINT_SIZE_RANGE 0x846D +#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E +#define GL_CULL_FACE_MODE 0x0B45 +#define GL_FRONT_FACE 0x0B46 +#define GL_DEPTH_RANGE 0x0B70 +#define GL_DEPTH_WRITEMASK 0x0B72 +#define GL_DEPTH_CLEAR_VALUE 0x0B73 +#define GL_DEPTH_FUNC 0x0B74 +#define GL_STENCIL_CLEAR_VALUE 0x0B91 +#define GL_STENCIL_FUNC 0x0B92 +#define GL_STENCIL_FAIL 0x0B94 +#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 +#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 +#define GL_STENCIL_REF 0x0B97 +#define GL_STENCIL_VALUE_MASK 0x0B93 +#define GL_STENCIL_WRITEMASK 0x0B98 +#define GL_STENCIL_BACK_FUNC 0x8800 +#define GL_STENCIL_BACK_FAIL 0x8801 +#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 +#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 +#define GL_STENCIL_BACK_REF 0x8CA3 +#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 +#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 +#define GL_VIEWPORT 0x0BA2 +#define GL_SCISSOR_BOX 0x0C10 +/* GL_SCISSOR_TEST */ +#define GL_COLOR_CLEAR_VALUE 0x0C22 +#define GL_COLOR_WRITEMASK 0x0C23 +#define GL_UNPACK_ALIGNMENT 0x0CF5 +#define GL_PACK_ALIGNMENT 0x0D05 +#define GL_MAX_TEXTURE_SIZE 0x0D33 +#define GL_MAX_VIEWPORT_DIMS 0x0D3A +#define GL_SUBPIXEL_BITS 0x0D50 +#define GL_RED_BITS 0x0D52 +#define GL_GREEN_BITS 0x0D53 +#define GL_BLUE_BITS 0x0D54 +#define GL_ALPHA_BITS 0x0D55 +#define GL_DEPTH_BITS 0x0D56 +#define GL_STENCIL_BITS 0x0D57 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +/* GL_POLYGON_OFFSET_FILL */ +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_SAMPLE_BUFFERS 0x80A8 +#define GL_SAMPLES 0x80A9 +#define GL_SAMPLE_COVERAGE_VALUE 0x80AA +#define GL_SAMPLE_COVERAGE_INVERT 0x80AB + +/* GetTextureParameter */ +/* GL_TEXTURE_MAG_FILTER */ +/* GL_TEXTURE_MIN_FILTER */ +/* GL_TEXTURE_WRAP_S */ +/* GL_TEXTURE_WRAP_T */ + +#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 +#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 + +/* HintMode */ +#define GL_DONT_CARE 0x1100 +#define GL_FASTEST 0x1101 +#define GL_NICEST 0x1102 + +/* HintTarget */ +#define GL_GENERATE_MIPMAP_HINT 0x8192 + +/* DataType */ +#define GL_BYTE 0x1400 +#define GL_UNSIGNED_BYTE 0x1401 +#define GL_SHORT 0x1402 +#define GL_UNSIGNED_SHORT 0x1403 +#define GL_INT 0x1404 +#define GL_UNSIGNED_INT 0x1405 +#define GL_FLOAT 0x1406 +#define GL_FIXED 0x140C + +/* PixelFormat */ +#define GL_DEPTH_COMPONENT 0x1902 +#define GL_ALPHA 0x1906 +#define GL_RGB 0x1907 +#define GL_RGBA 0x1908 +#define GL_LUMINANCE 0x1909 +#define GL_LUMINANCE_ALPHA 0x190A + +/* PixelType */ +/* GL_UNSIGNED_BYTE */ +#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 +#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 +#define GL_UNSIGNED_SHORT_5_6_5 0x8363 + +/* Shaders */ +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD +#define GL_SHADER_TYPE 0x8B4F +#define GL_DELETE_STATUS 0x8B80 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D + +/* StencilFunction */ +#define GL_NEVER 0x0200 +#define GL_LESS 0x0201 +#define GL_EQUAL 0x0202 +#define GL_LEQUAL 0x0203 +#define GL_GREATER 0x0204 +#define GL_NOTEQUAL 0x0205 +#define GL_GEQUAL 0x0206 +#define GL_ALWAYS 0x0207 + +/* StencilOp */ +/* GL_ZERO */ +#define GL_KEEP 0x1E00 +#define GL_REPLACE 0x1E01 +#define GL_INCR 0x1E02 +#define GL_DECR 0x1E03 +#define GL_INVERT 0x150A +#define GL_INCR_WRAP 0x8507 +#define GL_DECR_WRAP 0x8508 + +/* StringName */ +#define GL_VENDOR 0x1F00 +#define GL_RENDERER 0x1F01 +#define GL_VERSION 0x1F02 +#define GL_EXTENSIONS 0x1F03 + +/* TextureMagFilter */ +#define GL_NEAREST 0x2600 +#define GL_LINEAR 0x2601 + +/* TextureMinFilter */ +/* GL_NEAREST */ +/* GL_LINEAR */ +#define GL_NEAREST_MIPMAP_NEAREST 0x2700 +#define GL_LINEAR_MIPMAP_NEAREST 0x2701 +#define GL_NEAREST_MIPMAP_LINEAR 0x2702 +#define GL_LINEAR_MIPMAP_LINEAR 0x2703 + +/* TextureParameterName */ +#define GL_TEXTURE_MAG_FILTER 0x2800 +#define GL_TEXTURE_MIN_FILTER 0x2801 +#define GL_TEXTURE_WRAP_S 0x2802 +#define GL_TEXTURE_WRAP_T 0x2803 + +/* TextureTarget */ +/* GL_TEXTURE_2D */ +#define GL_TEXTURE 0x1702 + +#define GL_TEXTURE_CUBE_MAP 0x8513 +#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 +#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 +#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A +#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C + +/* TextureUnit */ +#define GL_TEXTURE0 0x84C0 +#define GL_TEXTURE1 0x84C1 +#define GL_TEXTURE2 0x84C2 +#define GL_TEXTURE3 0x84C3 +#define GL_TEXTURE4 0x84C4 +#define GL_TEXTURE5 0x84C5 +#define GL_TEXTURE6 0x84C6 +#define GL_TEXTURE7 0x84C7 +#define GL_TEXTURE8 0x84C8 +#define GL_TEXTURE9 0x84C9 +#define GL_TEXTURE10 0x84CA +#define GL_TEXTURE11 0x84CB +#define GL_TEXTURE12 0x84CC +#define GL_TEXTURE13 0x84CD +#define GL_TEXTURE14 0x84CE +#define GL_TEXTURE15 0x84CF +#define GL_TEXTURE16 0x84D0 +#define GL_TEXTURE17 0x84D1 +#define GL_TEXTURE18 0x84D2 +#define GL_TEXTURE19 0x84D3 +#define GL_TEXTURE20 0x84D4 +#define GL_TEXTURE21 0x84D5 +#define GL_TEXTURE22 0x84D6 +#define GL_TEXTURE23 0x84D7 +#define GL_TEXTURE24 0x84D8 +#define GL_TEXTURE25 0x84D9 +#define GL_TEXTURE26 0x84DA +#define GL_TEXTURE27 0x84DB +#define GL_TEXTURE28 0x84DC +#define GL_TEXTURE29 0x84DD +#define GL_TEXTURE30 0x84DE +#define GL_TEXTURE31 0x84DF +#define GL_ACTIVE_TEXTURE 0x84E0 + +/* TextureWrapMode */ +#define GL_REPEAT 0x2901 +#define GL_CLAMP_TO_EDGE 0x812F +#define GL_MIRRORED_REPEAT 0x8370 + +/* Uniform Types */ +#define GL_FLOAT_VEC2 0x8B50 +#define GL_FLOAT_VEC3 0x8B51 +#define GL_FLOAT_VEC4 0x8B52 +#define GL_INT_VEC2 0x8B53 +#define GL_INT_VEC3 0x8B54 +#define GL_INT_VEC4 0x8B55 +#define GL_BOOL 0x8B56 +#define GL_BOOL_VEC2 0x8B57 +#define GL_BOOL_VEC3 0x8B58 +#define GL_BOOL_VEC4 0x8B59 +#define GL_FLOAT_MAT2 0x8B5A +#define GL_FLOAT_MAT3 0x8B5B +#define GL_FLOAT_MAT4 0x8B5C +#define GL_SAMPLER_2D 0x8B5E +#define GL_SAMPLER_CUBE 0x8B60 + +/* Vertex Arrays */ +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F + +/* Read Format */ +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B + +/* Shader Source */ +#define GL_COMPILE_STATUS 0x8B81 +#define GL_INFO_LOG_LENGTH 0x8B84 +#define GL_SHADER_SOURCE_LENGTH 0x8B88 +#define GL_SHADER_COMPILER 0x8DFA + +/* Shader Binary */ +#define GL_SHADER_BINARY_FORMATS 0x8DF8 +#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 + +/* Shader Precision-Specified Types */ +#define GL_LOW_FLOAT 0x8DF0 +#define GL_MEDIUM_FLOAT 0x8DF1 +#define GL_HIGH_FLOAT 0x8DF2 +#define GL_LOW_INT 0x8DF3 +#define GL_MEDIUM_INT 0x8DF4 +#define GL_HIGH_INT 0x8DF5 + +/* Framebuffer Object. */ +#define GL_FRAMEBUFFER 0x8D40 +#define GL_RENDERBUFFER 0x8D41 + +#define GL_RGBA4 0x8056 +#define GL_RGB5_A1 0x8057 +#define GL_RGB565 0x8D62 +#define GL_DEPTH_COMPONENT16 0x81A5 +#define GL_STENCIL_INDEX 0x1901 +#define GL_STENCIL_INDEX8 0x8D48 + +#define GL_RENDERBUFFER_WIDTH 0x8D42 +#define GL_RENDERBUFFER_HEIGHT 0x8D43 +#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 +#define GL_RENDERBUFFER_RED_SIZE 0x8D50 +#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 +#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 +#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 +#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 +#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 + +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 + +#define GL_COLOR_ATTACHMENT0 0x8CE0 +#define GL_DEPTH_ATTACHMENT 0x8D00 +#define GL_STENCIL_ATTACHMENT 0x8D20 + +#define GL_NONE 0 + +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD + +#define GL_FRAMEBUFFER_BINDING 0x8CA6 +#define GL_RENDERBUFFER_BINDING 0x8CA7 +#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 + +#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 + +/*------------------------------------------------------------------------- + * GL core functions. + *-----------------------------------------------------------------------*/ + +GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); +GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); +GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); +GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); +GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); +GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); +GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); +GL_APICALL void GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +GL_APICALL void GL_APIENTRY glBlendEquation ( GLenum mode ); +GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); +GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); +GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); +GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); +GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); +GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); +GL_APICALL void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +GL_APICALL void GL_APIENTRY glClearDepthf (GLclampf depth); +GL_APICALL void GL_APIENTRY glClearStencil (GLint s); +GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); +GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); +GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); +GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); +GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); +GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); +GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers); +GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); +GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); +GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); +GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); +GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures); +GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); +GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); +GL_APICALL void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); +GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); +GL_APICALL void GL_APIENTRY glDisable (GLenum cap); +GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); +GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); +GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); +GL_APICALL void GL_APIENTRY glEnable (GLenum cap); +GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); +GL_APICALL void GL_APIENTRY glFinish (void); +GL_APICALL void GL_APIENTRY glFlush (void); +GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); +GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers); +GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); +GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers); +GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); +GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures); +GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); +GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); +GL_APICALL int GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name); +GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params); +GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); +GL_APICALL GLenum GL_APIENTRY glGetError (void); +GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params); +GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); +GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); +GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); +GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); +GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name); +GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); +GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params); +GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params); +GL_APICALL int GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name); +GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); +GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); +GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); +GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); +GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); +GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); +GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); +GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); +GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); +GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); +GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); +GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); +GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); +GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); +GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); +GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); +GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); +GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); +GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); +GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar** string, const GLint* length); +GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); +GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); +GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); +GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); +GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); +GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); +GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params); +GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x); +GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v); +GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x); +GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v); +GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y); +GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v); +GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y); +GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v); +GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); +GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v); +GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z); +GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v); +GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v); +GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); +GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v); +GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); +GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); +GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); +GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x); +GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values); +GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); +GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values); +GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); +GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values); +GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values); +GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); +GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); + +#ifdef __cplusplus +} +#endif + +#endif /* __gl2_h_ */ diff --git a/opt/vc/include/GLES2/gl2ext.h b/opt/vc/include/GLES2/gl2ext.h new file mode 100644 index 000000000..4eacf7fc6 --- /dev/null +++ b/opt/vc/include/GLES2/gl2ext.h @@ -0,0 +1,1218 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef __gl2ext_h_ +#define __gl2ext_h_ + +/* $Revision: 15049 $ on $Date:: 2011-07-07 01:28:16 +0100 #$ */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* We want this */ +#ifndef GL_GLEXT_PROTOTYPES +#define GL_GLEXT_PROTOTYPES +#endif + +/* + * This document is licensed under the SGI Free Software B License Version + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + */ + +#ifndef GL_APIENTRYP +# define GL_APIENTRYP GL_APIENTRY* +#endif + +/*------------------------------------------------------------------------* + * OES extension tokens + *------------------------------------------------------------------------*/ + +/* GL_OES_compressed_ETC1_RGB8_texture */ +#ifndef GL_OES_compressed_ETC1_RGB8_texture +#define GL_ETC1_RGB8_OES 0x8D64 +#endif + +/* GL_OES_compressed_paletted_texture */ +#ifndef GL_OES_compressed_paletted_texture +#define GL_PALETTE4_RGB8_OES 0x8B90 +#define GL_PALETTE4_RGBA8_OES 0x8B91 +#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 +#define GL_PALETTE4_RGBA4_OES 0x8B93 +#define GL_PALETTE4_RGB5_A1_OES 0x8B94 +#define GL_PALETTE8_RGB8_OES 0x8B95 +#define GL_PALETTE8_RGBA8_OES 0x8B96 +#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 +#define GL_PALETTE8_RGBA4_OES 0x8B98 +#define GL_PALETTE8_RGB5_A1_OES 0x8B99 +#endif + +/* GL_OES_depth24 */ +#ifndef GL_OES_depth24 +#define GL_DEPTH_COMPONENT24_OES 0x81A6 +#endif + +/* GL_OES_depth32 */ +#ifndef GL_OES_depth32 +#define GL_DEPTH_COMPONENT32_OES 0x81A7 +#endif + +/* GL_OES_depth_texture */ +/* No new tokens introduced by this extension. */ + +/* GL_OES_EGL_image */ +#ifndef GL_OES_EGL_image +typedef void* GLeglImageOES; +#endif + +/* GL_OES_EGL_image_external */ +#ifndef GL_OES_EGL_image_external +/* GLeglImageOES defined in GL_OES_EGL_image already. */ +#define GL_TEXTURE_EXTERNAL_OES 0x8D65 +#define GL_SAMPLER_EXTERNAL_OES 0x8D66 +#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 +#endif + +/* GL_OES_element_index_uint */ +#ifndef GL_OES_element_index_uint +#define GL_UNSIGNED_INT 0x1405 +#endif + +/* GL_OES_get_program_binary */ +#ifndef GL_OES_get_program_binary +#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE +#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF +#endif + +/* GL_OES_mapbuffer */ +#ifndef GL_OES_mapbuffer +#define GL_WRITE_ONLY_OES 0x88B9 +#define GL_BUFFER_ACCESS_OES 0x88BB +#define GL_BUFFER_MAPPED_OES 0x88BC +#define GL_BUFFER_MAP_POINTER_OES 0x88BD +#endif + +/* GL_OES_packed_depth_stencil */ +#ifndef GL_OES_packed_depth_stencil +#define GL_DEPTH_STENCIL_OES 0x84F9 +#define GL_UNSIGNED_INT_24_8_OES 0x84FA +#define GL_DEPTH24_STENCIL8_OES 0x88F0 +#endif + +/* GL_OES_rgb8_rgba8 */ +#ifndef GL_OES_rgb8_rgba8 +#define GL_RGB8_OES 0x8051 +#define GL_RGBA8_OES 0x8058 +#endif + +/* GL_OES_standard_derivatives */ +#ifndef GL_OES_standard_derivatives +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B +#endif + +/* GL_OES_stencil1 */ +#ifndef GL_OES_stencil1 +#define GL_STENCIL_INDEX1_OES 0x8D46 +#endif + +/* GL_OES_stencil4 */ +#ifndef GL_OES_stencil4 +#define GL_STENCIL_INDEX4_OES 0x8D47 +#endif + +/* GL_OES_texture_3D */ +#ifndef GL_OES_texture_3D +#define GL_TEXTURE_WRAP_R_OES 0x8072 +#define GL_TEXTURE_3D_OES 0x806F +#define GL_TEXTURE_BINDING_3D_OES 0x806A +#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 +#define GL_SAMPLER_3D_OES 0x8B5F +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 +#endif + +/* GL_OES_texture_float */ +/* No new tokens introduced by this extension. */ + +/* GL_OES_texture_float_linear */ +/* No new tokens introduced by this extension. */ + +/* GL_OES_texture_half_float */ +#ifndef GL_OES_texture_half_float +#define GL_HALF_FLOAT_OES 0x8D61 +#endif + +/* GL_OES_texture_half_float_linear */ +/* No new tokens introduced by this extension. */ + +/* GL_OES_texture_npot */ +/* No new tokens introduced by this extension. */ + +/* GL_OES_vertex_array_object */ +#ifndef GL_OES_vertex_array_object +#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 +#endif + +/* GL_OES_vertex_half_float */ +/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ + +/* GL_OES_vertex_type_10_10_10_2 */ +#ifndef GL_OES_vertex_type_10_10_10_2 +#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 +#define GL_INT_10_10_10_2_OES 0x8DF7 +#endif + +/*------------------------------------------------------------------------* + * AMD extension tokens + *------------------------------------------------------------------------*/ + +/* GL_AMD_compressed_3DC_texture */ +#ifndef GL_AMD_compressed_3DC_texture +#define GL_3DC_X_AMD 0x87F9 +#define GL_3DC_XY_AMD 0x87FA +#endif + +/* GL_AMD_compressed_ATC_texture */ +#ifndef GL_AMD_compressed_ATC_texture +#define GL_ATC_RGB_AMD 0x8C92 +#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 +#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE +#endif + +/* GL_AMD_performance_monitor */ +#ifndef GL_AMD_performance_monitor +#define GL_COUNTER_TYPE_AMD 0x8BC0 +#define GL_COUNTER_RANGE_AMD 0x8BC1 +#define GL_UNSIGNED_INT64_AMD 0x8BC2 +#define GL_PERCENTAGE_AMD 0x8BC3 +#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 +#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 +#define GL_PERFMON_RESULT_AMD 0x8BC6 +#endif + +/* GL_AMD_program_binary_Z400 */ +#ifndef GL_AMD_program_binary_Z400 +#define GL_Z400_BINARY_AMD 0x8740 +#endif + +/*------------------------------------------------------------------------* + * ANGLE extension tokens + *------------------------------------------------------------------------*/ + +/* GL_ANGLE_framebuffer_blit */ +#ifndef GL_ANGLE_framebuffer_blit +#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA +#endif + +/* GL_ANGLE_framebuffer_multisample */ +#ifndef GL_ANGLE_framebuffer_multisample +#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 +#define GL_MAX_SAMPLES_ANGLE 0x8D57 +#endif + +/*------------------------------------------------------------------------* + * APPLE extension tokens + *------------------------------------------------------------------------*/ + +/* GL_APPLE_rgb_422 */ +#ifndef GL_APPLE_rgb_422 +#define GL_RGB_422_APPLE 0x8A1F +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#endif + +/* GL_APPLE_framebuffer_multisample */ +#ifndef GL_APPLE_framebuffer_multisample +#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 +#define GL_MAX_SAMPLES_APPLE 0x8D57 +#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA +#endif + +/* GL_APPLE_texture_format_BGRA8888 */ +#ifndef GL_APPLE_texture_format_BGRA8888 +#define GL_BGRA_EXT 0x80E1 +#endif + +/* GL_APPLE_texture_max_level */ +#ifndef GL_APPLE_texture_max_level +#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D +#endif + +/*------------------------------------------------------------------------* + * ARM extension tokens + *------------------------------------------------------------------------*/ + +/* GL_ARM_mali_shader_binary */ +#ifndef GL_ARM_mali_shader_binary +#define GL_MALI_SHADER_BINARY_ARM 0x8F60 +#endif + +/* GL_ARM_rgba8 */ +/* No new tokens introduced by this extension. */ + +/*------------------------------------------------------------------------* + * EXT extension tokens + *------------------------------------------------------------------------*/ + +/* GL_EXT_blend_minmax */ +#ifndef GL_EXT_blend_minmax +#define GL_MIN_EXT 0x8007 +#define GL_MAX_EXT 0x8008 +#endif + +/* GL_EXT_discard_framebuffer */ +#ifndef GL_EXT_discard_framebuffer +#define GL_COLOR_EXT 0x1800 +#define GL_DEPTH_EXT 0x1801 +#define GL_STENCIL_EXT 0x1802 +#endif + +/* GL_EXT_multi_draw_arrays */ +/* No new tokens introduced by this extension. */ + +/* GL_EXT_read_format_bgra */ +#ifndef GL_EXT_read_format_bgra +#define GL_BGRA_EXT 0x80E1 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 +#endif + +/* GL_EXT_shader_texture_lod */ +/* No new tokens introduced by this extension. */ + +/* GL_EXT_texture_filter_anisotropic */ +#ifndef GL_EXT_texture_filter_anisotropic +#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF +#endif + +/* GL_EXT_texture_format_BGRA8888 */ +#ifndef GL_EXT_texture_format_BGRA8888 +#define GL_BGRA_EXT 0x80E1 +#endif + +#ifndef GL_texture_format_RGBX8888_BRCM +#define GL_RGBX_BRCM 0x80EE +#endif + +/* GL_EXT_texture_type_2_10_10_10_REV */ +#ifndef GL_EXT_texture_type_2_10_10_10_REV +#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 +#endif + +/* GL_EXT_texture_compression_dxt1 */ +#ifndef GL_EXT_texture_compression_dxt1 +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 +#endif + +/* GL_EXT_unpack_subimage */ +#ifndef GL_EXT_unpack_subimage +#define GL_UNPACK_ROW_LENGTH 0x0CF2 +#define GL_UNPACK_SKIP_ROWS 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS 0x0CF4 +#endif + +/*------------------------------------------------------------------------* + * DMP extension tokens + *------------------------------------------------------------------------*/ + +/* GL_DMP_shader_binary */ +#ifndef GL_DMP_shader_binary +#define GL_SHADER_BINARY_DMP 0x9250 +#endif + +/*------------------------------------------------------------------------* + * IMG extension tokens + *------------------------------------------------------------------------*/ + +/* GL_IMG_program_binary */ +#ifndef GL_IMG_program_binary +#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 +#endif + +/* GL_IMG_read_format */ +#ifndef GL_IMG_read_format +#define GL_BGRA_IMG 0x80E1 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 +#endif + +/* GL_IMG_shader_binary */ +#ifndef GL_IMG_shader_binary +#define GL_SGX_BINARY_IMG 0x8C0A +#endif + +/* GL_IMG_texture_compression_pvrtc */ +#ifndef GL_IMG_texture_compression_pvrtc +#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 +#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 +#endif + +/* GL_IMG_multisampled_render_to_texture */ +#ifndef GL_IMG_multisampled_render_to_texture +#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 +#define GL_MAX_SAMPLES_IMG 0x9135 +#define GL_TEXTURE_SAMPLES_IMG 0x9136 +#endif + +/*------------------------------------------------------------------------* + * NV extension tokens + *------------------------------------------------------------------------*/ + +/* GL_NV_coverage_sample */ +#ifndef GL_NV_coverage_sample +#define GL_COVERAGE_COMPONENT_NV 0x8ED0 +#define GL_COVERAGE_COMPONENT4_NV 0x8ED1 +#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 +#define GL_COVERAGE_BUFFERS_NV 0x8ED3 +#define GL_COVERAGE_SAMPLES_NV 0x8ED4 +#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 +#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 +#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 +#define GL_COVERAGE_BUFFER_BIT_NV 0x8000 +#endif + +/* GL_NV_depth_nonlinear */ +#ifndef GL_NV_depth_nonlinear +#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C +#endif + +/* GL_NV_draw_buffers */ +#ifndef GL_NV_draw_buffers +#define GL_MAX_DRAW_BUFFERS_NV 0x8824 +#define GL_DRAW_BUFFER0_NV 0x8825 +#define GL_DRAW_BUFFER1_NV 0x8826 +#define GL_DRAW_BUFFER2_NV 0x8827 +#define GL_DRAW_BUFFER3_NV 0x8828 +#define GL_DRAW_BUFFER4_NV 0x8829 +#define GL_DRAW_BUFFER5_NV 0x882A +#define GL_DRAW_BUFFER6_NV 0x882B +#define GL_DRAW_BUFFER7_NV 0x882C +#define GL_DRAW_BUFFER8_NV 0x882D +#define GL_DRAW_BUFFER9_NV 0x882E +#define GL_DRAW_BUFFER10_NV 0x882F +#define GL_DRAW_BUFFER11_NV 0x8830 +#define GL_DRAW_BUFFER12_NV 0x8831 +#define GL_DRAW_BUFFER13_NV 0x8832 +#define GL_DRAW_BUFFER14_NV 0x8833 +#define GL_DRAW_BUFFER15_NV 0x8834 +#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 +#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 +#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 +#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 +#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 +#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 +#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 +#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 +#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 +#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 +#define GL_COLOR_ATTACHMENT10_NV 0x8CEA +#define GL_COLOR_ATTACHMENT11_NV 0x8CEB +#define GL_COLOR_ATTACHMENT12_NV 0x8CEC +#define GL_COLOR_ATTACHMENT13_NV 0x8CED +#define GL_COLOR_ATTACHMENT14_NV 0x8CEE +#define GL_COLOR_ATTACHMENT15_NV 0x8CEF +#endif + +/* GL_NV_fbo_color_attachments */ +#ifndef GL_NV_fbo_color_attachments +#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF +/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ +#endif + +/* GL_NV_fence */ +#ifndef GL_NV_fence +#define GL_ALL_COMPLETED_NV 0x84F2 +#define GL_FENCE_STATUS_NV 0x84F3 +#define GL_FENCE_CONDITION_NV 0x84F4 +#endif + +/* GL_NV_read_buffer */ +#ifndef GL_NV_read_buffer +#define GL_READ_BUFFER_NV 0x0C02 +#endif + +/* GL_NV_read_buffer_front */ +/* No new tokens introduced by this extension. */ + +/* GL_NV_read_depth */ +/* No new tokens introduced by this extension. */ + +/* GL_NV_read_depth_stencil */ +/* No new tokens introduced by this extension. */ + +/* GL_NV_read_stencil */ +/* No new tokens introduced by this extension. */ + +/* GL_NV_texture_compression_s3tc_update */ +/* No new tokens introduced by this extension. */ + +/* GL_NV_texture_npot_2D_mipmap */ +/* No new tokens introduced by this extension. */ + +/*------------------------------------------------------------------------* + * QCOM extension tokens + *------------------------------------------------------------------------*/ + +/* GL_QCOM_alpha_test */ +#ifndef GL_QCOM_alpha_test +#define GL_ALPHA_TEST_QCOM 0x0BC0 +#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 +#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 +#endif + +/* GL_QCOM_driver_control */ +/* No new tokens introduced by this extension. */ + +/* GL_QCOM_extended_get */ +#ifndef GL_QCOM_extended_get +#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 +#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 +#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 +#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 +#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 +#define GL_TEXTURE_TYPE_QCOM 0x8BD7 +#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 +#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 +#define GL_TEXTURE_TARGET_QCOM 0x8BDA +#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB +#define GL_STATE_RESTORE 0x8BDC +#endif + +/* GL_QCOM_extended_get2 */ +/* No new tokens introduced by this extension. */ + +/* GL_QCOM_perfmon_global_mode */ +#ifndef GL_QCOM_perfmon_global_mode +#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 +#endif + +/* GL_QCOM_writeonly_rendering */ +#ifndef GL_QCOM_writeonly_rendering +#define GL_WRITEONLY_RENDERING_QCOM 0x8823 +#endif + +/* GL_QCOM_tiled_rendering */ +#ifndef GL_QCOM_tiled_rendering +#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 +#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 +#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 +#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 +#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 +#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 +#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 +#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 +#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 +#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 +#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 +#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 +#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 +#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 +#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 +#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 +#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 +#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 +#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 +#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 +#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 +#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 +#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 +#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 +#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 +#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 +#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 +#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 +#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 +#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 +#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 +#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 +#endif + +/*------------------------------------------------------------------------* + * VIV extension tokens + *------------------------------------------------------------------------*/ + +/* GL_VIV_shader_binary */ +#ifndef GL_VIV_shader_binary +#define GL_SHADER_BINARY_VIV 0x8FC4 +#endif + +/*------------------------------------------------------------------------* + * BRCM extension tokens + * TODO: these aren't official yet + *------------------------------------------------------------------------*/ +#ifndef GL_BRCM_side_by_side_stero_hint +#define GL_SIDE_BY_SIDE_STEREO_HINT_BRCM 0x8193 /* GET AN OFFICIAL ENUM */ +#endif + +/*------------------------------------------------------------------------* + * End of extension tokens, start of corresponding extension functions + *------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------* + * OES extension functions + *------------------------------------------------------------------------*/ + +/* GL_OES_compressed_ETC1_RGB8_texture */ +#ifndef GL_OES_compressed_ETC1_RGB8_texture +#define GL_OES_compressed_ETC1_RGB8_texture 1 +#endif + +/* GL_OES_compressed_paletted_texture */ +#ifndef GL_OES_compressed_paletted_texture +#define GL_OES_compressed_paletted_texture 1 +#endif + +/* GL_OES_depth24 */ +#ifndef GL_OES_depth24 +#define GL_OES_depth24 1 +#endif + +/* GL_OES_depth32 */ +#ifndef GL_OES_depth32 +#define GL_OES_depth32 0 +#endif + +/* GL_OES_depth_texture */ +#ifndef GL_OES_depth_texture +#define GL_OES_depth_texture 0 +#endif + +/* GL_OES_EGL_image */ +#ifndef GL_OES_EGL_image +#define GL_OES_EGL_image 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); +GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); +#endif +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); +#endif + +/* GL_OES_EGL_image_external */ +#ifndef GL_OES_EGL_image_external +#define GL_OES_EGL_image_external 1 +/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ +#endif + +/* GL_OES_element_index_uint */ +#ifndef GL_OES_element_index_uint +#define GL_OES_element_index_uint 0 +#endif + +/* GL_OES_fbo_render_mipmap */ +#ifndef GL_OES_fbo_render_mipmap +#define GL_OES_fbo_render_mipmap 0 +#endif + +/* GL_OES_fragment_precision_high */ +#ifndef GL_OES_fragment_precision_high +#define GL_OES_fragment_precision_high 0 +#endif + +/* GL_OES_get_program_binary */ +#ifndef GL_OES_get_program_binary +#define GL_OES_get_program_binary 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); +GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); +#endif +typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); +typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); +#endif + +/* GL_OES_mapbuffer */ +#ifndef GL_OES_mapbuffer +#define GL_OES_mapbuffer 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); +GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); +GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid** params); +#endif +typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); +typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); +typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid** params); +#endif + +/* GL_OES_packed_depth_stencil */ +#ifndef GL_OES_packed_depth_stencil +#define GL_OES_packed_depth_stencil 0 +#endif + +/* GL_OES_rgb8_rgba8 */ +#ifndef GL_OES_rgb8_rgba8 +#define GL_OES_rgb8_rgba8 0 +#endif + +/* GL_OES_standard_derivatives */ +#ifndef GL_OES_standard_derivatives +#define GL_OES_standard_derivatives 0 +#endif + +/* GL_OES_stencil1 */ +#ifndef GL_OES_stencil1 +#define GL_OES_stencil1 0 +#endif + +/* GL_OES_stencil4 */ +#ifndef GL_OES_stencil4 +#define GL_OES_stencil4 0 +#endif + +/* GL_OES_texture_3D */ +#ifndef GL_OES_texture_3D +#define GL_OES_texture_3D 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); +GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); +GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +#endif +typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); +typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); +typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +#endif + +/* GL_OES_texture_float */ +#ifndef GL_OES_texture_float +#define GL_OES_texture_float 0 +#endif + +/* GL_OES_texture_float_linear */ +#ifndef GL_OES_texture_float_linear +#define GL_OES_texture_float_linear 0 +#endif + +/* GL_OES_texture_half_float */ +#ifndef GL_OES_texture_half_float +#define GL_OES_texture_half_float 0 +#endif + +/* GL_OES_texture_half_float_linear */ +#ifndef GL_OES_texture_half_float_linear +#define GL_OES_texture_half_float_linear 0 +#endif + +/* GL_OES_texture_npot */ +#ifndef GL_OES_texture_npot +#define GL_OES_texture_npot 1 +#endif + +/* GL_OES_vertex_array_object */ +#ifndef GL_OES_vertex_array_object +#define GL_OES_vertex_array_object 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); +GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); +GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); +GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); +#endif +typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); +typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); +typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); +typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); +#endif + +/* GL_OES_vertex_half_float */ +#ifndef GL_OES_vertex_half_float +#define GL_OES_vertex_half_float 1 +#endif + +/* GL_OES_vertex_type_10_10_10_2 */ +#ifndef GL_OES_vertex_type_10_10_10_2 +#define GL_OES_vertex_type_10_10_10_2 0 +#endif + +/*------------------------------------------------------------------------* + * AMD extension functions + *------------------------------------------------------------------------*/ + +/* GL_AMD_compressed_3DC_texture */ +#ifndef GL_AMD_compressed_3DC_texture +#define GL_AMD_compressed_3DC_texture 0 +#endif + +/* GL_AMD_compressed_ATC_texture */ +#ifndef GL_AMD_compressed_ATC_texture +#define GL_AMD_compressed_ATC_texture 0 +#endif + +/* AMD_performance_monitor */ +#ifndef GL_AMD_performance_monitor +#define GL_AMD_performance_monitor 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); +GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); +GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); +GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); +GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); +GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); +GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); +GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); +#endif +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); +typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); +typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); +typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); +typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); +#endif + +/* GL_AMD_program_binary_Z400 */ +#ifndef GL_AMD_program_binary_Z400 +#define GL_AMD_program_binary_Z400 0 +#endif + +/*------------------------------------------------------------------------* + * ANGLE extension functions + *------------------------------------------------------------------------*/ + +/* GL_ANGLE_framebuffer_blit */ +#ifndef GL_ANGLE_framebuffer_blit +#define GL_ANGLE_framebuffer_blit 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +#endif +typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +#endif + +/* GL_ANGLE_framebuffer_multisample */ +#ifndef GL_ANGLE_framebuffer_multisample +#define GL_ANGLE_framebuffer_multisample 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +#endif +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +#endif + +/*------------------------------------------------------------------------* + * APPLE extension functions + *------------------------------------------------------------------------*/ + +/* GL_APPLE_rgb_422 */ +#ifndef GL_APPLE_rgb_422 +#define GL_APPLE_rgb_422 0 +#endif + +/* GL_APPLE_framebuffer_multisample */ +#ifndef GL_APPLE_framebuffer_multisample +#define GL_APPLE_framebuffer_multisample 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); +#endif + +/* GL_APPLE_texture_format_BGRA8888 */ +#ifndef GL_APPLE_texture_format_BGRA8888 +#define GL_APPLE_texture_format_BGRA8888 0 +#endif + +/* GL_APPLE_texture_max_level */ +#ifndef GL_APPLE_texture_max_level +#define GL_APPLE_texture_max_level 0 +#endif + +/*------------------------------------------------------------------------* + * ARM extension functions + *------------------------------------------------------------------------*/ + +/* GL_ARM_mali_shader_binary */ +#ifndef GL_ARM_mali_shader_binary +#define GL_ARM_mali_shader_binary 0 +#endif + +/* GL_ARM_rgba8 */ +#ifndef GL_ARM_rgba8 +#define GL_ARM_rgba8 0 +#endif + +/*------------------------------------------------------------------------* + * APPLE extension tokens + *------------------------------------------------------------------------*/ + +/* GL_APPLE_rgb_422 */ +#ifndef GL_APPLE_rgb_422 +#define GL_APPLE_rgb_422 1 +#define GL_RGB_422_APPLE 0x8A1F +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#endif + +/*------------------------------------------------------------------------* + * EXT extension functions + *------------------------------------------------------------------------*/ + +/* GL_EXT_blend_minmax */ +#ifndef GL_EXT_blend_minmax +#define GL_EXT_blend_minmax 0 +#endif + +/* GL_EXT_discard_framebuffer */ +#ifndef GL_EXT_discard_framebuffer +#define GL_EXT_discard_framebuffer 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); +#endif +typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); +#endif + +/* GL_EXT_debug_marker */ +#ifndef GL_EXT_debug_marker +#define GL_EXT_debug_marker 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); +GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); +GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); +#endif +typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); +typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); +typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); +#endif + +#ifndef GL_EXT_multi_draw_arrays +#define GL_EXT_multi_draw_arrays 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); +GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); +typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); +#endif + +/* GL_EXT_read_format_bgra */ +#ifndef GL_EXT_read_format_bgra +#define GL_EXT_read_format_bgra 0 +#endif + +/* GL_EXT_shader_texture_lod */ +#ifndef GL_EXT_shader_texture_lod +#define GL_EXT_shader_texture_lod 0 +#endif + +/* GL_EXT_texture_filter_anisotropic */ +#ifndef GL_EXT_texture_filter_anisotropic +#define GL_EXT_texture_filter_anisotropic 0 +#endif + +/* GL_EXT_texture_format_BGRA8888 */ +#ifndef GL_EXT_texture_format_BGRA8888 +#define GL_EXT_texture_format_BGRA8888 1 +#endif + +#ifndef GL_texture_format_RGBX8888_BRCM +#define GL_texture_format_RGBX8888_BRCM 1 +#endif + +/* GL_EXT_texture_type_2_10_10_10_REV */ +#ifndef GL_EXT_texture_type_2_10_10_10_REV +#define GL_EXT_texture_type_2_10_10_10_REV 0 +#endif + +/* GL_EXT_texture_compression_dxt1 */ +#ifndef GL_EXT_texture_compression_dxt1 +#define GL_EXT_texture_compression_dxt1 0 +#endif + +/* GL_EXT_unpack_subimage */ +#ifndef GL_EXT_unpack_subimage +#define GL_EXT_unpack_subimage 0 +#endif + +/*------------------------------------------------------------------------* + * DMP extension functions + *------------------------------------------------------------------------*/ + +/* GL_DMP_shader_binary */ +#ifndef GL_DMP_shader_binary +#define GL_DMP_shader_binary 0 +#endif + +/*------------------------------------------------------------------------* + * IMG extension functions + *------------------------------------------------------------------------*/ + +/* GL_IMG_program_binary */ +#ifndef GL_IMG_program_binary +#define GL_IMG_program_binary 0 +#endif + +/* GL_IMG_read_format */ +#ifndef GL_IMG_read_format +#define GL_IMG_read_format 0 +#endif + +/* GL_IMG_shader_binary */ +#ifndef GL_IMG_shader_binary +#define GL_IMG_shader_binary 0 +#endif + +/* GL_IMG_texture_compression_pvrtc */ +#ifndef GL_IMG_texture_compression_pvrtc +#define GL_IMG_texture_compression_pvrtc 0 +#endif + +/* GL_IMG_multisampled_render_to_texture */ +#ifndef GL_IMG_multisampled_render_to_texture +#define GL_IMG_multisampled_render_to_texture 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); +#endif +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); +#endif + +/*------------------------------------------------------------------------* + * NV extension functions + *------------------------------------------------------------------------*/ + +/* GL_NV_coverage_sample */ +#ifndef GL_NV_coverage_sample +#define GL_NV_coverage_sample 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); +GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); +#endif +typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); +typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); +#endif + +/* GL_NV_depth_nonlinear */ +#ifndef GL_NV_depth_nonlinear +#define GL_NV_depth_nonlinear 0 +#endif + +/* GL_NV_draw_buffers */ +#ifndef GL_NV_draw_buffers +#define GL_NV_draw_buffers 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); +#endif +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); +#endif + +/* GL_NV_fbo_color_attachments */ +#ifndef GL_NV_fbo_color_attachments +#define GL_NV_fbo_color_attachments 0 +#endif + +/* GL_NV_fence */ +#ifndef GL_NV_fence +#define GL_NV_fence 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); +GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); +GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint); +GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint); +GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); +GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint); +GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint, GLenum); +#endif +typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); +typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); +typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); +typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); +typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); +typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); +#endif + +/* GL_NV_read_buffer */ +#ifndef GL_NV_read_buffer +#define GL_NV_read_buffer 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); +#endif +typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); +#endif + +/* GL_NV_read_buffer_front */ +#ifndef GL_NV_read_buffer_front +#define GL_NV_read_buffer_front 0 +#endif + +/* GL_NV_read_depth */ +#ifndef GL_NV_read_depth +#define GL_NV_read_depth 0 +#endif + +/* GL_NV_read_depth_stencil */ +#ifndef GL_NV_read_depth_stencil +#define GL_NV_read_depth_stencil 0 +#endif + +/* GL_NV_read_stencil */ +#ifndef GL_NV_read_stencil +#define GL_NV_read_stencil 0 +#endif + +/* GL_NV_texture_compression_s3tc_update */ +#ifndef GL_NV_texture_compression_s3tc_update +#define GL_NV_texture_compression_s3tc_update 0 +#endif + +/* GL_NV_texture_npot_2D_mipmap */ +#ifndef GL_NV_texture_npot_2D_mipmap +#define GL_NV_texture_npot_2D_mipmap 0 +#endif + +/*------------------------------------------------------------------------* + * QCOM extension functions + *------------------------------------------------------------------------*/ + +/* GL_QCOM_alpha_test */ +#ifndef GL_QCOM_alpha_test +#define GL_QCOM_alpha_test 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); +#endif +typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); +#endif + +/* GL_QCOM_driver_control */ +#ifndef GL_QCOM_driver_control +#define GL_QCOM_driver_control 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); +GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); +GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); +GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); +#endif +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); +typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); +typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); +#endif + +/* GL_QCOM_extended_get */ +#ifndef GL_QCOM_extended_get +#define GL_QCOM_extended_get 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); +GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); +GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); +GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); +GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); +GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); +GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); +#endif +typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); +#endif + +/* GL_QCOM_extended_get2 */ +#ifndef GL_QCOM_extended_get2 +#define GL_QCOM_extended_get2 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); +GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); +GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); +GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); +#endif +typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); +typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); +#endif + +/* GL_QCOM_perfmon_global_mode */ +#ifndef GL_QCOM_perfmon_global_mode +#define GL_QCOM_perfmon_global_mode 0 +#endif + +/* GL_QCOM_writeonly_rendering */ +#ifndef GL_QCOM_writeonly_rendering +#define GL_QCOM_writeonly_rendering 0 +#endif + +/* GL_QCOM_tiled_rendering */ +#ifndef GL_QCOM_tiled_rendering +#define GL_QCOM_tiled_rendering 0 +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); +GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); +#endif +typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); +typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); +#endif + +/*------------------------------------------------------------------------* + * VIV extension tokens + *------------------------------------------------------------------------*/ + +/* GL_VIV_shader_binary */ +#ifndef GL_VIV_shader_binary +#define GL_VIV_shader_binary 0 +#endif + +/*------------------------------------------------------------------------* + * BRCM extension functions + * TODO: these aren't official yet + *------------------------------------------------------------------------*/ +#ifndef GL_BRCM_side_by_side_stero_hint +#define GL_BRCM_side_by_side_stero_hint 1 +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __gl2ext_h_ */ diff --git a/opt/vc/include/GLES2/gl2platform.h b/opt/vc/include/GLES2/gl2platform.h new file mode 100644 index 000000000..b4fe904c4 --- /dev/null +++ b/opt/vc/include/GLES2/gl2platform.h @@ -0,0 +1,64 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef __gl2platform_h_ +#define __gl2platform_h_ + +/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This document is licensed under the SGI Free Software B License Version + * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . + */ + +/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h + * + * Adopters may modify khrplatform.h and this file to suit their platform. + * You are encouraged to submit all modifications to the Khronos group so that + * they can be included in future versions of this file. Please submit changes + * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) + * by filing a bug against product "OpenGL-ES" component "Registry". + */ + +#include "../KHR/khrplatform.h" + +#ifndef GL_APICALL +#define GL_APICALL KHRONOS_APICALL +#endif + +#ifndef GL_APIENTRY +#define GL_APIENTRY KHRONOS_APIENTRY +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __gl2platform_h_ */ diff --git a/opt/vc/include/IL/OMX_Audio.h b/opt/vc/include/IL/OMX_Audio.h new file mode 100644 index 000000000..19580b21f --- /dev/null +++ b/opt/vc/include/IL/OMX_Audio.h @@ -0,0 +1,1384 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** @file OMX_Audio.h - OpenMax IL version 1.1.2 + * The structures needed by Audio components to exchange + * parameters and configuration data with the componenmilts. + */ + +#ifndef OMX_Audio_h +#define OMX_Audio_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_Core.h" + +/** @defgroup midi MIDI + * @ingroup audio + */ + +/** @defgroup effects Audio effects + * @ingroup audio + */ + +/** @defgroup audio OpenMAX IL Audio Domain + * Structures for OpenMAX IL Audio domain + * @{ + */ + +/** Enumeration used to define the possible audio codings. + * If "OMX_AUDIO_CodingUnused" is selected, the coding selection must + * be done in a vendor specific way. Since this is for an audio + * processing element this enum is relevant. However, for another + * type of component other enums would be in this area. + */ +typedef enum OMX_AUDIO_CODINGTYPE { + OMX_AUDIO_CodingUnused = 0, /**< Placeholder value when coding is N/A */ + OMX_AUDIO_CodingAutoDetect, /**< auto detection of audio format */ + OMX_AUDIO_CodingPCM, /**< Any variant of PCM coding */ + OMX_AUDIO_CodingADPCM, /**< Any variant of ADPCM encoded data */ + OMX_AUDIO_CodingAMR, /**< Any variant of AMR encoded data */ + OMX_AUDIO_CodingGSMFR, /**< Any variant of GSM fullrate (i.e. GSM610) */ + OMX_AUDIO_CodingGSMEFR, /**< Any variant of GSM Enhanced Fullrate encoded data*/ + OMX_AUDIO_CodingGSMHR, /**< Any variant of GSM Halfrate encoded data */ + OMX_AUDIO_CodingPDCFR, /**< Any variant of PDC Fullrate encoded data */ + OMX_AUDIO_CodingPDCEFR, /**< Any variant of PDC Enhanced Fullrate encoded data */ + OMX_AUDIO_CodingPDCHR, /**< Any variant of PDC Halfrate encoded data */ + OMX_AUDIO_CodingTDMAFR, /**< Any variant of TDMA Fullrate encoded data (TIA/EIA-136-420) */ + OMX_AUDIO_CodingTDMAEFR, /**< Any variant of TDMA Enhanced Fullrate encoded data (TIA/EIA-136-410) */ + OMX_AUDIO_CodingQCELP8, /**< Any variant of QCELP 8kbps encoded data */ + OMX_AUDIO_CodingQCELP13, /**< Any variant of QCELP 13kbps encoded data */ + OMX_AUDIO_CodingEVRC, /**< Any variant of EVRC encoded data */ + OMX_AUDIO_CodingSMV, /**< Any variant of SMV encoded data */ + OMX_AUDIO_CodingG711, /**< Any variant of G.711 encoded data */ + OMX_AUDIO_CodingG723, /**< Any variant of G.723 dot 1 encoded data */ + OMX_AUDIO_CodingG726, /**< Any variant of G.726 encoded data */ + OMX_AUDIO_CodingG729, /**< Any variant of G.729 encoded data */ + OMX_AUDIO_CodingAAC, /**< Any variant of AAC encoded data */ + OMX_AUDIO_CodingMP3, /**< Any variant of MP3 encoded data */ + OMX_AUDIO_CodingSBC, /**< Any variant of SBC encoded data */ + OMX_AUDIO_CodingVORBIS, /**< Any variant of VORBIS encoded data */ + OMX_AUDIO_CodingWMA, /**< Any variant of WMA encoded data */ + OMX_AUDIO_CodingRA, /**< Any variant of RA encoded data */ + OMX_AUDIO_CodingMIDI, /**< Any variant of MIDI encoded data */ + OMX_AUDIO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_AUDIO_CodingFLAC, /**< Any variant of FLAC */ + OMX_AUDIO_CodingDDP, /**< Any variant of Dolby Digital Plus */ + OMX_AUDIO_CodingDTS, /**< Any variant of DTS */ + OMX_AUDIO_CodingWMAPRO, /**< Any variant of WMA Professional */ + OMX_AUDIO_CodingATRAC3, /**< Sony ATRAC-3 variants */ + OMX_AUDIO_CodingATRACX, /**< Sony ATRAC-X variants */ + OMX_AUDIO_CodingATRACAAL, /**< Sony ATRAC advanced-lossless variants */ + + OMX_AUDIO_CodingMax = 0x7FFFFFFF +} OMX_AUDIO_CODINGTYPE; + + +/** The PortDefinition structure is used to define all of the parameters + * necessary for the compliant component to setup an input or an output audio + * path. If additional information is needed to define the parameters of the + * port (such as frequency), additional structures must be sent such as the + * OMX_AUDIO_PARAM_PCMMODETYPE structure to supply the extra parameters for the port. + */ +typedef struct OMX_AUDIO_PORTDEFINITIONTYPE { + OMX_STRING cMIMEType; /**< MIME type of data for the port */ + OMX_NATIVE_DEVICETYPE pNativeRender; /** < platform specific reference + for an output device, + otherwise this field is 0 */ + OMX_BOOL bFlagErrorConcealment; /**< Turns on error concealment if it is + supported by the OMX component */ + OMX_AUDIO_CODINGTYPE eEncoding; /**< Type of data expected for this + port (e.g. PCM, AMR, MP3, etc) */ +} OMX_AUDIO_PORTDEFINITIONTYPE; + + +/** Port format parameter. This structure is used to enumerate + * the various data input/output format supported by the port. + */ +typedef struct OMX_AUDIO_PARAM_PORTFORMATTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Indicates which port to set */ + OMX_U32 nIndex; /**< Indicates the enumeration index for the format from 0x0 to N-1 */ + OMX_AUDIO_CODINGTYPE eEncoding; /**< Type of data expected for this port (e.g. PCM, AMR, MP3, etc) */ +} OMX_AUDIO_PARAM_PORTFORMATTYPE; + + +/** PCM mode type */ +typedef enum OMX_AUDIO_PCMMODETYPE { + OMX_AUDIO_PCMModeLinear = 0, /**< Linear PCM encoded data */ + OMX_AUDIO_PCMModeALaw, /**< A law PCM encoded data (G.711) */ + OMX_AUDIO_PCMModeMULaw, /**< Mu law PCM encoded data (G.711) */ + OMX_AUDIO_PCMModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_PCMModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_PCMModeMax = 0x7FFFFFFF +} OMX_AUDIO_PCMMODETYPE; + + +typedef enum OMX_AUDIO_CHANNELTYPE { + OMX_AUDIO_ChannelNone = 0x0, /**< Unused or empty */ + OMX_AUDIO_ChannelLF = 0x1, /**< Left front */ + OMX_AUDIO_ChannelRF = 0x2, /**< Right front */ + OMX_AUDIO_ChannelCF = 0x3, /**< Center front */ + OMX_AUDIO_ChannelLS = 0x4, /**< Left surround */ + OMX_AUDIO_ChannelRS = 0x5, /**< Right surround */ + OMX_AUDIO_ChannelLFE = 0x6, /**< Low frequency effects */ + OMX_AUDIO_ChannelCS = 0x7, /**< Back surround */ + OMX_AUDIO_ChannelLR = 0x8, /**< Left rear. */ + OMX_AUDIO_ChannelRR = 0x9, /**< Right rear. */ + OMX_AUDIO_ChannelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_ChannelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_ChannelMax = 0x7FFFFFFF +} OMX_AUDIO_CHANNELTYPE; + +#define OMX_AUDIO_MAXCHANNELS 16 /**< maximum number distinct audio channels that a buffer may contain */ +#define OMX_MIN_PCMPAYLOAD_MSEC 5 /**< Minimum audio buffer payload size for uncompressed (PCM) audio */ + +/** PCM format description */ +typedef struct OMX_AUDIO_PARAM_PCMMODETYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels (e.g. 2 for stereo) */ + OMX_NUMERICALDATATYPE eNumData; /**< indicates PCM data as signed or unsigned */ + OMX_ENDIANTYPE eEndian; /**< indicates PCM data as little or big endian */ + OMX_BOOL bInterleaved; /**< True for normal interleaved data; false for + non-interleaved data (e.g. block data) */ + OMX_U32 nBitPerSample; /**< Bit per sample */ + OMX_U32 nSamplingRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_AUDIO_PCMMODETYPE ePCMMode; /**< PCM mode enumeration */ + OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS]; /**< Slot i contains channel defined by eChannelMap[i] */ + +} OMX_AUDIO_PARAM_PCMMODETYPE; + + +/** Audio channel mode. This is used by both AAC and MP3, although the names are more appropriate + * for the MP3. For example, JointStereo for MP3 is CouplingChannels for AAC. + */ +typedef enum OMX_AUDIO_CHANNELMODETYPE { + OMX_AUDIO_ChannelModeStereo = 0, /**< 2 channels, the bitrate allocation between those + two channels changes accordingly to each channel information */ + OMX_AUDIO_ChannelModeJointStereo, /**< mode that takes advantage of what is common between + 2 channels for higher compression gain */ + OMX_AUDIO_ChannelModeDual, /**< 2 mono-channels, each channel is encoded with half + the bitrate of the overall bitrate */ + OMX_AUDIO_ChannelModeMono, /**< Mono channel mode */ + OMX_AUDIO_ChannelModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_ChannelModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_ChannelModeMax = 0x7FFFFFFF +} OMX_AUDIO_CHANNELMODETYPE; + + +typedef enum OMX_AUDIO_MP3STREAMFORMATTYPE { + OMX_AUDIO_MP3StreamFormatMP1Layer3 = 0, /**< MP3 Audio MPEG 1 Layer 3 Stream format */ + OMX_AUDIO_MP3StreamFormatMP2Layer3, /**< MP3 Audio MPEG 2 Layer 3 Stream format */ + OMX_AUDIO_MP3StreamFormatMP2_5Layer3, /**< MP3 Audio MPEG2.5 Layer 3 Stream format */ + OMX_AUDIO_MP3StreamFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MP3StreamFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MP3StreamFormatMax = 0x7FFFFFFF +} OMX_AUDIO_MP3STREAMFORMATTYPE; + +/** MP3 params */ +typedef struct OMX_AUDIO_PARAM_MP3TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should + limit the audio signal. Use 0 to let encoder decide */ + OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ + OMX_AUDIO_MP3STREAMFORMATTYPE eFormat; /**< MP3 stream format */ +} OMX_AUDIO_PARAM_MP3TYPE; + +typedef enum OMX_AUDIO_DDPBITSTREAMID { + OMX_AUDIO_DDPBitStreamIdAC3 = 8, + OMX_AUDIO_DDPBitStreamIdEAC3 = 16, + OMX_AUDIO_DDPBitStreamIdKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_DDPBitStreamIdVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_DDPBitStreamIdMax = 0x7FFFFFFF +} OMX_AUDIO_DDPBITSTREAMID; + +typedef enum OMX_AUDIO_DDPBITSTREAMMODE { + OMX_AUDIO_DDPBitStreamModeCM = 0, /**< DDP any main audio service: complete main (CM) */ + OMX_AUDIO_DDPBitStreamModeME, /**< DDP any main audio service: music and effects (ME) */ + OMX_AUDIO_DDPBitStreamModeVI, /**< DDP any associated service: visually impaired (VI) */ + OMX_AUDIO_DDPBitStreamModeHI, /**< DDP any associated service: hearing impaired (HI) */ + OMX_AUDIO_DDPBitStreamModeD, /**< DDP any associated service: dialogue (D) */ + OMX_AUDIO_DDPBitStreamModeC, /**< DDP any associated service: commentary (C) */ + OMX_AUDIO_DDPBitStreamModeE, /**< DDP any associated service: emergency (E) */ + OMX_AUDIO_DDPBitStreamModeVO, /**< DDP associated service: voice over (VO) */ + OMX_AUDIO_DDPBitStreamModeK, /**< DDP main audio service: karaoke */ + OMX_AUDIO_DDPBitStreamModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_DDPBitStreamModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_DDPBitStreamModeMax = 0x7FFFFFFF +} OMX_AUDIO_DDPBITSTREAMMODE; + +typedef enum OMX_AUDIO_DDPDOLBYSURROUNDMODE { + OMX_AUDIO_DDPDolbySurroundModeNotIndicated = 0, /**< Not indicated */ + OMX_AUDIO_DDPDolbySurroundModeNotDolbySurround, /**< Not Dolby Surround */ + OMX_AUDIO_DDPDolbySurroundModeDolbySurroundEncoded, /**< Dolby Surround encoded */ + OMX_AUDIO_DDPDolbySurroundModeReserverd, /**< Reserved */ + OMX_AUDIO_DDPDolbySurroundModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_DDPDolbySurroundModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_DDPDolbySurroundModeMax = 0x7FFFFFFF +} OMX_AUDIO_DDPDOLBYSURROUNDMODE; + +/** DDP params */ +typedef struct OMX_AUDIO_PARAM_DDPTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_AUDIO_DDPBITSTREAMID eBitStreamId; + OMX_AUDIO_DDPBITSTREAMMODE eBitStreamMode; + OMX_AUDIO_DDPDOLBYSURROUNDMODE eDolbySurroundMode; + OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS]; /**< Slot i contains channel defined by eChannelMapping[i] */ +} OMX_AUDIO_PARAM_DDPTYPE; + +/** DTS params */ +typedef struct OMX_AUDIO_PARAM_DTSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nDtsType; /** DTS type 1, 2, or 3. */ + OMX_U32 nFormat; /** DTS stream is either big/little endian and 16/14 bit packing */ + OMX_U32 nDtsFrameSizeBytes; /** DTS frame size in bytes */ + OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS]; /**< Slot i contains channel defined by eChannelMapping[i] */ +} OMX_AUDIO_PARAM_DTSTYPE; + +typedef enum OMX_AUDIO_AACSTREAMFORMATTYPE { + OMX_AUDIO_AACStreamFormatMP2ADTS = 0, /**< AAC Audio Data Transport Stream 2 format */ + OMX_AUDIO_AACStreamFormatMP4ADTS, /**< AAC Audio Data Transport Stream 4 format */ + OMX_AUDIO_AACStreamFormatMP4LOAS, /**< AAC Low Overhead Audio Stream format */ + OMX_AUDIO_AACStreamFormatMP4LATM, /**< AAC Low overhead Audio Transport Multiplex */ + OMX_AUDIO_AACStreamFormatADIF, /**< AAC Audio Data Interchange Format */ + OMX_AUDIO_AACStreamFormatMP4FF, /**< AAC inside MPEG-4/ISO File Format */ + OMX_AUDIO_AACStreamFormatRAW, /**< AAC Raw Format */ + OMX_AUDIO_AACStreamFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AACStreamFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AACStreamFormatMax = 0x7FFFFFFF +} OMX_AUDIO_AACSTREAMFORMATTYPE; + + +/** AAC mode type. Note that the term profile is used with the MPEG-2 + * standard and the term object type and profile is used with MPEG-4 */ +typedef enum OMX_AUDIO_AACPROFILETYPE{ + OMX_AUDIO_AACObjectNull = 0, /**< Null, not used */ + OMX_AUDIO_AACObjectMain = 1, /**< AAC Main object */ + OMX_AUDIO_AACObjectLC, /**< AAC Low Complexity object (AAC profile) */ + OMX_AUDIO_AACObjectSSR, /**< AAC Scalable Sample Rate object */ + OMX_AUDIO_AACObjectLTP, /**< AAC Long Term Prediction object */ + OMX_AUDIO_AACObjectHE, /**< AAC High Efficiency (object type SBR, HE-AAC profile) */ + OMX_AUDIO_AACObjectScalable, /**< AAC Scalable object */ + OMX_AUDIO_AACObjectERLC = 17, /**< ER AAC Low Complexity object (Error Resilient AAC-LC) */ + OMX_AUDIO_AACObjectLD = 23, /**< AAC Low Delay object (Error Resilient) */ + OMX_AUDIO_AACObjectHE_PS = 29, /**< AAC High Efficiency with Parametric Stereo coding (HE-AAC v2, object type PS) */ + OMX_AUDIO_AACObjectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AACObjectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AACObjectMax = 0x7FFFFFFF +} OMX_AUDIO_AACPROFILETYPE; + + +/** AAC tool usage (for nAACtools in OMX_AUDIO_PARAM_AACPROFILETYPE). + * Required for encoder configuration and optional as decoder info output. + * For MP3, OMX_AUDIO_CHANNELMODETYPE is sufficient. */ +#define OMX_AUDIO_AACToolNone 0x00000000 /**< no AAC tools allowed (encoder config) or active (decoder info output) */ +#define OMX_AUDIO_AACToolMS 0x00000001 /**< MS: Mid/side joint coding tool allowed or active */ +#define OMX_AUDIO_AACToolIS 0x00000002 /**< IS: Intensity stereo tool allowed or active */ +#define OMX_AUDIO_AACToolTNS 0x00000004 /**< TNS: Temporal Noise Shaping tool allowed or active */ +#define OMX_AUDIO_AACToolPNS 0x00000008 /**< PNS: MPEG-4 Perceptual Noise substitution tool allowed or active */ +#define OMX_AUDIO_AACToolLTP 0x00000010 /**< LTP: MPEG-4 Long Term Prediction tool allowed or active */ +#define OMX_AUDIO_AACToolAll 0x7FFFFFFF /**< all AAC tools allowed or active (*/ + +/** MPEG-4 AAC error resilience (ER) tool usage (for nAACERtools in OMX_AUDIO_PARAM_AACPROFILETYPE). + * Required for ER encoder configuration and optional as decoder info output */ +#define OMX_AUDIO_AACERNone 0x00000000 /**< no AAC ER tools allowed/used */ +#define OMX_AUDIO_AACERVCB11 0x00000001 /**< VCB11: Virtual Code Books for AAC section data */ +#define OMX_AUDIO_AACERRVLC 0x00000002 /**< RVLC: Reversible Variable Length Coding */ +#define OMX_AUDIO_AACERHCR 0x00000004 /**< HCR: Huffman Codeword Reordering */ +#define OMX_AUDIO_AACERAll 0x7FFFFFFF /**< all AAC ER tools allowed/used */ + + +/** AAC params */ +typedef struct OMX_AUDIO_PARAM_AACPROFILETYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should + limit the audio signal. Use 0 to let encoder decide */ + OMX_U32 nFrameLength; /**< Frame length (in audio samples per channel) of the codec. + Can be 1024 or 960 (AAC-LC), 2048 (HE-AAC), 480 or 512 (AAC-LD). + Use 0 to let encoder decide */ + OMX_U32 nAACtools; /**< AAC tool usage */ + OMX_U32 nAACERtools; /**< MPEG-4 AAC error resilience tool usage */ + OMX_AUDIO_AACPROFILETYPE eAACProfile; /**< AAC profile enumeration */ + OMX_AUDIO_AACSTREAMFORMATTYPE eAACStreamFormat; /**< AAC stream format enumeration */ + OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ +} OMX_AUDIO_PARAM_AACPROFILETYPE; + + +/** VORBIS params */ +typedef struct OMX_AUDIO_PARAM_VORBISTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the encoded data data. Use 0 for variable + rate or unknown bit rates. Encoding is set to the + bitrate closest to specified value (in bps) */ + OMX_U32 nMinBitRate; /**< Sets minimum bitrate (in bps). */ + OMX_U32 nMaxBitRate; /**< Sets maximum bitrate (in bps). */ + + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should + limit the audio signal. Use 0 to let encoder decide */ + OMX_S32 nQuality; /**< Sets encoding quality to n, between -1 (low) and 10 (high). + In the default mode of operation, teh quality level is 3. + Normal quality range is 0 - 10. */ + OMX_BOOL bManaged; /**< Set bitrate management mode. This turns off the + normal VBR encoding, but allows hard or soft bitrate + constraints to be enforced by the encoder. This mode can + be slower, and may also be lower quality. It is + primarily useful for streaming. */ + OMX_BOOL bDownmix; /**< Downmix input from stereo to mono (has no effect on + non-stereo streams). Useful for lower-bitrate encoding. */ +} OMX_AUDIO_PARAM_VORBISTYPE; + + +/** WMA Version */ +typedef enum OMX_AUDIO_WMAFORMATTYPE { + OMX_AUDIO_WMAFormatUnused = 0, /**< format unused or unknown */ + OMX_AUDIO_WMAFormat7, /**< Windows Media Audio format 7 */ + OMX_AUDIO_WMAFormat8, /**< Windows Media Audio format 8 */ + OMX_AUDIO_WMAFormat9, /**< Windows Media Audio format 9 */ + OMX_AUDIO_WMAFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_WMAFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_WMAFormatMax = 0x7FFFFFFF +} OMX_AUDIO_WMAFORMATTYPE; + + +/** WMA Profile */ +typedef enum OMX_AUDIO_WMAPROFILETYPE { + OMX_AUDIO_WMAProfileUnused = 0, /**< profile unused or unknown */ + OMX_AUDIO_WMAProfileL1, /**< Windows Media audio version 9 profile L1 */ + OMX_AUDIO_WMAProfileL2, /**< Windows Media audio version 9 profile L2 */ + OMX_AUDIO_WMAProfileL3, /**< Windows Media audio version 9 profile L3 */ + OMX_AUDIO_WMAProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_WMAProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_WMAProfileMax = 0x7FFFFFFF +} OMX_AUDIO_WMAPROFILETYPE; + + +/** WMA params */ +typedef struct OMX_AUDIO_PARAM_WMATYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U16 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_AUDIO_WMAFORMATTYPE eFormat; /**< Version of WMA stream / data */ + OMX_AUDIO_WMAPROFILETYPE eProfile; /**< Profile of WMA stream / data */ + OMX_U32 nSamplingRate; /**< Sampling rate of the source data */ + OMX_U16 nBlockAlign; /**< is the block alignment, or block size, in bytes of the audio codec */ + OMX_U16 nEncodeOptions; /**< WMA Type-specific data */ + OMX_U32 nSuperBlockAlign; /**< WMA Type-specific data */ +} OMX_AUDIO_PARAM_WMATYPE; + +/** + * RealAudio format + */ +typedef enum OMX_AUDIO_RAFORMATTYPE { + OMX_AUDIO_RAFormatUnused = 0, /**< Format unused or unknown */ + OMX_AUDIO_RA8, /**< RealAudio 8 codec */ + OMX_AUDIO_RA9, /**< RealAudio 9 codec */ + OMX_AUDIO_RA10_AAC, /**< MPEG-4 AAC codec for bitrates of more than 128kbps */ + OMX_AUDIO_RA10_CODEC, /**< RealAudio codec for bitrates less than 128 kbps */ + OMX_AUDIO_RA10_LOSSLESS, /**< RealAudio Lossless */ + OMX_AUDIO_RA10_MULTICHANNEL, /**< RealAudio Multichannel */ + OMX_AUDIO_RA10_VOICE, /**< RealAudio Voice for bitrates below 15 kbps */ + OMX_AUDIO_RAFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_RAFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_RAFormatMax = 0x7FFFFFFF +} OMX_AUDIO_RAFORMATTYPE; + +/** RA (Real Audio) params */ +typedef struct OMX_AUDIO_PARAM_RATYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nSamplingRate; /**< is the sampling rate of the source data */ + OMX_U32 nBitsPerFrame; /**< is the value for bits per frame */ + OMX_U32 nSamplePerFrame; /**< is the value for samples per frame */ + OMX_U32 nCouplingQuantBits; /**< is the number of coupling quantization bits in the stream */ + OMX_U32 nCouplingStartRegion; /**< is the coupling start region in the stream */ + OMX_U32 nNumRegions; /**< is the number of regions value */ + OMX_AUDIO_RAFORMATTYPE eFormat; /**< is the RealAudio audio format */ +} OMX_AUDIO_PARAM_RATYPE; + + +/** SBC Allocation Method Type */ +typedef enum OMX_AUDIO_SBCALLOCMETHODTYPE { + OMX_AUDIO_SBCAllocMethodLoudness, /**< Loudness allocation method */ + OMX_AUDIO_SBCAllocMethodSNR, /**< SNR allocation method */ + OMX_AUDIO_SBCAllocMethodKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_SBCAllocMethodVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_SBCAllocMethodMax = 0x7FFFFFFF +} OMX_AUDIO_SBCALLOCMETHODTYPE; + + +/** SBC params */ +typedef struct OMX_AUDIO_PARAM_SBCTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nBlocks; /**< Number of blocks */ + OMX_U32 nSubbands; /**< Number of subbands */ + OMX_U32 nBitPool; /**< Bitpool value */ + OMX_BOOL bEnableBitrate; /**< Use bitrate value instead of bitpool */ + OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ + OMX_AUDIO_SBCALLOCMETHODTYPE eSBCAllocType; /**< SBC Allocation method type */ +} OMX_AUDIO_PARAM_SBCTYPE; + + +/** ADPCM stream format parameters */ +typedef struct OMX_AUDIO_PARAM_ADPCMTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_U32 nBitsPerSample; /**< Number of bits in each sample */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ +} OMX_AUDIO_PARAM_ADPCMTYPE; + + +/** G723 rate */ +typedef enum OMX_AUDIO_G723RATE { + OMX_AUDIO_G723ModeUnused = 0, /**< AMRNB Mode unused / unknown */ + OMX_AUDIO_G723ModeLow, /**< 5300 bps */ + OMX_AUDIO_G723ModeHigh, /**< 6300 bps */ + OMX_AUDIO_G723ModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_G723ModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_G723ModeMax = 0x7FFFFFFF +} OMX_AUDIO_G723RATE; + + +/** G723 - Sample rate must be 8 KHz */ +typedef struct OMX_AUDIO_PARAM_G723TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_AUDIO_G723RATE eBitRate; /**< todo: Should this be moved to a config? */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ + OMX_BOOL bPostFilter; /**< Enable Post Filter */ +} OMX_AUDIO_PARAM_G723TYPE; + + +/** ITU G726 (ADPCM) rate */ +typedef enum OMX_AUDIO_G726MODE { + OMX_AUDIO_G726ModeUnused = 0, /**< G726 Mode unused / unknown */ + OMX_AUDIO_G726Mode16, /**< 16 kbps */ + OMX_AUDIO_G726Mode24, /**< 24 kbps */ + OMX_AUDIO_G726Mode32, /**< 32 kbps, most common rate, also G721 */ + OMX_AUDIO_G726Mode40, /**< 40 kbps */ + OMX_AUDIO_G726ModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_G726ModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_G726ModeMax = 0x7FFFFFFF +} OMX_AUDIO_G726MODE; + + +/** G.726 stream format parameters - must be at 8KHz */ +typedef struct OMX_AUDIO_PARAM_G726TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_AUDIO_G726MODE eG726Mode; +} OMX_AUDIO_PARAM_G726TYPE; + + +/** G729 coder type */ +typedef enum OMX_AUDIO_G729TYPE { + OMX_AUDIO_G729 = 0, /**< ITU G.729 encoded data */ + OMX_AUDIO_G729A, /**< ITU G.729 annex A encoded data */ + OMX_AUDIO_G729B, /**< ITU G.729 with annex B encoded data */ + OMX_AUDIO_G729AB, /**< ITU G.729 annexes A and B encoded data */ + OMX_AUDIO_G729KhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_G729VendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_G729Max = 0x7FFFFFFF +} OMX_AUDIO_G729TYPE; + + +/** G729 stream format parameters - fixed 6KHz sample rate */ +typedef struct OMX_AUDIO_PARAM_G729TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_AUDIO_G729TYPE eBitType; +} OMX_AUDIO_PARAM_G729TYPE; + + +/** AMR Frame format */ +typedef enum OMX_AUDIO_AMRFRAMEFORMATTYPE { + OMX_AUDIO_AMRFrameFormatConformance = 0, /**< Frame Format is AMR Conformance + (Standard) Format */ + OMX_AUDIO_AMRFrameFormatIF1, /**< Frame Format is AMR Interface + Format 1 */ + OMX_AUDIO_AMRFrameFormatIF2, /**< Frame Format is AMR Interface + Format 2*/ + OMX_AUDIO_AMRFrameFormatFSF, /**< Frame Format is AMR File Storage + Format */ + OMX_AUDIO_AMRFrameFormatRTPPayload, /**< Frame Format is AMR Real-Time + Transport Protocol Payload Format */ + OMX_AUDIO_AMRFrameFormatITU, /**< Frame Format is ITU Format (added at Motorola request) */ + OMX_AUDIO_AMRFrameFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AMRFrameFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AMRFrameFormatMax = 0x7FFFFFFF +} OMX_AUDIO_AMRFRAMEFORMATTYPE; + + +/** AMR band mode */ +typedef enum OMX_AUDIO_AMRBANDMODETYPE { + OMX_AUDIO_AMRBandModeUnused = 0, /**< AMRNB Mode unused / unknown */ + OMX_AUDIO_AMRBandModeNB0, /**< AMRNB Mode 0 = 4750 bps */ + OMX_AUDIO_AMRBandModeNB1, /**< AMRNB Mode 1 = 5150 bps */ + OMX_AUDIO_AMRBandModeNB2, /**< AMRNB Mode 2 = 5900 bps */ + OMX_AUDIO_AMRBandModeNB3, /**< AMRNB Mode 3 = 6700 bps */ + OMX_AUDIO_AMRBandModeNB4, /**< AMRNB Mode 4 = 7400 bps */ + OMX_AUDIO_AMRBandModeNB5, /**< AMRNB Mode 5 = 7950 bps */ + OMX_AUDIO_AMRBandModeNB6, /**< AMRNB Mode 6 = 10200 bps */ + OMX_AUDIO_AMRBandModeNB7, /**< AMRNB Mode 7 = 12200 bps */ + OMX_AUDIO_AMRBandModeWB0, /**< AMRWB Mode 0 = 6600 bps */ + OMX_AUDIO_AMRBandModeWB1, /**< AMRWB Mode 1 = 8850 bps */ + OMX_AUDIO_AMRBandModeWB2, /**< AMRWB Mode 2 = 12650 bps */ + OMX_AUDIO_AMRBandModeWB3, /**< AMRWB Mode 3 = 14250 bps */ + OMX_AUDIO_AMRBandModeWB4, /**< AMRWB Mode 4 = 15850 bps */ + OMX_AUDIO_AMRBandModeWB5, /**< AMRWB Mode 5 = 18250 bps */ + OMX_AUDIO_AMRBandModeWB6, /**< AMRWB Mode 6 = 19850 bps */ + OMX_AUDIO_AMRBandModeWB7, /**< AMRWB Mode 7 = 23050 bps */ + OMX_AUDIO_AMRBandModeWB8, /**< AMRWB Mode 8 = 23850 bps */ + OMX_AUDIO_AMRBandModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AMRBandModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AMRBandModeMax = 0x7FFFFFFF +} OMX_AUDIO_AMRBANDMODETYPE; + + +/** AMR Discontinuous Transmission mode */ +typedef enum OMX_AUDIO_AMRDTXMODETYPE { + OMX_AUDIO_AMRDTXModeOff = 0, /**< AMR Discontinuous Transmission Mode is disabled */ + OMX_AUDIO_AMRDTXModeOnVAD1, /**< AMR Discontinuous Transmission Mode using + Voice Activity Detector 1 (VAD1) is enabled */ + OMX_AUDIO_AMRDTXModeOnVAD2, /**< AMR Discontinuous Transmission Mode using + Voice Activity Detector 2 (VAD2) is enabled */ + OMX_AUDIO_AMRDTXModeOnAuto, /**< The codec will automatically select between + Off, VAD1 or VAD2 modes */ + + OMX_AUDIO_AMRDTXasEFR, /**< DTX as EFR instead of AMR standard (3GPP 26.101, frame type =8,9,10) */ + + OMX_AUDIO_AMRDTXModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AMRDTXModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AMRDTXModeMax = 0x7FFFFFFF +} OMX_AUDIO_AMRDTXMODETYPE; + + +/** AMR params */ +typedef struct OMX_AUDIO_PARAM_AMRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate read only field */ + OMX_AUDIO_AMRBANDMODETYPE eAMRBandMode; /**< AMR Band Mode enumeration */ + OMX_AUDIO_AMRDTXMODETYPE eAMRDTXMode; /**< AMR DTX Mode enumeration */ + OMX_AUDIO_AMRFRAMEFORMATTYPE eAMRFrameFormat; /**< AMR frame format enumeration */ +} OMX_AUDIO_PARAM_AMRTYPE; + + +/** GSM_FR (ETSI 06.10, 3GPP 46.010) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_GSMFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_GSMFRTYPE; + + +/** GSM-HR (ETSI 06.20, 3GPP 46.020) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_GSMHRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_GSMHRTYPE; + + +/** GSM-EFR (ETSI 06.60, 3GPP 46.060) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_GSMEFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_GSMEFRTYPE; + + +/** TDMA FR (TIA/EIA-136-420, VSELP 7.95kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_TDMAFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_TDMAFRTYPE; + + +/** TDMA EFR (TIA/EIA-136-410, ACELP 7.4kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_TDMAEFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_TDMAEFRTYPE; + + +/** PDC FR ( RCR-27, VSELP 6.7kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_PDCFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_PDCFRTYPE; + + +/** PDC EFR ( RCR-27, ACELP 6.7kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_PDCEFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_PDCEFRTYPE; + +/** PDC HR ( RCR-27, PSI-CELP 3.45kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_PDCHRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_PDCHRTYPE; + + +/** CDMA Rate types */ +typedef enum OMX_AUDIO_CDMARATETYPE { + OMX_AUDIO_CDMARateBlank = 0, /**< CDMA encoded frame is blank */ + OMX_AUDIO_CDMARateFull, /**< CDMA encoded frame in full rate */ + OMX_AUDIO_CDMARateHalf, /**< CDMA encoded frame in half rate */ + OMX_AUDIO_CDMARateQuarter, /**< CDMA encoded frame in quarter rate */ + OMX_AUDIO_CDMARateEighth, /**< CDMA encoded frame in eighth rate (DTX)*/ + OMX_AUDIO_CDMARateErasure, /**< CDMA erasure frame */ + OMX_AUDIO_CDMARateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_CDMARateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_CDMARateMax = 0x7FFFFFFF +} OMX_AUDIO_CDMARATETYPE; + + +/** QCELP8 (TIA/EIA-96, up to 8kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_QCELP8TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ + OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ + OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ +} OMX_AUDIO_PARAM_QCELP8TYPE; + + +/** QCELP13 ( CDMA, EIA/TIA-733, 13.3kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_QCELP13TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ + OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ + OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ +} OMX_AUDIO_PARAM_QCELP13TYPE; + + +/** EVRC ( CDMA, EIA/TIA-127, RCELP up to 8.55kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_EVRCTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_AUDIO_CDMARATETYPE eCDMARate; /**< actual Frame rate */ + OMX_BOOL bRATE_REDUCon; /**< RATE_REDUCtion is requested for this frame */ + OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ + OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ + OMX_BOOL bHiPassFilter; /**< Enable encoder's High Pass Filter */ + OMX_BOOL bNoiseSuppressor; /**< Enable encoder's noise suppressor pre-processing */ + OMX_BOOL bPostFilter; /**< Enable decoder's post Filter */ +} OMX_AUDIO_PARAM_EVRCTYPE; + + +/** SMV ( up to 8.55kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_SMVTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ + OMX_BOOL bRATE_REDUCon; /**< RATE_REDUCtion is requested for this frame */ + OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 ??*/ + OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 ??*/ + OMX_BOOL bHiPassFilter; /**< Enable encoder's High Pass Filter ??*/ + OMX_BOOL bNoiseSuppressor; /**< Enable encoder's noise suppressor pre-processing */ + OMX_BOOL bPostFilter; /**< Enable decoder's post Filter ??*/ +} OMX_AUDIO_PARAM_SMVTYPE; + + +/** MIDI Format + * @ingroup midi + */ +typedef enum OMX_AUDIO_MIDIFORMATTYPE +{ + OMX_AUDIO_MIDIFormatUnknown = 0, /**< MIDI Format unknown or don't care */ + OMX_AUDIO_MIDIFormatSMF0, /**< Standard MIDI File Type 0 */ + OMX_AUDIO_MIDIFormatSMF1, /**< Standard MIDI File Type 1 */ + OMX_AUDIO_MIDIFormatSMF2, /**< Standard MIDI File Type 2 */ + OMX_AUDIO_MIDIFormatSPMIDI, /**< SP-MIDI */ + OMX_AUDIO_MIDIFormatXMF0, /**< eXtensible Music Format type 0 */ + OMX_AUDIO_MIDIFormatXMF1, /**< eXtensible Music Format type 1 */ + OMX_AUDIO_MIDIFormatMobileXMF, /**< Mobile XMF (eXtensible Music Format type 2) */ + OMX_AUDIO_MIDIFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MIDIFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MIDIFormatMax = 0x7FFFFFFF +} OMX_AUDIO_MIDIFORMATTYPE; + + +/** MIDI params + * @ingroup midi + */ +typedef struct OMX_AUDIO_PARAM_MIDITYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nFileSize; /**< size of the MIDI file in bytes, where the entire + MIDI file passed in, otherwise if 0x0, the MIDI data + is merged and streamed (instead of passed as an + entire MIDI file) */ + OMX_BU32 sMaxPolyphony; /**< Specifies the maximum simultaneous polyphonic + voices. A value of zero indicates that the default + polyphony of the device is used */ + OMX_BOOL bLoadDefaultSound; /**< Whether to load default sound + bank at initialization */ + OMX_AUDIO_MIDIFORMATTYPE eMidiFormat; /**< Version of the MIDI file */ +} OMX_AUDIO_PARAM_MIDITYPE; + + +/** Type of the MIDI sound bank + * @ingroup midi + */ +typedef enum OMX_AUDIO_MIDISOUNDBANKTYPE { + OMX_AUDIO_MIDISoundBankUnused = 0, /**< unused/unknown soundbank type */ + OMX_AUDIO_MIDISoundBankDLS1, /**< DLS version 1 */ + OMX_AUDIO_MIDISoundBankDLS2, /**< DLS version 2 */ + OMX_AUDIO_MIDISoundBankMobileDLSBase, /**< Mobile DLS, using the base functionality */ + OMX_AUDIO_MIDISoundBankMobileDLSPlusOptions, /**< Mobile DLS, using the specification-defined optional feature set */ + OMX_AUDIO_MIDISoundBankKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MIDISoundBankVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MIDISoundBankMax = 0x7FFFFFFF +} OMX_AUDIO_MIDISOUNDBANKTYPE; + + +/** Bank Layout describes how bank MSB & LSB are used in the DLS instrument definitions sound bank + * @ingroup midi + */ +typedef enum OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE { + OMX_AUDIO_MIDISoundBankLayoutUnused = 0, /**< unused/unknown soundbank type */ + OMX_AUDIO_MIDISoundBankLayoutGM, /**< GS layout (based on bank MSB 0x00) */ + OMX_AUDIO_MIDISoundBankLayoutGM2, /**< General MIDI 2 layout (using MSB 0x78/0x79, LSB 0x00) */ + OMX_AUDIO_MIDISoundBankLayoutUser, /**< Does not conform to any bank numbering standards */ + OMX_AUDIO_MIDISoundBankLayoutKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MIDISoundBankLayoutVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MIDISoundBankLayoutMax = 0x7FFFFFFF +} OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE; + + +/** MIDI params to load/unload user soundbank + * @ingroup midi + */ +typedef struct OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nDLSIndex; /**< DLS file index to be loaded */ + OMX_U32 nDLSSize; /**< Size in bytes */ + OMX_PTR pDLSData; /**< Pointer to DLS file data */ + OMX_AUDIO_MIDISOUNDBANKTYPE eMidiSoundBank; /**< Midi sound bank type enumeration */ + OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE eMidiSoundBankLayout; /**< Midi sound bank layout enumeration */ +} OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE; + + +/** Structure for Live MIDI events and MIP messages. + * (MIP = Maximum Instantaneous Polyphony; part of the SP-MIDI standard.) + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U32 nMidiEventSize; /**< Size of immediate MIDI events or MIP message in bytes */ + OMX_U8 nMidiEvents[1]; /**< MIDI event array to be rendered immediately, or an + array for the MIP message buffer, where the size is + indicated by nMidiEventSize */ +} OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE; + + +/** MIDI sound bank/ program pair in a given channel + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U32 nChannel; /**< Valid channel values range from 1 to 16 */ + OMX_U16 nIDProgram; /**< Valid program ID range is 1 to 128 */ + OMX_U16 nIDSoundBank; /**< Sound bank ID */ + OMX_U32 nUserSoundBankIndex;/**< User soundbank index, easier to access soundbanks + by index if multiple banks are present */ +} OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE; + + +/** MIDI control + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDICONTROLTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BS32 sPitchTransposition; /**< Pitch transposition in semitones, stored as Q22.10 + format based on JAVA MMAPI (JSR-135) requirement */ + OMX_BU32 sPlayBackRate; /**< Relative playback rate, stored as Q14.17 fixed-point + number based on JSR-135 requirement */ + OMX_BU32 sTempo ; /**< Tempo in beats per minute (BPM), stored as Q22.10 + fixed-point number based on JSR-135 requirement */ + OMX_U32 nMaxPolyphony; /**< Specifies the maximum simultaneous polyphonic + voices. A value of zero indicates that the default + polyphony of the device is used */ + OMX_U32 nNumRepeat; /**< Number of times to repeat playback */ + OMX_U32 nStopTime; /**< Time in milliseconds to indicate when playback + will stop automatically. Set to zero if not used */ + OMX_U16 nChannelMuteMask; /**< 16 bit mask for channel mute status */ + OMX_U16 nChannelSoloMask; /**< 16 bit mask for channel solo status */ + OMX_U32 nTrack0031MuteMask; /**< 32 bit mask for track mute status. Note: This is for tracks 0-31 */ + OMX_U32 nTrack3263MuteMask; /**< 32 bit mask for track mute status. Note: This is for tracks 32-63 */ + OMX_U32 nTrack0031SoloMask; /**< 32 bit mask for track solo status. Note: This is for tracks 0-31 */ + OMX_U32 nTrack3263SoloMask; /**< 32 bit mask for track solo status. Note: This is for tracks 32-63 */ + +} OMX_AUDIO_CONFIG_MIDICONTROLTYPE; + + +/** MIDI Playback States + * @ingroup midi + */ +typedef enum OMX_AUDIO_MIDIPLAYBACKSTATETYPE { + OMX_AUDIO_MIDIPlayBackStateUnknown = 0, /**< Unknown state or state does not map to + other defined states */ + OMX_AUDIO_MIDIPlayBackStateClosedEngaged, /**< No MIDI resource is currently open. + The MIDI engine is currently processing + MIDI events. */ + OMX_AUDIO_MIDIPlayBackStateParsing, /**< A MIDI resource is open and is being + primed. The MIDI engine is currently + processing MIDI events. */ + OMX_AUDIO_MIDIPlayBackStateOpenEngaged, /**< A MIDI resource is open and primed but + not playing. The MIDI engine is currently + processing MIDI events. The transition to + this state is only possible from the + OMX_AUDIO_MIDIPlayBackStatePlaying state, + when the 'playback head' reaches the end + of media data or the playback stops due + to stop time set.*/ + OMX_AUDIO_MIDIPlayBackStatePlaying, /**< A MIDI resource is open and currently + playing. The MIDI engine is currently + processing MIDI events.*/ + OMX_AUDIO_MIDIPlayBackStatePlayingPartially, /**< Best-effort playback due to SP-MIDI/DLS + resource constraints */ + OMX_AUDIO_MIDIPlayBackStatePlayingSilently, /**< Due to system resource constraints and + SP-MIDI content constraints, there is + no audible MIDI content during playback + currently. The situation may change if + resources are freed later.*/ + OMX_AUDIO_MIDIPlayBackStateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MIDIPlayBackStateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MIDIPlayBackStateMax = 0x7FFFFFFF +} OMX_AUDIO_MIDIPLAYBACKSTATETYPE; + + +/** MIDI status + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDISTATUSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U16 nNumTracks; /**< Number of MIDI tracks in the file, read only field. + NOTE: May not return a meaningful value until the entire + file is parsed and buffered. */ + OMX_U32 nDuration; /**< The length of the currently open MIDI resource + in milliseconds. NOTE: May not return a meaningful value + until the entire file is parsed and buffered. */ + OMX_U32 nPosition; /**< Current Position of the MIDI resource being played + in milliseconds */ + OMX_BOOL bVibra; /**< Does Vibra track exist? NOTE: May not return a meaningful + value until the entire file is parsed and buffered. */ + OMX_U32 nNumMetaEvents; /**< Total number of MIDI Meta Events in the currently + open MIDI resource. NOTE: May not return a meaningful value + until the entire file is parsed and buffered. */ + OMX_U32 nNumActiveVoices; /**< Number of active voices in the currently playing + MIDI resource. NOTE: May not return a meaningful value until + the entire file is parsed and buffered. */ + OMX_AUDIO_MIDIPLAYBACKSTATETYPE eMIDIPlayBackState; /**< MIDI playback state enumeration, read only field */ +} OMX_AUDIO_CONFIG_MIDISTATUSTYPE; + + +/** MIDI Meta Event structure one per Meta Event. + * MIDI Meta Events are like audio metadata, except that they are interspersed + * with the MIDI content throughout the file and are not localized in the header. + * As such, it is necessary to retrieve information about these Meta Events from + * the engine, as it encounters these Meta Events within the MIDI content. + * For example, SMF files can have up to 14 types of MIDI Meta Events (copyright, + * author, default tempo, etc.) scattered throughout the file. + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE{ + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nIndex; /**< Index of Meta Event */ + OMX_U8 nMetaEventType; /**< Meta Event Type, 7bits (i.e. 0 - 127) */ + OMX_U32 nMetaEventSize; /**< size of the Meta Event in bytes */ + OMX_U32 nTrack; /**< track number for the meta event */ + OMX_U32 nPosition; /**< Position of the meta-event in milliseconds */ +} OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE; + + +/** MIDI Meta Event Data structure - one per Meta Event. + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTDATATYPE{ + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nIndex; /**< Index of Meta Event */ + OMX_U32 nMetaEventSize; /**< size of the Meta Event in bytes */ + OMX_U8 nData[1]; /**< array of one or more bytes of meta data + as indicated by the nMetaEventSize field */ +} OMX_AUDIO_CONFIG__MIDIMETAEVENTDATATYPE; + + +/** Audio Volume adjustment for a port */ +typedef struct OMX_AUDIO_CONFIG_VOLUMETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port index indicating which port to + set. Select the input port to set + just that port's volume. Select the + output port to adjust the master + volume. */ + OMX_BOOL bLinear; /**< Is the volume to be set in linear (0.100) + or logarithmic scale (mB) */ + OMX_BS32 sVolume; /**< Volume linear setting in the 0..100 range, OR + Volume logarithmic setting for this port. The values + for volume are in mB (millibels = 1/100 dB) relative + to a gain of 1 (e.g. the output is the same as the + input level). Values are in mB from nMax + (maximum volume) to nMin mB (typically negative). + Since the volume is "voltage" + and not a "power", it takes a setting of + -600 mB to decrease the volume by 1/2. If + a component cannot accurately set the + volume to the requested value, it must + set the volume to the closest value BELOW + the requested value. When getting the + volume setting, the current actual volume + must be returned. */ +} OMX_AUDIO_CONFIG_VOLUMETYPE; + + +/** Audio Volume adjustment for a channel */ +typedef struct OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port index indicating which port to + set. Select the input port to set + just that port's volume. Select the + output port to adjust the master + volume. */ + OMX_U32 nChannel; /**< channel to select from 0 to N-1, + using OMX_ALL to apply volume settings + to all channels */ + OMX_BOOL bLinear; /**< Is the volume to be set in linear (0.100) or + logarithmic scale (mB) */ + OMX_BS32 sVolume; /**< Volume linear setting in the 0..100 range, OR + Volume logarithmic setting for this port. + The values for volume are in mB + (millibels = 1/100 dB) relative to a gain + of 1 (e.g. the output is the same as the + input level). Values are in mB from nMax + (maximum volume) to nMin mB (typically negative). + Since the volume is "voltage" + and not a "power", it takes a setting of + -600 mB to decrease the volume by 1/2. If + a component cannot accurately set the + volume to the requested value, it must + set the volume to the closest value BELOW + the requested value. When getting the + volume setting, the current actual volume + must be returned. */ + OMX_BOOL bIsMIDI; /**< TRUE if nChannel refers to a MIDI channel, + FALSE otherwise */ +} OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE; + + +/** Audio balance setting */ +typedef struct OMX_AUDIO_CONFIG_BALANCETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port index indicating which port to + set. Select the input port to set + just that port's balance. Select the + output port to adjust the master + balance. */ + OMX_S32 nBalance; /**< balance setting for this port + (-100 to 100, where -100 indicates + all left, and no right */ +} OMX_AUDIO_CONFIG_BALANCETYPE; + + +/** Audio Port mute */ +typedef struct OMX_AUDIO_CONFIG_MUTETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port index indicating which port to + set. Select the input port to set + just that port's mute. Select the + output port to adjust the master + mute. */ + OMX_BOOL bMute; /**< Mute setting for this port */ +} OMX_AUDIO_CONFIG_MUTETYPE; + + +/** Audio Channel mute */ +typedef struct OMX_AUDIO_CONFIG_CHANNELMUTETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannel; /**< channel to select from 0 to N-1, + using OMX_ALL to apply mute settings + to all channels */ + OMX_BOOL bMute; /**< Mute setting for this channel */ + OMX_BOOL bIsMIDI; /**< TRUE if nChannel refers to a MIDI channel, + FALSE otherwise */ +} OMX_AUDIO_CONFIG_CHANNELMUTETYPE; + + + +/** Enable / Disable for loudness control, which boosts bass and to a + * smaller extent high end frequencies to compensate for hearing + * ability at the extreme ends of the audio spectrum + */ +typedef struct OMX_AUDIO_CONFIG_LOUDNESSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bLoudness; /**< Enable/disable for loudness */ +} OMX_AUDIO_CONFIG_LOUDNESSTYPE; + + +/** Enable / Disable for bass, which controls low frequencies + */ +typedef struct OMX_AUDIO_CONFIG_BASSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for bass control */ + OMX_S32 nBass; /**< bass setting for the port, as a + continuous value from -100 to 100 + (0 means no change in bass level)*/ +} OMX_AUDIO_CONFIG_BASSTYPE; + + +/** Enable / Disable for treble, which controls high frequencies tones + */ +typedef struct OMX_AUDIO_CONFIG_TREBLETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for treble control */ + OMX_S32 nTreble; /**< treble setting for the port, as a + continuous value from -100 to 100 + (0 means no change in treble level) */ +} OMX_AUDIO_CONFIG_TREBLETYPE; + + +/** An equalizer is typically used for two reasons: to compensate for an + * sub-optimal frequency response of a system to make it sound more natural + * or to create intentionally some unnatural coloring to the sound to create + * an effect. + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_EQUALIZERTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for equalizer */ + OMX_BU32 sBandIndex; /**< Band number to be set. Upper Limit is + N-1, where N is the number of bands, lower limit is 0 */ + OMX_BU32 sCenterFreq; /**< Center frequecies in Hz. This is a + read only element and is used to determine + the lower, center and upper frequency of + this band. */ + OMX_BS32 sBandLevel; /**< band level in millibels */ +} OMX_AUDIO_CONFIG_EQUALIZERTYPE; + + +/** Stereo widening mode type + * @ingroup effects + */ +typedef enum OMX_AUDIO_STEREOWIDENINGTYPE { + OMX_AUDIO_StereoWideningHeadphones, /**< Stereo widening for loudspeakers */ + OMX_AUDIO_StereoWideningLoudspeakers, /**< Stereo widening for closely spaced loudspeakers */ + OMX_AUDIO_StereoWideningKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_StereoWideningVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_StereoWideningMax = 0x7FFFFFFF +} OMX_AUDIO_STEREOWIDENINGTYPE; + + +/** Control for stereo widening, which is a special 2-channel + * case of the audio virtualizer effect. For example, for 5.1-channel + * output, it translates to virtual surround sound. + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for stereo widening control */ + OMX_AUDIO_STEREOWIDENINGTYPE eWideningType; /**< Stereo widening algorithm type */ + OMX_U32 nStereoWidening; /**< stereo widening setting for the port, + as a continuous value from 0 to 100 */ +} OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE; + + +/** The chorus effect (or ``choralizer'') is any signal processor which makes + * one sound source (such as a voice) sound like many such sources singing + * (or playing) in unison. Since performance in unison is never exact, chorus + * effects simulate this by making independently modified copies of the input + * signal. Modifications may include (1) delay, (2) frequency shift, and + * (3) amplitude modulation. + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_CHORUSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for chorus */ + OMX_BU32 sDelay; /**< average delay in milliseconds */ + OMX_BU32 sModulationRate; /**< rate of modulation in millihertz */ + OMX_U32 nModulationDepth; /**< depth of modulation as a percentage of + delay (i.e. 0 to 100) */ + OMX_BU32 nFeedback; /**< Feedback from chorus output to input in percentage */ +} OMX_AUDIO_CONFIG_CHORUSTYPE; + + +/** Reverberation is part of the reflected sound that follows the early + * reflections. In a typical room, this consists of a dense succession of + * echoes whose energy decays exponentially. The reverberation effect structure + * as defined here includes both (early) reflections as well as (late) reverberations. + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_REVERBERATIONTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for reverberation control */ + OMX_BS32 sRoomLevel; /**< Intensity level for the whole room effect + (i.e. both early reflections and late + reverberation) in millibels */ + OMX_BS32 sRoomHighFreqLevel; /**< Attenuation at high frequencies + relative to the intensity at low + frequencies in millibels */ + OMX_BS32 sReflectionsLevel; /**< Intensity level of early reflections + (relative to room value), in millibels */ + OMX_BU32 sReflectionsDelay; /**< Delay time of the first reflection relative + to the direct path, in milliseconds */ + OMX_BS32 sReverbLevel; /**< Intensity level of late reverberation + relative to room level, in millibels */ + OMX_BU32 sReverbDelay; /**< Time delay from the first early reflection + to the beginning of the late reverberation + section, in milliseconds */ + OMX_BU32 sDecayTime; /**< Late reverberation decay time at low + frequencies, in milliseconds */ + OMX_BU32 nDecayHighFreqRatio; /**< Ratio of high frequency decay time relative + to low frequency decay time in percent */ + OMX_U32 nDensity; /**< Modal density in the late reverberation decay, + in percent (i.e. 0 - 100) */ + OMX_U32 nDiffusion; /**< Echo density in the late reverberation decay, + in percent (i.e. 0 - 100) */ + OMX_BU32 sReferenceHighFreq; /**< Reference high frequency in Hertz. This is + the frequency used as the reference for all + the high-frequency settings above */ + +} OMX_AUDIO_CONFIG_REVERBERATIONTYPE; + + +/** Possible settings for the Echo Cancelation structure to use + * @ingroup effects + */ +typedef enum OMX_AUDIO_ECHOCANTYPE { + OMX_AUDIO_EchoCanOff = 0, /**< Echo Cancellation is disabled */ + OMX_AUDIO_EchoCanNormal, /**< Echo Cancellation normal operation - + echo from plastics and face */ + OMX_AUDIO_EchoCanHFree, /**< Echo Cancellation optimized for + Hands Free operation */ + OMX_AUDIO_EchoCanCarKit, /**< Echo Cancellation optimized for + Car Kit (longer echo) */ + OMX_AUDIO_EchoCanKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_EchoCanVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_EchoCanMax = 0x7FFFFFFF +} OMX_AUDIO_ECHOCANTYPE; + + +/** Enable / Disable for echo cancelation, which removes undesired echo's + * from the audio + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_AUDIO_ECHOCANTYPE eEchoCancelation; /**< Echo cancelation settings */ +} OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE; + + +/** Enable / Disable for noise reduction, which undesired noise from + * the audio + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bNoiseReduction; /**< Enable/disable for noise reduction */ +} OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE; + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ + diff --git a/opt/vc/include/IL/OMX_Broadcom.h b/opt/vc/include/IL/OMX_Broadcom.h new file mode 100644 index 000000000..13657b39e --- /dev/null +++ b/opt/vc/include/IL/OMX_Broadcom.h @@ -0,0 +1,2302 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// OpenMAX IL - Broadcom specific types + +#ifndef OMX_Broadcom_h +#define OMX_Broadcom_h + +#include "OMX_Component.h" + +// for use in buffer headers - marks the contained data +// as being a codec header +#define OMX_BUFFERFLAG_TIME_UNKNOWN 0x00000100 + +//for use in buffer headers - marks the buffer as being the +//snapshot preview image from a still capture. +//Mainly to be used with the DisplayFunction callback from camera. +#define OMX_BUFFERFLAG_CAPTURE_PREVIEW 0x00000200 + +/* Mark the end of a NAL unit produced by a video encoder. + */ +#define OMX_BUFFERFLAG_ENDOFNAL 0x00000400 + +/* Marks pBuffer in OMX_BUFFERHEADERTYPE as containing a fragment list instead of the actual buffer + */ +#define OMX_BUFFERFLAG_FRAGMENTLIST 0x00000800 + +/* Marks the start of a new sequence of data following any kind of seek operation. + */ +#define OMX_BUFFERFLAG_DISCONTINUITY 0x00001000 + +/** Codec side information Flag: +* OMX_BUFFERFLAG_CODECSIDEINFO is an optional flag that is set by an +* output port when all bytes in the buffer form part or all of a set of +* codec specific side information. For example, distortion information +* estimated by H.264 encoder can be sent using this flag to signal +* the decoder quality +*/ +#define OMX_BUFFERFLAG_CODECSIDEINFO 0x00002000 + +/** + * Macros to convert to OMX_TICKS from a signed 64 bit value and + * vice-versa. These macros don't actually do anything unless OMX_TICKS + * is defined as a two-part structure (instead of a native signed 64-bit type). + **/ +#ifndef OMX_SKIP64BIT + #define omx_ticks_from_s64(s) (s) + #define omx_ticks_to_s64(t) (t) +#else + static inline OMX_TICKS omx_ticks_from_s64(signed long long s) { OMX_TICKS t; t.nLowPart = (OMX_U32)s; t.nHighPart = (OMX_U32)(s>>32); return t; } + #define omx_ticks_to_s64(t) ((t).nLowPart | ((uint64_t)((t).nHighPart) << 32)) +#endif /* OMX_SKIP64BIT */ + +/* Buffer fragment descriptor */ +typedef struct OMX_BUFFERFRAGMENTTYPE { + OMX_PTR pBuffer; /**< Pointer to actual block of memory that is acting as the fragment buffer */ + OMX_U32 nLen; /**< number of bytes in the buffer */ +} OMX_BUFFERFRAGMENTTYPE; + +/* OMX_IndexParamBrcmEnableIJGTableScaling: JPEG Quality Table Setting. */ +typedef struct OMX_PARAM_IJGSCALINGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; +} OMX_PARAM_IJGSCALINGTYPE; +/* +The boolean \code{bEnabled} value determines whether the component uses +the standard IJG quality tables when encoding images. +*/ + + +/* OMX_IndexConfigTimeInvalidStartTime: Invalid Start Times */ +/* +This allows clock clients to supply a start time notification to the +clock whilst indicating that this time is invalid. +*/ + +/* OMX_IndexParamBrcmMaxFrameSkips: Frame timestamp jumps */ +/* +This number represents the number of times a jump in frame timestamps +has been observed that is greater than expected. +*/ + +/* OMX_IndexConfigAsynchronousFailureURI: Asynchronous Failure Filename */ +/* +This allows the client to query for the filename that cause an asynchronous +output error. +*/ + +/* OMX_IndexParamAsynchronousOutput: Asynchronous Output */ +/* +The allows the client to specify to a component that is writing files +that this writing may happen asynchronously, including opening and closing +of files. +*/ + +/* OMX_IndexConfigClockAdjustment: Clock Adjustment */ +/* +This allows the client to read from the clock the total time +adjustment made to the clock whilst running by the reference clock. +If the reference clock sends a time that causes the media time to jump +this difference is added to the total, which can be reported via this +index. When the stream restarts by setting the clock state to +\code{OMX_TIME_ClockStateRunning} or +\code{OMX_TIME_ClockStateWaitingForStartTime} this adjustment total is +set to zero. +*/ + +/* OMX_IndexParamBrcmDataUnit: Data Unit */ +/* +The data unit is an indication to components connected to this +component of the type of data delivery available. +\code{OMX_DataUnitCodedPicture} indicates that we are able to give +framing information, using the \code{OMX_BUFFERFLAG_ENDOFFRAME} flag to +indicate that the data contained finishes a complete +frame. \code{OMX_DataUnitArbitraryStreamSection} indicates that no +end-of-frame markers will be present, and the decoder should perform +the steps necessary to decode the stream. The other enum values are +not used. +*/ + +/* OMX_IndexConfigPresentationOffset: Presentation Offset */ +/* +The value of \code{nTimestamp} is added to the offset requested for +each new input frame. Takes effect for all new input frames, and has +no effect on the offset used for currently-queued frames. A positive +value will make the requested port earlier relative to other streams, +a negative value will make the requested port later relative to other +streams. +*/ + +/* OMX_IndexConfigSingleStep: Single Step */ +/* +When setting this config on a paused clock, where the \code{nU32} +value is non-zero and \code{nPortIndex} is OMX_ALL, the media clock +will advance through the next \code{nU32} next requested media +times. A paused clock is in running state but has a time scale of +0. This will trigger the display of some video frames, so allowing +single-stepping functionality. This config can be set multiple times, +and will buffer up stepping requests until we have media requests to +fulfil, or the clock is stopped or un-paused. + +This config can also be used on some video output ports and, if +\code{nU32} is non-zero, requests that the output port forwards the +next \code{nU32} frames appending an EOS marker on the last frame, and +then ceases to forward data on this port. If \code{nU32} is zero, any +previous request to forward a limited number of frames is cancelled +and the default behaviour of this port will resume. +*/ + +/* OMX_IndexParamCameraCamplusId: Camera Subsystem Identification */ +/* +This parameter allows the configuration of the identifier to be used +to initialise the Broadcom Camplus subsystem that sits beneath the +camera component. If only one instance of the camera component is +used, the default value can be used. If more than one instance is +required, they must each have their own unique values for this +parameter. It is also used to tie the component to the image pool +created with \code{OMX_Set upCamPools}. +*/ + +/* OMX_IndexConfigAudioRenderingLatency: Audio Rendering Latency */ +/* +This config allows the client to query the current latency of audio +rendering. The latency is returned as the number of samples that +an audio rendering component has received but have not been played. +*/ + +/* OMX_IndexConfigBrcmPoolMemAllocSize: Pool memory usage values */ +/* +This config allows the client to query how much memory is being used by +the component for any image pools. +*/ + +/* OMX_IndexConfigDisplayRegion: Display Region */ +typedef enum OMX_DISPLAYTRANSFORMTYPE{ + OMX_DISPLAY_ROT0 = 0, + OMX_DISPLAY_MIRROR_ROT0 = 1, + OMX_DISPLAY_MIRROR_ROT180 = 2, + OMX_DISPLAY_ROT180 = 3, + OMX_DISPLAY_MIRROR_ROT90 = 4, + OMX_DISPLAY_ROT270 = 5, + OMX_DISPLAY_ROT90 = 6, + OMX_DISPLAY_MIRROR_ROT270 = 7, + OMX_DISPLAY_DUMMY = 0x7FFFFFFF +} OMX_DISPLAYTRANSFORMTYPE; + +typedef struct OMX_DISPLAYRECTTYPE { + OMX_S16 x_offset; + OMX_S16 y_offset; + OMX_S16 width; + OMX_S16 height; +} OMX_DISPLAYRECTTYPE; + +typedef enum OMX_DISPLAYMODETYPE { + OMX_DISPLAY_MODE_FILL = 0, + OMX_DISPLAY_MODE_LETTERBOX = 1, + OMX_DISPLAY_MODE_DUMMY = 0x7FFFFFFF +} OMX_DISPLAYMODETYPE; + +typedef enum OMX_DISPLAYSETTYPE { + OMX_DISPLAY_SET_NONE = 0, + OMX_DISPLAY_SET_NUM = 1, + OMX_DISPLAY_SET_FULLSCREEN = 2, + OMX_DISPLAY_SET_TRANSFORM = 4, + OMX_DISPLAY_SET_DEST_RECT = 8, + OMX_DISPLAY_SET_SRC_RECT = 0x10, + OMX_DISPLAY_SET_MODE = 0x20, + OMX_DISPLAY_SET_PIXEL = 0x40, + OMX_DISPLAY_SET_NOASPECT = 0x80, + OMX_DISPLAY_SET_LAYER = 0x100, + OMX_DISPLAY_SET_COPYPROTECT = 0x200, + OMX_DISPLAY_SET_ALPHA = 0x400, + OMX_DISPLAY_SET_DUMMY = 0x7FFFFFFF +} OMX_DISPLAYSETTYPE; + +typedef struct OMX_CONFIG_DISPLAYREGIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_DISPLAYSETTYPE set; + OMX_U32 num; + OMX_BOOL fullscreen; + OMX_DISPLAYTRANSFORMTYPE transform; + OMX_DISPLAYRECTTYPE dest_rect; + OMX_DISPLAYRECTTYPE src_rect; + OMX_BOOL noaspect; + OMX_DISPLAYMODETYPE mode; + OMX_U32 pixel_x; + OMX_U32 pixel_y; + OMX_S32 layer; + OMX_BOOL copyprotect_required; + OMX_U32 alpha; + OMX_U32 wfc_context_width; + OMX_U32 wfc_context_height; +} OMX_CONFIG_DISPLAYREGIONTYPE; +/* +This config sets the output display device, as well as the region used +on the output display, any display transformation, and some flags to +indicate how to scale the image. + +The structure uses a bitfield, \code{set}, to indicate which fields are set +and should be used. All other fields will maintain their current +value. + +\code{num} describes the display output device, with 0 typically being +a directly connected LCD display. + +\code{fullscreen} indicates that we are using the full device screen +area, rather than a window of the display. If fullscreen is false, +then dest_rect is used to specify a region of the display to use. + +\code{transform} indicates any rotation or flipping used to map frames +onto the natural display orientation. + +The \code{src_rect} indicates which area of the frame to display. If +all values are zero, the whole frame will be used. + +The \code{noaspect} flag, if set, indicates that any display scaling +should disregard the aspect ratio of the frame region being displayed. + +\code{mode} indicates how the image should be scaled to fit the +display. \code{OMX_DISPLAY_MODE_FILL} indicates that the image should +fill the screen by potentially cropping the frames. Setting +\code{mode} to \code{OMX_DISPLAY_MODE_LETTERBOX} indicates that all +the source region should be displayed and black bars added if +necessary. + +The \code{pixel_x} and \code{pixel_y} values, if non-zero, are used to +describe the size of a source pixel. If values are zero, then pixels +default to being square. + +Set the \code{layer} that the image will appear on with the +\code{layer} field. +*/ + + + +/* OMX_IndexParamSource: Source Image Configuration */ +typedef enum OMX_SOURCETYPE { + OMX_SOURCE_WHITE = 0, // all white images + OMX_SOURCE_BLACK = 1, // all black images + OMX_SOURCE_DIAGONAL = 2, // greyscale diagonal stripes + OMX_SOURCE_NOISE = 3, // random pixel values + OMX_SOURCE_RANDOM = 4, // a shaded random pattern of colours + OMX_SOURCE_COLOUR = 5, // a solid colour determined by nParam + OMX_SOURCE_BLOCKS = 6, // random coloured blocks of 16x16 size + OMX_SOURCE_SWIRLY, // a swirly pattern used for encode testing + OMX_SOURCE_DUMMY = 0x7FFFFFFF +} OMX_SOURCETYPE; + +typedef struct OMX_PARAM_SOURCETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_SOURCETYPE eType; + OMX_U32 nParam; + OMX_U32 nFrameCount; + OMX_U32 xFrameRate; +} OMX_PARAM_SOURCETYPE; +/* +The source type determines the kind of image that is produced. Not all +combinations of source type and image type are supported. The +\code{OMX_SOURCE_SWIRLY} setting can only be used with YUV420 packed +planar image formats. When producing RGB565 image format, the +\code{OMX_SOURCE_DIAGONAL} and \code{OMX_SOURCE_RANDOM} modes are +treated as \code{OMX_SOURCE_NOISE}. + +The \code{nParam} field is used to specify the colour for the source +colour mode, and the offset of the diagonal pattern for diagonal mode. +For the blocks mode, \code{nParam} is used as the seed for the random +colour generator. + +The \code{nFrameCount} parameter determines how many frames to send. +If it is zero, then frames are sent continuously. For any other value, +it counts down until it has sent that many frames, and then stops, +sending out an EOS. The \code{xFrameRate} setting is used to determine +the timestamp for each frame produced, or can be set to zero if +timestamps should all remain at zero. +*/ + +/* OMX_IndexParamSourceSeed: Source Random Seed */ +typedef struct OMX_PARAM_SOURCESEEDTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U16 nData[16]; +} OMX_PARAM_SOURCESEEDTYPE; +/* +This structure sets the current state of the random number generator +used for \code{OMX_SOURCE_RANDOM} source type, allowing repeatable +random image creation. +*/ + +/* OMX_IndexParamResize: Resize Control */ +typedef enum OMX_RESIZEMODETYPE { + OMX_RESIZE_NONE, + OMX_RESIZE_CROP, + OMX_RESIZE_BOX, + OMX_RESIZE_BYTES, + OMX_RESIZE_DUMMY = 0x7FFFFFFF +} OMX_RESIZEMODETYPE; + +typedef struct OMX_PARAM_RESIZETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_RESIZEMODETYPE eMode; + OMX_U32 nMaxWidth; + OMX_U32 nMaxHeight; + OMX_U32 nMaxBytes; + OMX_BOOL bPreserveAspectRatio; + OMX_BOOL bAllowUpscaling; +} OMX_PARAM_RESIZETYPE; +/* +The mode determines the kind of resize. \code{OMX_RESIZE_BOX} allow +the \code{nMaxWidth} and \code{nMaxHeight} to set a bounding box into +which the output must fit. \code{OMX_RESIZE_BYTES} allows +\code{nMaxBytes} to set the maximum number of bytes into which the +full output frame must fit. Two flags aid the setting of the output +size. \code{bPreseveAspectRatio} sets whether the resize should +preserve the aspect ratio of the incoming +image. \code{bAllowUpscaling} sets whether the resize is allowed to +increase the size of the output image compared to the size of the +input image. +*/ + +typedef struct OMX_PARAM_TESTINTERFACETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bTest; + OMX_BOOL bSetExtra; + OMX_U32 nExtra; + OMX_BOOL bSetError; + OMX_BOOL stateError[2]; +} OMX_PARAM_TESTINTERFACETYPE; + +/* OMX_IndexConfigVisualisation: Visualisation Mode */ +typedef struct OMX_CONFIG_VISUALISATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U8 name[16]; + OMX_U8 property[64]; +} OMX_CONFIG_VISUALISATIONTYPE; + +/* +\code{name} is a string of characters specifying the type of +visualization. The component appends \code{"_vis.vll"} to the name +provided, and attempts to load a visualisation library contained in +this VLL. \code{property} contains configuration parameters and +values, which is interpreted by the visualisation library. Typically +all visualisations will accept a property string containing +\code{'mode='}, where \code{} may be a random 32 bit +integer in decimal format. If provided, this may select a random mode +from that visualisation library. +*/ + +/* +This parameter is used when creating proprietary communication with +the display component, and provides the display function for passing +images to be displayed, together with a function used to flush all +pending image updates and release all images. +*/ + +/* OMX_IndexConfigBrcmAudioDestination: Audio Destination */ +typedef struct OMX_CONFIG_BRCMAUDIODESTINATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 sName[16]; +} OMX_CONFIG_BRCMAUDIODESTINATIONTYPE; +/* +This config sets the platform-specific audio destination or output +device for audio sink components (e.g. audio_render). + +\code{sName} describes the audio destination, with \code{"local"} +typically being directly connected to headphones. +*/ + +/* OMX_IndexConfigBrcmAudioSource: Audio Source */ +typedef struct OMX_CONFIG_BRCMAUDIOSOURCETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 sName[16]; +} OMX_CONFIG_BRCMAUDIOSOURCETYPE; +/* +This config sets the platform-specific audio source or input device +for audio source components (e.g. audio_capture). + +\code{sName} describes the audio source, with \code{"local"} +typically being directly connected to microphone. +*/ + +/* OMX_IndexConfigBrcmAudioDownmixCoefficients: Audio Downmix Coefficients */ +typedef struct OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 coeff[16]; +} OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS; +/* +This config sets the platform-specific audio downmixing coefficients for the +audio mixer component. The coefficients are 16.16 fixed point. +The even coefficients contribute to the left channel. +The odd coefficients contribute to the right channel. +L' = coeff[0] * sample[N] + coeff[2] * sample[N+1] + coeff[4] * sample[N+2] + coeff[6] * sample[N+3] + + coeff[8] * sample[N+4] + coeff[10] * sample[N+5] + coeff[12] * sample[N+6] + coeff[14] * sample[N+7] +R' = coeff[1] * sample[N] + coeff[3] * sample[N+1] + coeff[5] * sample[N+2] + coeff[7] * sample[N+3] + + coeff[9] * sample[N+4] + coeff[11] * sample[N+5] + coeff[13] * sample[N+6] + coeff[15] * sample[N+7] + +\code{coeff} describes the downmixing coefficients +*/ + +/* OMX_IndexConfigPlayMode: Play Mode */ +typedef enum OMX_PLAYMODETYPE { + OMX_PLAYMODE_NORMAL, + OMX_PLAYMODE_FF, + OMX_PLAYMODE_REW, + OMX_PLAYMODE_DUMMY = 0x7FFFFFFF +} OMX_PLAYMODETYPE; + +typedef struct OMX_CONFIG_PLAYMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_PLAYMODETYPE eMode; +} OMX_CONFIG_PLAYMODETYPE; +/* +The playmode affects which frames are extracted from the media file +and passed on the output ports. \code{OMX_PLAYMODE_NORMAL} will +extract all frames, \code{OMX_PLAYMODE_FF} extracts only IDR frames +when video is present, or only occasional packets of audio if no video +is present. \code{OMX_PLAYMODE_REW} is similar to +\code{OMX_PLAYMODE_FF} but extracts packets in reverse time +order. +*/ + +typedef enum OMX_DELIVERYFORMATTYPE { + OMX_DELIVERYFORMAT_STREAM, // no framing information is known + OMX_DELIVERYFORMAT_SINGLE_PACKET, // packetised, at most one frame per buffer + OMX_DELIVERYFORMAT_DUMMY = 0x7FFFFFFF +} OMX_DELIVERYFORMATTYPE; + +typedef struct OMX_PARAM_DELIVERYFORMATTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_DELIVERYFORMATTYPE eFormat; +} OMX_PARAM_DELIVERYFORMATTYPE; + +/* OMX_IndexParamCodecConfig: Codec Configuration */ + +typedef struct OMX_PARAM_CODECCONFIGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 bCodecConfigIsComplete; + OMX_U8 nData[1]; +} OMX_PARAM_CODECCONFIGTYPE; + +/* +This parameter contains opaque data in a format specified by Broadcom +and allows out-of-band information such as cropping rectangles, aspect +ratio information, codec-specific header bytes, and other essential +information to be passed between connected components. + +\code{bCodecConfigIsCompete} specifies if the codec config is fully +contained in here and there is no need to wait for OMX_BUFFERFLAG_CODECCONFIG +buffers +*/ + +typedef struct OMX_PARAM_STILLSFUNCTIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bBuffer; + OMX_PTR (*pOpenFunc)(void); + OMX_PTR (*pCloseFunc)(void); + OMX_PTR (*pReadFunc)(void); + OMX_PTR (*pSeekFunc)(void); + OMX_PTR (*pWriteFunc)(void); +} OMX_PARAM_STILLSFUNCTIONTYPE; + +typedef void* OMX_BUFFERADDRESSHANDLETYPE; + +typedef struct OMX_PARAM_BUFFERADDRESSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nAllocLen; + OMX_BUFFERADDRESSHANDLETYPE handle; +} OMX_PARAM_BUFFERADDRESSTYPE; + +typedef struct OMX_PARAM_TUNNELSETUPTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_TUNNELSETUPTYPE sSetup; +} OMX_PARAM_TUNNELSETUPTYPE; + +/* OMX_IndexParamBrcmPortEGL: Used for querying whether a port is an EGL port or not. */ +typedef struct OMX_PARAM_BRCMPORTEGLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bPortIsEGL; +} OMX_PARAM_BRCMPORTEGLTYPE; +/* +*/ + +/* OMX_IndexConfigCommonImageFilterParameters: Parameterized Image Filter */ +typedef struct OMX_CONFIG_IMAGEFILTERPARAMSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGEFILTERTYPE eImageFilter; + OMX_U32 nNumParams; + OMX_U32 nParams[5]; +} OMX_CONFIG_IMAGEFILTERPARAMSTYPE; +/* +This structure contains optional parameters for some image +filters. The following table lists all image filters that support +parameters. + + +
FilterParametersNotes + +
\code{OMX_ImageFilterSolarize} +\code{[x0 y0 y1 y2]} +Linear mapping of \code{[0,x0]} to \code{[0,y0>]} +and \code{[x0,255]} to \code{[y1,y2]}. +Default is \code{"128 128 128 0"}. + +
\code{OMX_ImageFilterSharpen} +\code{[sz [str [th]]} +\code{sz} size of filter, either 1 or 2. +\code{str} strength of filter. +\code{th} threshold of filter. +Default is \code{"1 40 20"}. + +
\code{OMX_ImageFilterFilm} +\code{[[str] [u v]]} +\code{str} strength of effect. +\code{u} sets u to constant value. +\code{v} sets v to constant value. +Default is \code{"24"}. + +
\code{OMX_ImageFilterBlur} +\code{[sz]} +\code{sz} size of filter, either 1 or 2. +Default is \code{"2"}. + +
\code{OMX_ImageFilterSaturation} +\code{[str]} +\code{str} strength of effect, in 8.8 fixed point format. u/v value +differences from 128 are multiplied by \code{str}. +Default is \code{"272"}. +
+*/ + + +/* OMX_IndexConfigTransitionControl: Transition Control */ +typedef struct OMX_CONFIG_TRANSITIONCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nPosStart; + OMX_U32 nPosEnd; + OMX_S32 nPosIncrement; + OMX_TICKS nFrameIncrement; + OMX_BOOL bSwapInputs; + OMX_U8 name[16]; + OMX_U8 property[64]; +} OMX_CONFIG_TRANSITIONCONTROLTYPE; +/* +This structure represents the internal configuration of the +transition. Transitions are generated by a loadable plug-in described +by the \code{name} field. The component appends \code{"_tran.vll"} to +the name provided, and attempts to load a transition library contained +in this VLL. The exact type of transition is configured in a +plug-in-dependent manner with the \code{property} field. All plug-ins +should accept a \code{property} field equal to +\code{"flags="}, where \code{} can be a random 32 bit +number. If \code{bSwapInputs} is false, then the start image is on +port 210, the stop image on port 211. These are reversed if +\code{bSwapInputs} is true. + +Transition frames are generated from the plug-in by referencing a +frame position in [0,65536], where position 0 is the start image, +position 65536 is the stop image. The first frame position generated +is \code{nPosStart}. The last frame position generated is +\code{nPosEnd}. Each frame will increment the position by +\code{nPosIncrement}. The timestamp attached to each frame will +increment by \code{nFrameIncrement}. +*/ + + +/* +This parameter is used to provide a callback function pointer for +release events. It is used for internal clients on VideoCore. +*/ + + +/* OMX_IndexConfigAudioMonoTrackControl: Dual Mono Control */ +typedef enum OMX_AUDIOMONOTRACKOPERATIONSTYPE { + OMX_AUDIOMONOTRACKOPERATIONS_NOP, + OMX_AUDIOMONOTRACKOPERATIONS_L_TO_R, + OMX_AUDIOMONOTRACKOPERATIONS_R_TO_L, + OMX_AUDIOMONOTRACKOPERATIONS_DUMMY = 0x7FFFFFFF +} OMX_AUDIOMONOTRACKOPERATIONSTYPE ; + +typedef struct OMX_CONFIG_AUDIOMONOTRACKCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_AUDIOMONOTRACKOPERATIONSTYPE eMode; +} OMX_CONFIG_AUDIOMONOTRACKCONTROLTYPE; +/* +This config controls the options to support dual mono audio +streams. The output can be unchanged, or the left channel copied over +the right channel, or the right channel copied over the left +channel. This config can be applied at any time with stereo +16-bit-per-sample data. Since audio output is typically buffered, any +change will not be audible until that buffering has been played out. +*/ + +/* OMX_IndexParamCameraImagePool: Camera Image Pools */ +typedef enum OMX_CAMERAIMAGEPOOLINPUTMODETYPE { + OMX_CAMERAIMAGEPOOLINPUTMODE_ONEPOOL, /*All input images are allocated from one pool + Works for simple stills capture use cases + Can not be used with parallel stills capture + and video encode, as the pool will be sized for + capture or viewfinder, not both simultaneously. + The pool wouldn't divide sensibly in this mode + anyway. + */ + OMX_CAMERAIMAGEPOOLINPUTMODE_TWOPOOLS, /*All stills & video input images are allocated + from two seperate pools. + This ensures that parallel capture can work, but + would consume more memory if used on a simple + stills capture use case. + */ +} OMX_CAMERAIMAGEPOOLINPUTMODETYPE; + +typedef struct OMX_PARAM_CAMERAIMAGEPOOLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nNumHiResVideoFrames; + OMX_U32 nHiResVideoWidth; + OMX_U32 nHiResVideoHeight; + OMX_COLOR_FORMATTYPE eHiResVideoType; + OMX_U32 nNumHiResStillsFrames; + OMX_U32 nHiResStillsWidth; + OMX_U32 nHiResStillsHeight; + OMX_COLOR_FORMATTYPE eHiResStillsType; + OMX_U32 nNumLoResFrames; + OMX_U32 nLoResWidth; + OMX_U32 nLoResHeight; + OMX_COLOR_FORMATTYPE eLoResType; + OMX_U32 nNumSnapshotFrames; + OMX_COLOR_FORMATTYPE eSnapshotType; + OMX_CAMERAIMAGEPOOLINPUTMODETYPE eInputPoolMode; + OMX_U32 nNumInputVideoFrames; + OMX_U32 nInputVideoWidth; + OMX_U32 nInputVideoHeight; + OMX_COLOR_FORMATTYPE eInputVideoType; + OMX_U32 nNumInputStillsFrames; + OMX_U32 nInputStillsWidth; + OMX_U32 nInputStillsHeight; + OMX_COLOR_FORMATTYPE eInputStillsType; +} OMX_PARAM_CAMERAIMAGEPOOLTYPE; +/* +\sloppy This parameter specifies the size, type, and number, of images to +allow in the images pools required by Camplus. Supported types are +\code{OMX_COLOR_FormatYUV420PackedPlanar}, +\code{OMX_COLOR_FormatYUV422PackedPlanar}, +\code{OMX_COLOR_FormatRawBayer8bit}, +\code{OMX_COLOR_FormatRawBayer10bit}, +\code{OMX_COLOR_FormatRawBayer8bitcompressed}, and 0 (reserved for the +Broadcom-specific format required by the video encoder). The input +pool width, height, and type can be set as 0 to make the component +query Camplus for the sensor mode that would correspond to the largest +of the viewfinder port definition, the capture port definition, or the +high resolution image pool. +*/ + +/* OMX_IndexParamImagePoolSize: Specifying Image Pool Properties */ +typedef struct OMX_PARAM_IMAGEPOOLSIZETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 width; + OMX_U32 height; + OMX_U32 num_pages; +} OMX_PARAM_IMAGEPOOLSIZETYPE; +/* +This parameter is used to control the size of pool that the component +will allocate in the absence of setting an external pool. The default +can be reset by setting this parameter with all three fields set to +zero. +*/ + + +/* OMX_IndexParamImagePoolExternal: Client Allocated Image Pools */ +struct opaque_vc_pool_s; +typedef struct opaque_vc_pool_s OMX_BRCM_POOL_T; + +typedef struct OMX_PARAM_IMAGEPOOLEXTERNALTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BRCM_POOL_T *image_pool; + OMX_BRCM_POOL_T *image_pool2; + OMX_BRCM_POOL_T *image_pool3; + OMX_BRCM_POOL_T *image_pool4; + OMX_BRCM_POOL_T *image_pool5; +} OMX_PARAM_IMAGEPOOLEXTERNALTYPE; +/* +This config allows the client to pass in handles to pre-allocated +image pools for use within the component. +*/ + + +struct _IL_FIFO_T; +typedef struct OMX_PARAM_RUTILFIFOINFOTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + struct _IL_FIFO_T *pILFifo; +} OMX_PARAM_RUTILFIFOINFOTYPE; + +/* OMX_IndexParamILFifoConfig: Allows configuration of the FIFO settings. */ +typedef struct OMX_PARAM_ILFIFOCONFIG { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nDataSize; /**< The size of the FIFO's data area */ + OMX_U32 nHeaderCount; /**< The number of headers allocated */ +} OMX_PARAM_ILFIFOCONFIG; +/** + * Allows configuring the size of the ILFIFO used in a component. + */ + +/* OMX_IndexConfigCameraSensorModes: Camera Sensor Mode */ +typedef struct OMX_CONFIG_CAMERASENSORMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nModeIndex; + OMX_U32 nNumModes; + OMX_U32 nWidth; + OMX_U32 nHeight; + OMX_U32 nPaddingRight; + OMX_U32 nPaddingDown; + OMX_COLOR_FORMATTYPE eColorFormat; + OMX_U32 nFrameRateMax; + OMX_U32 nFrameRateMin; +} OMX_CONFIG_CAMERASENSORMODETYPE; +/* +This parameter is used by clients to determine the sensor mode, and +hence the memory usage, of the camera module. This is primarily used +for determining the size of the input image pool. + +It can be used in two ways dependent on \code{nPortIndex}. If +\code{nPortIndex} is \code{OMX_ALL}, it returns the sensor mode +corresponding to \code{nModeIndex}, and the number of modes in +\code{nNumModes}. If \code{nModeIndex} is greater than or equal to +\code{nNumModes} only \code{nNumModes} is returned. If +\code{nPortIndex} is equal to a camera video output port index, it +returns the sensor mode that would be selected for the values +currently in \code{OMX_IndexParamPortDefinition} for that port. + +The \code{nPaddingRight} and \code{nPaddingDown} values determine the +extra padding the sensor adds to the image. These values must be added +to \code{nWidth} and \code{nHeight} respectively if the client is +specifying the input image pool size. +*/ + +typedef struct OMX_BRCMBUFFERSTATSTYPE { + OMX_U32 nOrdinal; + OMX_TICKS nTimeStamp; + OMX_U32 nFilledLen; + OMX_U32 nFlags; + union + { + OMX_U32 nU32; + struct + { + OMX_U32 nYpart; + OMX_U32 nUVpart; + } image; + } crc; +} OMX_BRCMBUFFERSTATSTYPE; + +/* +Ports that gather statistics for debugging and diagnostics +might also collect information about buffer header fields +and data. + +Note that: + +The \code{nOrdinal} field increases monotonically whenever +a new buffer is received or emitted and shall not be reset +upon a port flush. + +The \code{nFilledLen} might indicate the size of a data area +larger than the data area that actually contributed to the +checksums (e.g. when image data is provided with cropping +information). +*/ + +/* OMX_IndexConfigBrcmPortBufferStats: Query port buffer stats history */ +typedef struct OMX_CONFIG_BRCMPORTBUFFERSTATSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nCount; + OMX_BRCMBUFFERSTATSTYPE sData[1]; +} OMX_CONFIG_BRCMPORTBUFFERSTATSTYPE; +/* +Ports that gather statistics for debugging and diagnostics +might also collect information about buffer header fields +and data. + +The \code{sStatsData} field is a variable length array and +the number of items is denoted by \code{nStatsCount}. +*/ + +/* OMX_IndexConfigBrcmPortStats: Query port statistics */ +typedef struct OMX_CONFIG_BRCMPORTSTATSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nImageCount; + OMX_U32 nBufferCount; + OMX_U32 nFrameCount; + OMX_U32 nFrameSkips; + OMX_U32 nDiscards; + OMX_U32 nEOS; + OMX_U32 nMaxFrameSize; + + OMX_TICKS nByteCount; + OMX_TICKS nMaxTimeDelta; + OMX_U32 nCorruptMBs; /**< Number of corrupt macroblocks in the stream */ +} OMX_CONFIG_BRCMPORTSTATSTYPE; +/* +Some ports gather various statistics that can be used by clients for +debugging purposes. This structure is the set of all statistics that +are gathered. + +The \code{nFrameSkips} field indicates the number of frames that did +not have an expected PTS value based on the port frame rate. + +The \code{nByteCount} field is a 64 bit value, that will either use a +64 bit type or two 32 bit types, similarly to \code{OMX_TICKS}. +*/ + +/* OMX_IndexConfigBrcmClockMissCount: Missed clock request accounting */ +/* +For each port on the clock component, requests for media times may be +made. These are typically done one per video frame to allow for +scheduling the display of that frame at the correct time. If a +request is made after the time has occured, then that frame will be +displayed late, and the clock component keeps a per-port record of the +number of times this occurs. This record can be read using this +index. +*/ + +typedef struct OMX_CONFIG_BRCMCAMERASTATSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nOutFrameCount; + OMX_U32 nDroppedFrameCount; +} OMX_CONFIG_BRCMCAMERASTATSTYPE; + +// for backward compatibility +typedef struct OMX_CONFIG_BRCMCAMERASTATSTYPE OMX_CONFIG_BRCMCAMERASTATS; + + +#define OMX_BRCM_MAXIOPERFBANDS 10 +typedef struct { + OMX_U32 count[OMX_BRCM_MAXIOPERFBANDS]; + OMX_U32 num[OMX_BRCM_MAXIOPERFBANDS]; +} OMX_BRCM_PERFSTATS; + +/* OMX_IndexConfigBrcmIOPerfStats: Query I/O performance statistics */ +typedef struct OMX_CONFIG_BRCMIOPERFSTATSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnabled; /**< Enable/disable I/O performance statistics */ + OMX_BRCM_PERFSTATS write; /**< count:bytes num:microseconds */ + OMX_BRCM_PERFSTATS flush; /**< count:frequency num:microseconds waiting to flush data */ + OMX_BRCM_PERFSTATS wait; /**< count:frequency num:microseconds waiting in calling function */ +} OMX_CONFIG_BRCMIOPERFSTATSTYPE; +/* +A sink component can gather various statistics about I/O (eg. file media) performance that can be used by +clients for debugging purposes. The \code{bEnabled} field is used to turn the gathering of statistics +on/off. +*/ + +typedef struct OMX_CONFIG_SHARPNESSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nSharpness; +} OMX_CONFIG_SHARPNESSTYPE; + +/* OMX_IndexConfigCommonFlickerCancellation: Flicker cancellation */ +typedef enum OMX_COMMONFLICKERCANCELTYPE { + OMX_COMMONFLICKERCANCEL_OFF, + OMX_COMMONFLICKERCANCEL_AUTO, + OMX_COMMONFLICKERCANCEL_50, + OMX_COMMONFLICKERCANCEL_60, + OMX_COMMONFLICKERCANCEL_DUMMY = 0x7FFFFFFF +} OMX_COMMONFLICKERCANCELTYPE; + +typedef struct OMX_CONFIG_FLICKERCANCELTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_COMMONFLICKERCANCELTYPE eFlickerCancel; +} OMX_CONFIG_FLICKERCANCELTYPE; +/* +Query / set the flicker cancellation frequency. Values are defined for Off, +50Hz, 60Hz, or auto. The method for auto detecting the flicker frequency is +not defined, and currently results in the feature being turned off. +*/ + +/* OMX_IndexConfigCommonRedEyeRemoval: Red eye removal/reduction */ +typedef enum OMX_REDEYEREMOVALTYPE { + OMX_RedEyeRemovalNone, /**< No red eye removal */ + OMX_RedEyeRemovalOn, /**< Red eye removal on */ + OMX_RedEyeRemovalAuto, /**< Red eye removal will be done automatically when detected */ + OMX_RedEyeRemovalKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_RedEyeRemovalVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_RedEyeRemovalSimple, /**< Use simple red eye reduction mechanism if supported by algorithm */ + OMX_RedEyeRemovalMax = 0x7FFFFFFF +} OMX_REDEYEREMOVALTYPE; + +typedef struct OMX_CONFIG_REDEYEREMOVALTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_REDEYEREMOVALTYPE eMode; +} OMX_CONFIG_REDEYEREMOVALTYPE; +/* + Configures the red eye reduction algorithm in the camera processing + pipeline. The stage is only enabled if the flash mode is not FlashOff. + The OMX_RedEyeRemovalSimple mode requests that the algorithm uses a + reduced complexity algorithm to reduce the processing time. +*/ + + +typedef enum OMX_FACEDETECTIONCONTROLTYPE { + OMX_FaceDetectionControlNone, /**< Disables face detection */ + OMX_FaceDetectionControlOn, /**< Enables face detection */ + OMX_FaceDetectionControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_FaceDetectionControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_FaceDetectionControlMax = 0x7FFFFFFF +} OMX_FACEDETECTIONCONTROLTYPE; + +typedef struct OMX_CONFIG_FACEDETECTIONCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_FACEDETECTIONCONTROLTYPE eMode; + OMX_U32 nFrames; /**< number of frames to apply this setting for, + 0 for unlimited */ + OMX_U32 nMaxRegions; /**< maximum number of regions to detect, 0 for unlimited */ + OMX_U32 nQuality; /**< hint for algorithmic complexity, range is 0-100. + 0 for simplest algorithm, 100 for best quality */ +} OMX_CONFIG_FACEDETECTIONCONTROLTYPE; + +typedef enum OMX_FACEREGIONFLAGSTYPE { + OMX_FaceRegionFlagsNone = 0, + OMX_FaceRegionFlagsBlink = 1, + OMX_FaceRegionFlagsSmile = 2, + OMX_FaceRegionFlagsKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_FaceRegionFlagsVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_FaceRegionFlagsMax = 0x7FFFFFFF +} OMX_FACEREGIONFLAGSTYPE; + +typedef struct OMX_FACEREGIONTYPE { + OMX_S16 nLeft; /**< X Coordinate of the top left corner of the rectangle */ + OMX_S16 nTop; /**< Y Coordinate of the top left corner of the rectangle */ + OMX_U16 nWidth; /**< Width of the rectangle */ + OMX_U16 nHeight; /**< Height of the rectangle */ + OMX_FACEREGIONFLAGSTYPE nFlags; /**< Flags for the region */ +#ifndef OMX_SKIP64BIT + OMX_U64 nFaceRecognitionId; /**< ID returned by face recognition for this face */ +#else + struct + { + OMX_U32 nLowPart; /**< low bits of the signed 64 bit value */ + OMX_U32 nHighPart; /**< high bits of the signed 64 bit value */ + } nFaceRecognitionId; +#endif +} OMX_FACEREGIONTYPE; + +typedef struct OMX_CONFIG_FACEDETECTIONREGIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; /**< index of port with face detection enabled */ + OMX_U32 nIndex; /**< first requested region number, allowing retrieval of many regions + over several requests */ + OMX_U32 nDetectedRegions; /**< total number of detected regions */ + OMX_S32 nValidRegions; /**< number of valid regions in sRegion array + When getting, the client sets this to the number of regions available. + The component writes region data and updates this field with how many + regions have been written to. */ + OMX_U32 nImageWidth; /**< Width of the image, hence reference for the face coordinates */ + OMX_U32 nImageHeight; /**< Height of the image, hence reference for the face coordinates */ + OMX_FACEREGIONTYPE sRegion[1]; /**< variable length array of face regions */ +} OMX_CONFIG_FACEDETECTIONREGIONTYPE; + +typedef enum OMX_INTERLACETYPE { + OMX_InterlaceProgressive, /**< The data is not interlaced, it is progressive scan */ + OMX_InterlaceFieldSingleUpperFirst, /**< The data is interlaced, fields sent + separately in temporal order, with upper field first */ + OMX_InterlaceFieldSingleLowerFirst, /**< The data is interlaced, fields sent + separately in temporal order, with lower field first */ + OMX_InterlaceFieldsInterleavedUpperFirst, /**< The data is interlaced, two fields sent together line + interleaved, with the upper field temporally earlier */ + OMX_InterlaceFieldsInterleavedLowerFirst, /**< The data is interlaced, two fields sent together line + interleaved, with the lower field temporally earlier */ + OMX_InterlaceMixed, /**< The stream may contain a mixture of progressive + and interlaced frames */ + OMX_InterlaceKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_InterlaceVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_InterlaceMax = 0x7FFFFFFF +} OMX_INTERLACETYPE; + +typedef struct OMX_CONFIG_INTERLACETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; /**< index of port emitting or accepting the content */ + OMX_INTERLACETYPE eMode; /**< The interlace type of the content */ + OMX_BOOL bRepeatFirstField; /**< Whether to repeat the first field */ +} OMX_CONFIG_INTERLACETYPE; + +/* OMX_IndexParamIspTuner: Custom ISP tuner */ +typedef struct OMX_PARAM_CAMERAISPTUNERTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 tuner_name[64]; +} OMX_PARAM_CAMERAISPTUNERTYPE; +/* +This parameter allows a custom ISP tuner to be loaded instead of +the default one specified for the camera module. Setting an empty +string uses the default value. +*/ + +/* OMX_IndexConfigCameraInputFrame: Pointer to the raw input image */ +typedef struct OMX_CONFIG_IMAGEPTRTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_PTR pImage; +} OMX_CONFIG_IMAGEPTRTYPE; +/* +This parameter parameter allows the return of a pointer to a +VideoCore image resource. +*/ + +/* OMX_IndexConfigAFAssistLight: Autofocus assist light mode selection */ +typedef enum OMX_AFASSISTTYPE { + OMX_AFAssistAuto, + OMX_AFAssistOn, + OMX_AFAssistOff, + OMX_AFAssistTorch, + OMX_AFAssistKhronosExtensions = 0x6F000000, + OMX_AFAssistVendorStartUnused = 0x7F000000, + OMX_AFAssistMax = 0x7FFFFFFF +} OMX_AFASSISTTYPE; + +typedef struct OMX_CONFIG_AFASSISTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_AFASSISTTYPE eMode; +} OMX_CONFIG_AFASSISTTYPE; +/* +Set the mode to adopt for the autofocus assist light. +\code{OMX_AFAssistTorch} will turn the AF assist light on permanently, allowing +it to be used as a torch. +*/ + +/* OMX_IndexConfigInputCropPercentage: Specify input crop as a percentage */ +typedef struct OMX_CONFIG_INPUTCROPTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 xLeft; /**< Fraction of the width for the top left corner of the rectangle */ + OMX_U32 xTop; /**< Fraction of the height for the top left corner of the rectangle */ + OMX_U32 xWidth; /**< Fraction of the image width desired */ + OMX_U32 xHeight; /**< Fraction of the image height desired */ +} OMX_CONFIG_INPUTCROPTYPE; +/* +This parameter allows the input cropping to be specified as a +percentage of the current width/height. Required for the camera +component where the output resolution varies dependent on the port. +All percentage values are as 16p16 fixed point numbers (0x10000 = +100\%) +*/ + +/* OMX_IndexParamCodecRequirements: Advanced codec requirements */ +typedef struct OMX_PARAM_CODECREQUIREMENTSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nCallbackID; + OMX_BOOL bTryHWCodec; +} OMX_PARAM_CODECREQUIREMENTSTYPE; +/* +This parameter allows internal users of RIL components controlling +video codecs to request that the component loads the component and +queries for requirements. The component will perform a callback with +the given nCallbackID value passing a pointer to the requirements +structure as the data field. +*/ + +/* OMX_IndexConfigBrcmEGLImageMemHandle: Mapping from an EGLImage to a VideoCore mem handle */ +typedef struct OMX_CONFIG_BRCMEGLIMAGEMEMHANDLETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_PTR eglImage; + OMX_PTR memHandle; +} OMX_CONFIG_BRCMEGLIMAGEMEMHANDLETYPE; +/* +This config allows the EGL server to notify a RIL component that an +EGLImage is available for rendering into and to provide a mapping from +an EGLImage to a mem handle. +*/ + +/* OMX_IndexConfigPrivacyIndicator: Privacy indicator control */ +typedef enum OMX_PRIVACYINDICATORTYPE { + OMX_PrivacyIndicatorOff, + OMX_PrivacyIndicatorOn, + OMX_PrivacyIndicatorForceOn, + OMX_PrivacyIndicatorKhronosExtensions = 0x6F000000, + OMX_PrivacyIndicatorVendorStartUnused = 0x7F000000, + OMX_PrivacyIndicatorMax = 0x7FFFFFFF +} OMX_PRIVACYINDICATORTYPE; + +typedef struct OMX_CONFIG_PRIVACYINDICATORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_PRIVACYINDICATORTYPE ePrivacyIndicatorMode; +} OMX_CONFIG_PRIVACYINDICATORTYPE; +/* +This config allows control over the privacy indicator light. This +light indicates when a capture is in progress. + +\code{OMX_PrivacyIndicatorOff} indicator is disabled. + +\code{OMX_PrivacyIndicatorOn} indicator will be +turned on whenever an image is being captured as determined by the +capturing bit. Minimum on duration of approx 200ms. + +\code{OMX_PrivacyIndicatorForceOn} results in turning the indicator on +immediately, whether an image is being captured or not. The mode will +automatically revert to \code{OMX_PrivacyIndicatorOff} once the +indicator has been turned on, so \code{OMX_PrivacyIndicatorForceOn} +must be requested at least every 200ms if the indicator is to remain +on. +*/ + + +/* OMX_IndexParamCameraFlashType: Select flash type */ +typedef enum OMX_CAMERAFLASHTYPE { + OMX_CameraFlashDefault, + OMX_CameraFlashXenon, + OMX_CameraFlashLED, + OMX_CameraFlashNone, + OMX_CameraFlashKhronosExtensions = 0x6F000000, + OMX_CameraFlashVendorStartUnused = 0x7F000000, + OMX_CameraFlashMax = 0x7FFFFFFF +} OMX_CAMERAFLASHTYPE; + +typedef struct OMX_PARAM_CAMERAFLASHTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_CAMERAFLASHTYPE eFlashType; + OMX_BOOL bRedEyeUsesTorchMode; +} OMX_PARAM_CAMERAFLASHTYPE; +/* +This parameter allows the selection of xenon or LED flash devices +to be used with the currently selected camera. If that device is not +available, then the component will revert back to whatever flash +device is available for that camera. +\code{bRedEyeUsesTorchMode} allows the blinking for red eye reduction to +be switched between using the indicator mode, and the torch mode for the +flash driver. +*/ + +/* OMX_IndexConfigCameraFlashConfig: Flash cycle configuration */ +typedef enum OMX_CAMERAFLASHCONFIGSYNCTYPE { + OMX_CameraFlashConfigSyncFrontSlow, + OMX_CameraFlashConfigSyncRearSlow, + OMX_CameraFlashConfigSyncFrontFast, + OMX_CameraFlashConfigSyncKhronosExtensions = 0x6F000000, + OMX_CameraFlashConfigSyncVendorStartUnused = 0x7F000000, + OMX_CameraFlashConfigSyncMax = 0x7FFFFFFF +} OMX_CAMERAFLASHCONFIGSYNCTYPE; + +typedef struct OMX_CONFIG_CAMERAFLASHCONFIGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bUsePreFlash; + OMX_BOOL bUseFocusDistanceInfo; + OMX_CAMERAFLASHCONFIGSYNCTYPE eFlashSync; + OMX_BOOL bIgnoreChargeState; +} OMX_CONFIG_CAMERAFLASHCONFIGTYPE; +/* +This parameter allows the configuration of various parameters relating to +the flash cycle. Some of the options are only applicable to xenon flash. + +\code{bUsePreFlash} uses a low intensity pre-flash to determine flash intensity. This setting +is recommended for almost all flash situations. + +\code{bUseFocusDistanceInfo} uses the distance of the subject, as measured by the AF algorithm +to set the intensity of the flash. + +\code{eFlashSync} configures which edge of the shutter is used to synchronise the flash, and +the duration of the exposure. + +\code{eIgnoreChargeState} will make the flash fire, even if it is not fully charged. +*/ + +/* OMX_IndexConfigBrcmAudioTrackGaplessPlayback: Encoder/decoder delay and padding information for gapless playback. */ +typedef struct OMX_CONFIG_BRCMAUDIOTRACKGAPLESSPLAYBACKTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nDelay; /**< number of samples delay added by the codec */ + OMX_U32 nPadding; /**< number of silent samples added to the end */ +} OMX_CONFIG_BRCMAUDIOTRACKGAPLESSPLAYBACKTYPE; +/* +This config allows communication between components to facilitate gapless playback. +*/ + + +/* OMX_IndexConfigBrcmAudioTrackChangeControl: Configure gapless/crossfaded audio track change. */ +typedef struct OMX_CONFIG_BRCMAUDIOTRACKCHANGECONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nSrcPortIndex; + OMX_U32 nDstPortIndex; + OMX_U32 nXFade; +} OMX_CONFIG_BRCMAUDIOTRACKCHANGECONTROLTYPE; +/* +This config allows the client to specify the gapless or crossfade +parameters to be used on a track change. If \code{nXFade} is 0, then +a normal or gapless track change will result, otherwise a crossfade of +\code{nXFade} ms is used. +*/ + +/* OMX_IndexParamBrcmPixelValueRange: Describing the pixel value range */ +typedef enum OMX_BRCMPIXELVALUERANGETYPE +{ + OMX_PixelValueRangeUnspecified = 0, + OMX_PixelValueRangeITU_R_BT601, + OMX_PixelValueRangeFull8Bit, + OMX_PixelValueRangeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_PixelValueRangeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_PixelValueRangeMax = 0x7FFFFFFF +} OMX_BRCMPIXELVALUERANGETYPE; + +typedef struct OMX_PARAM_BRCMPIXELVALUERANGETYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BRCMPIXELVALUERANGETYPE ePixelValueRange; +} OMX_PARAM_BRCMPIXELVALUERANGETYPE; +/* +This structure allows a description of the range that pixel values may +have. This is typically useful since some standards use the full 8 +bit range, whereas others introduce pedastals which reduce the range +at the top and bottom end. +*/ + +/* OMX_IndexParamCameraDisableAlgorithm: Disabling camera processing stages. */ +typedef enum OMX_CAMERADISABLEALGORITHMTYPE { + OMX_CameraDisableAlgorithmFacetracking, + OMX_CameraDisableAlgorithmRedEyeReduction, + OMX_CameraDisableAlgorithmVideoStabilisation, + OMX_CameraDisableAlgorithmWriteRaw, + OMX_CameraDisableAlgorithmVideoDenoise, + OMX_CameraDisableAlgorithmStillsDenoise, + OMX_CameraDisableAlgorithmAntiShake, + OMX_CameraDisableAlgorithmImageEffects, + OMX_CameraDisableAlgorithmDarkSubtract, + OMX_CameraDisableAlgorithmDynamicRangeExpansion, + OMX_CameraDisableAlgorithmFaceRecognition, + OMX_CameraDisableAlgorithmFaceBeautification, + OMX_CameraDisableAlgorithmSceneDetection, + OMX_CameraDisableAlgorithmHighDynamicRange, + OMX_CameraDisableAlgorithmKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_CameraDisableAlgorithmVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_CameraDisableAlgorithmMax = 0x7FFFFFFF +} OMX_CAMERADISABLEALGORITHMTYPE; + +typedef struct OMX_PARAM_CAMERADISABLEALGORITHMTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_CAMERADISABLEALGORITHMTYPE eAlgorithm; + OMX_BOOL bDisabled; +} OMX_PARAM_CAMERADISABLEALGORITHMTYPE; +/* +Allows plugin algorithms to be disabled to save memory +within the camera component +*/ + +/* OMX_IndexConfigBrcmAudioEffectControl: Audio Effect Control */ +typedef struct OMX_CONFIG_BRCMAUDIOEFFECTCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnable; + OMX_U8 name[16]; + OMX_U8 property[256]; +} OMX_CONFIG_BRCMAUDIOEFFECTCONTROLTYPE; +/* +This structure represents the internal configuration of an audio effect. +The audio effect is provided by a loadable plug-in described +in the \code{name} field and is configured in a plug-in-dependent +manner with the \code{property} field. The \code{bEnable} field is used to +turn the effect on/off. +*/ + +/* OMX_IndexConfigBrcmMinimumProcessingLatency: Processing Latency Bound */ +typedef struct OMX_CONFIG_BRCMMINIMUMPROCESSINGLATENCY { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_TICKS nOffset; +} OMX_CONFIG_BRCMMINIMUMPROCESSINGLATENCY; +/* +Query/set the difference between the actual media time and when the +component receives request fulfillments for media time requests. This +can be used with e.g. splitter/mixer components to control when the +component stops waiting for input or output packets from active +streams and continues with processing (to maintain a constant +processing rate). +*/ + +/** Enable or disable Supplemental Enhancment Information (SEI) messages to be inserted in + * the H.264 bitstream. + */ +typedef struct OMX_PARAM_BRCMVIDEOAVCSEIENABLETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnable; +} OMX_PARAM_BRCMVIDEOAVCSEIENABLETYPE; + +/* OMX_IndexParamBrcmAllowMemChange: Allowing changing memory allocation on state transition */ +typedef struct OMX_PARAM_BRCMALLOWMEMCHANGETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnable; +} OMX_PARAM_BRCMALLOWMEMCHANGETYPE; +/* +Let the component change the amount of memory it has allocated when +going from LOADED to IDLE. By default this is enabled, but if it is +disabled the component will fail to transition to IDLE if the +component requires more memory than has already been allocated. This +might occur if (for example) the component was configured, taken to +IDLE, then taken back to LOADED, the profile increased and the +component taken back to IDLE. +*/ + +typedef enum OMX_CONFIG_CAMERAUSECASE { + OMX_CameraUseCaseAuto, + OMX_CameraUseCaseVideo, + OMX_CameraUseCaseStills, + OMX_CameraUseCaseKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_CameraUseCaseVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_CameraUseCaseMax = 0x7FFFFFFF +} OMX_CONFIG_CAMERAUSECASE; + +typedef struct OMX_CONFIG_CAMERAUSECASETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_CONFIG_CAMERAUSECASE eUseCase; +} OMX_CONFIG_CAMERAUSECASETYPE; + +/* OMX_IndexParamBrcmDisableProprietaryTunnels: Disabling proprietary tunnelling */ +typedef struct OMX_PARAM_BRCMDISABLEPROPRIETARYTUNNELSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bUseBuffers; +} OMX_PARAM_BRCMDISABLEPROPRIETARYTUNNELSTYPE; +/* +Tell a source component to refuse to support proprietary tunnelling. Buffers will be used instead. +*/ + + +// +// Control for memory allocation and component-internal buffering +// + +/* OMX_IndexParamBrcmRetainMemory: Controlling memory use on state transition */ +typedef struct OMX_PARAM_BRCMRETAINMEMORYTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnable; +} OMX_PARAM_BRCMRETAINMEMORYTYPE; +/* +Ask a component to retain its memory when going from IDLE to LOADED, if possible. +This has the benefit that you are then guaranteed that the transition to IDLE cannot +fail due to lack of memory, but has the disadvantage that you cannot leave the component +lying around in LOADED, unused, since it is using significant amounts of memory. +*/ + +/** Tell write media how large the output buffer should be. This is a hint, and + * may be ignored. A good size is bandwidth*, which works out at + * around 1Mbyte for up to 16Mbit/s. Sizes may (and probably will) be rounded down + * to the nearest power of 2. + */ +typedef struct OMX_PARAM_BRCMOUTPUTBUFFERSIZETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nBufferSize; +} OMX_PARAM_BRCMOUTPUTBUFFERSIZETYPE; + +/* OMX_IndexConfigCameraInfo: Camera device driver information */ +#define OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN 16 +typedef struct OMX_CONFIG_LENSCALIBRATIONVALUETYPE +{ + OMX_U16 nShutterDelayTime; + OMX_U16 nNdTransparency; + OMX_U16 nPwmPulseNearEnd; /**< Num pulses to move lens 1um at near end */ + OMX_U16 nPwmPulseFarEnd; /**< Num pulses to move lens 1um at far end */ + OMX_U16 nVoltagePIOutNearEnd[3]; + OMX_U16 nVoltagePIOut10cm[3]; + OMX_U16 nVoltagePIOutInfinity[3]; + OMX_U16 nVoltagePIOutFarEnd[3]; + OMX_U32 nAdcConversionNearEnd; + OMX_U32 nAdcConversionFarEnd; +} OMX_CONFIG_LENSCALIBRATIONVALUETYPE; +/* +Ask the camera component for the driver info on the current camera device +*/ + +#define OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN 16 +#define OMX_CONFIG_CAMERAINFOTYPE_SERIALNUM_LEN 20 +#define OMX_CONFIG_CAMERAINFOTYPE_EPROMVER_LEN 8 +typedef struct OMX_CONFIG_CAMERAINFOTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 cameraname[OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN]; + OMX_U8 lensname[OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN]; + OMX_U16 nModelId; + OMX_U8 nManufacturerId; + OMX_U8 nRevNum; + OMX_U8 sSerialNumber[OMX_CONFIG_CAMERAINFOTYPE_SERIALNUM_LEN]; + OMX_U8 sEpromVersion[OMX_CONFIG_CAMERAINFOTYPE_EPROMVER_LEN]; + OMX_CONFIG_LENSCALIBRATIONVALUETYPE sLensCalibration; + OMX_U32 xFNumber; + OMX_U32 xFocalLength; +} OMX_CONFIG_CAMERAINFOTYPE; + + +typedef enum OMX_CONFIG_CAMERAFEATURESSHUTTER { + OMX_CameraFeaturesShutterUnknown, + OMX_CameraFeaturesShutterNotPresent, + OMX_CameraFeaturesShutterPresent, + OMX_CameraFeaturesShutterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_CameraFeaturesShutterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_CameraFeaturesShutterMax = 0x7FFFFFFF +} OMX_CONFIG_CAMERAFEATURESSHUTTER; + +typedef struct OMX_CONFIG_CAMERAFEATURESTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_CONFIG_CAMERAFEATURESSHUTTER eHasMechanicalShutter; + OMX_BOOL bHasLens; +} OMX_CONFIG_CAMERAFEATURESTYPE; + + +//Should be added to the spec as part of IL416c +/* OMX_IndexConfigRequestCallback: Enable config change notifications. */ +typedef struct OMX_CONFIG_REQUESTCALLBACKTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_INDEXTYPE nIndex; + OMX_BOOL bEnable; +} OMX_CONFIG_REQUESTCALLBACKTYPE; +/* +This config implements IL416c to allow clients to request notification +of when a config or parameter is changed. When the parameter specified +in \code{nIndex} for port \code{nPortIndex} changes, an +\code{OMX_EventParamOrConfigChanged} event is generated for the client. +*/ + +/* OMX_IndexConfigCommonFocusRegionXY: Define focus regions */ +typedef enum OMX_FOCUSREGIONTYPE { + OMX_FocusRegionNormal, + OMX_FocusRegionFace, + OMX_FocusRegionMax +} OMX_FOCUSREGIONTYPE; + +typedef struct OMX_FOCUSREGIONXY { + OMX_U32 xLeft; + OMX_U32 xTop; + OMX_U32 xWidth; + OMX_U32 xHeight; + OMX_U32 nWeight; + OMX_U32 nMask; + OMX_FOCUSREGIONTYPE eType; +} OMX_FOCUSREGIONXY; + +typedef struct OMX_CONFIG_FOCUSREGIONXYTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIndex; + OMX_U32 nTotalRegions; + OMX_S32 nValidRegions; + OMX_BOOL bLockToFaces; + OMX_U32 xFaceTolerance; + OMX_FOCUSREGIONXY sRegion[1]; +} OMX_CONFIG_FOCUSREGIONXYTYPE; +/* +Query / set the focus regions to use as a set of x/y/width/height boxes relative +to the overall image. + +\code{nIndex} - first region number being set/read, allowing retrieval/setting +of many regions over several requests. + +\code{nTotalRegions} - total number of regions currently defined. + +\code{nValidRegions} - number of valid regions in the \code{sRegion} array. +When getting, the client sets this to the number of regions available. +The component writes region data and updates this field with how many +regions have been written to. +When setting, this is the number of regions defined with this structure + +\code{bLockToFaces} - compare the region(s) given to the latest face tracking results. +If a face is found within xFaceTolerance of the defined region, then amend the +region to correspond to the face. + +\code{xFaceTolerance} - 0p16 value to define the max difference between the region centre +and face tracking result centre to take the FT results + +\code{sRegions} - variable length array of focus regions. +*/ + +typedef struct OMX_CONFIG_U8TYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U8 nU8; /**< U8 value */ +} OMX_PARAM_U8TYPE; + +typedef struct OMX_CONFIG_CAMERASETTINGSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nExposure; + OMX_U32 nAnalogGain; + OMX_U32 nDigitalGain; + OMX_U32 nLux; + OMX_U32 nRedGain; + OMX_U32 nBlueGain; + OMX_U32 nFocusPosition; +} OMX_CONFIG_CAMERASETTINGSTYPE; + +/* OMX_IndexConfigDrawBoxLineParams: Face box style parameters. */ +typedef struct OMX_YUVCOLOUR { + OMX_U8 nY; + OMX_U8 nU; + OMX_U8 nV; +} OMX_YUVCOLOUR; + +typedef struct OMX_CONFIG_DRAWBOXLINEPARAMS { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port to which this config applies */ + OMX_U32 xCornerSize; /**< Size of the corners as a fraction of the complete side */ + OMX_U32 nPrimaryFaceLineWidth; /**< Width of the box line for the primary face in pixels */ + OMX_U32 nOtherFaceLineWidth; /**< Width of the box line for other faces in pixels */ + OMX_U32 nFocusRegionLineWidth; /**< Width of the box line for focus regions in pixels */ + OMX_YUVCOLOUR sPrimaryFaceColour; /**< YUV colour for the primary face */ + OMX_YUVCOLOUR sPrimaryFaceSmileColour; /**< YUV colour for the primary face if smiling */ + OMX_YUVCOLOUR sPrimaryFaceBlinkColour; /**< YUV colour for the primary face if blinking */ + OMX_YUVCOLOUR sOtherFaceColour; /**< YUV colour for the all other faces */ + OMX_YUVCOLOUR sOtherFaceSmileColour; /**< YUV colour for the all other faces if smiling */ + OMX_YUVCOLOUR sOtherFaceBlinkColour; /**< YUV colour for the all other faces if blinking */ + OMX_BOOL bShowFocusRegionsWhenIdle; /**< Are focus regions displayed when just in viewfinder/AF idle */ + OMX_YUVCOLOUR sFocusRegionColour; /**< YUV colour for focus regions */ + OMX_BOOL bShowAfState; /**< Change to the colours specified below if AF cycle has run */ + OMX_BOOL bShowOnlyPrimaryAfState; /**< Only show the primary face when displaying the AF status */ + OMX_BOOL bCombineNonFaceRegions; /**< Combine all regions not defined as faces into one single box covering them all */ + OMX_YUVCOLOUR sAfLockPrimaryFaceColour; /**< YUV colour for the primary face */ + OMX_YUVCOLOUR sAfLockOtherFaceColour; /**< YUV colour for the all other faces */ + OMX_YUVCOLOUR sAfLockFocusRegionColour; /**< YUV colour for focus regions */ + OMX_YUVCOLOUR sAfFailPrimaryFaceColour; /**< YUV colour for the primary face */ + OMX_YUVCOLOUR sAfFailOtherFaceColour; /**< YUV colour for the all other faces */ + OMX_YUVCOLOUR sAfFailFocusRegionColour; /**< YUV colour for focus regions */ + } OMX_CONFIG_DRAWBOXLINEPARAMS; +/* +Query / set the parameters for the box to be drawn around faces/focus regions. +*/ + + #define OMX_PARAM_CAMERARMITYPE_RMINAME_LEN 16 + //OMX_IndexParamCameraRmiControl + typedef struct OMX_PARAM_CAMERARMITYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnabled; + OMX_U8 sRmiName[OMX_PARAM_CAMERARMITYPE_RMINAME_LEN]; + OMX_U32 nInputBufferHeight; + OMX_U32 nRmiBufferSize; + OMX_BRCM_POOL_T *pImagePool; + } OMX_PARAM_CAMERARMITYPE; + +/* OMX_IndexConfigBrcmSyncOutput: Forcing a write sync */ +typedef struct OMX_CONFIG_BRCMSYNCOUTPUTTYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ +} OMX_CONFIG_BRCMSYNCOUTPUTTYPE; +/* +Setting this config forces a sync of data to the filesystem. +*/ + +/* OMX_IndexConfigDrmView: View information for DRM rental files */ +typedef struct OMX_CONFIG_DRMVIEWTYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nCurrentView; /**< Current view count */ + OMX_U32 nMaxView; /**< Max. no. of view allowed */ +} OMX_CONFIG_DRMVIEWTYPE; +/* +This structure contains information about the number of available +views in the selected DRM rental file, which typically have a given +maximum view count. It allows the user to explicitly agree to playing +the file, which will increment the number of current views the file +has had. +*/ + +typedef struct OMX_PARAM_BRCMU64TYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nLowPart; /**< low bits of the unsigned 64 bit value */ + OMX_U32 nHighPart; /**< high bits of the unsigned 64 bit value */ +} OMX_PARAM_BRCMU64TYPE; + +/* OMX_IndexParamBrcmDisableEXIF: Disable generation of EXIF data */ +/* +This parameter is used by clients to control the generation of exif +data in JPEG images. +*/ + +/* OMX_IndexParamBrcmThumbnail: Control generation of thumbnail */ +typedef struct OMX_PARAM_BRCMTHUMBNAILTYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_BOOL bEnable; /**< Enable generation of thumbnails during still capture */ + OMX_BOOL bUsePreview; /**< Use the preview image (as is) as thumbnail */ + OMX_U32 nWidth; /**< Desired width of the thumbnail */ + OMX_U32 nHeight; /**< Desired height of the thumbnail */ +} OMX_PARAM_BRCMTHUMBNAILTYPE; +/* +This parameter is used by clients to control how thumbnails are +generated when creating still images. + +Thumbnail generation will be turned on or off depending on the +\code{bEnable} field. + +The \code{bUsePreview} field will let the component know whether it +should use the low resolution preview image (if the component has one +available) as is for the thumbnail. When this is set to true, it should +make the generation of thumbnails faster (if a preview image is available) +and should use less memory as well. + +The \code{nWidth} and \code{nHeight} fields allow the client to +specify the dimensions of the thumbnail. If both \code{nWidth} and +\code{nHeight} are 0, we will calculate a sensible size for the +thumbnail. +*/ + +typedef struct OMX_PARAM_BRCMASPECTRATIOTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nWidth; + OMX_U32 nHeight; +} OMX_PARAM_BRCMASPECTRATIOTYPE; + +/* OMX_IndexParamBrcmVideoDecodeErrorConcealment: Control error concealment for video decode */ +typedef struct OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bStartWithValidFrame; /**< Decoder will only start emitting frames from a non-corrupted frame */ +} OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE; +/* + This parameter is used by clients to control the type of error concealment + that will be done by the video decoder. + */ + +#define OMX_CONFIG_FLASHINFOTYPE_NAME_LEN 16 +typedef struct OMX_CONFIG_FLASHINFOTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 sFlashName[OMX_CONFIG_FLASHINFOTYPE_NAME_LEN]; + OMX_CAMERAFLASHTYPE eFlashType; + OMX_U8 nDeviceId; + OMX_U8 nDeviceVersion; +} OMX_CONFIG_FLASHINFOTYPE; + +/* OMX_IndexParamBrcmInterpolateMissingTimestamps: Configure component to interpolate missing timestamps */ +/* +Configures a component so that it tries to timestamp all the buffers it outputs. +If the timestamp information is missing from the original buffer, the +component will try its best to interpolate a value for the missing timestamp. + */ + +/* OMX_IndexParamBrcmSetCodecPerformanceMonitoring: Configure component to output performance statistics */ +/* +Configures a codec component so that it outputs performance statistics to +the given DECODE_PROGRESS_REPORT_T structure (passed as a pointer). +This structure can then be read by the client to find out where the codec is +at in its processing. + */ + +/* OMX_IndexConfigDynamicRangeExpansion: Configure image dynamic range expansion processing */ +typedef enum OMX_DYNAMICRANGEEXPANSIONMODETYPE { + OMX_DynRangeExpOff, + OMX_DynRangeExpLow, + OMX_DynRangeExpMedium, + OMX_DynRangeExpHigh, + OMX_DynRangeExpKhronosExtensions = 0x6F000000, + OMX_DynRangeExpVendorStartUnused = 0x7F000000, + OMX_DynRangeExpMax = 0x7FFFFFFF +} OMX_DYNAMICRANGEEXPANSIONMODETYPE; + +typedef struct OMX_CONFIG_DYNAMICRANGEEXPANSIONTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_DYNAMICRANGEEXPANSIONMODETYPE eMode; +} OMX_CONFIG_DYNAMICRANGEEXPANSIONTYPE; +/* +Configures the intensity of an image dynamic range expansion processing stage +*/ + +/* OMX_IndexParamBrcmTransposeBufferCount: Configure the number of pre-allocated transpose buffers */ +/* +This config allows the client to explicitly set the number of destination buffers pre-allocated for +ports that support 90/270 degree rotation (e.g. in video_render). The buffers will be pre-allocated during +a state transition from LOADED to IDLE (the transition will fail if there is not enough memory available +for the buffers). +. +*/ + + +/* OMX_IndexParamBrcmThreadAffinity: Control the CPU affinity of component thread(s) */ +typedef enum OMX_BRCMTHREADAFFINITYTYPE { + OMX_BrcmThreadAffinityCPU0, + OMX_BrcmThreadAffinityCPU1, + OMX_BrcmThreadAffinityMax = 0x7FFFFFFF +} OMX_BRCMTHREADAFFINITYTYPE; + +typedef struct OMX_PARAM_BRCMTHREADAFFINITYTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BRCMTHREADAFFINITYTYPE eAffinity; /**< Thread CPU affinity */ +} OMX_PARAM_BRCMTHREADAFFINITYTYPE; +/* + This parameter is used by clients to hint the CPU that a component thread should run on. + */ + + /* OMX_IndexConfigCommonSceneDetected: Reports the scene type detected by a scene detection algorithm. */ +typedef enum OMX_SCENEDETECTTYPE { + OMX_SceneDetectUnknown, + OMX_SceneDetectLandscape, + OMX_SceneDetectPortrait, + OMX_SceneDetectMacro, + OMX_SceneDetectNight, + OMX_SceneDetectPortraitNight, + OMX_SceneDetectBacklit, + OMX_SceneDetectPortraitBacklit, + OMX_SceneDetectSunset, + OMX_SceneDetectBeach, + OMX_SceneDetectSnow, + OMX_SceneDetectFireworks, + OMX_SceneDetectMax = 0x7FFFFFFF +} OMX_SCENEDETECTTYPE; + +/* OMX_IndexConfigCommonSceneDetected: Reports the scene type detected by a scene detection algorithm. */ +typedef struct OMX_CONFIG_SCENEDETECTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_SCENEDETECTTYPE eScene; /**< Scene type detected */ +} OMX_CONFIG_SCENEDETECTTYPE; +/* + This config is used to report to clients the scene type that has been detected. + */ + +/* OMX_IndexParamNalStreamFormat: Control the NAL unit packaging. This is a Khronos extension. */ +typedef enum OMX_INDEXEXTTYPE { + /* Video parameters and configurations */ + OMX_IndexExtVideoStartUnused = OMX_IndexKhronosExtensions + 0x00600000, + OMX_IndexParamNalStreamFormatSupported, /**< reference: OMX_NALSTREAMFORMATTYPE */ + OMX_IndexParamNalStreamFormat, /**< reference: OMX_NALSTREAMFORMATTYPE */ + OMX_IndexParamNalStreamFormatSelect, /**< reference: OMX_NALSTREAMFORMATTYPE */ + + OMX_IndexExtMax = 0x7FFFFFFF +} OMX_INDEXEXTTYPE; + +/* OMX_IndexParamNalStreamFormat: Control the NAL unit packaging. This is a Khronos extension. */ +typedef enum OMX_NALUFORMATSTYPE { + OMX_NaluFormatStartCodes = 1, + OMX_NaluFormatOneNaluPerBuffer = 2, + OMX_NaluFormatOneByteInterleaveLength = 4, + OMX_NaluFormatTwoByteInterleaveLength = 8, + OMX_NaluFormatFourByteInterleaveLength = 16, + OMX_NaluFormatCodingMax = 0x7FFFFFFF +} OMX_NALUFORMATSTYPE; + +/* OMX_IndexParamNalStreamFormat: Control the NAL unit packaging. This is a Khronos extension. */ +typedef struct OMX_NALSTREAMFORMATTYPE{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_NALUFORMATSTYPE eNaluFormat; +} OMX_NALSTREAMFORMATTYPE; +/* + This parameter is used to control the NAL unit packaging of an H264 video port. + */ + +/* OMX_IndexParamVideoMvc: MVC codec parameters */ +typedef struct OMX_VIDEO_PARAM_AVCTYPE OMX_VIDEO_PARAM_MVCTYPE; +/* +This parameter is currently identical to the AVC parameter type. +*/ + + /* OMX_IndexConfigBrcmDrawStaticBox: Define static box to be drawn */ +typedef enum OMX_STATICBOXTYPE { + OMX_StaticBoxNormal, + OMX_StaticBoxPrimaryFaceAfIdle, + OMX_StaticBoxNonPrimaryFaceAfIdle, + OMX_StaticBoxFocusRegionAfIdle, + OMX_StaticBoxPrimaryFaceAfSuccess, + OMX_StaticBoxNonPrimaryFaceAfSuccess, + OMX_StaticBoxFocusRegionAfSuccess, + OMX_StaticBoxPrimaryFaceAfFail, + OMX_StaticBoxNonPrimaryFaceAfFail, + OMX_StaticBoxFocusRegionAfFail, + OMX_StaticBoxMax +} OMX_STATICBOXTYPE; + +typedef struct OMX_STATICBOX { + OMX_U32 xLeft; + OMX_U32 xTop; + OMX_U32 xWidth; + OMX_U32 xHeight; + OMX_STATICBOXTYPE eType; +} OMX_STATICBOX; + +typedef struct OMX_CONFIG_STATICBOXTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIndex; + OMX_U32 nTotalBoxes; + OMX_S32 nValidBoxes; + OMX_BOOL bDrawOtherBoxes; + OMX_STATICBOX sBoxes[1]; +} OMX_CONFIG_STATICBOXTYPE; +/* +Query / set the parameters for a box to always be drawn on viewfinder images +The x/y/width/height values for the boxes are relative to the overall image. + +\code{nIndex} - first box number being set/read, allowing retrieval/setting +of many boxes over several requests. + +\code{nValidBoxes} - total number of boxes currently defined. + +\code{nValidBoxes} - number of valid boxes in the \code{sBoxes} array. +When getting, the client sets this to the number of boxes available. +The component writes box data and updates this field with how many +boxes have been written to. +When setting, this is the number of boxes defined with this structure + +\code{sBoxes} - variable length array of static boxes. +*/ + +/* OMX_IndexConfigPortCapturing: Per-port capturing state */ +typedef struct OMX_CONFIG_PORTBOOLEANTYPE{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; +} OMX_CONFIG_PORTBOOLEANTYPE; +/* +This is proposed in IL533f for controlling +which ports of a multi-port camera component are capturing frames. +*/ + +/* OMX_IndexConfigCaptureMode: Capturing mode type */ +typedef enum OMX_CAMERACAPTUREMODETYPE { + OMX_CameraCaptureModeWaitForCaptureEnd, + OMX_CameraCaptureModeWaitForCaptureEndAndUsePreviousInputImage, + OMX_CameraCaptureModeResumeViewfinderImmediately, + OMX_CameraCaptureModeMax, +} OMX_CAMERACAPTUREMODETYPE; + +typedef struct OMX_PARAM_CAMERACAPTUREMODETYPE{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_CAMERACAPTUREMODETYPE eMode; +} OMX_PARAM_CAMERACAPTUREMODETYPE; +/* +This controls the mode of operation for +still image capture in the camera component. +*/ + +/* OMX_IndexParamBrcmDrmEncryption: Set DRM encryption scheme */ +typedef enum OMX_BRCMDRMENCRYPTIONTYPE +{ + OMX_DrmEncryptionNone = 0, + OMX_DrmEncryptionHdcp2, + OMX_DrmEncryptionKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_DrmEncryptionVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_DrmEncryptionRangeMax = 0x7FFFFFFF +} OMX_BRCMDRMENCRYPTIONTYPE; + +typedef struct OMX_PARAM_BRCMDRMENCRYPTIONTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BRCMDRMENCRYPTIONTYPE eEncryption; + OMX_U32 nConfigDataLen; + OMX_U8 configData[1]; +} OMX_PARAM_BRCMDRMENCRYPTIONTYPE; +/* +Query/set the DRM encryption scheme used by a port writing out data. +*/ + + +/* OMX_IndexConfigBufferStall: Advertise buffer stall state */ +typedef struct OMX_CONFIG_BUFFERSTALLTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bStalled; /**< Whether we are stalled */ + OMX_U32 nDelay; /**< Delay in real time (us) from last buffer to current time */ +} OMX_CONFIG_BUFFERSTALLTYPE; +/* +Query/set the buffer stall threashold. When set the \code{nDelay} +parameter specifies a time to class whether buffer output is stalled. +When get, the \code{nDelay} parameter indicates the current buffer +delay, and the {bStalled} parameter indicates whether this time is +over a previously set threashold. When +\code{OMX_IndexConfigRequestCallback} is used with this index, a +notification is given when \code{bStalled} changes. +*/ + +/* OMX_IndexConfigLatencyTarget: Maintain target latency by adjusting clock speed */ +typedef struct OMX_CONFIG_LATENCYTARGETTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; /**< whether this mode is enabled */ + OMX_U32 nFilter; /**< number of latency samples to filter on, good value: 1 */ + OMX_U32 nTarget; /**< target latency, us */ + OMX_U32 nShift; /**< shift for storing latency values, good value: 7 */ + OMX_S32 nSpeedFactor; /**< multiplier for speed changes, in 24.8 format, good value: 256-512 */ + OMX_S32 nInterFactor; /**< divider for comparing latency versus gradiant, good value: 300 */ + OMX_S32 nAdjCap; /**< limit for speed change before nSpeedFactor is applied, good value: 100 */ +} OMX_CONFIG_LATENCYTARGETTYPE; +/* +Query/set parameters used when adjusting clock speed to match the +measured latency to a specified value. +*/ + +/* OMX_IndexConfigBrcmUseProprietaryCallback: Force use of proprietary callback */ +typedef struct OMX_CONFIG_BRCMUSEPROPRIETARYCALLBACKTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnable; +} OMX_CONFIG_BRCMUSEPROPRIETARYCALLBACKTYPE; +/* +Disable/enable the use of proprietary callbacks rather than OpenMAX IL buffer handling. +*/ + +/* OMX_IndexParamCommonUseStcTimestamps: Select timestamp mode */ +typedef enum OMX_TIMESTAMPMODETYPE +{ + OMX_TimestampModeZero = 0, /**< Use a timestamp of 0 */ + OMX_TimestampModeRawStc, /**< Use the raw STC as the timestamp */ + OMX_TimestampModeResetStc, /**< Store the STC when video capture port goes active, and subtract that from STC for the timestamp */ + OMX_TimestampModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_TimestampModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_TimestampModeMax = 0x7FFFFFFF +} OMX_TIMESTAMPMODETYPE; + +typedef struct OMX_PARAM_TIMESTAMPMODETYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_TIMESTAMPMODETYPE eTimestampMode; +} OMX_PARAM_TIMESTAMPMODETYPE; +/* + Specifies what to use as timestamps in the abscence of a clock component. +*/ + +/* EGL image buffer for passing to video port. + * Used when port color format is OMX_COLOR_FormatBRCMEGL. + */ +typedef struct OMX_BRCMVEGLIMAGETYPE +{ + /* Passed between ARM + VC; use fixed width types. */ + OMX_U32 nWidth; + OMX_U32 nHeight; + OMX_U32 nStride; + OMX_U32 nUmemHandle; + OMX_U32 nUmemOffset; + OMX_U32 nFlipped; /* Non-zero -> vertically flipped image */ +} OMX_BRCMVEGLIMAGETYPE; + +/* Provides field of view + */ +typedef struct OMX_CONFIG_BRCMFOVTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 xFieldOfViewHorizontal; /**< Horizontal field of view in degrees. 16p16 value */ + OMX_U32 xFieldOfViewVertical; /**< Vertical field of view in degrees. 16p16 value */ +} OMX_CONFIG_BRCMFOVTYPE; + +/* OMX_IndexConfigBrcmDecoderPassThrough: Enabling Audio Passthrough */ +/* +This allows an audio decoder to disable decoding the stream and pass through correctly framed +data to enable playback of compressed audio to supported output devices. +*/ + +/* OMX_IndexConfigBrcmClockReferenceSource: Select Clock Reference Source */ +/* +This control allows communicating directly to an audio renderer component whether it should +act as a clock reference source or act as a slave. +*/ + +/* OMX_IndexConfigEncLevelExtension: AVC Override encode capabilities */ +typedef struct OMX_VIDEO_CONFIG_LEVEL_EXTEND { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nCustomMaxMBPS; /**< Specifies maximum macro-blocks per second */ + OMX_U32 nCustomMaxFS; /**< Specifies maximum frame size (macro-blocks per frame) */ + OMX_U32 nCustomMaxBRandCPB; /**< Specifies maximum bitrate in units of 1000 bits/s and Codec Picture Buffer (CPB derived from bitrate) */ +} OMX_VIDEO_CONFIG_LEVEL_EXTEND; +/* +This allows finer control of the H264 encode internal parameters. +*/ + +/* OMX_IndexParamBrcmEEDEEnable: Enable/Disable end to end distortion estimator */ +typedef struct OMX_VIDEO_EEDE_ENABLE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 enable; +} OMX_VIDEO_EEDE_ENABLE; +/* +This enables or disables the use of end to end distortion estimation. +*/ + +/* OMX_IndexParamBrcmEEDELossRate: Loss rate configuration for end to end distortion */ +typedef struct OMX_VIDEO_EEDE_LOSSRATE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 loss_rate; /**< loss rate, 5 means 5% */ +} OMX_VIDEO_EEDE_LOSSRATE; +/* +Set the packet loss rate used by the end to end distortion estimator. +*/ + +/* OMX_IndexParamColorSpace: Colour space information */ +typedef enum OMX_COLORSPACETYPE +{ + OMX_COLORSPACE_UNKNOWN, + OMX_COLORSPACE_JPEG_JFIF, + OMX_COLORSPACE_ITU_R_BT601, + OMX_COLORSPACE_ITU_R_BT709, + OMX_COLORSPACE_FCC, + OMX_COLORSPACE_SMPTE240M, + OMX_COLORSPACE_BT470_2_M, + OMX_COLORSPACE_BT470_2_BG, + OMX_COLORSPACE_JFIF_Y16_255, + OMX_COLORSPACE_MAX = 0x7FFFFFFF +} OMX_COLORSPACETYPE; + +typedef struct OMX_PARAM_COLORSPACETYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_COLORSPACETYPE eColorSpace; +} OMX_PARAM_COLORSPACETYPE; + +typedef enum OMX_CAPTURESTATETYPE +{ + OMX_NotCapturing, + OMX_CaptureStarted, + OMX_CaptureComplete, + OMX_CaptureMax = 0x7FFFFFFF +} OMX_CAPTURESTATETYPE; + +typedef struct OMX_PARAM_CAPTURESTATETYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_CAPTURESTATETYPE eCaptureState; +} OMX_PARAM_CAPTURESTATETYPE; + +/* +Provides information on the colour space that's in use during image/video processing. +*/ + +/* OMX_IndexConfigMinimiseFragmentation: Minimising Fragmentation */ +/* +This control can be supported to enable the client to request that the component works +to minimise fragmentation of output buffers. +*/ + +/* OMX_IndexConfigBrcmBufferFlagFilter: Filters buffers based on flags */ +/* +This control can be set to request that buffers are conditionally forwarded on +output ports based on matching flags set on that buffer. +*/ + +/* OMX_IndexParamPortMaxFrameSize: Specifying maximum frame size */ +/* +This control can be used to control the maximum frame size allowed on an output port. +*/ + +/* OMX_IndexConfigBrcmCameraRnDPreprocess: Enable use of development ISP software stage */ +/* +This control can be used to enable a developmental software stage to be inserted into +the preprocessor stage of the ISP. +*/ + +/* OMX_IndexConfigBrcmCameraRnDPostprocess: Enable use of development ISP software stage */ +/* +This control can be used to enable a developmental software stage to be inserted into +the postprocessor stage of the ISP. +*/ + +/* OMX_IndexParamDisableVllPool: Controlling use of memory for loadable modules */ +/* +This control can be used to control whether loadable modules used a dedicated memory +pool or use heap allocated memory. +*/ + +typedef struct OMX_PARAM_BRCMCONFIGFILETYPE { + OMX_U32 nSize; /**< size of the structure in bytes, including + actual URI name */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 fileSize; /**< Size of complete file data */ +} OMX_PARAM_BRCMCONFIGFILETYPE; + +typedef struct OMX_PARAM_BRCMCONFIGFILECHUNKTYPE { + OMX_U32 nSize; /**< size of the structure in bytes, including + actual chunk data */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 size; /**< Number of bytes being transferred in this chunk */ + OMX_U32 offset; /**< Offset of this chunk in the file */ + OMX_U8 data[1]; /**< Chunk data */ +} OMX_PARAM_BRCMCONFIGFILECHUNKTYPE; + +typedef struct OMX_PARAM_BRCMFRAMERATERANGETYPE { + OMX_U32 nSize; /**< size of the structure in bytes, including + actual chunk data */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; + OMX_U32 xFramerateLow; /**< Low end of framerate range. Q16 format */ + OMX_U32 xFramerateHigh; /**< High end of framerate range. Q16 format */ +} OMX_PARAM_BRCMFRAMERATERANGETYPE; + +typedef struct OMX_PARAM_S32TYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_S32 nS32; /**< S32 value */ +} OMX_PARAM_S32TYPE; + +typedef struct OMX_PARAM_BRCMVIDEODRMPROTECTBUFFERTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + + OMX_U32 size_wanted; /**< Input. Zero size means internal video decoder buffer, + mem_handle and phys_addr not returned in this case */ + OMX_U32 protect; /**< Input. 1 = protect, 0 = unprotect */ + + OMX_U32 mem_handle; /**< Output. Handle for protected buffer */ + OMX_PTR phys_addr; /**< Output. Physical memory address of protected buffer */ +} OMX_PARAM_BRCMVIDEODRMPROTECTBUFFERTYPE; + +typedef struct OMX_CONFIG_ZEROSHUTTERLAGTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + + OMX_U32 bZeroShutterMode; /**< Select ZSL mode from the camera. */ + OMX_U32 bConcurrentCapture; /**< Perform concurrent captures for full ZSL. */ + +} OMX_CONFIG_ZEROSHUTTERLAGTYPE; + +typedef struct OMX_PARAM_BRCMVIDEODECODECONFIGVD3TYPE { + OMX_U32 nSize; /**< size of the structure in bytes, including + configuration data */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U8 config[1]; /**< Configuration data (a VD3_CONFIGURE_T) */ +} OMX_PARAM_BRCMVIDEODECODECONFIGVD3TYPE; + +#endif +/* File EOF */ diff --git a/opt/vc/include/IL/OMX_Component.h b/opt/vc/include/IL/OMX_Component.h new file mode 100644 index 000000000..b0b9b817c --- /dev/null +++ b/opt/vc/include/IL/OMX_Component.h @@ -0,0 +1,579 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** OMX_Component.h - OpenMax IL version 1.1.2 + * The OMX_Component header file contains the definitions used to define + * the public interface of a component. This header file is intended to + * be used by both the application and the component. + */ + +#ifndef OMX_Component_h +#define OMX_Component_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_Audio.h" +#include "OMX_Video.h" +#include "OMX_Image.h" +#include "OMX_Other.h" + +/** @ingroup comp */ +typedef enum OMX_PORTDOMAINTYPE { + OMX_PortDomainAudio, + OMX_PortDomainVideo, + OMX_PortDomainImage, + OMX_PortDomainOther, + OMX_PortDomainKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_PortDomainVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_PortDomainMax = 0x7ffffff +} OMX_PORTDOMAINTYPE; + +/** @ingroup comp */ +typedef struct OMX_PARAM_PORTDEFINITIONTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port number the structure applies to */ + OMX_DIRTYPE eDir; /**< Direction (input or output) of this port */ + OMX_U32 nBufferCountActual; /**< The actual number of buffers allocated on this port */ + OMX_U32 nBufferCountMin; /**< The minimum number of buffers this port requires */ + OMX_U32 nBufferSize; /**< Size, in bytes, for buffers to be used for this channel */ + OMX_BOOL bEnabled; /**< Ports default to enabled and are enabled/disabled by + OMX_CommandPortEnable/OMX_CommandPortDisable. + When disabled a port is unpopulated. A disabled port + is not populated with buffers on a transition to IDLE. */ + OMX_BOOL bPopulated; /**< Port is populated with all of its buffers as indicated by + nBufferCountActual. A disabled port is always unpopulated. + An enabled port is populated on a transition to OMX_StateIdle + and unpopulated on a transition to loaded. */ + OMX_PORTDOMAINTYPE eDomain; /**< Domain of the port. Determines the contents of metadata below. */ + union { + OMX_AUDIO_PORTDEFINITIONTYPE audio; + OMX_VIDEO_PORTDEFINITIONTYPE video; + OMX_IMAGE_PORTDEFINITIONTYPE image; + OMX_OTHER_PORTDEFINITIONTYPE other; + } format; + OMX_BOOL bBuffersContiguous; + OMX_U32 nBufferAlignment; +} OMX_PARAM_PORTDEFINITIONTYPE; + +/** @ingroup comp */ +typedef struct OMX_PARAM_U32TYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nU32; /**< U32 value */ +} OMX_PARAM_U32TYPE; + +/** @ingroup rpm */ +typedef enum OMX_SUSPENSIONPOLICYTYPE { + OMX_SuspensionDisabled, /**< No suspension; v1.0 behavior */ + OMX_SuspensionEnabled, /**< Suspension allowed */ + OMX_SuspensionPolicyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_SuspensionPolicyStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_SuspensionPolicyMax = 0x7fffffff +} OMX_SUSPENSIONPOLICYTYPE; + +/** @ingroup rpm */ +typedef struct OMX_PARAM_SUSPENSIONPOLICYTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_SUSPENSIONPOLICYTYPE ePolicy; +} OMX_PARAM_SUSPENSIONPOLICYTYPE; + +/** @ingroup rpm */ +typedef enum OMX_SUSPENSIONTYPE { + OMX_NotSuspended, /**< component is not suspended */ + OMX_Suspended, /**< component is suspended */ + OMX_SuspensionKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_SuspensionVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_SuspendMax = 0x7FFFFFFF +} OMX_SUSPENSIONTYPE; + +/** @ingroup rpm */ +typedef struct OMX_PARAM_SUSPENSIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_SUSPENSIONTYPE eType; +} OMX_PARAM_SUSPENSIONTYPE ; + +typedef struct OMX_CONFIG_BOOLEANTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnabled; +} OMX_CONFIG_BOOLEANTYPE; + +/* Parameter specifying the content uri to use. */ +/** @ingroup cp */ +typedef struct OMX_PARAM_CONTENTURITYPE +{ + OMX_U32 nSize; /**< size of the structure in bytes, including + actual URI name */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U8 contentURI[1]; /**< The URI name */ +} OMX_PARAM_CONTENTURITYPE; + +/* Parameter specifying the pipe to use. */ +/** @ingroup cp */ +typedef struct OMX_PARAM_CONTENTPIPETYPE +{ + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_HANDLETYPE hPipe; /**< The pipe handle*/ +} OMX_PARAM_CONTENTPIPETYPE; + +/** @ingroup rpm */ +typedef struct OMX_RESOURCECONCEALMENTTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_BOOL bResourceConcealmentForbidden; /**< disallow the use of resource concealment + methods (like degrading algorithm quality to + lower resource consumption or functional bypass) + on a component as a resolution to resource conflicts. */ +} OMX_RESOURCECONCEALMENTTYPE; + + +/** @ingroup metadata */ +typedef enum OMX_METADATACHARSETTYPE { + OMX_MetadataCharsetUnknown = 0, + OMX_MetadataCharsetASCII, + OMX_MetadataCharsetBinary, + OMX_MetadataCharsetCodePage1252, + OMX_MetadataCharsetUTF8, + OMX_MetadataCharsetJavaConformantUTF8, + OMX_MetadataCharsetUTF7, + OMX_MetadataCharsetImapUTF7, + OMX_MetadataCharsetUTF16LE, + OMX_MetadataCharsetUTF16BE, + OMX_MetadataCharsetGB12345, + OMX_MetadataCharsetHZGB2312, + OMX_MetadataCharsetGB2312, + OMX_MetadataCharsetGB18030, + OMX_MetadataCharsetGBK, + OMX_MetadataCharsetBig5, + OMX_MetadataCharsetISO88591, + OMX_MetadataCharsetISO88592, + OMX_MetadataCharsetISO88593, + OMX_MetadataCharsetISO88594, + OMX_MetadataCharsetISO88595, + OMX_MetadataCharsetISO88596, + OMX_MetadataCharsetISO88597, + OMX_MetadataCharsetISO88598, + OMX_MetadataCharsetISO88599, + OMX_MetadataCharsetISO885910, + OMX_MetadataCharsetISO885913, + OMX_MetadataCharsetISO885914, + OMX_MetadataCharsetISO885915, + OMX_MetadataCharsetShiftJIS, + OMX_MetadataCharsetISO2022JP, + OMX_MetadataCharsetISO2022JP1, + OMX_MetadataCharsetISOEUCJP, + OMX_MetadataCharsetSMS7Bit, + OMX_MetadataCharsetKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MetadataCharsetVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MetadataCharsetTypeMax= 0x7FFFFFFF +} OMX_METADATACHARSETTYPE; + +/** @ingroup metadata */ +typedef enum OMX_METADATASCOPETYPE +{ + OMX_MetadataScopeAllLevels, + OMX_MetadataScopeTopLevel, + OMX_MetadataScopePortLevel, + OMX_MetadataScopeNodeLevel, + OMX_MetadataScopeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MetadataScopeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MetadataScopeTypeMax = 0x7fffffff +} OMX_METADATASCOPETYPE; + +/** @ingroup metadata */ +typedef enum OMX_METADATASEARCHMODETYPE +{ + OMX_MetadataSearchValueSizeByIndex, + OMX_MetadataSearchItemByIndex, + OMX_MetadataSearchNextItemByKey, + OMX_MetadataSearchKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MetadataSearchVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MetadataSearchTypeMax = 0x7fffffff +} OMX_METADATASEARCHMODETYPE; +/** @ingroup metadata */ +typedef struct OMX_CONFIG_METADATAITEMCOUNTTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_METADATASCOPETYPE eScopeMode; + OMX_U32 nScopeSpecifier; + OMX_U32 nMetadataItemCount; +} OMX_CONFIG_METADATAITEMCOUNTTYPE; + +/** @ingroup metadata */ +typedef struct OMX_CONFIG_METADATAITEMTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_METADATASCOPETYPE eScopeMode; + OMX_U32 nScopeSpecifier; + OMX_U32 nMetadataItemIndex; + OMX_METADATASEARCHMODETYPE eSearchMode; + OMX_METADATACHARSETTYPE eKeyCharset; + OMX_U8 nKeySizeUsed; + OMX_U8 nKey[128]; + OMX_METADATACHARSETTYPE eValueCharset; + OMX_STRING sLanguageCountry; + OMX_U32 nValueMaxSize; + OMX_U32 nValueSizeUsed; + OMX_U8 nValue[1]; +} OMX_CONFIG_METADATAITEMTYPE; + +/* @ingroup metadata */ +typedef struct OMX_CONFIG_CONTAINERNODECOUNTTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bAllKeys; + OMX_U32 nParentNodeID; + OMX_U32 nNumNodes; +} OMX_CONFIG_CONTAINERNODECOUNTTYPE; + +/** @ingroup metadata */ +typedef struct OMX_CONFIG_CONTAINERNODEIDTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bAllKeys; + OMX_U32 nParentNodeID; + OMX_U32 nNodeIndex; + OMX_U32 nNodeID; + OMX_STRING cNodeName; + OMX_BOOL bIsLeafType; +} OMX_CONFIG_CONTAINERNODEIDTYPE; + +/** @ingroup metadata */ +typedef struct OMX_PARAM_METADATAFILTERTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bAllKeys; /* if true then this structure refers to all keys and + * the three key fields below are ignored */ + OMX_METADATACHARSETTYPE eKeyCharset; + OMX_U32 nKeySizeUsed; + OMX_U8 nKey [128]; + OMX_U32 nLanguageCountrySizeUsed; + OMX_U8 nLanguageCountry[128]; + OMX_BOOL bEnabled; /* if true then key is part of filter (e.g. + * retained for query later). If false then + * key is not part of filter */ +} OMX_PARAM_METADATAFILTERTYPE; + +/** The OMX_HANDLETYPE structure defines the component handle. The component + * handle is used to access all of the component's public methods and also + * contains pointers to the component's private data area. The component + * handle is initialized by the OMX core (with help from the component) + * during the process of loading the component. After the component is + * successfully loaded, the application can safely access any of the + * component's public functions (although some may return an error because + * the state is inappropriate for the access). + * + * @ingroup comp + */ +typedef struct OMX_COMPONENTTYPE +{ + /** The size of this structure, in bytes. It is the responsibility + of the allocator of this structure to fill in this value. Since + this structure is allocated by the GetHandle function, this + function will fill in this value. */ + OMX_U32 nSize; + + /** nVersion is the version of the OMX specification that the structure + is built against. It is the responsibility of the creator of this + structure to initialize this value and every user of this structure + should verify that it knows how to use the exact version of + this structure found herein. */ + OMX_VERSIONTYPE nVersion; + + /** pComponentPrivate is a pointer to the component private data area. + This member is allocated and initialized by the component when the + component is first loaded. The application should not access this + data area. */ + OMX_PTR pComponentPrivate; + + /** pApplicationPrivate is a pointer that is a parameter to the + OMX_GetHandle method, and contains an application private value + provided by the IL client. This application private data is + returned to the IL Client by OMX in all callbacks */ + OMX_PTR pApplicationPrivate; + + /** refer to OMX_GetComponentVersion in OMX_core.h or the OMX IL + specification for details on the GetComponentVersion method. + */ + OMX_ERRORTYPE (*GetComponentVersion)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_OUT OMX_STRING pComponentName, + OMX_OUT OMX_VERSIONTYPE* pComponentVersion, + OMX_OUT OMX_VERSIONTYPE* pSpecVersion, + OMX_OUT OMX_UUIDTYPE* pComponentUUID); + + /** refer to OMX_SendCommand in OMX_core.h or the OMX IL + specification for details on the SendCommand method. + */ + OMX_ERRORTYPE (*SendCommand)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_COMMANDTYPE Cmd, + OMX_IN OMX_U32 nParam1, + OMX_IN OMX_PTR pCmdData); + + /** refer to OMX_GetParameter in OMX_core.h or the OMX IL + specification for details on the GetParameter method. + */ + OMX_ERRORTYPE (*GetParameter)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_INDEXTYPE nParamIndex, + OMX_INOUT OMX_PTR pComponentParameterStructure); + + + /** refer to OMX_SetParameter in OMX_core.h or the OMX IL + specification for details on the SetParameter method. + */ + OMX_ERRORTYPE (*SetParameter)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_INDEXTYPE nIndex, + OMX_IN OMX_PTR pComponentParameterStructure); + + + /** refer to OMX_GetConfig in OMX_core.h or the OMX IL + specification for details on the GetConfig method. + */ + OMX_ERRORTYPE (*GetConfig)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_INDEXTYPE nIndex, + OMX_INOUT OMX_PTR pComponentConfigStructure); + + + /** refer to OMX_SetConfig in OMX_core.h or the OMX IL + specification for details on the SetConfig method. + */ + OMX_ERRORTYPE (*SetConfig)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_INDEXTYPE nIndex, + OMX_IN OMX_PTR pComponentConfigStructure); + + + /** refer to OMX_GetExtensionIndex in OMX_core.h or the OMX IL + specification for details on the GetExtensionIndex method. + */ + OMX_ERRORTYPE (*GetExtensionIndex)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_STRING cParameterName, + OMX_OUT OMX_INDEXTYPE* pIndexType); + + + /** refer to OMX_GetState in OMX_core.h or the OMX IL + specification for details on the GetState method. + */ + OMX_ERRORTYPE (*GetState)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_OUT OMX_STATETYPE* pState); + + + /** The ComponentTunnelRequest method will interact with another OMX + component to determine if tunneling is possible and to setup the + tunneling. The return codes for this method can be used to + determine if tunneling is not possible, or if tunneling is not + supported. + + Base profile components (i.e. non-interop) do not support this + method and should return OMX_ErrorNotImplemented + + The interop profile component MUST support tunneling to another + interop profile component with a compatible port parameters. + A component may also support proprietary communication. + + If proprietary communication is supported the negotiation of + proprietary communication is done outside of OMX in a vendor + specific way. It is only required that the proper result be + returned and the details of how the setup is done is left + to the component implementation. + + When this method is invoked when nPort in an output port, the + component will: + 1. Populate the pTunnelSetup structure with the output port's + requirements and constraints for the tunnel. + + When this method is invoked when nPort in an input port, the + component will: + 1. Query the necessary parameters from the output port to + determine if the ports are compatible for tunneling + 2. If the ports are compatible, the component should store + the tunnel step provided by the output port + 3. Determine which port (either input or output) is the buffer + supplier, and call OMX_SetParameter on the output port to + indicate this selection. + + The component will return from this call within 5 msec. + + @param [in] hComp + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle method. + @param [in] nPort + nPort is used to select the port on the component to be used + for tunneling. + @param [in] hTunneledComp + Handle of the component to tunnel with. This is the component + handle returned by the call to the OMX_GetHandle method. When + this parameter is 0x0 the component should setup the port for + communication with the application / IL Client. + @param [in] nPortOutput + nPortOutput is used indicate the port the component should + tunnel with. + @param [in] pTunnelSetup + Pointer to the tunnel setup structure. When nPort is an output port + the component should populate the fields of this structure. When + When nPort is an input port the component should review the setup + provided by the component with the output port. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup tun + */ + + OMX_ERRORTYPE (*ComponentTunnelRequest)( + OMX_IN OMX_HANDLETYPE hComp, + OMX_IN OMX_U32 nPort, + OMX_IN OMX_HANDLETYPE hTunneledComp, + OMX_IN OMX_U32 nTunneledPort, + OMX_INOUT OMX_TUNNELSETUPTYPE* pTunnelSetup); + + /** refer to OMX_UseBuffer in OMX_core.h or the OMX IL + specification for details on the UseBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*UseBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr, + OMX_IN OMX_U32 nPortIndex, + OMX_IN OMX_PTR pAppPrivate, + OMX_IN OMX_U32 nSizeBytes, + OMX_IN OMX_U8* pBuffer); + + /** refer to OMX_AllocateBuffer in OMX_core.h or the OMX IL + specification for details on the AllocateBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*AllocateBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_INOUT OMX_BUFFERHEADERTYPE** ppBuffer, + OMX_IN OMX_U32 nPortIndex, + OMX_IN OMX_PTR pAppPrivate, + OMX_IN OMX_U32 nSizeBytes); + + /** refer to OMX_FreeBuffer in OMX_core.h or the OMX IL + specification for details on the FreeBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*FreeBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_U32 nPortIndex, + OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); + + /** refer to OMX_EmptyThisBuffer in OMX_core.h or the OMX IL + specification for details on the EmptyThisBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*EmptyThisBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); + + /** refer to OMX_FillThisBuffer in OMX_core.h or the OMX IL + specification for details on the FillThisBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*FillThisBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); + + /** The SetCallbacks method is used by the core to specify the callback + structure from the application to the component. This is a blocking + call. The component will return from this call within 5 msec. + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the GetHandle function. + @param [in] pCallbacks + pointer to an OMX_CALLBACKTYPE structure used to provide the + callback information to the component + @param [in] pAppData + pointer to an application defined value. It is anticipated that + the application will pass a pointer to a data structure or a "this + pointer" in this area to allow the callback (in the application) + to determine the context of the call + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + */ + OMX_ERRORTYPE (*SetCallbacks)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_CALLBACKTYPE* pCallbacks, + OMX_IN OMX_PTR pAppData); + + /** ComponentDeInit method is used to deinitialize the component + providing a means to free any resources allocated at component + initialization. NOTE: After this call the component handle is + not valid for further use. + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the GetHandle function. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + */ + OMX_ERRORTYPE (*ComponentDeInit)( + OMX_IN OMX_HANDLETYPE hComponent); + + /** @ingroup buf */ + OMX_ERRORTYPE (*UseEGLImage)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr, + OMX_IN OMX_U32 nPortIndex, + OMX_IN OMX_PTR pAppPrivate, + OMX_IN void* eglImage); + + OMX_ERRORTYPE (*ComponentRoleEnum)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_OUT OMX_U8 *cRole, + OMX_IN OMX_U32 nIndex); + +} OMX_COMPONENTTYPE; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ diff --git a/opt/vc/include/IL/OMX_ContentPipe.h b/opt/vc/include/IL/OMX_ContentPipe.h new file mode 100644 index 000000000..5f6310c28 --- /dev/null +++ b/opt/vc/include/IL/OMX_ContentPipe.h @@ -0,0 +1,195 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** OMX_ContentPipe.h - OpenMax IL version 1.1.2 + * The OMX_ContentPipe header file contains the definitions used to define + * the public interface for content piples. This header file is intended to + * be used by the component. + */ + +#ifndef OMX_CONTENTPIPE_H +#define OMX_CONTENTPIPE_H + +#ifndef KD_EACCES +/* OpenKODE error codes. CPResult values may be zero (indicating success + or one of the following values) */ +#define KD_EACCES (1) +#define KD_EADDRINUSE (2) +#define KD_EAGAIN (5) +#define KD_EBADF (7) +#define KD_EBUSY (8) +#define KD_ECONNREFUSED (9) +#define KD_ECONNRESET (10) +#define KD_EDEADLK (11) +#define KD_EDESTADDRREQ (12) +#define KD_ERANGE (35) +#define KD_EEXIST (13) +#define KD_EFBIG (14) +#define KD_EHOSTUNREACH (15) +#define KD_EINVAL (17) +#define KD_EIO (18) +#define KD_EISCONN (20) +#define KD_EISDIR (21) +#define KD_EMFILE (22) +#define KD_ENAMETOOLONG (23) +#define KD_ENOENT (24) +#define KD_ENOMEM (25) +#define KD_ENOSPC (26) +#define KD_ENOSYS (27) +#define KD_ENOTCONN (28) +#define KD_EPERM (33) +#define KD_ETIMEDOUT (36) +#define KD_EILSEQ (19) +#endif + +/** Map types from OMX standard types only here so interface is as generic as possible. */ +typedef OMX_U32 CPresult; +typedef char * CPstring; +typedef void * CPhandle; +typedef OMX_U32 CPuint; +typedef OMX_S32 CPint; +typedef char CPbyte; +typedef OMX_BOOL CPbool; + +/** enumeration of origin types used in the CP_PIPETYPE's Seek function + * @ingroup cp + */ +typedef enum CP_ORIGINTYPE { + CP_OriginBegin, + CP_OriginCur, + CP_OriginEnd, + CP_OriginKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + CP_OriginVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + CP_OriginMax = 0X7FFFFFFF +} CP_ORIGINTYPE; + +/** enumeration of contact access types used in the CP_PIPETYPE's Open function + * @ingroup cp + */ +typedef enum CP_ACCESSTYPE { + CP_AccessRead, + CP_AccessWrite, + CP_AccessReadWrite , + CP_AccessKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + CP_AccessVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + CP_AccessMax = 0X7FFFFFFF +} CP_ACCESSTYPE; + +/** enumeration of results returned by the CP_PIPETYPE's CheckAvailableBytes function + * @ingroup cp + */ +typedef enum CP_CHECKBYTESRESULTTYPE +{ + CP_CheckBytesOk, /**< There are at least the request number + of bytes available */ + CP_CheckBytesNotReady, /**< The pipe is still retrieving bytes + and presently lacks sufficient bytes. + Client will be called when they are + sufficient bytes are available. */ + CP_CheckBytesInsufficientBytes , /**< The pipe has retrieved all bytes + but those available are less than those + requested */ + CP_CheckBytesAtEndOfStream, /**< The pipe has reached the end of stream + and no more bytes are available. */ + CP_CheckBytesOutOfBuffers, /**< All read/write buffers are currently in use. */ + CP_CheckBytesKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + CP_CheckBytesVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + CP_CheckBytesMax = 0X7FFFFFFF +} CP_CHECKBYTESRESULTTYPE; + +/** enumeration of content pipe events sent to the client callback. + * @ingroup cp + */ +typedef enum CP_EVENTTYPE{ + CP_BytesAvailable, /** bytes requested in a CheckAvailableBytes call are now available*/ + CP_Overflow, /** enumeration of content pipe events sent to the client callback*/ + CP_PipeDisconnected , /** enumeration of content pipe events sent to the client callback*/ + CP_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + CP_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + CP_EventMax = 0X7FFFFFFF +} CP_EVENTTYPE; + +/** content pipe definition + * @ingroup cp + */ +typedef struct CP_PIPETYPE +{ + /** Open a content stream for reading or writing. */ + CPresult (*Open)( CPhandle* hContent, CPstring szURI, CP_ACCESSTYPE eAccess ); + + /** Close a content stream. */ + CPresult (*Close)( CPhandle hContent ); + + /** Create a content source and open it for writing. */ + CPresult (*Create)( CPhandle *hContent, CPstring szURI ); + + /** Check the that specified number of bytes are available for reading or writing (depending on access type).*/ + CPresult (*CheckAvailableBytes)( CPhandle hContent, CPuint nBytesRequested, CP_CHECKBYTESRESULTTYPE *eResult ); + + /** Seek to certain position in the content relative to the specified origin. */ + CPresult (*SetPosition)( CPhandle hContent, CPint nOffset, CP_ORIGINTYPE eOrigin); + + /** Retrieve the current position relative to the start of the content. */ + CPresult (*GetPosition)( CPhandle hContent, CPuint *pPosition); + + /** Retrieve data of the specified size from the content stream (advance content pointer by size of data). + Note: pipe client provides pointer. This function is appropriate for small high frequency reads. */ + CPresult (*Read)( CPhandle hContent, CPbyte *pData, CPuint nSize); + + /** Retrieve a buffer allocated by the pipe that contains the requested number of bytes. + Buffer contains the next block of bytes, as specified by nSize, of the content. nSize also + returns the size of the block actually read. Content pointer advances the by the returned size. + Note: pipe provides pointer. This function is appropriate for large reads. The client must call + ReleaseReadBuffer when done with buffer. + + In some cases the requested block may not reside in contiguous memory within the + pipe implementation. For instance if the pipe leverages a circular buffer then the requested + block may straddle the boundary of the circular buffer. By default a pipe implementation + performs a copy in this case to provide the block to the pipe client in one contiguous buffer. + If, however, the client sets bForbidCopy, then the pipe returns only those bytes preceding the memory + boundary. Here the client may retrieve the data in segments over successive calls. */ + CPresult (*ReadBuffer)( CPhandle hContent, CPbyte **ppBuffer, CPuint *nSize, CPbool bForbidCopy); + + /** Release a buffer obtained by ReadBuffer back to the pipe. */ + CPresult (*ReleaseReadBuffer)(CPhandle hContent, CPbyte *pBuffer); + + /** Write data of the specified size to the content (advance content pointer by size of data). + Note: pipe client provides pointer. This function is appropriate for small high frequency writes. */ + CPresult (*Write)( CPhandle hContent, CPbyte *data, CPuint nSize); + + /** Retrieve a buffer allocated by the pipe used to write data to the content. + Client will fill buffer with output data. Note: pipe provides pointer. This function is appropriate + for large writes. The client must call WriteBuffer when done it has filled the buffer with data.*/ + CPresult (*GetWriteBuffer)( CPhandle hContent, CPbyte **ppBuffer, CPuint nSize); + + /** Deliver a buffer obtained via GetWriteBuffer to the pipe. Pipe will write the + the contents of the buffer to content and advance content pointer by the size of the buffer */ + CPresult (*WriteBuffer)( CPhandle hContent, CPbyte *pBuffer, CPuint nFilledSize); + + /** Register a per-handle client callback with the content pipe. */ + CPresult (*RegisterCallback)( CPhandle hContent, CPresult (*ClientCallback)(CP_EVENTTYPE eEvent, CPuint iParam)); + +} CP_PIPETYPE; + +#endif + diff --git a/opt/vc/include/IL/OMX_Core.h b/opt/vc/include/IL/OMX_Core.h new file mode 100644 index 000000000..e491a0c81 --- /dev/null +++ b/opt/vc/include/IL/OMX_Core.h @@ -0,0 +1,1456 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** OMX_Core.h - OpenMax IL version 1.1.2 + * The OMX_Core header file contains the definitions used by both the + * application and the component to access common items. + */ + +#ifndef OMX_Core_h +#define OMX_Core_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/* Each OMX header shall include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_Index.h" + + +/** The OMX_COMMANDTYPE enumeration is used to specify the action in the + * OMX_SendCommand macro. + * @ingroup core + */ +typedef enum OMX_COMMANDTYPE +{ + OMX_CommandStateSet, /**< Change the component state */ + OMX_CommandFlush, /**< Flush the data queue(s) of a component */ + OMX_CommandPortDisable, /**< Disable a port on a component. */ + OMX_CommandPortEnable, /**< Enable a port on a component. */ + OMX_CommandMarkBuffer, /**< Mark a component/buffer for observation */ + OMX_CommandKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_CommandVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_CommandMax = 0X7FFFFFFF +} OMX_COMMANDTYPE; + + + +/** The OMX_STATETYPE enumeration is used to indicate or change the component + * state. This enumeration reflects the current state of the component when + * used with the OMX_GetState macro or becomes the parameter in a state change + * command when used with the OMX_SendCommand macro. + * + * The component will be in the Loaded state after the component is initially + * loaded into memory. In the Loaded state, the component is not allowed to + * allocate or hold resources other than to build it's internal parameter + * and configuration tables. The application will send one or more + * SetParameters/GetParameters and SetConfig/GetConfig commands to the + * component and the component will record each of these parameter and + * configuration changes for use later. When the application sends the + * Idle command, the component will acquire the resources needed for the + * specified configuration and will transition to the idle state if the + * allocation is successful. If the component cannot successfully + * transition to the idle state for any reason, the state of the component + * shall be fully rolled back to the Loaded state (e.g. all allocated + * resources shall be released). When the component receives the command + * to go to the Executing state, it shall begin processing buffers by + * sending all input buffers it holds to the application. While + * the component is in the Idle state, the application may also send the + * Pause command. If the component receives the pause command while in the + * Idle state, the component shall send all input buffers it holds to the + * application, but shall not begin processing buffers. This will allow the + * application to prefill buffers. + * + * @ingroup comp + */ + +typedef enum OMX_STATETYPE +{ + OMX_StateInvalid, /**< component has detected that it's internal data + structures are corrupted to the point that + it cannot determine it's state properly */ + OMX_StateLoaded, /**< component has been loaded but has not completed + initialization. The OMX_SetParameter macro + and the OMX_GetParameter macro are the only + valid macros allowed to be sent to the + component in this state. */ + OMX_StateIdle, /**< component initialization has been completed + successfully and the component is ready to + to start. */ + OMX_StateExecuting, /**< component has accepted the start command and + is processing data (if data is available) */ + OMX_StatePause, /**< component has received pause command */ + OMX_StateWaitForResources, /**< component is waiting for resources, either after + preemption or before it gets the resources requested. + See specification for complete details. */ + OMX_StateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_StateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_StateMax = 0X7FFFFFFF +} OMX_STATETYPE; + +/** The OMX_ERRORTYPE enumeration defines the standard OMX Errors. These + * errors should cover most of the common failure cases. However, + * vendors are free to add additional error messages of their own as + * long as they follow these rules: + * 1. Vendor error messages shall be in the range of 0x90000000 to + * 0x9000FFFF. + * 2. Vendor error messages shall be defined in a header file provided + * with the component. No error messages are allowed that are + * not defined. + */ +typedef enum OMX_ERRORTYPE +{ + OMX_ErrorNone = 0, + + /** There were insufficient resources to perform the requested operation */ + OMX_ErrorInsufficientResources = (OMX_S32) 0x80001000, + + /** There was an error, but the cause of the error could not be determined */ + OMX_ErrorUndefined = (OMX_S32) 0x80001001, + + /** The component name string was not valid */ + OMX_ErrorInvalidComponentName = (OMX_S32) 0x80001002, + + /** No component with the specified name string was found */ + OMX_ErrorComponentNotFound = (OMX_S32) 0x80001003, + + /** The component specified did not have a "OMX_ComponentInit" or + "OMX_ComponentDeInit entry point */ + OMX_ErrorInvalidComponent = (OMX_S32) 0x80001004, + + /** One or more parameters were not valid */ + OMX_ErrorBadParameter = (OMX_S32) 0x80001005, + + /** The requested function is not implemented */ + OMX_ErrorNotImplemented = (OMX_S32) 0x80001006, + + /** The buffer was emptied before the next buffer was ready */ + OMX_ErrorUnderflow = (OMX_S32) 0x80001007, + + /** The buffer was not available when it was needed */ + OMX_ErrorOverflow = (OMX_S32) 0x80001008, + + /** The hardware failed to respond as expected */ + OMX_ErrorHardware = (OMX_S32) 0x80001009, + + /** The component is in the state OMX_StateInvalid */ + OMX_ErrorInvalidState = (OMX_S32) 0x8000100A, + + /** Stream is found to be corrupt */ + OMX_ErrorStreamCorrupt = (OMX_S32) 0x8000100B, + + /** Ports being connected are not compatible */ + OMX_ErrorPortsNotCompatible = (OMX_S32) 0x8000100C, + + /** Resources allocated to an idle component have been + lost resulting in the component returning to the loaded state */ + OMX_ErrorResourcesLost = (OMX_S32) 0x8000100D, + + /** No more indicies can be enumerated */ + OMX_ErrorNoMore = (OMX_S32) 0x8000100E, + + /** The component detected a version mismatch */ + OMX_ErrorVersionMismatch = (OMX_S32) 0x8000100F, + + /** The component is not ready to return data at this time */ + OMX_ErrorNotReady = (OMX_S32) 0x80001010, + + /** There was a timeout that occurred */ + OMX_ErrorTimeout = (OMX_S32) 0x80001011, + + /** This error occurs when trying to transition into the state you are already in */ + OMX_ErrorSameState = (OMX_S32) 0x80001012, + + /** Resources allocated to an executing or paused component have been + preempted, causing the component to return to the idle state */ + OMX_ErrorResourcesPreempted = (OMX_S32) 0x80001013, + + /** A non-supplier port sends this error to the IL client (via the EventHandler callback) + during the allocation of buffers (on a transition from the LOADED to the IDLE state or + on a port restart) when it deems that it has waited an unusually long time for the supplier + to send it an allocated buffer via a UseBuffer call. */ + OMX_ErrorPortUnresponsiveDuringAllocation = (OMX_S32) 0x80001014, + + /** A non-supplier port sends this error to the IL client (via the EventHandler callback) + during the deallocation of buffers (on a transition from the IDLE to LOADED state or + on a port stop) when it deems that it has waited an unusually long time for the supplier + to request the deallocation of a buffer header via a FreeBuffer call. */ + OMX_ErrorPortUnresponsiveDuringDeallocation = (OMX_S32) 0x80001015, + + /** A supplier port sends this error to the IL client (via the EventHandler callback) + during the stopping of a port (either on a transition from the IDLE to LOADED + state or a port stop) when it deems that it has waited an unusually long time for + the non-supplier to return a buffer via an EmptyThisBuffer or FillThisBuffer call. */ + OMX_ErrorPortUnresponsiveDuringStop = (OMX_S32) 0x80001016, + + /** Attempting a state transtion that is not allowed */ + OMX_ErrorIncorrectStateTransition = (OMX_S32) 0x80001017, + + /* Attempting a command that is not allowed during the present state. */ + OMX_ErrorIncorrectStateOperation = (OMX_S32) 0x80001018, + + /** The values encapsulated in the parameter or config structure are not supported. */ + OMX_ErrorUnsupportedSetting = (OMX_S32) 0x80001019, + + /** The parameter or config indicated by the given index is not supported. */ + OMX_ErrorUnsupportedIndex = (OMX_S32) 0x8000101A, + + /** The port index supplied is incorrect. */ + OMX_ErrorBadPortIndex = (OMX_S32) 0x8000101B, + + /** The port has lost one or more of its buffers and it thus unpopulated. */ + OMX_ErrorPortUnpopulated = (OMX_S32) 0x8000101C, + + /** Component suspended due to temporary loss of resources */ + OMX_ErrorComponentSuspended = (OMX_S32) 0x8000101D, + + /** Component suspended due to an inability to acquire dynamic resources */ + OMX_ErrorDynamicResourcesUnavailable = (OMX_S32) 0x8000101E, + + /** When the macroblock error reporting is enabled the component returns new error + for every frame that has errors */ + OMX_ErrorMbErrorsInFrame = (OMX_S32) 0x8000101F, + + /** A component reports this error when it cannot parse or determine the format of an input stream. */ + OMX_ErrorFormatNotDetected = (OMX_S32) 0x80001020, + + /** The content open operation failed. */ + OMX_ErrorContentPipeOpenFailed = (OMX_S32) 0x80001021, + + /** The content creation operation failed. */ + OMX_ErrorContentPipeCreationFailed = (OMX_S32) 0x80001022, + + /** Separate table information is being used */ + OMX_ErrorSeperateTablesUsed = (OMX_S32) 0x80001023, + + /** Tunneling is unsupported by the component*/ + OMX_ErrorTunnelingUnsupported = (OMX_S32) 0x80001024, + + OMX_ErrorKhronosExtensions = (OMX_S32)0x8F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ErrorVendorStartUnused = (OMX_S32)0x90000000, /**< Reserved region for introducing Vendor Extensions */ + + /** Disk Full error */ + OMX_ErrorDiskFull = (OMX_S32) 0x90000001, + + /** Max file size is reached */ + OMX_ErrorMaxFileSize = (OMX_S32) 0x90000002, + + /** Unauthorised to play a DRM protected file */ + OMX_ErrorDrmUnauthorised = (OMX_S32) 0x90000003, + + /** The DRM protected file has expired */ + OMX_ErrorDrmExpired = (OMX_S32) 0x90000004, + + /** Some other DRM library error */ + OMX_ErrorDrmGeneral = (OMX_S32) 0x90000005, + + OMX_ErrorMax = 0x7FFFFFFF +} OMX_ERRORTYPE; + +/** @ingroup core */ +typedef OMX_ERRORTYPE (* OMX_COMPONENTINITTYPE)(OMX_IN OMX_HANDLETYPE hComponent); + +/** @ingroup core */ +typedef struct OMX_COMPONENTREGISTERTYPE +{ + const char * pName; /* Component name, 128 byte limit (including '\0') applies */ + OMX_COMPONENTINITTYPE pInitialize; /* Component instance initialization function */ +} OMX_COMPONENTREGISTERTYPE; + +/** @ingroup core */ +extern OMX_COMPONENTREGISTERTYPE OMX_ComponentRegistered[]; + +/** @ingroup rpm */ +typedef struct OMX_PRIORITYMGMTTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nGroupPriority; /**< Priority of the component group */ + OMX_U32 nGroupID; /**< ID of the component group */ +} OMX_PRIORITYMGMTTYPE; + +/* Component name and Role names are limited to 128 characters including the terminating '\0'. */ +#define OMX_MAX_STRINGNAME_SIZE 128 + +/** @ingroup comp */ +typedef struct OMX_PARAM_COMPONENTROLETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U8 cRole[OMX_MAX_STRINGNAME_SIZE]; /**< name of standard component which defines component role */ +} OMX_PARAM_COMPONENTROLETYPE; + +/** End of Stream Buffer Flag: + * + * A component sets EOS when it has no more data to emit on a particular + * output port. Thus an output port shall set EOS on the last buffer it + * emits. A component's determination of when an output port should + * cease sending data is implemenation specific. + * @ingroup buf + */ + +#define OMX_BUFFERFLAG_EOS 0x00000001 + +/** Start Time Buffer Flag: + * + * The source of a stream (e.g. a demux component) sets the STARTTIME + * flag on the buffer that contains the starting timestamp for the + * stream. The starting timestamp corresponds to the first data that + * should be displayed at startup or after a seek. + * The first timestamp of the stream is not necessarily the start time. + * For instance, in the case of a seek to a particular video frame, + * the target frame may be an interframe. Thus the first buffer of + * the stream will be the intra-frame preceding the target frame and + * the starttime will occur with the target frame (with any other + * required frames required to reconstruct the target intervening). + * + * The STARTTIME flag is directly associated with the buffer's + * timestamp ' thus its association to buffer data and its + * propagation is identical to the timestamp's. + * + * When a Sync Component client receives a buffer with the + * STARTTIME flag it shall perform a SetConfig on its sync port + * using OMX_ConfigTimeClientStartTime and passing the buffer's + * timestamp. + * + * @ingroup buf + */ + +#define OMX_BUFFERFLAG_STARTTIME 0x00000002 + + + +/** Decode Only Buffer Flag: + * + * The source of a stream (e.g. a demux component) sets the DECODEONLY + * flag on any buffer that should shall be decoded but should not be + * displayed. This flag is used, for instance, when a source seeks to + * a target interframe that requires the decode of frames preceding the + * target to facilitate the target's reconstruction. In this case the + * source would emit the frames preceding the target downstream + * but mark them as decode only. + * + * The DECODEONLY is associated with buffer data and propagated in a + * manner identical to the buffer timestamp. + * + * A component that renders data should ignore all buffers with + * the DECODEONLY flag set. + * + * @ingroup buf + */ + +#define OMX_BUFFERFLAG_DECODEONLY 0x00000004 + + +/* Data Corrupt Flag: This flag is set when the IL client believes the data in the associated buffer is corrupt + * @ingroup buf + */ + +#define OMX_BUFFERFLAG_DATACORRUPT 0x00000008 + +/* End of Frame: The buffer contains exactly one end of frame and no data + * occurs after the end of frame. This flag is an optional hint. The absence + * of this flag does not imply the absence of an end of frame within the buffer. + * @ingroup buf +*/ +#define OMX_BUFFERFLAG_ENDOFFRAME 0x00000010 + +/* Sync Frame Flag: This flag is set when the buffer content contains a coded sync frame ' + * a frame that has no dependency on any other frame information + * @ingroup buf + */ +#define OMX_BUFFERFLAG_SYNCFRAME 0x00000020 + +/* Extra data present flag: there is extra data appended to the data stream + * residing in the buffer + * @ingroup buf + */ +#define OMX_BUFFERFLAG_EXTRADATA 0x00000040 + +/** Codec Config Buffer Flag: +* OMX_BUFFERFLAG_CODECCONFIG is an optional flag that is set by an +* output port when all bytes in the buffer form part or all of a set of +* codec specific configuration data. Examples include SPS/PPS nal units +* for OMX_VIDEO_CodingAVC or AudioSpecificConfig data for +* OMX_AUDIO_CodingAAC. Any component that for a given stream sets +* OMX_BUFFERFLAG_CODECCONFIG shall not mix codec configuration bytes +* with frame data in the same buffer, and shall send all buffers +* containing codec configuration bytes before any buffers containing +* frame data that those configurations bytes describe. +* If the stream format for a particular codec has a frame specific +* header at the start of each frame, for example OMX_AUDIO_CodingMP3 or +* OMX_AUDIO_CodingAAC in ADTS mode, then these shall be presented as +* normal without setting OMX_BUFFERFLAG_CODECCONFIG. + * @ingroup buf + */ +#define OMX_BUFFERFLAG_CODECCONFIG 0x00000080 + + + +/** @ingroup buf */ +typedef struct OMX_BUFFERHEADERTYPE +{ + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U8* pBuffer; /**< Pointer to actual block of memory + that is acting as the buffer */ + OMX_U32 nAllocLen; /**< size of the buffer allocated, in bytes */ + OMX_U32 nFilledLen; /**< number of bytes currently in the + buffer */ + OMX_U32 nOffset; /**< start offset of valid data in bytes from + the start of the buffer */ + OMX_PTR pAppPrivate; /**< pointer to any data the application + wants to associate with this buffer */ + OMX_PTR pPlatformPrivate; /**< pointer to any data the platform + wants to associate with this buffer */ + OMX_PTR pInputPortPrivate; /**< pointer to any data the input port + wants to associate with this buffer */ + OMX_PTR pOutputPortPrivate; /**< pointer to any data the output port + wants to associate with this buffer */ + OMX_HANDLETYPE hMarkTargetComponent; /**< The component that will generate a + mark event upon processing this buffer. */ + OMX_PTR pMarkData; /**< Application specific data associated with + the mark sent on a mark event to disambiguate + this mark from others. */ + OMX_U32 nTickCount; /**< Optional entry that the component and + application can update with a tick count + when they access the component. This + value should be in microseconds. Since + this is a value relative to an arbitrary + starting point, this value cannot be used + to determine absolute time. This is an + optional entry and not all components + will update it.*/ + OMX_TICKS nTimeStamp; /**< Timestamp corresponding to the sample + starting at the first logical sample + boundary in the buffer. Timestamps of + successive samples within the buffer may + be inferred by adding the duration of the + of the preceding buffer to the timestamp + of the preceding buffer.*/ + OMX_U32 nFlags; /**< buffer specific flags */ + OMX_U32 nOutputPortIndex; /**< The index of the output port (if any) using + this buffer */ + OMX_U32 nInputPortIndex; /**< The index of the input port (if any) using + this buffer */ +} OMX_BUFFERHEADERTYPE; + +/** The OMX_EXTRADATATYPE enumeration is used to define the + * possible extra data payload types. + * NB: this enum is binary backwards compatible with the previous + * OMX_EXTRADATA_QUANT define. This should be replaced with + * OMX_ExtraDataQuantization. + */ +typedef enum OMX_EXTRADATATYPE +{ + OMX_ExtraDataNone = 0, /**< Indicates that no more extra data sections follow */ + OMX_ExtraDataQuantization, /**< The data payload contains quantization data */ + OMX_ExtraDataKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ExtraDataVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_ExtraDataSequenceGap, /**< Indicates a gap in sequence numbers, data is uint32_t + saying how many frames were lost */ + OMX_ExtraDataDecodeOnlyUntil, /**< Indicates a timestamp until which all data should be + decoded only, and the first packets after should generate + a client start time flag. data is int32_t of seek time + in milliseconds */ + + OMX_ExtraDataMax = 0x7FFFFFFF +} OMX_EXTRADATATYPE; + + +typedef struct OMX_OTHER_EXTRADATATYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_EXTRADATATYPE eType; /* Extra Data type */ + OMX_U32 nDataSize; /* Size of the supporting data to follow */ + OMX_U8 data[1]; /* Supporting data hint */ +} OMX_OTHER_EXTRADATATYPE; + +/** @ingroup comp */ +typedef struct OMX_PORT_PARAM_TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPorts; /**< The number of ports for this component */ + OMX_U32 nStartPortNumber; /** first port number for this type of port */ +} OMX_PORT_PARAM_TYPE; + +/** @ingroup comp */ +typedef enum OMX_EVENTTYPE +{ + OMX_EventCmdComplete, /**< component has sucessfully completed a command */ + OMX_EventError, /**< component has detected an error condition */ + OMX_EventMark, /**< component has detected a buffer mark */ + OMX_EventPortSettingsChanged, /**< component is reported a port settings change */ + OMX_EventBufferFlag, /**< component has detected an EOS */ + OMX_EventResourcesAcquired, /**< component has been granted resources and is + automatically starting the state change from + OMX_StateWaitForResources to OMX_StateIdle. */ + OMX_EventComponentResumed, /**< Component resumed due to reacquisition of resources */ + OMX_EventDynamicResourcesAvailable, /**< Component has acquired previously unavailable dynamic resources */ + OMX_EventPortFormatDetected, /**< Component has detected a supported format. */ + OMX_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_EventParamOrConfigChanged, /* Should be added to the main spec as part of IL416c */ + OMX_EventMax = 0x7FFFFFFF +} OMX_EVENTTYPE; + +typedef struct OMX_CALLBACKTYPE +{ + /** The EventHandler method is used to notify the application when an + event of interest occurs. Events are defined in the OMX_EVENTTYPE + enumeration. Please see that enumeration for details of what will + be returned for each type of event. Callbacks should not return + an error to the component, so if an error occurs, the application + shall handle it internally. This is a blocking call. + + The application should return from this call within 5 msec to avoid + blocking the component for an excessively long period of time. + + @param hComponent + handle of the component to access. This is the component + handle returned by the call to the GetHandle function. + @param pAppData + pointer to an application defined value that was provided in the + pAppData parameter to the OMX_GetHandle method for the component. + This application defined value is provided so that the application + can have a component specific context when receiving the callback. + @param eEvent + Event that the component wants to notify the application about. + @param nData1 + nData will be the OMX_ERRORTYPE for an error event and will be + an OMX_COMMANDTYPE for a command complete event and OMX_INDEXTYPE for a OMX_PortSettingsChanged event. + @param nData2 + nData2 will hold further information related to the event. Can be OMX_STATETYPE for + a OMX_CommandStateSet command or port index for a OMX_PortSettingsChanged event. + Default value is 0 if not used. ) + @param pEventData + Pointer to additional event-specific data (see spec for meaning). + */ + + OMX_ERRORTYPE (*EventHandler)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_PTR pAppData, + OMX_IN OMX_EVENTTYPE eEvent, + OMX_IN OMX_U32 nData1, + OMX_IN OMX_U32 nData2, + OMX_IN OMX_PTR pEventData); + + /** The EmptyBufferDone method is used to return emptied buffers from an + input port back to the application for reuse. This is a blocking call + so the application should not attempt to refill the buffers during this + call, but should queue them and refill them in another thread. There + is no error return, so the application shall handle any errors generated + internally. + + The application should return from this call within 5 msec. + + @param hComponent + handle of the component to access. This is the component + handle returned by the call to the GetHandle function. + @param pAppData + pointer to an application defined value that was provided in the + pAppData parameter to the OMX_GetHandle method for the component. + This application defined value is provided so that the application + can have a component specific context when receiving the callback. + @param pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer indicating the buffer that was emptied. + @ingroup buf + */ + OMX_ERRORTYPE (*EmptyBufferDone)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_PTR pAppData, + OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); + + /** The FillBufferDone method is used to return filled buffers from an + output port back to the application for emptying and then reuse. + This is a blocking call so the application should not attempt to + empty the buffers during this call, but should queue the buffers + and empty them in another thread. There is no error return, so + the application shall handle any errors generated internally. The + application shall also update the buffer header to indicate the + number of bytes placed into the buffer. + + The application should return from this call within 5 msec. + + @param hComponent + handle of the component to access. This is the component + handle returned by the call to the GetHandle function. + @param pAppData + pointer to an application defined value that was provided in the + pAppData parameter to the OMX_GetHandle method for the component. + This application defined value is provided so that the application + can have a component specific context when receiving the callback. + @param pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer indicating the buffer that was filled. + @ingroup buf + */ + OMX_ERRORTYPE (*FillBufferDone)( + OMX_OUT OMX_HANDLETYPE hComponent, + OMX_OUT OMX_PTR pAppData, + OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); + +} OMX_CALLBACKTYPE; + +/** The OMX_BUFFERSUPPLIERTYPE enumeration is used to dictate port supplier + preference when tunneling between two ports. + @ingroup tun buf +*/ +typedef enum OMX_BUFFERSUPPLIERTYPE +{ + OMX_BufferSupplyUnspecified = 0x0, /**< port supplying the buffers is unspecified, + or don't care */ + OMX_BufferSupplyInput, /**< input port supplies the buffers */ + OMX_BufferSupplyOutput, /**< output port supplies the buffers */ + OMX_BufferSupplyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_BufferSupplyVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_BufferSupplyMax = 0x7FFFFFFF +} OMX_BUFFERSUPPLIERTYPE; + + +/** buffer supplier parameter + * @ingroup tun + */ +typedef struct OMX_PARAM_BUFFERSUPPLIERTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BUFFERSUPPLIERTYPE eBufferSupplier; /**< buffer supplier */ +} OMX_PARAM_BUFFERSUPPLIERTYPE; + + +/**< indicates that buffers received by an input port of a tunnel + may not modify the data in the buffers + @ingroup tun + */ +#define OMX_PORTTUNNELFLAG_READONLY 0x00000001 + + +/** The OMX_TUNNELSETUPTYPE structure is used to pass data from an output + port to an input port as part the two ComponentTunnelRequest calls + resulting from a OMX_SetupTunnel call from the IL Client. + @ingroup tun + */ +typedef struct OMX_TUNNELSETUPTYPE +{ + OMX_U32 nTunnelFlags; /**< bit flags for tunneling */ + OMX_BUFFERSUPPLIERTYPE eSupplier; /**< supplier preference */ +} OMX_TUNNELSETUPTYPE; + +/* OMX Component headers is included to enable the core to use + macros for functions into the component for OMX release 1.0. + Developers should not access any structures or data from within + the component header directly */ +/* TO BE REMOVED - #include */ + +/** GetComponentVersion will return information about the component. + This is a blocking call. This macro will go directly from the + application to the component (via a core macro). The + component will return from this call within 5 msec. + @param [in] hComponent + handle of component to execute the command + @param [out] pComponentName + pointer to an empty string of length 128 bytes. The component + will write its name into this string. The name will be + terminated by a single zero byte. The name of a component will + be 127 bytes or less to leave room for the trailing zero byte. + An example of a valid component name is "OMX.ABC.ChannelMixer\0". + @param [out] pComponentVersion + pointer to an OMX Version structure that the component will fill + in. The component will fill in a value that indicates the + component version. NOTE: the component version is NOT the same + as the OMX Specification version (found in all structures). The + component version is defined by the vendor of the component and + its value is entirely up to the component vendor. + @param [out] pSpecVersion + pointer to an OMX Version structure that the component will fill + in. The SpecVersion is the version of the specification that the + component was built against. Please note that this value may or + may not match the structure's version. For example, if the + component was built against the 2.0 specification, but the + application (which creates the structure is built against the + 1.0 specification the versions would be different. + @param [out] pComponentUUID + pointer to the UUID of the component which will be filled in by + the component. The UUID is a unique identifier that is set at + RUN time for the component and is unique to each instantion of + the component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_GetComponentVersion( \ + hComponent, \ + pComponentName, \ + pComponentVersion, \ + pSpecVersion, \ + pComponentUUID) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetComponentVersion( \ + hComponent, \ + pComponentName, \ + pComponentVersion, \ + pSpecVersion, \ + pComponentUUID) /* Macro End */ + + +/** Send a command to the component. This call is a non-blocking call. + The component should check the parameters and then queue the command + to the component thread to be executed. The component thread shall + send the EventHandler() callback at the conclusion of the command. + This macro will go directly from the application to the component (via + a core macro). The component will return from this call within 5 msec. + + When the command is "OMX_CommandStateSet" the component will queue a + state transition to the new state idenfied in nParam. + + When the command is "OMX_CommandFlush", to flush a port's buffer queues, + the command will force the component to return all buffers NOT CURRENTLY + BEING PROCESSED to the application, in the order in which the buffers + were received. + + When the command is "OMX_CommandPortDisable" or + "OMX_CommandPortEnable", the component's port (given by the value of + nParam) will be stopped or restarted. + + When the command "OMX_CommandMarkBuffer" is used to mark a buffer, the + pCmdData will point to a OMX_MARKTYPE structure containing the component + handle of the component to examine the buffer chain for the mark. nParam1 + contains the index of the port on which the buffer mark is applied. + + Specification text for more details. + + @param [in] hComponent + handle of component to execute the command + @param [in] Cmd + Command for the component to execute + @param [in] nParam + Parameter for the command to be executed. When Cmd has the value + OMX_CommandStateSet, value is a member of OMX_STATETYPE. When Cmd has + the value OMX_CommandFlush, value of nParam indicates which port(s) + to flush. -1 is used to flush all ports a single port index will + only flush that port. When Cmd has the value "OMX_CommandPortDisable" + or "OMX_CommandPortEnable", the component's port is given by + the value of nParam. When Cmd has the value "OMX_CommandMarkBuffer" + the components pot is given by the value of nParam. + @param [in] pCmdData + Parameter pointing to the OMX_MARKTYPE structure when Cmd has the value + "OMX_CommandMarkBuffer". + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_SendCommand( \ + hComponent, \ + Cmd, \ + nParam, \ + pCmdData) \ + ((OMX_COMPONENTTYPE*)hComponent)->SendCommand( \ + hComponent, \ + Cmd, \ + nParam, \ + pCmdData) /* Macro End */ + + +/** The OMX_GetParameter macro will get one of the current parameter + settings from the component. This macro cannot only be invoked when + the component is in the OMX_StateInvalid state. The nParamIndex + parameter is used to indicate which structure is being requested from + the component. The application shall allocate the correct structure + and shall fill in the structure size and version information before + invoking this macro. When the parameter applies to a port, the + caller shall fill in the appropriate nPortIndex value indicating the + port on which the parameter applies. If the component has not had + any settings changed, then the component should return a set of + valid DEFAULT parameters for the component. This is a blocking + call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nParamIndex + Index of the structure to be filled. This value is from the + OMX_INDEXTYPE enumeration. + @param [in,out] pComponentParameterStructure + Pointer to application allocated structure to be filled by the + component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_GetParameter( \ + hComponent, \ + nParamIndex, \ + pComponentParameterStructure) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetParameter( \ + hComponent, \ + nParamIndex, \ + pComponentParameterStructure) /* Macro End */ + + +/** The OMX_SetParameter macro will send an initialization parameter + structure to a component. Each structure shall be sent one at a time, + in a separate invocation of the macro. This macro can only be + invoked when the component is in the OMX_StateLoaded state, or the + port is disabled (when the parameter applies to a port). The + nParamIndex parameter is used to indicate which structure is being + passed to the component. The application shall allocate the + correct structure and shall fill in the structure size and version + information (as well as the actual data) before invoking this macro. + The application is free to dispose of this structure after the call + as the component is required to copy any data it shall retain. This + is a blocking call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nIndex + Index of the structure to be sent. This value is from the + OMX_INDEXTYPE enumeration. + @param [in] pComponentParameterStructure + pointer to application allocated structure to be used for + initialization by the component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_SetParameter( \ + hComponent, \ + nParamIndex, \ + pComponentParameterStructure) \ + ((OMX_COMPONENTTYPE*)hComponent)->SetParameter( \ + hComponent, \ + nParamIndex, \ + pComponentParameterStructure) /* Macro End */ + + +/** The OMX_GetConfig macro will get one of the configuration structures + from a component. This macro can be invoked anytime after the + component has been loaded. The nParamIndex call parameter is used to + indicate which structure is being requested from the component. The + application shall allocate the correct structure and shall fill in the + structure size and version information before invoking this macro. + If the component has not had this configuration parameter sent before, + then the component should return a set of valid DEFAULT values for the + component. This is a blocking call. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nIndex + Index of the structure to be filled. This value is from the + OMX_INDEXTYPE enumeration. + @param [in,out] pComponentConfigStructure + pointer to application allocated structure to be filled by the + component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp +*/ +#define OMX_GetConfig( \ + hComponent, \ + nConfigIndex, \ + pComponentConfigStructure) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetConfig( \ + hComponent, \ + nConfigIndex, \ + pComponentConfigStructure) /* Macro End */ + + +/** The OMX_SetConfig macro will send one of the configuration + structures to a component. Each structure shall be sent one at a time, + each in a separate invocation of the macro. This macro can be invoked + anytime after the component has been loaded. The application shall + allocate the correct structure and shall fill in the structure size + and version information (as well as the actual data) before invoking + this macro. The application is free to dispose of this structure after + the call as the component is required to copy any data it shall retain. + This is a blocking call. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nConfigIndex + Index of the structure to be sent. This value is from the + OMX_INDEXTYPE enumeration above. + @param [in] pComponentConfigStructure + pointer to application allocated structure to be used for + initialization by the component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_SetConfig( \ + hComponent, \ + nConfigIndex, \ + pComponentConfigStructure) \ + ((OMX_COMPONENTTYPE*)hComponent)->SetConfig( \ + hComponent, \ + nConfigIndex, \ + pComponentConfigStructure) /* Macro End */ + + +/** The OMX_GetExtensionIndex macro will invoke a component to translate + a vendor specific configuration or parameter string into an OMX + structure index. There is no requirement for the vendor to support + this command for the indexes already found in the OMX_INDEXTYPE + enumeration (this is done to save space in small components). The + component shall support all vendor supplied extension indexes not found + in the master OMX_INDEXTYPE enumeration. This is a blocking call. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the GetHandle function. + @param [in] cParameterName + OMX_STRING that shall be less than 128 characters long including + the trailing null byte. This is the string that will get + translated by the component into a configuration index. + @param [out] pIndexType + a pointer to a OMX_INDEXTYPE to receive the index value. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_GetExtensionIndex( \ + hComponent, \ + cParameterName, \ + pIndexType) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetExtensionIndex( \ + hComponent, \ + cParameterName, \ + pIndexType) /* Macro End */ + + +/** The OMX_GetState macro will invoke the component to get the current + state of the component and place the state value into the location + pointed to by pState. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [out] pState + pointer to the location to receive the state. The value returned + is one of the OMX_STATETYPE members + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_GetState( \ + hComponent, \ + pState) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetState( \ + hComponent, \ + pState) /* Macro End */ + + +/** The OMX_UseBuffer macro will request that the component use + a buffer (and allocate its own buffer header) already allocated + by another component, or by the IL Client. This is a blocking + call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [out] ppBuffer + pointer to an OMX_BUFFERHEADERTYPE structure used to receive the + pointer to the buffer header + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ + +#define OMX_UseBuffer( \ + hComponent, \ + ppBufferHdr, \ + nPortIndex, \ + pAppPrivate, \ + nSizeBytes, \ + pBuffer) \ + ((OMX_COMPONENTTYPE*)hComponent)->UseBuffer( \ + hComponent, \ + ppBufferHdr, \ + nPortIndex, \ + pAppPrivate, \ + nSizeBytes, \ + pBuffer) + + +/** The OMX_AllocateBuffer macro will request that the component allocate + a new buffer and buffer header. The component will allocate the + buffer and the buffer header and return a pointer to the buffer + header. This is a blocking call. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [out] ppBuffer + pointer to an OMX_BUFFERHEADERTYPE structure used to receive + the pointer to the buffer header + @param [in] nPortIndex + nPortIndex is used to select the port on the component the buffer will + be used with. The port can be found by using the nPortIndex + value as an index into the Port Definition array of the component. + @param [in] pAppPrivate + pAppPrivate is used to initialize the pAppPrivate member of the + buffer header structure. + @param [in] nSizeBytes + size of the buffer to allocate. Used when bAllocateNew is true. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_AllocateBuffer( \ + hComponent, \ + ppBuffer, \ + nPortIndex, \ + pAppPrivate, \ + nSizeBytes) \ + ((OMX_COMPONENTTYPE*)hComponent)->AllocateBuffer( \ + hComponent, \ + ppBuffer, \ + nPortIndex, \ + pAppPrivate, \ + nSizeBytes) /* Macro End */ + + +/** The OMX_FreeBuffer macro will release a buffer header from the component + which was allocated using either OMX_AllocateBuffer or OMX_UseBuffer. If + the component allocated the buffer (see the OMX_UseBuffer macro) then + the component shall free the buffer and buffer header. This is a + blocking call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nPortIndex + nPortIndex is used to select the port on the component the buffer will + be used with. + @param [in] pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_FreeBuffer( \ + hComponent, \ + nPortIndex, \ + pBuffer) \ + ((OMX_COMPONENTTYPE*)hComponent)->FreeBuffer( \ + hComponent, \ + nPortIndex, \ + pBuffer) /* Macro End */ + + +/** The OMX_EmptyThisBuffer macro will send a buffer full of data to an + input port of a component. The buffer will be emptied by the component + and returned to the application via the EmptyBufferDone call back. + This is a non-blocking call in that the component will record the buffer + and return immediately and then empty the buffer, later, at the proper + time. As expected, this macro may be invoked only while the component + is in the OMX_StateExecuting. If nPortIndex does not specify an input + port, the component shall return an error. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_EmptyThisBuffer( \ + hComponent, \ + pBuffer) \ + ((OMX_COMPONENTTYPE*)hComponent)->EmptyThisBuffer( \ + hComponent, \ + pBuffer) /* Macro End */ + + +/** The OMX_FillThisBuffer macro will send an empty buffer to an + output port of a component. The buffer will be filled by the component + and returned to the application via the FillBufferDone call back. + This is a non-blocking call in that the component will record the buffer + and return immediately and then fill the buffer, later, at the proper + time. As expected, this macro may be invoked only while the component + is in the OMX_ExecutingState. If nPortIndex does not specify an output + port, the component shall return an error. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_FillThisBuffer( \ + hComponent, \ + pBuffer) \ + ((OMX_COMPONENTTYPE*)hComponent)->FillThisBuffer( \ + hComponent, \ + pBuffer) /* Macro End */ + + + +/** The OMX_UseEGLImage macro will request that the component use + a EGLImage provided by EGL (and allocate its own buffer header) + This is a blocking call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [out] ppBuffer + pointer to an OMX_BUFFERHEADERTYPE structure used to receive the + pointer to the buffer header. Note that the memory location used + for this buffer is NOT visible to the IL Client. + @param [in] nPortIndex + nPortIndex is used to select the port on the component the buffer will + be used with. The port can be found by using the nPortIndex + value as an index into the Port Definition array of the component. + @param [in] pAppPrivate + pAppPrivate is used to initialize the pAppPrivate member of the + buffer header structure. + @param [in] eglImage + eglImage contains the handle of the EGLImage to use as a buffer on the + specified port. The component is expected to validate properties of + the EGLImage against the configuration of the port to ensure the component + can use the EGLImage as a buffer. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_UseEGLImage( \ + hComponent, \ + ppBufferHdr, \ + nPortIndex, \ + pAppPrivate, \ + eglImage) \ + ((OMX_COMPONENTTYPE*)hComponent)->UseEGLImage( \ + hComponent, \ + ppBufferHdr, \ + nPortIndex, \ + pAppPrivate, \ + eglImage) + +/** The OMX_Init method is used to initialize the OMX core. It shall be the + first call made into OMX and it should only be executed one time without + an interviening OMX_Deinit call. + + The core should return from this call within 20 msec. + + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Init(void); + + +/** The OMX_Deinit method is used to deinitialize the OMX core. It shall be + the last call made into OMX. In the event that the core determines that + thare are components loaded when this call is made, the core may return + with an error rather than try to unload the components. + + The core should return from this call within 20 msec. + + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Deinit(void); + + +/** The OMX_ComponentNameEnum method will enumerate through all the names of + recognised valid components in the system. This function is provided + as a means to detect all the components in the system run-time. There is + no strict ordering to the enumeration order of component names, although + each name will only be enumerated once. If the OMX core supports run-time + installation of new components, it is only requried to detect newly + installed components when the first call to enumerate component names + is made (i.e. when nIndex is 0x0). + + The core should return from this call in 20 msec. + + @param [out] cComponentName + pointer to a null terminated string with the component name. The + names of the components are strings less than 127 bytes in length + plus the trailing null for a maximum size of 128 bytes. An example + of a valid component name is "OMX.TI.AUDIO.DSP.MIXER\0". Names are + assigned by the vendor, but shall start with "OMX." and then have + the Vendor designation next. + @param [in] nNameLength + number of characters in the cComponentName string. With all + component name strings restricted to less than 128 characters + (including the trailing null) it is recomended that the caller + provide a input string for the cComponentName of 128 characters. + @param [in] nIndex + number containing the enumeration index for the component. + Multiple calls to OMX_ComponentNameEnum with increasing values + of nIndex will enumerate through the component names in the + system until OMX_ErrorNoMore is returned. The value of nIndex + is 0 to (N-1), where N is the number of valid installed components + in the system. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. When the value of nIndex exceeds the number of + components in the system minus 1, OMX_ErrorNoMore will be + returned. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_ComponentNameEnum( + OMX_OUT OMX_STRING cComponentName, + OMX_IN OMX_U32 nNameLength, + OMX_IN OMX_U32 nIndex); + + +/** The OMX_GetHandle method will locate the component specified by the + component name given, load that component into memory and then invoke + the component's methods to create an instance of the component. + + The core should return from this call within 20 msec. + + @param [out] pHandle + pointer to an OMX_HANDLETYPE pointer to be filled in by this method. + @param [in] cComponentName + pointer to a null terminated string with the component name. The + names of the components are strings less than 127 bytes in length + plus the trailing null for a maximum size of 128 bytes. An example + of a valid component name is "OMX.TI.AUDIO.DSP.MIXER\0". Names are + assigned by the vendor, but shall start with "OMX." and then have + the Vendor designation next. + @param [in] pAppData + pointer to an application defined value that will be returned + during callbacks so that the application can identify the source + of the callback. + @param [in] pCallBacks + pointer to a OMX_CALLBACKTYPE structure that will be passed to the + component to initialize it with. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_GetHandle( + OMX_OUT OMX_HANDLETYPE* pHandle, + OMX_IN OMX_STRING cComponentName, + OMX_IN OMX_PTR pAppData, + OMX_IN OMX_CALLBACKTYPE* pCallBacks); + + +/** The OMX_FreeHandle method will free a handle allocated by the OMX_GetHandle + method. If the component reference count goes to zero, the component will + be unloaded from memory. + + The core should return from this call within 20 msec when the component is + in the OMX_StateLoaded state. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the GetHandle function. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_FreeHandle( + OMX_IN OMX_HANDLETYPE hComponent); + + + +/** The OMX_SetupTunnel method will handle the necessary calls to the components + to setup the specified tunnel the two components. NOTE: This is + an actual method (not a #define macro). This method will make calls into + the component ComponentTunnelRequest method to do the actual tunnel + connection. + + The ComponentTunnelRequest method on both components will be called. + This method shall not be called unless the component is in the + OMX_StateLoaded state except when the ports used for the tunnel are + disabled. In this case, the component may be in the OMX_StateExecuting, + OMX_StatePause, or OMX_StateIdle states. + + The core should return from this call within 20 msec. + + @param [in] hOutput + Handle of the component to be accessed. Also this is the handle + of the component whose port, specified in the nPortOutput parameter + will be used the source for the tunnel. This is the component handle + returned by the call to the OMX_GetHandle function. There is a + requirement that hOutput be the source for the data when + tunelling (i.e. nPortOutput is an output port). If 0x0, the component + specified in hInput will have it's port specified in nPortInput + setup for communication with the application / IL client. + @param [in] nPortOutput + nPortOutput is used to select the source port on component to be + used in the tunnel. + @param [in] hInput + This is the component to setup the tunnel with. This is the handle + of the component whose port, specified in the nPortInput parameter + will be used the destination for the tunnel. This is the component handle + returned by the call to the OMX_GetHandle function. There is a + requirement that hInput be the destination for the data when + tunelling (i.e. nPortInut is an input port). If 0x0, the component + specified in hOutput will have it's port specified in nPortPOutput + setup for communication with the application / IL client. + @param [in] nPortInput + nPortInput is used to select the destination port on component to be + used in the tunnel. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + When OMX_ErrorNotImplemented is returned, one or both components is + a non-interop component and does not support tunneling. + + On failure, the ports of both components are setup for communication + with the application / IL Client. + @ingroup core tun + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_SetupTunnel( + OMX_IN OMX_HANDLETYPE hOutput, + OMX_IN OMX_U32 nPortOutput, + OMX_IN OMX_HANDLETYPE hInput, + OMX_IN OMX_U32 nPortInput); + +/** @ingroup cp */ +OMX_API OMX_ERRORTYPE OMX_GetContentPipe( + OMX_OUT OMX_HANDLETYPE *hPipe, + OMX_IN OMX_STRING szURI); + +/** The OMX_GetComponentsOfRole method will return the number of components that support the given + role and (if the compNames field is non-NULL) the names of those components. The call will fail if + an insufficiently sized array of names is supplied. To ensure the array is sufficiently sized the + client should: + * first call this function with the compNames field NULL to determine the number of component names + * second call this function with the compNames field pointing to an array of names allocated + according to the number returned by the first call. + + The core should return from this call within 5 msec. + + @param [in] role + This is generic standard component name consisting only of component class + name and the type within that class (e.g. 'audio_decoder.aac'). + @param [inout] pNumComps + This is used both as input and output. + + If compNames is NULL, the input is ignored and the output specifies how many components support + the given role. + + If compNames is not NULL, on input it bounds the size of the input structure and + on output, it specifies the number of components string names listed within the compNames parameter. + @param [inout] compNames + If NULL this field is ignored. If non-NULL this points to an array of 128-byte strings which accepts + a list of the names of all physical components that implement the specified standard component name. + Each name is NULL terminated. numComps indicates the number of names. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_GetComponentsOfRole ( + OMX_IN OMX_STRING role, + OMX_INOUT OMX_U32 *pNumComps, + OMX_INOUT OMX_U8 **compNames); + +/** The OMX_GetRolesOfComponent method will return the number of roles supported by the given + component and (if the roles field is non-NULL) the names of those roles. The call will fail if + an insufficiently sized array of names is supplied. To ensure the array is sufficiently sized the + client should: + * first call this function with the roles field NULL to determine the number of role names + * second call this function with the roles field pointing to an array of names allocated + according to the number returned by the first call. + + The core should return from this call within 5 msec. + + @param [in] compName + This is the name of the component being queried about. + @param [inout] pNumRoles + This is used both as input and output. + + If roles is NULL, the input is ignored and the output specifies how many roles the component supports. + + If compNames is not NULL, on input it bounds the size of the input structure and + on output, it specifies the number of roles string names listed within the roles parameter. + @param [out] roles + If NULL this field is ignored. If non-NULL this points to an array of 128-byte strings + which accepts a list of the names of all standard components roles implemented on the + specified component name. numComps indicates the number of names. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent ( + OMX_IN OMX_STRING compName, + OMX_INOUT OMX_U32 *pNumRoles, + OMX_OUT OMX_U8 **roles); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ + diff --git a/opt/vc/include/IL/OMX_ILCS.h b/opt/vc/include/IL/OMX_ILCS.h new file mode 100644 index 000000000..434b47105 --- /dev/null +++ b/opt/vc/include/IL/OMX_ILCS.h @@ -0,0 +1,65 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// OpenMAX IL - ILCS specific types + +#ifndef OMX_ILCS_h +#define OMX_ILCS_h + +typedef struct OMX_PARAM_PORTSUMMARYTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nNumPorts; /**< Total number of ports */ + OMX_U32 reqSet; /**< Which set of ports is details below, portIndex[0] is port reqSet*32 */ + OMX_U32 portDir; /**< Bitfield, 1 if output port, 0 if input port, max 256 ports */ + OMX_U32 portIndex[32]; /**< Port Indexes */ +} OMX_PARAM_PORTSUMMARYTYPE; + +typedef struct OMX_PARAM_MARKCOMPARISONTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_PTR mark; /**< Pointer to be used for mark comparisons */ +} OMX_PARAM_MARKCOMPARISONTYPE; + +typedef struct OMX_PARAM_BRCMRECURSIONUNSAFETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_S32 (*pRecursionUnsafe)(OMX_PTR param); + OMX_PTR param; +} OMX_PARAM_BRCMRECURSIONUNSAFETYPE; + +typedef struct OMX_PARAM_TUNNELSTATUSTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port being queried */ + OMX_U32 nIndex; /**< Query the nIndex'th port and fill in nPortIndex */ + OMX_BOOL bUseIndex; /**< If OMX_TRUE read nIndex, otherwise read nPortIndex */ + OMX_PTR hTunneledComponent; /**< Component currently tunnelling with */ + OMX_U32 nTunneledPort; /**< Port on tunnelled component */ +} OMX_PARAM_TUNNELSTATUSTYPE; + +#endif diff --git a/opt/vc/include/IL/OMX_IVCommon.h b/opt/vc/include/IL/OMX_IVCommon.h new file mode 100644 index 000000000..563ea4e41 --- /dev/null +++ b/opt/vc/include/IL/OMX_IVCommon.h @@ -0,0 +1,1082 @@ +/** + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** + * @file OMX_IVCommon.h - OpenMax IL version 1.1.2 + * The structures needed by Video and Image components to exchange + * parameters and configuration data with the components. + */ +#ifndef OMX_IVCommon_h +#define OMX_IVCommon_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * Each OMX header must include all required header files to allow the header + * to compile without errors. The includes below are required for this header + * file to compile successfully + */ + +#include "OMX_Core.h" + +/** @defgroup iv OpenMAX IL Imaging and Video Domain + * Common structures for OpenMAX IL Imaging and Video domains + * @{ + */ + + +/** + * Enumeration defining possible uncompressed image/video formats. + * + * ENUMS: + * Unused : Placeholder value when format is N/A + * Monochrome : black and white + * 8bitRGB332 : Red 7:5, Green 4:2, Blue 1:0 + * 12bitRGB444 : Red 11:8, Green 7:4, Blue 3:0 + * 16bitARGB4444 : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0 + * 16bitARGB1555 : Alpha 15, Red 14:10, Green 9:5, Blue 4:0 + * 16bitRGB565 : Red 15:11, Green 10:5, Blue 4:0 + * 16bitBGR565 : Blue 15:11, Green 10:5, Red 4:0 + * 18bitRGB666 : Red 17:12, Green 11:6, Blue 5:0 + * 18bitARGB1665 : Alpha 17, Red 16:11, Green 10:5, Blue 4:0 + * 19bitARGB1666 : Alpha 18, Red 17:12, Green 11:6, Blue 5:0 + * 24bitRGB888 : Red 24:16, Green 15:8, Blue 7:0 + * 24bitBGR888 : Blue 24:16, Green 15:8, Red 7:0 + * 24bitARGB1887 : Alpha 23, Red 22:15, Green 14:7, Blue 6:0 + * 25bitARGB1888 : Alpha 24, Red 23:16, Green 15:8, Blue 7:0 + * 32bitBGRA8888 : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0 + * 32bitARGB8888 : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0 + * YUV411Planar : U,Y are subsampled by a factor of 4 horizontally + * YUV411PackedPlanar : packed per payload in planar slices + * YUV420Planar : Three arrays Y,U,V. + * YUV420PackedPlanar : packed per payload in planar slices + * YUV420SemiPlanar : Two arrays, one is all Y, the other is U and V + * YUV422Planar : Three arrays Y,U,V. + * YUV422PackedPlanar : packed per payload in planar slices + * YUV422SemiPlanar : Two arrays, one is all Y, the other is U and V + * YCbYCr : Organized as 16bit YUYV (i.e. YCbYCr) + * YCrYCb : Organized as 16bit YVYU (i.e. YCrYCb) + * CbYCrY : Organized as 16bit UYVY (i.e. CbYCrY) + * CrYCbY : Organized as 16bit VYUY (i.e. CrYCbY) + * YUV444Interleaved : Each pixel contains equal parts YUV + * RawBayer8bit : SMIA camera output format + * RawBayer10bit : SMIA camera output format + * RawBayer8bitcompressed : SMIA camera output format + Vendor extensions + * 32bitABGR888 : Alpha 31:24, Blue 23:16, Green 15:8, Red 7:0 + */ +typedef enum OMX_COLOR_FORMATTYPE { + OMX_COLOR_FormatUnused, + OMX_COLOR_FormatMonochrome, + OMX_COLOR_Format8bitRGB332, + OMX_COLOR_Format12bitRGB444, + OMX_COLOR_Format16bitARGB4444, + OMX_COLOR_Format16bitARGB1555, + OMX_COLOR_Format16bitRGB565, + OMX_COLOR_Format16bitBGR565, + OMX_COLOR_Format18bitRGB666, + OMX_COLOR_Format18bitARGB1665, + OMX_COLOR_Format19bitARGB1666, + OMX_COLOR_Format24bitRGB888, + OMX_COLOR_Format24bitBGR888, + OMX_COLOR_Format24bitARGB1887, + OMX_COLOR_Format25bitARGB1888, + OMX_COLOR_Format32bitBGRA8888, + OMX_COLOR_Format32bitARGB8888, + OMX_COLOR_FormatYUV411Planar, + OMX_COLOR_FormatYUV411PackedPlanar, + OMX_COLOR_FormatYUV420Planar, + OMX_COLOR_FormatYUV420PackedPlanar, + OMX_COLOR_FormatYUV420SemiPlanar, + OMX_COLOR_FormatYUV422Planar, + OMX_COLOR_FormatYUV422PackedPlanar, + OMX_COLOR_FormatYUV422SemiPlanar, + OMX_COLOR_FormatYCbYCr, + OMX_COLOR_FormatYCrYCb, + OMX_COLOR_FormatCbYCrY, + OMX_COLOR_FormatCrYCbY, + OMX_COLOR_FormatYUV444Interleaved, + OMX_COLOR_FormatRawBayer8bit, + OMX_COLOR_FormatRawBayer10bit, + OMX_COLOR_FormatRawBayer8bitcompressed, + OMX_COLOR_FormatL2, + OMX_COLOR_FormatL4, + OMX_COLOR_FormatL8, + OMX_COLOR_FormatL16, + OMX_COLOR_FormatL24, + OMX_COLOR_FormatL32, + OMX_COLOR_FormatYUV420PackedSemiPlanar, + OMX_COLOR_FormatYUV422PackedSemiPlanar, + OMX_COLOR_Format18BitBGR666, + OMX_COLOR_Format24BitARGB6666, + OMX_COLOR_Format24BitABGR6666, + OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_COLOR_Format32bitABGR8888, + OMX_COLOR_Format8bitPalette, + OMX_COLOR_FormatYUVUV128, + OMX_COLOR_FormatRawBayer12bit, + OMX_COLOR_FormatBRCMEGL, + OMX_COLOR_FormatBRCMOpaque, + OMX_COLOR_FormatYVU420PackedPlanar, + OMX_COLOR_FormatYVU420PackedSemiPlanar, + OMX_COLOR_FormatMax = 0x7FFFFFFF +} OMX_COLOR_FORMATTYPE; + + +/** + * Defines the matrix for conversion from RGB to YUV or vice versa. + * iColorMatrix should be initialized with the fixed point values + * used in converting between formats. + */ +typedef struct OMX_CONFIG_COLORCONVERSIONTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ + OMX_U32 nPortIndex; /**< Port that this struct applies to */ + OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */ + OMX_S32 xColorOffset[4]; /**< Stored in signed Q16 format */ +}OMX_CONFIG_COLORCONVERSIONTYPE; + + +/** + * Structure defining percent to scale each frame dimension. For example: + * To make the width 50% larger, use fWidth = 1.5 and to make the width + * 1/2 the original size, use fWidth = 0.5 + */ +typedef struct OMX_CONFIG_SCALEFACTORTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ + OMX_U32 nPortIndex; /**< Port that this struct applies to */ + OMX_S32 xWidth; /**< Fixed point value stored as Q16 */ + OMX_S32 xHeight; /**< Fixed point value stored as Q16 */ +}OMX_CONFIG_SCALEFACTORTYPE; + + +/** + * Enumeration of possible image filter types + */ +typedef enum OMX_IMAGEFILTERTYPE { + OMX_ImageFilterNone, + OMX_ImageFilterNoise, + OMX_ImageFilterEmboss, + OMX_ImageFilterNegative, + OMX_ImageFilterSketch, + OMX_ImageFilterOilPaint, + OMX_ImageFilterHatch, + OMX_ImageFilterGpen, + OMX_ImageFilterAntialias, + OMX_ImageFilterDeRing, + OMX_ImageFilterSolarize, + OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + /* Broadcom specific image filters */ + OMX_ImageFilterWatercolor, + OMX_ImageFilterPastel, + OMX_ImageFilterSharpen, + OMX_ImageFilterFilm, + OMX_ImageFilterBlur, + OMX_ImageFilterSaturation, + + OMX_ImageFilterDeInterlaceLineDouble, + OMX_ImageFilterDeInterlaceAdvanced, + + OMX_ImageFilterColourSwap, + OMX_ImageFilterWashedOut, + OMX_ImageFilterColourPoint, + OMX_ImageFilterPosterise, + OMX_ImageFilterColourBalance, + OMX_ImageFilterCartoon, + + OMX_ImageFilterMax = 0x7FFFFFFF +} OMX_IMAGEFILTERTYPE; + + +/** + * Image filter configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eImageFilter : Image filter type enumeration + */ +typedef struct OMX_CONFIG_IMAGEFILTERTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGEFILTERTYPE eImageFilter; +} OMX_CONFIG_IMAGEFILTERTYPE; + + +/** + * Customized U and V for color enhancement + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bColorEnhancement : Enable/disable color enhancement + * nCustomizedU : Practical values: 16-240, range: 0-255, value set for + * U component + * nCustomizedV : Practical values: 16-240, range: 0-255, value set for + * V component + */ +typedef struct OMX_CONFIG_COLORENHANCEMENTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bColorEnhancement; + OMX_U8 nCustomizedU; + OMX_U8 nCustomizedV; +} OMX_CONFIG_COLORENHANCEMENTTYPE; + + +/** + * Define color key and color key mask + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nARGBColor : 32bit Alpha, Red, Green, Blue Color + * nARGBMask : 32bit Mask for Alpha, Red, Green, Blue channels + */ +typedef struct OMX_CONFIG_COLORKEYTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nARGBColor; + OMX_U32 nARGBMask; +} OMX_CONFIG_COLORKEYTYPE; + + +/** + * List of color blend types for pre/post processing + * + * ENUMS: + * None : No color blending present + * AlphaConstant : Function is (alpha_constant * src) + + * (1 - alpha_constant) * dst) + * AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst) + * Alternate : Function is alternating pixels from src and dst + * And : Function is (src & dst) + * Or : Function is (src | dst) + * Invert : Function is ~src + */ +typedef enum OMX_COLORBLENDTYPE { + OMX_ColorBlendNone, + OMX_ColorBlendAlphaConstant, + OMX_ColorBlendAlphaPerPixel, + OMX_ColorBlendAlternate, + OMX_ColorBlendAnd, + OMX_ColorBlendOr, + OMX_ColorBlendInvert, + OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_ColorBlendMax = 0x7FFFFFFF +} OMX_COLORBLENDTYPE; + + +/** + * Color blend configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nRGBAlphaConstant : Constant global alpha values when global alpha is used + * eColorBlend : Color blend type enumeration + */ +typedef struct OMX_CONFIG_COLORBLENDTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nRGBAlphaConstant; + OMX_COLORBLENDTYPE eColorBlend; +} OMX_CONFIG_COLORBLENDTYPE; + + +/** + * Hold frame dimension + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nWidth : Frame width in pixels + * nHeight : Frame height in pixels + */ +typedef struct OMX_FRAMESIZETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nWidth; + OMX_U32 nHeight; +} OMX_FRAMESIZETYPE; + + +/** + * Rotation configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nRotation : +/- integer rotation value + */ +typedef struct OMX_CONFIG_ROTATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nRotation; +} OMX_CONFIG_ROTATIONTYPE; + + +/** + * Possible mirroring directions for pre/post processing + * + * ENUMS: + * None : No mirroring + * Vertical : Vertical mirroring, flip on X axis + * Horizontal : Horizontal mirroring, flip on Y axis + * Both : Both vertical and horizontal mirroring + */ +typedef enum OMX_MIRRORTYPE { + OMX_MirrorNone = 0, + OMX_MirrorVertical, + OMX_MirrorHorizontal, + OMX_MirrorBoth, + OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MirrorMax = 0x7FFFFFFF +} OMX_MIRRORTYPE; + + +/** + * Mirroring configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eMirror : Mirror type enumeration + */ +typedef struct OMX_CONFIG_MIRRORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_MIRRORTYPE eMirror; +} OMX_CONFIG_MIRRORTYPE; + + +/** + * Position information only + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nX : X coordinate for the point + * nY : Y coordinate for the point + */ +typedef struct OMX_CONFIG_POINTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nX; + OMX_S32 nY; +} OMX_CONFIG_POINTTYPE; + + +/** + * Frame size plus position + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nLeft : X Coordinate of the top left corner of the rectangle + * nTop : Y Coordinate of the top left corner of the rectangle + * nWidth : Width of the rectangle + * nHeight : Height of the rectangle + */ +typedef struct OMX_CONFIG_RECTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nLeft; + OMX_S32 nTop; + OMX_U32 nWidth; + OMX_U32 nHeight; +} OMX_CONFIG_RECTTYPE; + + +/** + * Deblocking state; it is required to be set up before starting the codec + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bDeblocking : Enable/disable deblocking mode + */ +typedef struct OMX_PARAM_DEBLOCKINGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bDeblocking; +} OMX_PARAM_DEBLOCKINGTYPE; + + +/** + * Stabilization state + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bStab : Enable/disable frame stabilization state + */ +typedef struct OMX_CONFIG_FRAMESTABTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bStab; +} OMX_CONFIG_FRAMESTABTYPE; + + +/** + * White Balance control type + * + * STRUCT MEMBERS: + * SunLight : Referenced in JSR-234 + * Flash : Optimal for device's integrated flash + */ +typedef enum OMX_WHITEBALCONTROLTYPE { + OMX_WhiteBalControlOff = 0, + OMX_WhiteBalControlAuto, + OMX_WhiteBalControlSunLight, + OMX_WhiteBalControlCloudy, + OMX_WhiteBalControlShade, + OMX_WhiteBalControlTungsten, + OMX_WhiteBalControlFluorescent, + OMX_WhiteBalControlIncandescent, + OMX_WhiteBalControlFlash, + OMX_WhiteBalControlHorizon, + OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_WhiteBalControlMax = 0x7FFFFFFF +} OMX_WHITEBALCONTROLTYPE; + + +/** + * White Balance control configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eWhiteBalControl : White balance enumeration + */ +typedef struct OMX_CONFIG_WHITEBALCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_WHITEBALCONTROLTYPE eWhiteBalControl; +} OMX_CONFIG_WHITEBALCONTROLTYPE; + + +/** + * Exposure control type + */ +typedef enum OMX_EXPOSURECONTROLTYPE { + OMX_ExposureControlOff = 0, + OMX_ExposureControlAuto, + OMX_ExposureControlNight, + OMX_ExposureControlBackLight, + OMX_ExposureControlSpotLight, + OMX_ExposureControlSports, + OMX_ExposureControlSnow, + OMX_ExposureControlBeach, + OMX_ExposureControlLargeAperture, + OMX_ExposureControlSmallAperture, + OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_ExposureControlVeryLong, + OMX_ExposureControlFixedFps, + OMX_ExposureControlNightWithPreview, + OMX_ExposureControlAntishake, + OMX_ExposureControlFireworks, + OMX_ExposureControlMax = 0x7FFFFFFF +} OMX_EXPOSURECONTROLTYPE; + + +/** + * White Balance control configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eExposureControl : Exposure control enumeration + */ +typedef struct OMX_CONFIG_EXPOSURECONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_EXPOSURECONTROLTYPE eExposureControl; +} OMX_CONFIG_EXPOSURECONTROLTYPE; + + +/** + * Defines sensor supported mode. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nFrameRate : Single shot mode is indicated by a 0 + * bOneShot : Enable for single shot, disable for streaming + * sFrameSize : Framesize + */ +typedef struct OMX_PARAM_SENSORMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nFrameRate; + OMX_BOOL bOneShot; + OMX_FRAMESIZETYPE sFrameSize; +} OMX_PARAM_SENSORMODETYPE; + + +/** + * Defines contrast level + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nContrast : Values allowed for contrast -100 to 100, zero means no change + */ +typedef struct OMX_CONFIG_CONTRASTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nContrast; +} OMX_CONFIG_CONTRASTTYPE; + + +/** + * Defines brightness level + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nBrightness : 0-100% + */ +typedef struct OMX_CONFIG_BRIGHTNESSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nBrightness; +} OMX_CONFIG_BRIGHTNESSTYPE; + + +/** + * Defines backlight level configuration for a video sink, e.g. LCD panel + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nBacklight : Values allowed for backlight 0-100% + * nTimeout : Number of milliseconds before backlight automatically turns + * off. A value of 0x0 disables backight timeout + */ +typedef struct OMX_CONFIG_BACKLIGHTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nBacklight; + OMX_U32 nTimeout; +} OMX_CONFIG_BACKLIGHTTYPE; + + +/** + * Defines setting for Gamma + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nGamma : Values allowed for gamma -100 to 100, zero means no change + */ +typedef struct OMX_CONFIG_GAMMATYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nGamma; +} OMX_CONFIG_GAMMATYPE; + + +/** + * Define for setting saturation + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nSaturation : Values allowed for saturation -100 to 100, zero means + * no change + */ +typedef struct OMX_CONFIG_SATURATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nSaturation; +} OMX_CONFIG_SATURATIONTYPE; + + +/** + * Define for setting Lightness + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nLightness : Values allowed for lightness -100 to 100, zero means no + * change + */ +typedef struct OMX_CONFIG_LIGHTNESSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nLightness; +} OMX_CONFIG_LIGHTNESSTYPE; + + +/** + * Plane blend configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Index of input port associated with the plane. + * nDepth : Depth of the plane in relation to the screen. Higher + * numbered depths are "behind" lower number depths. + * This number defaults to the Port Index number. + * nAlpha : Transparency blending component for the entire plane. + * See blending modes for more detail. + */ +typedef struct OMX_CONFIG_PLANEBLENDTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nDepth; + OMX_U32 nAlpha; +} OMX_CONFIG_PLANEBLENDTYPE; + + +/** + * Define interlace type + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bEnable : Enable control variable for this functionality + * (see below) + * nInterleavePortIndex : Index of input or output port associated with + * the interleaved plane. + * pPlanarPortIndexes[4] : Index of input or output planar ports. + */ +typedef struct OMX_PARAM_INTERLEAVETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnable; + OMX_U32 nInterleavePortIndex; +} OMX_PARAM_INTERLEAVETYPE; + + +/** + * Defines the picture effect used for an input picture + */ +typedef enum OMX_TRANSITIONEFFECTTYPE { + OMX_EffectNone, + OMX_EffectFadeFromBlack, + OMX_EffectFadeToBlack, + OMX_EffectUnspecifiedThroughConstantColor, + OMX_EffectDissolve, + OMX_EffectWipe, + OMX_EffectUnspecifiedMixOfTwoScenes, + OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_EffectReverseUnspecifiedMixOfTwoScenes, + +#ifndef __VIDEOCORE4__ + OMX_EffectDiagonalWipe, + OMX_EffectDiagonalWipeRotate, + OMX_EffectEllipticalWipe, + OMX_EffectEllipticalWipeRotate, + OMX_EffectInverseEllipticalWipe, + OMX_EffectInverseEllipticalWipeRotate, + OMX_EffectGlassWipe, + OMX_EffectGlassWipeRotate, + OMX_EffectWavyWipe, + OMX_EffectWavyWipeRotate, + OMX_EffectMunchingSquares, + OMX_EffectStripeWipe, + OMX_EffectStripeWipeRotate, + + OMX_EffectRotozoomUnmatched, + OMX_EffectRotozoomMatched, + OMX_EffectRotozoomGentle, +#endif + + OMX_EffectMunchRandom, + OMX_EffectMunchVRandom, + OMX_EffectMunchHRandom, + OMX_EffectMunchWipe, + OMX_EffectMunchMunch, + OMX_EffectMunchStripe, + OMX_EffectFadeRandom, + OMX_EffectFadeVRandom, + OMX_EffectFadeHRandom, + OMX_EffectFadeWipe, + OMX_EffectFadeMunch, + OMX_EffectFadeStripe, + OMX_EffectColourBlockRandom, + OMX_EffectColourBlockVRandom, + OMX_EffectColourBlockHRandom, + OMX_EffectColourBlockWipe, + OMX_EffectColourBlockMunch, + OMX_EffectColourBlockStripe, + OMX_EffectColourBlock2Random, + OMX_EffectColourBlock2VRandom, + OMX_EffectColourBlock2HRandom, + OMX_EffectColourBlock2Wipe, + OMX_EffectColourBlock2Munch, + OMX_EffectColourBlock2Stripe, + OMX_EffectShadeRandom, + OMX_EffectShadeVRandom, + OMX_EffectShadeHRandom, + OMX_EffectShadeWipe, + OMX_EffectShadeMunch, + OMX_EffectShadeStripe, + OMX_EffectBitmaskRandom, + OMX_EffectBitmaskVRandom, + OMX_EffectBitmaskHRandom, + OMX_EffectBitmaskWipe, + OMX_EffectBitmaskMunch, + OMX_EffectBitmaskStripe, + OMX_EffectBitmask2Random, + OMX_EffectBitmask2VRandom, + OMX_EffectBitmask2HRandom, + OMX_EffectBitmask2Wipe, + OMX_EffectBitmask2Munch, + OMX_EffectBitmask2Stripe, + OMX_EffectBitmask2ColourRandom, + OMX_EffectBitmask2ColourVRandom, + OMX_EffectBitmask2ColourHRandom, + OMX_EffectBitmask2ColourWipe, + OMX_EffectBitmask2ColourMunch, + OMX_EffectBitmask2ColourStripe, + + OMX_EffectPushRight, + OMX_EffectPushLeft, + OMX_EffectPushDown, + OMX_EffectPushUp, + OMX_EffectCoverRight, + OMX_EffectCoverLeft, + OMX_EffectCoverDown, + OMX_EffectCoverUp, + OMX_EffectRevealRight, + OMX_EffectRevealLeft, + OMX_EffectRevealDown, + OMX_EffectRevealUp, + OMX_EffectWipeRight, + OMX_EffectWipeLeft, + OMX_EffectWipeDown, + OMX_EffectWipeUp, + OMX_EffectSpeckle, + OMX_EffectCircle, + OMX_EffectSpiral, + OMX_EffectDiamond, + OMX_EffectVert, + OMX_EffectPlus, + OMX_EffectClock, + OMX_EffectPlasma, + OMX_EffectDisplace, + OMX_EffectGenie, + OMX_EffectSide, + OMX_EffectMaze, + OMX_EffectRipple, + OMX_EffectStar, + OMX_EffectAlpha, + OMX_EffectIntense, + OMX_EffectIntenseU, + OMX_EffectIntenseV, + OMX_EffectInverseIntense, + OMX_EffectInverseIntenseU, + OMX_EffectInverseIntenseV, + + OMX_EffectPageTurn, + + OMX_EffectFlipPlaneDown, + OMX_EffectFlipPlaneDownMid, + OMX_EffectFlipPlaneDownHigh, + OMX_EffectFlipPlaneLeft, + OMX_EffectFlipPlaneLeftMid, + OMX_EffectFlipPlaneLeftHigh, + OMX_EffectFlipCubeDown, + OMX_EffectFlipCubeDownMid, + OMX_EffectFlipCubeDownHigh, + OMX_EffectFlipCubeLeft, + OMX_EffectFlipCubeLeftMid, + OMX_EffectFlipCubeLeftHigh, + + OMX_EffectMax = 0x7FFFFFFF +} OMX_TRANSITIONEFFECTTYPE; + + +/** + * Structure used to configure current transition effect + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eEffect : Effect to enable + */ +typedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_TRANSITIONEFFECTTYPE eEffect; +} OMX_CONFIG_TRANSITIONEFFECTTYPE; + + +/** + * Defines possible data unit types for encoded video data. The data unit + * types are used both for encoded video input for playback as well as + * encoded video output from recording. + */ +typedef enum OMX_DATAUNITTYPE { + OMX_DataUnitCodedPicture, + OMX_DataUnitVideoSegment, + OMX_DataUnitSeveralSegments, + OMX_DataUnitArbitraryStreamSection, + OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_DataUnitMax = 0x7FFFFFFF +} OMX_DATAUNITTYPE; + + +/** + * Defines possible encapsulation types for coded video data unit. The + * encapsulation information is used both for encoded video input for + * playback as well as encoded video output from recording. + */ +typedef enum OMX_DATAUNITENCAPSULATIONTYPE { + OMX_DataEncapsulationElementaryStream, + OMX_DataEncapsulationGenericPayload, + OMX_DataEncapsulationRtpPayload, + OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_DataEncapsulationMax = 0x7FFFFFFF +} OMX_DATAUNITENCAPSULATIONTYPE; + + +/** + * Structure used to configure the type of being decoded/encoded + */ +typedef struct OMX_PARAM_DATAUNITTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_DATAUNITTYPE eUnitType; + OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType; +} OMX_PARAM_DATAUNITTYPE; + + +/** + * Defines dither types + */ +typedef enum OMX_DITHERTYPE { + OMX_DitherNone, + OMX_DitherOrdered, + OMX_DitherErrorDiffusion, + OMX_DitherOther, + OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_DitherMax = 0x7FFFFFFF +} OMX_DITHERTYPE; + + +/** + * Structure used to configure current type of dithering + */ +typedef struct OMX_CONFIG_DITHERTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_DITHERTYPE eDither; /**< Type of dithering to use */ +} OMX_CONFIG_DITHERTYPE; + +typedef struct OMX_CONFIG_CAPTUREMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_BOOL bContinuous; /**< If true then ignore frame rate and emit capture + * data as fast as possible (otherwise obey port's frame rate). */ + OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port emits the + * specified number of frames (otherwise the port does not + * terminate the capture until instructed to do so by the client). + * Even if set, the client may manually terminate the capture prior + * to reaching the limit. */ + OMX_U32 nFrameLimit; /**< Limit on number of frames emitted during a capture (only + * valid if bFrameLimited is set). */ +} OMX_CONFIG_CAPTUREMODETYPE; + +typedef enum OMX_METERINGTYPE { + + OMX_MeteringModeAverage, /**< Center-weighted average metering. */ + OMX_MeteringModeSpot, /**< Spot (partial) metering. */ + OMX_MeteringModeMatrix, /**< Matrix or evaluative metering. */ + + OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MeteringModeBacklit, + OMX_EVModeMax = 0x7fffffff +} OMX_METERINGTYPE; + +typedef struct OMX_CONFIG_EXPOSUREVALUETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_METERINGTYPE eMetering; + OMX_S32 xEVCompensation; /**< Fixed point value stored as Q16 */ + OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ + OMX_BOOL bAutoAperture; /**< Whether aperture number is defined automatically */ + OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */ + OMX_BOOL bAutoShutterSpeed; /**< Whether shutter speed is defined automatically */ + OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ + OMX_BOOL bAutoSensitivity; /**< Whether sensitivity is defined automatically */ +} OMX_CONFIG_EXPOSUREVALUETYPE; + +/** + * Focus region configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bCenter : Use center region as focus region of interest + * bLeft : Use left region as focus region of interest + * bRight : Use right region as focus region of interest + * bTop : Use top region as focus region of interest + * bBottom : Use bottom region as focus region of interest + * bTopLeft : Use top left region as focus region of interest + * bTopRight : Use top right region as focus region of interest + * bBottomLeft : Use bottom left region as focus region of interest + * bBottomRight : Use bottom right region as focus region of interest + */ +typedef struct OMX_CONFIG_FOCUSREGIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bCenter; + OMX_BOOL bLeft; + OMX_BOOL bRight; + OMX_BOOL bTop; + OMX_BOOL bBottom; + OMX_BOOL bTopLeft; + OMX_BOOL bTopRight; + OMX_BOOL bBottomLeft; + OMX_BOOL bBottomRight; +} OMX_CONFIG_FOCUSREGIONTYPE; + +/** + * Focus Status type + */ +typedef enum OMX_FOCUSSTATUSTYPE { + OMX_FocusStatusOff = 0, + OMX_FocusStatusRequest, + OMX_FocusStatusReached, + OMX_FocusStatusUnableToReach, + OMX_FocusStatusLost, + OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_FocusStatusCafWatching, + OMX_FocusStatusCafSceneChanged, + OMX_FocusStatusMax = 0x7FFFFFFF +} OMX_FOCUSSTATUSTYPE; + +/** + * Focus status configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFocusStatus : Specifies the focus status + * bCenterStatus : Use center region as focus region of interest + * bLeftStatus : Use left region as focus region of interest + * bRightStatus : Use right region as focus region of interest + * bTopStatus : Use top region as focus region of interest + * bBottomStatus : Use bottom region as focus region of interest + * bTopLeftStatus : Use top left region as focus region of interest + * bTopRightStatus : Use top right region as focus region of interest + * bBottomLeftStatus : Use bottom left region as focus region of interest + * bBottomRightStatus : Use bottom right region as focus region of interest + */ +typedef struct OMX_PARAM_FOCUSSTATUSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_FOCUSSTATUSTYPE eFocusStatus; + OMX_BOOL bCenterStatus; + OMX_BOOL bLeftStatus; + OMX_BOOL bRightStatus; + OMX_BOOL bTopStatus; + OMX_BOOL bBottomStatus; + OMX_BOOL bTopLeftStatus; + OMX_BOOL bTopRightStatus; + OMX_BOOL bBottomLeftStatus; + OMX_BOOL bBottomRightStatus; +} OMX_PARAM_FOCUSSTATUSTYPE; + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ diff --git a/opt/vc/include/IL/OMX_Image.h b/opt/vc/include/IL/OMX_Image.h new file mode 100644 index 000000000..4bf5b262a --- /dev/null +++ b/opt/vc/include/IL/OMX_Image.h @@ -0,0 +1,347 @@ +/** + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file OMX_Image.h - OpenMax IL version 1.1.2 + * The structures needed by Image components to exchange parameters and + * configuration data with the components. + */ +#ifndef OMX_Image_h +#define OMX_Image_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/** + * Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_IVCommon.h" + +/** @defgroup imaging OpenMAX IL Imaging Domain + * @ingroup iv + * Structures for OpenMAX IL Imaging domain + * @{ + */ + +/** + * Enumeration used to define the possible image compression coding. + */ +typedef enum OMX_IMAGE_CODINGTYPE { + OMX_IMAGE_CodingUnused, /**< Value when format is N/A */ + OMX_IMAGE_CodingAutoDetect, /**< Auto detection of image format */ + OMX_IMAGE_CodingJPEG, /**< JPEG/JFIF image format */ + OMX_IMAGE_CodingJPEG2K, /**< JPEG 2000 image format */ + OMX_IMAGE_CodingEXIF, /**< EXIF image format */ + OMX_IMAGE_CodingTIFF, /**< TIFF image format */ + OMX_IMAGE_CodingGIF, /**< Graphics image format */ + OMX_IMAGE_CodingPNG, /**< PNG image format */ + OMX_IMAGE_CodingLZW, /**< LZW image format */ + OMX_IMAGE_CodingBMP, /**< Windows Bitmap format */ + OMX_IMAGE_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_IMAGE_CodingTGA, + OMX_IMAGE_CodingPPM, + + OMX_IMAGE_CodingMax = 0x7FFFFFFF +} OMX_IMAGE_CODINGTYPE; + + +/** + * Data structure used to define an image path. The number of image paths + * for input and output will vary by type of the image component. + * + * Input (aka Source) : Zero Inputs, one Output, + * Splitter : One Input, 2 or more Outputs, + * Processing Element : One Input, one output, + * Mixer : 2 or more inputs, one output, + * Output (aka Sink) : One Input, zero outputs. + * + * The PortDefinition structure is used to define all of the parameters + * necessary for the compliant component to setup an input or an output + * image path. If additional vendor specific data is required, it should + * be transmitted to the component using the CustomCommand function. + * Compliant components will prepopulate this structure with optimal + * values during the OMX_GetParameter() command. + * + * STRUCT MEMBERS: + * cMIMEType : MIME type of data for the port + * pNativeRender : Platform specific reference for a display if a + * sync, otherwise this field is 0 + * nFrameWidth : Width of frame to be used on port if + * uncompressed format is used. Use 0 for + * unknown, don't care or variable + * nFrameHeight : Height of frame to be used on port if + * uncompressed format is used. Use 0 for + * unknown, don't care or variable + * nStride : Number of bytes per span of an image (i.e. + * indicates the number of bytes to get from + * span N to span N+1, where negative stride + * indicates the image is bottom up + * nSliceHeight : Height used when encoding in slices + * bFlagErrorConcealment : Turns on error concealment if it is supported by + * the OMX component + * eCompressionFormat : Compression format used in this instance of + * the component. When OMX_IMAGE_CodingUnused is + * specified, eColorFormat is valid + * eColorFormat : Decompressed format used by this component + * pNativeWindow : Platform specific reference for a window object if a + * display sink , otherwise this field is 0x0. + */ +typedef struct OMX_IMAGE_PORTDEFINITIONTYPE { + OMX_STRING cMIMEType; + OMX_NATIVE_DEVICETYPE pNativeRender; + OMX_U32 nFrameWidth; + OMX_U32 nFrameHeight; + OMX_S32 nStride; + OMX_U32 nSliceHeight; + OMX_BOOL bFlagErrorConcealment; + OMX_IMAGE_CODINGTYPE eCompressionFormat; + OMX_COLOR_FORMATTYPE eColorFormat; + OMX_NATIVE_WINDOWTYPE pNativeWindow; +} OMX_IMAGE_PORTDEFINITIONTYPE; + + +/** + * Port format parameter. This structure is used to enumerate the various + * data input/output format supported by the port. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Indicates which port to set + * nIndex : Indicates the enumeration index for the format from + * 0x0 to N-1 + * eCompressionFormat : Compression format used in this instance of the + * component. When OMX_IMAGE_CodingUnused is specified, + * eColorFormat is valid + * eColorFormat : Decompressed format used by this component + */ +typedef struct OMX_IMAGE_PARAM_PORTFORMATTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIndex; + OMX_IMAGE_CODINGTYPE eCompressionFormat; + OMX_COLOR_FORMATTYPE eColorFormat; +} OMX_IMAGE_PARAM_PORTFORMATTYPE; + + +/** + * Flash control type + * + * ENUMS + * Torch : Flash forced constantly on + */ +typedef enum OMX_IMAGE_FLASHCONTROLTYPE { + OMX_IMAGE_FlashControlOn = 0, + OMX_IMAGE_FlashControlOff, + OMX_IMAGE_FlashControlAuto, + OMX_IMAGE_FlashControlRedEyeReduction, + OMX_IMAGE_FlashControlFillin, + OMX_IMAGE_FlashControlTorch, + OMX_IMAGE_FlashControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_FlashControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_IMAGE_FlashControlMax = 0x7FFFFFFF +} OMX_IMAGE_FLASHCONTROLTYPE; + + +/** + * Flash control configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFlashControl : Flash control type + */ +typedef struct OMX_IMAGE_PARAM_FLASHCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGE_FLASHCONTROLTYPE eFlashControl; +} OMX_IMAGE_PARAM_FLASHCONTROLTYPE; + + +/** + * Focus control type + */ +typedef enum OMX_IMAGE_FOCUSCONTROLTYPE { + OMX_IMAGE_FocusControlOn = 0, + OMX_IMAGE_FocusControlOff, + OMX_IMAGE_FocusControlAuto, + OMX_IMAGE_FocusControlAutoLock, + OMX_IMAGE_FocusControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_FocusControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_IMAGE_FocusControlHyperfocal, /* Focus at the hyperfocal point of the lens. */ + OMX_IMAGE_FocusControlAutoMacro, /* CF over a macro range (eg 0-50cm) */ + OMX_IMAGE_FocusControlAutoInfinity, /* CF over distant range (eg 50cm to infinity) */ + OMX_IMAGE_FocusControlAutoLockMacro, /* AF over a macro range (eg 0-50cm) */ + OMX_IMAGE_FocusControlAutoLockInfinity, /* AF over distant range (eg 50cm to infinity) */ + OMX_IMAGE_FocusControlNearFixed, /* Focus at a fixed near focus point - (50cm-1m) */ + OMX_IMAGE_FocusControlAutoNear, /* CF over a near range (eg 0-200cm) */ + OMX_IMAGE_FocusControlAutoLockNear, /* AF over a near range (eg 0-200cm) */ + OMX_IMAGE_FocusControlInfinityFixed, /* Focus at infinity */ + OMX_IMAGE_FocusControlMacroFixed, /* Focus at a macro distance */ + OMX_IMAGE_FocusControlAutoFast, /* CF over a full range with fast response */ + OMX_IMAGE_FocusControlAutoMacroFast, /* CF over a macro range (eg 0-50cm) with fast response */ + OMX_IMAGE_FocusControlAutoNearFast, /* CF over a near range (eg 0-200cm) */ + OMX_IMAGE_FocusControlAutoInfinityFast, /* CF over distant range (eg 50cm to infinity) with fast response */ + OMX_IMAGE_FocusControlCurrentFixed, /* Stop the lens at the current position */ + OMX_IMAGE_FocusControlMax = 0x7FFFFFFF +} OMX_IMAGE_FOCUSCONTROLTYPE; + + +/** + * Focus control configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFocusControl : Focus control + * nFocusSteps : Focus can take on values from 0 mm to infinity. + * Interest is only in number of steps over this range. + * nFocusStepIndex : Current focus step index + */ +typedef struct OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGE_FOCUSCONTROLTYPE eFocusControl; + OMX_U32 nFocusSteps; + OMX_U32 nFocusStepIndex; +} OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE; + + +/** + * Q Factor for JPEG compression, which controls the tradeoff between image + * quality and size. Q Factor provides a more simple means of controlling + * JPEG compression quality, without directly programming Quantization + * tables for chroma and luma + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nQFactor : JPEG Q factor value in the range of 1-100. A factor of 1 + * produces the smallest, worst quality images, and a factor + * of 100 produces the largest, best quality images. A + * typical default is 75 for small good quality images + */ +typedef struct OMX_IMAGE_PARAM_QFACTORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nQFactor; +} OMX_IMAGE_PARAM_QFACTORTYPE; + +/** + * Quantization table type + */ + +typedef enum OMX_IMAGE_QUANTIZATIONTABLETYPE { + OMX_IMAGE_QuantizationTableLuma = 0, + OMX_IMAGE_QuantizationTableChroma, + OMX_IMAGE_QuantizationTableChromaCb, + OMX_IMAGE_QuantizationTableChromaCr, + OMX_IMAGE_QuantizationTableKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_QuantizationTableVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_IMAGE_QuantizationTableMax = 0x7FFFFFFF +} OMX_IMAGE_QUANTIZATIONTABLETYPE; + +/** + * JPEG quantization tables are used to determine DCT compression for + * YUV data, as an alternative to specifying Q factor, providing exact + * control of compression + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eQuantizationTable : Quantization table type + * nQuantizationMatrix[64] : JPEG quantization table of coefficients stored + * in increasing columns then by rows of data (i.e. + * row 1, ... row 8). Quantization values are in + * the range 0-255 and stored in linear order + * (i.e. the component will zig-zag the + * quantization table data if required internally) + */ +typedef struct OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGE_QUANTIZATIONTABLETYPE eQuantizationTable; + OMX_U8 nQuantizationMatrix[64]; +} OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE; + + +/** + * Huffman table type, the same Huffman table is applied for chroma and + * luma component + */ +typedef enum OMX_IMAGE_HUFFMANTABLETYPE { + OMX_IMAGE_HuffmanTableAC = 0, + OMX_IMAGE_HuffmanTableDC, + OMX_IMAGE_HuffmanTableACLuma, + OMX_IMAGE_HuffmanTableACChroma, + OMX_IMAGE_HuffmanTableDCLuma, + OMX_IMAGE_HuffmanTableDCChroma, + OMX_IMAGE_HuffmanTableKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_HuffmanTableVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_IMAGE_HuffmanTableMax = 0x7FFFFFFF +} OMX_IMAGE_HUFFMANTABLETYPE; + +/** + * JPEG Huffman table + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eHuffmanTable : Huffman table type + * nNumberOfHuffmanCodeOfLength[16] : 0-16, number of Huffman codes of each + * possible length + * nHuffmanTable[256] : 0-255, the size used for AC and DC + * HuffmanTable are 16 and 162 + */ +typedef struct OMX_IMAGE_PARAM_HUFFMANTTABLETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGE_HUFFMANTABLETYPE eHuffmanTable; + OMX_U8 nNumberOfHuffmanCodeOfLength[16]; + OMX_U8 nHuffmanTable[256]; +}OMX_IMAGE_PARAM_HUFFMANTTABLETYPE; + +/** @} */ +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ diff --git a/opt/vc/include/IL/OMX_Index.h b/opt/vc/include/IL/OMX_Index.h new file mode 100644 index 000000000..0f35e2345 --- /dev/null +++ b/opt/vc/include/IL/OMX_Index.h @@ -0,0 +1,514 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** @file OMX_Index.h - OpenMax IL version 1.1.2 + * The OMX_Index header file contains the definitions for both applications + * and components . + */ + + +#ifndef OMX_Index_h +#define OMX_Index_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ +#include "OMX_Types.h" + + +/** The OMX_INDEXTYPE enumeration is used to select a structure when either + * getting or setting parameters and/or configuration data. Each entry in + * this enumeration maps to an OMX specified structure. When the + * OMX_GetParameter, OMX_SetParameter, OMX_GetConfig or OMX_SetConfig methods + * are used, the second parameter will always be an entry from this enumeration + * and the third entry will be the structure shown in the comments for the entry. + * For example, if the application is initializing a cropping function, the + * OMX_SetConfig command would have OMX_IndexConfigCommonInputCrop as the second parameter + * and would send a pointer to an initialized OMX_RECTTYPE structure as the + * third parameter. + * + * The enumeration entries named with the OMX_Config prefix are sent using + * the OMX_SetConfig command and the enumeration entries named with the + * OMX_PARAM_ prefix are sent using the OMX_SetParameter command. + */ +typedef enum OMX_INDEXTYPE { + + OMX_IndexComponentStartUnused = 0x01000000, + OMX_IndexParamPriorityMgmt, /**< reference: OMX_PRIORITYMGMTTYPE */ + OMX_IndexParamAudioInit, /**< reference: OMX_PORT_PARAM_TYPE */ + OMX_IndexParamImageInit, /**< reference: OMX_PORT_PARAM_TYPE */ + OMX_IndexParamVideoInit, /**< reference: OMX_PORT_PARAM_TYPE */ + OMX_IndexParamOtherInit, /**< reference: OMX_PORT_PARAM_TYPE */ + OMX_IndexParamNumAvailableStreams, /**< reference: OMX_PARAM_U32TYPE */ + OMX_IndexParamActiveStream, /**< reference: OMX_PARAM_U32TYPE */ + OMX_IndexParamSuspensionPolicy, /**< reference: OMX_PARAM_SUSPENSIONPOLICYTYPE */ + OMX_IndexParamComponentSuspended, /**< reference: OMX_PARAM_SUSPENSIONTYPE */ + OMX_IndexConfigCapturing, /**< reference: OMX_CONFIG_BOOLEANTYPE */ + OMX_IndexConfigCaptureMode, /**< reference: OMX_CONFIG_CAPTUREMODETYPE */ + OMX_IndexAutoPauseAfterCapture, /**< reference: OMX_CONFIG_BOOLEANTYPE */ + OMX_IndexParamContentURI, /**< reference: OMX_PARAM_CONTENTURITYPE */ + OMX_IndexParamCustomContentPipe, /**< reference: OMX_PARAM_CONTENTPIPETYPE */ + OMX_IndexParamDisableResourceConcealment, /**< reference: OMX_RESOURCECONCEALMENTTYPE */ + OMX_IndexConfigMetadataItemCount, /**< reference: OMX_CONFIG_METADATAITEMCOUNTTYPE */ + OMX_IndexConfigContainerNodeCount, /**< reference: OMX_CONFIG_CONTAINERNODECOUNTTYPE */ + OMX_IndexConfigMetadataItem, /**< reference: OMX_CONFIG_METADATAITEMTYPE */ + OMX_IndexConfigCounterNodeID, /**< reference: OMX_CONFIG_CONTAINERNODEIDTYPE */ + OMX_IndexParamMetadataFilterType, /**< reference: OMX_PARAM_METADATAFILTERTYPE */ + OMX_IndexParamMetadataKeyFilter, /**< reference: OMX_PARAM_METADATAFILTERTYPE */ + OMX_IndexConfigPriorityMgmt, /**< reference: OMX_PRIORITYMGMTTYPE */ + OMX_IndexParamStandardComponentRole, /**< reference: OMX_PARAM_COMPONENTROLETYPE */ + + OMX_IndexPortStartUnused = 0x02000000, + OMX_IndexParamPortDefinition, /**< reference: OMX_PARAM_PORTDEFINITIONTYPE */ + OMX_IndexParamCompBufferSupplier, /**< reference: OMX_PARAM_BUFFERSUPPLIERTYPE */ + OMX_IndexReservedStartUnused = 0x03000000, + + /* Audio parameters and configurations */ + OMX_IndexAudioStartUnused = 0x04000000, + OMX_IndexParamAudioPortFormat, /**< reference: OMX_AUDIO_PARAM_PORTFORMATTYPE */ + OMX_IndexParamAudioPcm, /**< reference: OMX_AUDIO_PARAM_PCMMODETYPE */ + OMX_IndexParamAudioAac, /**< reference: OMX_AUDIO_PARAM_AACPROFILETYPE */ + OMX_IndexParamAudioRa, /**< reference: OMX_AUDIO_PARAM_RATYPE */ + OMX_IndexParamAudioMp3, /**< reference: OMX_AUDIO_PARAM_MP3TYPE */ + OMX_IndexParamAudioAdpcm, /**< reference: OMX_AUDIO_PARAM_ADPCMTYPE */ + OMX_IndexParamAudioG723, /**< reference: OMX_AUDIO_PARAM_G723TYPE */ + OMX_IndexParamAudioG729, /**< reference: OMX_AUDIO_PARAM_G729TYPE */ + OMX_IndexParamAudioAmr, /**< reference: OMX_AUDIO_PARAM_AMRTYPE */ + OMX_IndexParamAudioWma, /**< reference: OMX_AUDIO_PARAM_WMATYPE */ + OMX_IndexParamAudioSbc, /**< reference: OMX_AUDIO_PARAM_SBCTYPE */ + OMX_IndexParamAudioMidi, /**< reference: OMX_AUDIO_PARAM_MIDITYPE */ + OMX_IndexParamAudioGsm_FR, /**< reference: OMX_AUDIO_PARAM_GSMFRTYPE */ + OMX_IndexParamAudioMidiLoadUserSound, /**< reference: OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE */ + OMX_IndexParamAudioG726, /**< reference: OMX_AUDIO_PARAM_G726TYPE */ + OMX_IndexParamAudioGsm_EFR, /**< reference: OMX_AUDIO_PARAM_GSMEFRTYPE */ + OMX_IndexParamAudioGsm_HR, /**< reference: OMX_AUDIO_PARAM_GSMHRTYPE */ + OMX_IndexParamAudioPdc_FR, /**< reference: OMX_AUDIO_PARAM_PDCFRTYPE */ + OMX_IndexParamAudioPdc_EFR, /**< reference: OMX_AUDIO_PARAM_PDCEFRTYPE */ + OMX_IndexParamAudioPdc_HR, /**< reference: OMX_AUDIO_PARAM_PDCHRTYPE */ + OMX_IndexParamAudioTdma_FR, /**< reference: OMX_AUDIO_PARAM_TDMAFRTYPE */ + OMX_IndexParamAudioTdma_EFR, /**< reference: OMX_AUDIO_PARAM_TDMAEFRTYPE */ + OMX_IndexParamAudioQcelp8, /**< reference: OMX_AUDIO_PARAM_QCELP8TYPE */ + OMX_IndexParamAudioQcelp13, /**< reference: OMX_AUDIO_PARAM_QCELP13TYPE */ + OMX_IndexParamAudioEvrc, /**< reference: OMX_AUDIO_PARAM_EVRCTYPE */ + OMX_IndexParamAudioSmv, /**< reference: OMX_AUDIO_PARAM_SMVTYPE */ + OMX_IndexParamAudioVorbis, /**< reference: OMX_AUDIO_PARAM_VORBISTYPE */ + + OMX_IndexConfigAudioMidiImmediateEvent, /**< reference: OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE */ + OMX_IndexConfigAudioMidiControl, /**< reference: OMX_AUDIO_CONFIG_MIDICONTROLTYPE */ + OMX_IndexConfigAudioMidiSoundBankProgram, /**< reference: OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE */ + OMX_IndexConfigAudioMidiStatus, /**< reference: OMX_AUDIO_CONFIG_MIDISTATUSTYPE */ + OMX_IndexConfigAudioMidiMetaEvent, /**< reference: OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE */ + OMX_IndexConfigAudioMidiMetaEventData, /**< reference: OMX_AUDIO_CONFIG_MIDIMETAEVENTDATATYPE */ + OMX_IndexConfigAudioVolume, /**< reference: OMX_AUDIO_CONFIG_VOLUMETYPE */ + OMX_IndexConfigAudioBalance, /**< reference: OMX_AUDIO_CONFIG_BALANCETYPE */ + OMX_IndexConfigAudioChannelMute, /**< reference: OMX_AUDIO_CONFIG_CHANNELMUTETYPE */ + OMX_IndexConfigAudioMute, /**< reference: OMX_AUDIO_CONFIG_MUTETYPE */ + OMX_IndexConfigAudioLoudness, /**< reference: OMX_AUDIO_CONFIG_LOUDNESSTYPE */ + OMX_IndexConfigAudioEchoCancelation, /**< reference: OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE */ + OMX_IndexConfigAudioNoiseReduction, /**< reference: OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE */ + OMX_IndexConfigAudioBass, /**< reference: OMX_AUDIO_CONFIG_BASSTYPE */ + OMX_IndexConfigAudioTreble, /**< reference: OMX_AUDIO_CONFIG_TREBLETYPE */ + OMX_IndexConfigAudioStereoWidening, /**< reference: OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE */ + OMX_IndexConfigAudioChorus, /**< reference: OMX_AUDIO_CONFIG_CHORUSTYPE */ + OMX_IndexConfigAudioEqualizer, /**< reference: OMX_AUDIO_CONFIG_EQUALIZERTYPE */ + OMX_IndexConfigAudioReverberation, /**< reference: OMX_AUDIO_CONFIG_REVERBERATIONTYPE */ + OMX_IndexConfigAudioChannelVolume, /**< reference: OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE */ + + /* Image specific parameters and configurations */ + OMX_IndexImageStartUnused = 0x05000000, + OMX_IndexParamImagePortFormat, /**< reference: OMX_IMAGE_PARAM_PORTFORMATTYPE */ + OMX_IndexParamFlashControl, /**< reference: OMX_IMAGE_PARAM_FLASHCONTROLTYPE */ + OMX_IndexConfigFocusControl, /**< reference: OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE */ + OMX_IndexParamQFactor, /**< reference: OMX_IMAGE_PARAM_QFACTORTYPE */ + OMX_IndexParamQuantizationTable, /**< reference: OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE */ + OMX_IndexParamHuffmanTable, /**< reference: OMX_IMAGE_PARAM_HUFFMANTTABLETYPE */ + OMX_IndexConfigFlashControl, /**< reference: OMX_IMAGE_PARAM_FLASHCONTROLTYPE */ + + /* Video specific parameters and configurations */ + OMX_IndexVideoStartUnused = 0x06000000, + OMX_IndexParamVideoPortFormat, /**< reference: OMX_VIDEO_PARAM_PORTFORMATTYPE */ + OMX_IndexParamVideoQuantization, /**< reference: OMX_VIDEO_PARAM_QUANTIZATIONTYPE */ + OMX_IndexParamVideoFastUpdate, /**< reference: OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE */ + OMX_IndexParamVideoBitrate, /**< reference: OMX_VIDEO_PARAM_BITRATETYPE */ + OMX_IndexParamVideoMotionVector, /**< reference: OMX_VIDEO_PARAM_MOTIONVECTORTYPE */ + OMX_IndexParamVideoIntraRefresh, /**< reference: OMX_VIDEO_PARAM_INTRAREFRESHTYPE */ + OMX_IndexParamVideoErrorCorrection, /**< reference: OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE */ + OMX_IndexParamVideoVBSMC, /**< reference: OMX_VIDEO_PARAM_VBSMCTYPE */ + OMX_IndexParamVideoMpeg2, /**< reference: OMX_VIDEO_PARAM_MPEG2TYPE */ + OMX_IndexParamVideoMpeg4, /**< reference: OMX_VIDEO_PARAM_MPEG4TYPE */ + OMX_IndexParamVideoWmv, /**< reference: OMX_VIDEO_PARAM_WMVTYPE */ + OMX_IndexParamVideoRv, /**< reference: OMX_VIDEO_PARAM_RVTYPE */ + OMX_IndexParamVideoAvc, /**< reference: OMX_VIDEO_PARAM_AVCTYPE */ + OMX_IndexParamVideoH263, /**< reference: OMX_VIDEO_PARAM_H263TYPE */ + OMX_IndexParamVideoProfileLevelQuerySupported, /**< reference: OMX_VIDEO_PARAM_PROFILELEVELTYPE */ + OMX_IndexParamVideoProfileLevelCurrent, /**< reference: OMX_VIDEO_PARAM_PROFILELEVELTYPE */ + OMX_IndexConfigVideoBitrate, /**< reference: OMX_VIDEO_CONFIG_BITRATETYPE */ + OMX_IndexConfigVideoFramerate, /**< reference: OMX_CONFIG_FRAMERATETYPE */ + OMX_IndexConfigVideoIntraVOPRefresh, /**< reference: OMX_CONFIG_INTRAREFRESHVOPTYPE */ + OMX_IndexConfigVideoIntraMBRefresh, /**< reference: OMX_CONFIG_MACROBLOCKERRORMAPTYPE */ + OMX_IndexConfigVideoMBErrorReporting, /**< reference: OMX_CONFIG_MBERRORREPORTINGTYPE */ + OMX_IndexParamVideoMacroblocksPerFrame, /**< reference: OMX_PARAM_MACROBLOCKSTYPE */ + OMX_IndexConfigVideoMacroBlockErrorMap, /**< reference: OMX_CONFIG_MACROBLOCKERRORMAPTYPE */ + OMX_IndexParamVideoSliceFMO, /**< reference: OMX_VIDEO_PARAM_AVCSLICEFMO */ + OMX_IndexConfigVideoAVCIntraPeriod, /**< reference: OMX_VIDEO_CONFIG_AVCINTRAPERIOD */ + OMX_IndexConfigVideoNalSize, /**< reference: OMX_VIDEO_CONFIG_NALSIZE */ + + /* Image & Video common Configurations */ + OMX_IndexCommonStartUnused = 0x07000000, + OMX_IndexParamCommonDeblocking, /**< reference: OMX_PARAM_DEBLOCKINGTYPE */ + OMX_IndexParamCommonSensorMode, /**< reference: OMX_PARAM_SENSORMODETYPE */ + OMX_IndexParamCommonInterleave, /**< reference: OMX_PARAM_INTERLEAVETYPE */ + OMX_IndexConfigCommonColorFormatConversion, /**< reference: OMX_CONFIG_COLORCONVERSIONTYPE */ + OMX_IndexConfigCommonScale, /**< reference: OMX_CONFIG_SCALEFACTORTYPE */ + OMX_IndexConfigCommonImageFilter, /**< reference: OMX_CONFIG_IMAGEFILTERTYPE */ + OMX_IndexConfigCommonColorEnhancement, /**< reference: OMX_CONFIG_COLORENHANCEMENTTYPE */ + OMX_IndexConfigCommonColorKey, /**< reference: OMX_CONFIG_COLORKEYTYPE */ + OMX_IndexConfigCommonColorBlend, /**< reference: OMX_CONFIG_COLORBLENDTYPE */ + OMX_IndexConfigCommonFrameStabilisation,/**< reference: OMX_CONFIG_FRAMESTABTYPE */ + OMX_IndexConfigCommonRotate, /**< reference: OMX_CONFIG_ROTATIONTYPE */ + OMX_IndexConfigCommonMirror, /**< reference: OMX_CONFIG_MIRRORTYPE */ + OMX_IndexConfigCommonOutputPosition, /**< reference: OMX_CONFIG_POINTTYPE */ + OMX_IndexConfigCommonInputCrop, /**< reference: OMX_CONFIG_RECTTYPE */ + OMX_IndexConfigCommonOutputCrop, /**< reference: OMX_CONFIG_RECTTYPE */ + OMX_IndexConfigCommonDigitalZoom, /**< reference: OMX_CONFIG_SCALEFACTORTYPE */ + OMX_IndexConfigCommonOpticalZoom, /**< reference: OMX_CONFIG_SCALEFACTORTYPE*/ + OMX_IndexConfigCommonWhiteBalance, /**< reference: OMX_CONFIG_WHITEBALCONTROLTYPE */ + OMX_IndexConfigCommonExposure, /**< reference: OMX_CONFIG_EXPOSURECONTROLTYPE */ + OMX_IndexConfigCommonContrast, /**< reference: OMX_CONFIG_CONTRASTTYPE */ + OMX_IndexConfigCommonBrightness, /**< reference: OMX_CONFIG_BRIGHTNESSTYPE */ + OMX_IndexConfigCommonBacklight, /**< reference: OMX_CONFIG_BACKLIGHTTYPE */ + OMX_IndexConfigCommonGamma, /**< reference: OMX_CONFIG_GAMMATYPE */ + OMX_IndexConfigCommonSaturation, /**< reference: OMX_CONFIG_SATURATIONTYPE */ + OMX_IndexConfigCommonLightness, /**< reference: OMX_CONFIG_LIGHTNESSTYPE */ + OMX_IndexConfigCommonExclusionRect, /**< reference: OMX_CONFIG_RECTTYPE */ + OMX_IndexConfigCommonDithering, /**< reference: OMX_CONFIG_DITHERTYPE */ + OMX_IndexConfigCommonPlaneBlend, /**< reference: OMX_CONFIG_PLANEBLENDTYPE */ + OMX_IndexConfigCommonExposureValue, /**< reference: OMX_CONFIG_EXPOSUREVALUETYPE */ + OMX_IndexConfigCommonOutputSize, /**< reference: OMX_FRAMESIZETYPE */ + OMX_IndexParamCommonExtraQuantData, /**< reference: OMX_OTHER_EXTRADATATYPE */ + OMX_IndexConfigCommonFocusRegion, /**< reference: OMX_CONFIG_FOCUSREGIONTYPE */ + OMX_IndexConfigCommonFocusStatus, /**< reference: OMX_PARAM_FOCUSSTATUSTYPE */ + OMX_IndexConfigCommonTransitionEffect, /**< reference: OMX_CONFIG_TRANSITIONEFFECTTYPE */ + + /* Reserved Configuration range */ + OMX_IndexOtherStartUnused = 0x08000000, + OMX_IndexParamOtherPortFormat, /**< reference: OMX_OTHER_PARAM_PORTFORMATTYPE */ + OMX_IndexConfigOtherPower, /**< reference: OMX_OTHER_CONFIG_POWERTYPE */ + OMX_IndexConfigOtherStats, /**< reference: OMX_OTHER_CONFIG_STATSTYPE */ + + + /* Reserved Time range */ + OMX_IndexTimeStartUnused = 0x09000000, + OMX_IndexConfigTimeScale, /**< reference: OMX_TIME_CONFIG_SCALETYPE */ + OMX_IndexConfigTimeClockState, /**< reference: OMX_TIME_CONFIG_CLOCKSTATETYPE */ + OMX_IndexConfigTimeActiveRefClock, /**< reference: OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE */ + OMX_IndexConfigTimeCurrentMediaTime, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (read only) */ + OMX_IndexConfigTimeCurrentWallTime, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (read only) */ + OMX_IndexConfigTimeCurrentAudioReference, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (write only) */ + OMX_IndexConfigTimeCurrentVideoReference, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (write only) */ + OMX_IndexConfigTimeMediaTimeRequest, /**< reference: OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE (write only) */ + OMX_IndexConfigTimeClientStartTime, /** +#define STDINT_H_AVAILABLE +#endif + +/** OMX_U8 is an 8 bit unsigned quantity that is byte aligned */ +typedef unsigned char OMX_U8; + +/** OMX_S8 is an 8 bit signed quantity that is byte aligned */ +typedef signed char OMX_S8; + +/** OMX_U16 is a 16 bit unsigned quantity that is 16 bit word aligned */ +typedef unsigned short OMX_U16; + +/** OMX_S16 is a 16 bit signed quantity that is 16 bit word aligned */ +typedef signed short OMX_S16; + +/** OMX_U32 is a 32 bit unsigned quantity that is 32 bit word aligned */ +#ifdef STDINT_H_AVAILABLE +typedef uint32_t OMX_U32; +#else +typedef unsigned long OMX_U32; +#endif + +/** OMX_S32 is a 32 bit signed quantity that is 32 bit word aligned */ +#ifdef STDINT_H_AVAILABLE +typedef int32_t OMX_S32; +#else +typedef signed long OMX_S32; +#endif + + +/* Users with compilers that cannot accept the "long long" designation should + define the OMX_SKIP64BIT macro. It should be noted that this may cause + some components to fail to compile if the component was written to require + 64 bit integral types. However, these components would NOT compile anyway + since the compiler does not support the way the component was written. +*/ +#ifndef OMX_SKIP64BIT +#ifdef __SYMBIAN32__ +/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ +typedef unsigned long long OMX_U64; + +/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ +typedef signed long long OMX_S64; + +#elif defined(WIN32) + +/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ +typedef unsigned __int64 OMX_U64; + +/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ +typedef signed __int64 OMX_S64; + +#else /* WIN32 */ + +/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ +typedef unsigned long long OMX_U64; + +/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ +typedef signed long long OMX_S64; + +#endif /* WIN32 */ +#endif + + +/** The OMX_BOOL type is intended to be used to represent a true or a false + value when passing parameters to and from the OMX core and components. The + OMX_BOOL is a 32 bit quantity and is aligned on a 32 bit word boundary. + */ +typedef enum OMX_BOOL { + OMX_FALSE = 0, + OMX_TRUE = !OMX_FALSE, + OMX_BOOL_MAX = 0x7FFFFFFF +} OMX_BOOL; + +/** The OMX_PTR type is intended to be used to pass pointers between the OMX + applications and the OMX Core and components. This is a 32 bit pointer and + is aligned on a 32 bit boundary. + */ +typedef void* OMX_PTR; + +/** The OMX_STRING type is intended to be used to pass "C" type strings between + the application and the core and component. The OMX_STRING type is a 32 + bit pointer to a zero terminated string. The pointer is word aligned and + the string is byte aligned. + */ +typedef char* OMX_STRING; + +/** The OMX_BYTE type is intended to be used to pass arrays of bytes such as + buffers between the application and the component and core. The OMX_BYTE + type is a 32 bit pointer to a zero terminated string. The pointer is word + aligned and the string is byte aligned. + */ +typedef unsigned char* OMX_BYTE; + +/** OMX_UUIDTYPE is a very long unique identifier to uniquely identify + at runtime. This identifier should be generated by a component in a way + that guarantees that every instance of the identifier running on the system + is unique. */ +typedef unsigned char OMX_UUIDTYPE[128]; + +/** The OMX_DIRTYPE enumeration is used to indicate if a port is an input or + an output port. This enumeration is common across all component types. + */ +typedef enum OMX_DIRTYPE +{ + OMX_DirInput, /**< Port is an input port */ + OMX_DirOutput, /**< Port is an output port */ + OMX_DirMax = 0x7FFFFFFF +} OMX_DIRTYPE; + +/** The OMX_ENDIANTYPE enumeration is used to indicate the bit ordering + for numerical data (i.e. big endian, or little endian). + */ +typedef enum OMX_ENDIANTYPE +{ + OMX_EndianBig, /**< big endian */ + OMX_EndianLittle, /**< little endian */ + OMX_EndianMax = 0x7FFFFFFF +} OMX_ENDIANTYPE; + + +/** The OMX_NUMERICALDATATYPE enumeration is used to indicate if data + is signed or unsigned + */ +typedef enum OMX_NUMERICALDATATYPE +{ + OMX_NumericalDataSigned, /**< signed data */ + OMX_NumericalDataUnsigned, /**< unsigned data */ + OMX_NumercialDataMax = 0x7FFFFFFF +} OMX_NUMERICALDATATYPE; + + +/** Unsigned bounded value type */ +typedef struct OMX_BU32 { + OMX_U32 nValue; /**< actual value */ + OMX_U32 nMin; /**< minimum for value (i.e. nValue >= nMin) */ + OMX_U32 nMax; /**< maximum for value (i.e. nValue <= nMax) */ +} OMX_BU32; + + +/** Signed bounded value type */ +typedef struct OMX_BS32 { + OMX_S32 nValue; /**< actual value */ + OMX_S32 nMin; /**< minimum for value (i.e. nValue >= nMin) */ + OMX_S32 nMax; /**< maximum for value (i.e. nValue <= nMax) */ +} OMX_BS32; + + +/** Structure representing some time or duration in microseconds. This structure + * must be interpreted as a signed 64 bit value. The quantity is signed to accommodate + * negative deltas and preroll scenarios. The quantity is represented in microseconds + * to accomodate high resolution timestamps (e.g. DVD presentation timestamps based + * on a 90kHz clock) and to allow more accurate and synchronized delivery (e.g. + * individual audio samples delivered at 192 kHz). The quantity is 64 bit to + * accommodate a large dynamic range (signed 32 bit values would allow only for plus + * or minus 35 minutes). + * + * Implementations with limited precision may convert the signed 64 bit value to + * a signed 32 bit value internally but risk loss of precision. + */ +#ifndef OMX_SKIP64BIT +typedef OMX_S64 OMX_TICKS; +#else +typedef struct OMX_TICKS +{ + OMX_U32 nLowPart; /** low bits of the signed 64 bit tick value */ + OMX_U32 nHighPart; /** high bits of the signed 64 bit tick value */ +} OMX_TICKS; +#endif +#define OMX_TICKS_PER_SECOND 1000000 + +/** Define the public interface for the OMX Handle. The core will not use + this value internally, but the application should only use this value. + */ +typedef void* OMX_HANDLETYPE; + +typedef struct OMX_MARKTYPE +{ + OMX_HANDLETYPE hMarkTargetComponent; /**< The component that will + generate a mark event upon + processing the mark. */ + OMX_PTR pMarkData; /**< Application specific data associated with + the mark sent on a mark event to disambiguate + this mark from others. */ +} OMX_MARKTYPE; + + +/** OMX_NATIVE_DEVICETYPE is used to map a OMX video port to the + * platform & operating specific object used to reference the display + * or can be used by a audio port for native audio rendering */ +typedef void* OMX_NATIVE_DEVICETYPE; + +/** OMX_NATIVE_WINDOWTYPE is used to map a OMX video port to the + * platform & operating specific object used to reference the window */ +typedef void* OMX_NATIVE_WINDOWTYPE; + + +/** Define the OMX IL version that corresponds to this set of header files. + * We also define a combined version that can be used to write or compare + * values of the 32bit nVersion field, assuming a little endian architecture */ +#define OMX_VERSION_MAJOR 1 +#define OMX_VERSION_MINOR 1 +#define OMX_VERSION_REVISION 2 +#define OMX_VERSION_STEP 0 + +#define OMX_VERSION ((OMX_VERSION_STEP<<24) | (OMX_VERSION_REVISION<<16) | (OMX_VERSION_MINOR<<8) | OMX_VERSION_MAJOR) + + +/** The OMX_VERSIONTYPE union is used to specify the version for + a structure or component. For a component, the version is entirely + specified by the component vendor. Components doing the same function + from different vendors may or may not have the same version. For + structures, the version shall be set by the entity that allocates the + structure. For structures specified in the OMX 1.1 specification, the + value of the version shall be set to 1.1.0.0 in all cases. Access to the + OMX_VERSIONTYPE can be by a single 32 bit access (e.g. by nVersion) or + by accessing one of the structure elements to, for example, check only + the Major revision. + */ +typedef union OMX_VERSIONTYPE +{ + struct + { + OMX_U8 nVersionMajor; /**< Major version accessor element */ + OMX_U8 nVersionMinor; /**< Minor version accessor element */ + OMX_U8 nRevision; /**< Revision version accessor element */ + OMX_U8 nStep; /**< Step version accessor element */ + } s; + OMX_U32 nVersion; /**< 32 bit value to make accessing the + version easily done in a single word + size copy/compare operation */ +} OMX_VERSIONTYPE; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ diff --git a/opt/vc/include/IL/OMX_Video.h b/opt/vc/include/IL/OMX_Video.h new file mode 100644 index 000000000..ec53ee6ec --- /dev/null +++ b/opt/vc/include/IL/OMX_Video.h @@ -0,0 +1,1075 @@ +/** + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** + * @file OMX_Video.h - OpenMax IL version 1.1.2 + * The structures is needed by Video components to exchange parameters + * and configuration data with OMX components. + */ +#ifndef OMX_Video_h +#define OMX_Video_h + +/** @defgroup video OpenMAX IL Video Domain + * @ingroup iv + * Structures for OpenMAX IL Video domain + * @{ + */ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/** + * Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_IVCommon.h" + + +/** + * Enumeration used to define the possible video compression codings. + * NOTE: This essentially refers to file extensions. If the coding is + * being used to specify the ENCODE type, then additional work + * must be done to configure the exact flavor of the compression + * to be used. For decode cases where the user application can + * not differentiate between MPEG-4 and H.264 bit streams, it is + * up to the codec to handle this. + */ +typedef enum OMX_VIDEO_CODINGTYPE { + OMX_VIDEO_CodingUnused, /**< Value when coding is N/A */ + OMX_VIDEO_CodingAutoDetect, /**< Autodetection of coding type */ + OMX_VIDEO_CodingMPEG2, /**< AKA: H.262 */ + OMX_VIDEO_CodingH263, /**< H.263 */ + OMX_VIDEO_CodingMPEG4, /**< MPEG-4 */ + OMX_VIDEO_CodingWMV, /**< all versions of Windows Media Video */ + OMX_VIDEO_CodingRV, /**< all versions of Real Video */ + OMX_VIDEO_CodingAVC, /**< H.264/AVC */ + OMX_VIDEO_CodingMJPEG, /**< Motion JPEG */ + OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_VIDEO_CodingVP6, /**< On2 VP6 */ + OMX_VIDEO_CodingVP7, /**< On2 VP7 */ + OMX_VIDEO_CodingVP8, /**< On2 VP8 */ + OMX_VIDEO_CodingYUV, /* raw YUV video */ + OMX_VIDEO_CodingSorenson, /**< Sorenson */ + OMX_VIDEO_CodingTheora, /**< Theora */ + OMX_VIDEO_CodingMVC, /**< H.264/MVC */ + + OMX_VIDEO_CodingMax = 0x7FFFFFFF +} OMX_VIDEO_CODINGTYPE; + + +/** + * Data structure used to define a video path. The number of Video paths for + * input and output will vary by type of the Video component. + * + * Input (aka Source) : zero Inputs, one Output, + * Splitter : one Input, 2 or more Outputs, + * Processing Element : one Input, one output, + * Mixer : 2 or more inputs, one output, + * Output (aka Sink) : one Input, zero outputs. + * + * The PortDefinition structure is used to define all of the parameters + * necessary for the compliant component to setup an input or an output video + * path. If additional vendor specific data is required, it should be + * transmitted to the component using the CustomCommand function. Compliant + * components will prepopulate this structure with optimal values during the + * GetDefaultInitParams command. + * + * STRUCT MEMBERS: + * cMIMEType : MIME type of data for the port + * pNativeRender : Platform specific reference for a display if a + * sync, otherwise this field is 0 + * nFrameWidth : Width of frame to be used on channel if + * uncompressed format is used. Use 0 for unknown, + * don't care or variable + * nFrameHeight : Height of frame to be used on channel if + * uncompressed format is used. Use 0 for unknown, + * don't care or variable + * nStride : Number of bytes per span of an image + * (i.e. indicates the number of bytes to get + * from span N to span N+1, where negative stride + * indicates the image is bottom up + * nSliceHeight : Height used when encoding in slices + * nBitrate : Bit rate of frame to be used on channel if + * compressed format is used. Use 0 for unknown, + * don't care or variable + * xFramerate : Frame rate to be used on channel if uncompressed + * format is used. Use 0 for unknown, don't care or + * variable. Units are Q16 frames per second. + * bFlagErrorConcealment : Turns on error concealment if it is supported by + * the OMX component + * eCompressionFormat : Compression format used in this instance of the + * component. When OMX_VIDEO_CodingUnused is + * specified, eColorFormat is used + * eColorFormat : Decompressed format used by this component + * pNativeWindow : Platform specific reference for a window object if a + * display sink , otherwise this field is 0x0. + */ +typedef struct OMX_VIDEO_PORTDEFINITIONTYPE { + OMX_STRING cMIMEType; + OMX_NATIVE_DEVICETYPE pNativeRender; + OMX_U32 nFrameWidth; + OMX_U32 nFrameHeight; + OMX_S32 nStride; + OMX_U32 nSliceHeight; + OMX_U32 nBitrate; + OMX_U32 xFramerate; + OMX_BOOL bFlagErrorConcealment; + OMX_VIDEO_CODINGTYPE eCompressionFormat; + OMX_COLOR_FORMATTYPE eColorFormat; + OMX_NATIVE_WINDOWTYPE pNativeWindow; +} OMX_VIDEO_PORTDEFINITIONTYPE; + +/** + * Port format parameter. This structure is used to enumerate the various + * data input/output format supported by the port. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Indicates which port to set + * nIndex : Indicates the enumeration index for the format from + * 0x0 to N-1 + * eCompressionFormat : Compression format used in this instance of the + * component. When OMX_VIDEO_CodingUnused is specified, + * eColorFormat is used + * eColorFormat : Decompressed format used by this component + * xFrameRate : Indicates the video frame rate in Q16 format + */ +typedef struct OMX_VIDEO_PARAM_PORTFORMATTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIndex; + OMX_VIDEO_CODINGTYPE eCompressionFormat; + OMX_COLOR_FORMATTYPE eColorFormat; + OMX_U32 xFramerate; +} OMX_VIDEO_PARAM_PORTFORMATTYPE; + + +/** + * This is a structure for configuring video compression quantization + * parameter values. Codecs may support different QP values for different + * frame types. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version info + * nPortIndex : Port that this structure applies to + * nQpI : QP value to use for index frames + * nQpP : QP value to use for P frames + * nQpB : QP values to use for bidirectional frames + */ +typedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nQpI; + OMX_U32 nQpP; + OMX_U32 nQpB; +} OMX_VIDEO_PARAM_QUANTIZATIONTYPE; + + +/** + * Structure for configuration of video fast update parameters. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version info + * nPortIndex : Port that this structure applies to + * bEnableVFU : Enable/Disable video fast update + * nFirstGOB : Specifies the number of the first macroblock row + * nFirstMB : specifies the first MB relative to the specified first GOB + * nNumMBs : Specifies the number of MBs to be refreshed from nFirstGOB + * and nFirstMB + */ +typedef struct OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnableVFU; + OMX_U32 nFirstGOB; + OMX_U32 nFirstMB; + OMX_U32 nNumMBs; +} OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE; + + +/** + * Enumeration of possible bitrate control types + */ +typedef enum OMX_VIDEO_CONTROLRATETYPE { + OMX_Video_ControlRateDisable, + OMX_Video_ControlRateVariable, + OMX_Video_ControlRateConstant, + OMX_Video_ControlRateVariableSkipFrames, + OMX_Video_ControlRateConstantSkipFrames, + OMX_Video_ControlRateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_Video_ControlRateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_Video_ControlRateMax = 0x7FFFFFFF +} OMX_VIDEO_CONTROLRATETYPE; + + +/** + * Structure for configuring bitrate mode of a codec. + * + * STRUCT MEMBERS: + * nSize : Size of the struct in bytes + * nVersion : OMX spec version info + * nPortIndex : Port that this struct applies to + * eControlRate : Control rate type enum + * nTargetBitrate : Target bitrate to encode with + */ +typedef struct OMX_VIDEO_PARAM_BITRATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_CONTROLRATETYPE eControlRate; + OMX_U32 nTargetBitrate; +} OMX_VIDEO_PARAM_BITRATETYPE; + + +/** + * Enumeration of possible motion vector (MV) types + */ +typedef enum OMX_VIDEO_MOTIONVECTORTYPE { + OMX_Video_MotionVectorPixel, + OMX_Video_MotionVectorHalfPel, + OMX_Video_MotionVectorQuarterPel, + OMX_Video_MotionVectorEighthPel, + OMX_Video_MotionVectorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_Video_MotionVectorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_Video_MotionVectorMax = 0x7FFFFFFF +} OMX_VIDEO_MOTIONVECTORTYPE; + + +/** + * Structure for configuring the number of motion vectors used as well + * as their accuracy. + * + * STRUCT MEMBERS: + * nSize : Size of the struct in bytes + * nVersion : OMX spec version info + * nPortIndex : port that this structure applies to + * eAccuracy : Enumerated MV accuracy + * bUnrestrictedMVs : Allow unrestricted MVs + * bFourMV : Allow use of 4 MVs + * sXSearchRange : Search range in horizontal direction for MVs + * sYSearchRange : Search range in vertical direction for MVs + */ +typedef struct OMX_VIDEO_PARAM_MOTIONVECTORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_MOTIONVECTORTYPE eAccuracy; + OMX_BOOL bUnrestrictedMVs; + OMX_BOOL bFourMV; + OMX_S32 sXSearchRange; + OMX_S32 sYSearchRange; +} OMX_VIDEO_PARAM_MOTIONVECTORTYPE; + + +/** + * Enumeration of possible methods to use for Intra Refresh + */ +typedef enum OMX_VIDEO_INTRAREFRESHTYPE { + OMX_VIDEO_IntraRefreshCyclic, /**< Cyclic intra refresh, bit 0 is set*/ + OMX_VIDEO_IntraRefreshAdaptive, /**< Adaptive intra refresh, bit 1 is set*/ + OMX_VIDEO_IntraRefreshBoth, /**< Cyclic + Adaptive intra refresh (no mrows since bit 2 is off)*/ + OMX_VIDEO_IntraRefreshKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_IntraRefreshVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_IntraRefreshCyclicMrows, /**< Cyclic intra refresh, multiple rows at a time bits 0 and 2 are set*/ + OMX_VIDEO_IntraRefreshPseudoRand, /**< Psuedo random intra refresh, uses bit 3*/ + OMX_VIDEO_IntraRefreshMax = 0x7FFFFFFF +} OMX_VIDEO_INTRAREFRESHTYPE; + + +/** + * Structure for configuring intra refresh mode + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eRefreshMode : Cyclic, Adaptive, or Both + * nAirMBs : Number of intra macroblocks to refresh in a frame when + * AIR is enabled + * nAirRef : Number of times a motion marked macroblock has to be + * intra coded + * nCirMBs : Number of consecutive macroblocks to be coded as "intra" + * when CIR is enabled + */ +typedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_INTRAREFRESHTYPE eRefreshMode; + OMX_U32 nAirMBs; + OMX_U32 nAirRef; + OMX_U32 nCirMBs; + OMX_U32 nPirMBs; +} OMX_VIDEO_PARAM_INTRAREFRESHTYPE; + + +/** + * Structure for enabling various error correction methods for video + * compression. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bEnableHEC : Enable/disable header extension codes (HEC) + * bEnableResync : Enable/disable resynchronization markers + * nResynchMarkerSpacing : Resynch markers interval (in bits) to be + * applied in the stream + * bEnableDataPartitioning : Enable/disable data partitioning + * bEnableRVLC : Enable/disable reversible variable length + * coding + */ +typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnableHEC; + OMX_BOOL bEnableResync; + OMX_U32 nResynchMarkerSpacing; + OMX_BOOL bEnableDataPartitioning; + OMX_BOOL bEnableRVLC; +} OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE; + + +/** + * Configuration of variable block-size motion compensation (VBSMC) + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * b16x16 : Enable inter block search 16x16 + * b16x8 : Enable inter block search 16x8 + * b8x16 : Enable inter block search 8x16 + * b8x8 : Enable inter block search 8x8 + * b8x4 : Enable inter block search 8x4 + * b4x8 : Enable inter block search 4x8 + * b4x4 : Enable inter block search 4x4 + */ +typedef struct OMX_VIDEO_PARAM_VBSMCTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL b16x16; + OMX_BOOL b16x8; + OMX_BOOL b8x16; + OMX_BOOL b8x8; + OMX_BOOL b8x4; + OMX_BOOL b4x8; + OMX_BOOL b4x4; +} OMX_VIDEO_PARAM_VBSMCTYPE; + + +/** + * H.263 profile types, each profile indicates support for various + * performance bounds and different annexes. + * + * ENUMS: + * Baseline : Baseline Profile: H.263 (V1), no optional modes + * H320 Coding : H.320 Coding Efficiency Backward Compatibility + * Profile: H.263+ (V2), includes annexes I, J, L.4 + * and T + * BackwardCompatible : Backward Compatibility Profile: H.263 (V1), + * includes annex F + * ISWV2 : Interactive Streaming Wireless Profile: H.263+ + * (V2), includes annexes I, J, K and T + * ISWV3 : Interactive Streaming Wireless Profile: H.263++ + * (V3), includes profile 3 and annexes V and W.6.3.8 + * HighCompression : Conversational High Compression Profile: H.263++ + * (V3), includes profiles 1 & 2 and annexes D and U + * Internet : Conversational Internet Profile: H.263++ (V3), + * includes profile 5 and annex K + * Interlace : Conversational Interlace Profile: H.263++ (V3), + * includes profile 5 and annex W.6.3.11 + * HighLatency : High Latency Profile: H.263++ (V3), includes + * profile 6 and annexes O.1 and P.5 + */ +typedef enum OMX_VIDEO_H263PROFILETYPE { + OMX_VIDEO_H263ProfileBaseline = 0x01, + OMX_VIDEO_H263ProfileH320Coding = 0x02, + OMX_VIDEO_H263ProfileBackwardCompatible = 0x04, + OMX_VIDEO_H263ProfileISWV2 = 0x08, + OMX_VIDEO_H263ProfileISWV3 = 0x10, + OMX_VIDEO_H263ProfileHighCompression = 0x20, + OMX_VIDEO_H263ProfileInternet = 0x40, + OMX_VIDEO_H263ProfileInterlace = 0x80, + OMX_VIDEO_H263ProfileHighLatency = 0x100, + OMX_VIDEO_H263ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_H263ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_H263ProfileMax = 0x7FFFFFFF +} OMX_VIDEO_H263PROFILETYPE; + + +/** + * H.263 level types, each level indicates support for various frame sizes, + * bit rates, decoder frame rates. + */ +typedef enum OMX_VIDEO_H263LEVELTYPE { + OMX_VIDEO_H263Level10 = 0x01, + OMX_VIDEO_H263Level20 = 0x02, + OMX_VIDEO_H263Level30 = 0x04, + OMX_VIDEO_H263Level40 = 0x08, + OMX_VIDEO_H263Level45 = 0x10, + OMX_VIDEO_H263Level50 = 0x20, + OMX_VIDEO_H263Level60 = 0x40, + OMX_VIDEO_H263Level70 = 0x80, + OMX_VIDEO_H263LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_H263LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_H263LevelMax = 0x7FFFFFFF +} OMX_VIDEO_H263LEVELTYPE; + + +/** + * Specifies the picture type. These values should be OR'd to signal all + * pictures types which are allowed. + * + * ENUMS: + * Generic Picture Types: I, P and B + * H.263 Specific Picture Types: SI and SP + * H.264 Specific Picture Types: EI and EP + * MPEG-4 Specific Picture Types: S + */ +typedef enum OMX_VIDEO_PICTURETYPE { + OMX_VIDEO_PictureTypeI = 0x01, + OMX_VIDEO_PictureTypeP = 0x02, + OMX_VIDEO_PictureTypeB = 0x04, + OMX_VIDEO_PictureTypeSI = 0x08, + OMX_VIDEO_PictureTypeSP = 0x10, + OMX_VIDEO_PictureTypeEI = 0x11, + OMX_VIDEO_PictureTypeEP = 0x12, + OMX_VIDEO_PictureTypeS = 0x14, + OMX_VIDEO_PictureTypeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_PictureTypeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_PictureTypeMax = 0x7FFFFFFF +} OMX_VIDEO_PICTURETYPE; + + +/** + * H.263 Params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nPFrames : Number of P frames between each I frame + * nBFrames : Number of B frames between each I frame + * eProfile : H.263 profile(s) to use + * eLevel : H.263 level(s) to use + * bPLUSPTYPEAllowed : Indicating that it is allowed to use PLUSPTYPE + * (specified in the 1998 version of H.263) to + * indicate custom picture sizes or clock + * frequencies + * nAllowedPictureTypes : Specifies the picture types allowed in the + * bitstream + * bForceRoundingTypeToZero : value of the RTYPE bit (bit 6 of MPPTYPE) is + * not constrained. It is recommended to change + * the value of the RTYPE bit for each reference + * picture in error-free communication + * nPictureHeaderRepetition : Specifies the frequency of picture header + * repetition + * nGOBHeaderInterval : Specifies the interval of non-empty GOB + * headers in units of GOBs + */ +typedef struct OMX_VIDEO_PARAM_H263TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nPFrames; + OMX_U32 nBFrames; + OMX_VIDEO_H263PROFILETYPE eProfile; + OMX_VIDEO_H263LEVELTYPE eLevel; + OMX_BOOL bPLUSPTYPEAllowed; + OMX_U32 nAllowedPictureTypes; + OMX_BOOL bForceRoundingTypeToZero; + OMX_U32 nPictureHeaderRepetition; + OMX_U32 nGOBHeaderInterval; +} OMX_VIDEO_PARAM_H263TYPE; + + +/** + * MPEG-2 profile types, each profile indicates support for various + * performance bounds and different annexes. + */ +typedef enum OMX_VIDEO_MPEG2PROFILETYPE { + OMX_VIDEO_MPEG2ProfileSimple = 0, /**< Simple Profile */ + OMX_VIDEO_MPEG2ProfileMain, /**< Main Profile */ + OMX_VIDEO_MPEG2Profile422, /**< 4:2:2 Profile */ + OMX_VIDEO_MPEG2ProfileSNR, /**< SNR Profile */ + OMX_VIDEO_MPEG2ProfileSpatial, /**< Spatial Profile */ + OMX_VIDEO_MPEG2ProfileHigh, /**< High Profile */ + OMX_VIDEO_MPEG2ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_MPEG2ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_MPEG2ProfileMax = 0x7FFFFFFF +} OMX_VIDEO_MPEG2PROFILETYPE; + + +/** + * MPEG-2 level types, each level indicates support for various frame + * sizes, bit rates, decoder frame rates. No need + */ +typedef enum OMX_VIDEO_MPEG2LEVELTYPE { + OMX_VIDEO_MPEG2LevelLL = 0, /**< Low Level */ + OMX_VIDEO_MPEG2LevelML, /**< Main Level */ + OMX_VIDEO_MPEG2LevelH14, /**< High 1440 */ + OMX_VIDEO_MPEG2LevelHL, /**< High Level */ + OMX_VIDEO_MPEG2LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_MPEG2LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_MPEG2LevelMax = 0x7FFFFFFF +} OMX_VIDEO_MPEG2LEVELTYPE; + + +/** + * MPEG-2 params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nPFrames : Number of P frames between each I frame + * nBFrames : Number of B frames between each I frame + * eProfile : MPEG-2 profile(s) to use + * eLevel : MPEG-2 levels(s) to use + */ +typedef struct OMX_VIDEO_PARAM_MPEG2TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nPFrames; + OMX_U32 nBFrames; + OMX_VIDEO_MPEG2PROFILETYPE eProfile; + OMX_VIDEO_MPEG2LEVELTYPE eLevel; +} OMX_VIDEO_PARAM_MPEG2TYPE; + + +/** + * MPEG-4 profile types, each profile indicates support for various + * performance bounds and different annexes. + * + * ENUMS: + * - Simple Profile, Levels 1-3 + * - Simple Scalable Profile, Levels 1-2 + * - Core Profile, Levels 1-2 + * - Main Profile, Levels 2-4 + * - N-bit Profile, Level 2 + * - Scalable Texture Profile, Level 1 + * - Simple Face Animation Profile, Levels 1-2 + * - Simple Face and Body Animation (FBA) Profile, Levels 1-2 + * - Basic Animated Texture Profile, Levels 1-2 + * - Hybrid Profile, Levels 1-2 + * - Advanced Real Time Simple Profiles, Levels 1-4 + * - Core Scalable Profile, Levels 1-3 + * - Advanced Coding Efficiency Profile, Levels 1-4 + * - Advanced Core Profile, Levels 1-2 + * - Advanced Scalable Texture, Levels 2-3 + */ +typedef enum OMX_VIDEO_MPEG4PROFILETYPE { + OMX_VIDEO_MPEG4ProfileSimple = 0x01, + OMX_VIDEO_MPEG4ProfileSimpleScalable = 0x02, + OMX_VIDEO_MPEG4ProfileCore = 0x04, + OMX_VIDEO_MPEG4ProfileMain = 0x08, + OMX_VIDEO_MPEG4ProfileNbit = 0x10, + OMX_VIDEO_MPEG4ProfileScalableTexture = 0x20, + OMX_VIDEO_MPEG4ProfileSimpleFace = 0x40, + OMX_VIDEO_MPEG4ProfileSimpleFBA = 0x80, + OMX_VIDEO_MPEG4ProfileBasicAnimated = 0x100, + OMX_VIDEO_MPEG4ProfileHybrid = 0x200, + OMX_VIDEO_MPEG4ProfileAdvancedRealTime = 0x400, + OMX_VIDEO_MPEG4ProfileCoreScalable = 0x800, + OMX_VIDEO_MPEG4ProfileAdvancedCoding = 0x1000, + OMX_VIDEO_MPEG4ProfileAdvancedCore = 0x2000, + OMX_VIDEO_MPEG4ProfileAdvancedScalable = 0x4000, + OMX_VIDEO_MPEG4ProfileAdvancedSimple = 0x8000, + OMX_VIDEO_MPEG4ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_MPEG4ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_MPEG4ProfileMax = 0x7FFFFFFF +} OMX_VIDEO_MPEG4PROFILETYPE; + + +/** + * MPEG-4 level types, each level indicates support for various frame + * sizes, bit rates, decoder frame rates. No need + */ +typedef enum OMX_VIDEO_MPEG4LEVELTYPE { + OMX_VIDEO_MPEG4Level0 = 0x01, /**< Level 0 */ + OMX_VIDEO_MPEG4Level0b = 0x02, /**< Level 0b */ + OMX_VIDEO_MPEG4Level1 = 0x04, /**< Level 1 */ + OMX_VIDEO_MPEG4Level2 = 0x08, /**< Level 2 */ + OMX_VIDEO_MPEG4Level3 = 0x10, /**< Level 3 */ + OMX_VIDEO_MPEG4Level4 = 0x20, /**< Level 4 */ + OMX_VIDEO_MPEG4Level4a = 0x40, /**< Level 4a */ + OMX_VIDEO_MPEG4Level5 = 0x80, /**< Level 5 */ + OMX_VIDEO_MPEG4Level6 = 0x100, /**< Level 5 */ + OMX_VIDEO_MPEG4LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_MPEG4LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_MPEG4LevelMax = 0x7FFFFFFF +} OMX_VIDEO_MPEG4LEVELTYPE; + + +/** + * MPEG-4 configuration. This structure handles configuration options + * which are specific to MPEG4 algorithms + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nSliceHeaderSpacing : Number of macroblocks between slice header (H263+ + * Annex K). Put zero if not used + * bSVH : Enable Short Video Header mode + * bGov : Flag to enable GOV + * nPFrames : Number of P frames between each I frame (also called + * GOV period) + * nBFrames : Number of B frames between each I frame + * nIDCVLCThreshold : Value of intra DC VLC threshold + * bACPred : Flag to use ac prediction + * nMaxPacketSize : Maximum size of packet in bytes. + * nTimeIncRes : Used to pass VOP time increment resolution for MPEG4. + * Interpreted as described in MPEG4 standard. + * eProfile : MPEG-4 profile(s) to use. + * eLevel : MPEG-4 level(s) to use. + * nAllowedPictureTypes : Specifies the picture types allowed in the bitstream + * nHeaderExtension : Specifies the number of consecutive video packet + * headers within a VOP + * bReversibleVLC : Specifies whether reversible variable length coding + * is in use + */ +typedef struct OMX_VIDEO_PARAM_MPEG4TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nSliceHeaderSpacing; + OMX_BOOL bSVH; + OMX_BOOL bGov; + OMX_U32 nPFrames; + OMX_U32 nBFrames; + OMX_U32 nIDCVLCThreshold; + OMX_BOOL bACPred; + OMX_U32 nMaxPacketSize; + OMX_U32 nTimeIncRes; + OMX_VIDEO_MPEG4PROFILETYPE eProfile; + OMX_VIDEO_MPEG4LEVELTYPE eLevel; + OMX_U32 nAllowedPictureTypes; + OMX_U32 nHeaderExtension; + OMX_BOOL bReversibleVLC; +} OMX_VIDEO_PARAM_MPEG4TYPE; + + +/** + * WMV Versions + */ +typedef enum OMX_VIDEO_WMVFORMATTYPE { + OMX_VIDEO_WMVFormatUnused = 0x01, /**< Format unused or unknown */ + OMX_VIDEO_WMVFormat7 = 0x02, /**< Windows Media Video format 7 */ + OMX_VIDEO_WMVFormat8 = 0x04, /**< Windows Media Video format 8 */ + OMX_VIDEO_WMVFormat9 = 0x08, /**< Windows Media Video format 9 */ + OMX_VIDEO_WMFFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_WMFFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_WMVFormatMax = 0x7FFFFFFF +} OMX_VIDEO_WMVFORMATTYPE; + + +/** + * WMV Params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFormat : Version of WMV stream / data + */ +typedef struct OMX_VIDEO_PARAM_WMVTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_WMVFORMATTYPE eFormat; +} OMX_VIDEO_PARAM_WMVTYPE; + + +/** + * Real Video Version + */ +typedef enum OMX_VIDEO_RVFORMATTYPE { + OMX_VIDEO_RVFormatUnused = 0, /**< Format unused or unknown */ + OMX_VIDEO_RVFormat8, /**< Real Video format 8 */ + OMX_VIDEO_RVFormat9, /**< Real Video format 9 */ + OMX_VIDEO_RVFormatG2, /**< Real Video Format G2 */ + OMX_VIDEO_RVFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_RVFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_RVFormatMax = 0x7FFFFFFF +} OMX_VIDEO_RVFORMATTYPE; + + +/** + * Real Video Params + * + * STUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFormat : Version of RV stream / data + * nBitsPerPixel : Bits per pixel coded in the frame + * nPaddedWidth : Padded width in pixel of a video frame + * nPaddedHeight : Padded Height in pixels of a video frame + * nFrameRate : Rate of video in frames per second + * nBitstreamFlags : Flags which internal information about the bitstream + * nBitstreamVersion : Bitstream version + * nMaxEncodeFrameSize: Max encoded frame size + * bEnablePostFilter : Turn on/off post filter + * bEnableTemporalInterpolation : Turn on/off temporal interpolation + * bEnableLatencyMode : When enabled, the decoder does not display a decoded + * frame until it has detected that no enhancement layer + * frames or dependent B frames will be coming. This + * detection usually occurs when a subsequent non-B + * frame is encountered + */ +typedef struct OMX_VIDEO_PARAM_RVTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_RVFORMATTYPE eFormat; + OMX_U16 nBitsPerPixel; + OMX_U16 nPaddedWidth; + OMX_U16 nPaddedHeight; + OMX_U32 nFrameRate; + OMX_U32 nBitstreamFlags; + OMX_U32 nBitstreamVersion; + OMX_U32 nMaxEncodeFrameSize; + OMX_BOOL bEnablePostFilter; + OMX_BOOL bEnableTemporalInterpolation; + OMX_BOOL bEnableLatencyMode; +} OMX_VIDEO_PARAM_RVTYPE; + + +/** + * AVC profile types, each profile indicates support for various + * performance bounds and different annexes. + */ +typedef enum OMX_VIDEO_AVCPROFILETYPE { + OMX_VIDEO_AVCProfileBaseline = 0x01, /**< Baseline profile */ + OMX_VIDEO_AVCProfileMain = 0x02, /**< Main profile */ + OMX_VIDEO_AVCProfileExtended = 0x04, /**< Extended profile */ + OMX_VIDEO_AVCProfileHigh = 0x08, /**< High profile */ + OMX_VIDEO_AVCProfileHigh10 = 0x10, /**< High 10 profile */ + OMX_VIDEO_AVCProfileHigh422 = 0x20, /**< High 4:2:2 profile */ + OMX_VIDEO_AVCProfileHigh444 = 0x40, /**< High 4:4:4 profile */ + OMX_VIDEO_AVCProfileConstrainedBaseline = 0x80, /**< Constrained Baseline Profile */ + OMX_VIDEO_AVCProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_AVCProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_AVCProfileMax = 0x7FFFFFFF +} OMX_VIDEO_AVCPROFILETYPE; + + +/** + * AVC level types, each level indicates support for various frame sizes, + * bit rates, decoder frame rates. No need + */ +typedef enum OMX_VIDEO_AVCLEVELTYPE { + OMX_VIDEO_AVCLevel1 = 0x01, /**< Level 1 */ + OMX_VIDEO_AVCLevel1b = 0x02, /**< Level 1b */ + OMX_VIDEO_AVCLevel11 = 0x04, /**< Level 1.1 */ + OMX_VIDEO_AVCLevel12 = 0x08, /**< Level 1.2 */ + OMX_VIDEO_AVCLevel13 = 0x10, /**< Level 1.3 */ + OMX_VIDEO_AVCLevel2 = 0x20, /**< Level 2 */ + OMX_VIDEO_AVCLevel21 = 0x40, /**< Level 2.1 */ + OMX_VIDEO_AVCLevel22 = 0x80, /**< Level 2.2 */ + OMX_VIDEO_AVCLevel3 = 0x100, /**< Level 3 */ + OMX_VIDEO_AVCLevel31 = 0x200, /**< Level 3.1 */ + OMX_VIDEO_AVCLevel32 = 0x400, /**< Level 3.2 */ + OMX_VIDEO_AVCLevel4 = 0x800, /**< Level 4 */ + OMX_VIDEO_AVCLevel41 = 0x1000, /**< Level 4.1 */ + OMX_VIDEO_AVCLevel42 = 0x2000, /**< Level 4.2 */ + OMX_VIDEO_AVCLevel5 = 0x4000, /**< Level 5 */ + OMX_VIDEO_AVCLevel51 = 0x8000, /**< Level 5.1 */ + OMX_VIDEO_AVCLevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_AVCLevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_AVCLevelMax = 0x7FFFFFFF +} OMX_VIDEO_AVCLEVELTYPE; + + +/** + * AVC loop filter modes + * + * OMX_VIDEO_AVCLoopFilterEnable : Enable + * OMX_VIDEO_AVCLoopFilterDisable : Disable + * OMX_VIDEO_AVCLoopFilterDisableSliceBoundary : Disabled on slice boundaries + */ +typedef enum OMX_VIDEO_AVCLOOPFILTERTYPE { + OMX_VIDEO_AVCLoopFilterEnable = 0, + OMX_VIDEO_AVCLoopFilterDisable, + OMX_VIDEO_AVCLoopFilterDisableSliceBoundary, + OMX_VIDEO_AVCLoopFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_AVCLoopFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_AVCLoopFilterMax = 0x7FFFFFFF +} OMX_VIDEO_AVCLOOPFILTERTYPE; + + +/** + * AVC params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nSliceHeaderSpacing : Number of macroblocks between slice header, put + * zero if not used + * nPFrames : Number of P frames between each I frame + * nBFrames : Number of B frames between each I frame + * bUseHadamard : Enable/disable Hadamard transform + * nRefFrames : Max number of reference frames to use for inter + * motion search (1-16) + * nRefIdxTrailing : Pic param set ref frame index (index into ref + * frame buffer of trailing frames list), B frame + * support + * nRefIdxForward : Pic param set ref frame index (index into ref + * frame buffer of forward frames list), B frame + * support + * bEnableUEP : Enable/disable unequal error protection. This + * is only valid of data partitioning is enabled. + * bEnableFMO : Enable/disable flexible macroblock ordering + * bEnableASO : Enable/disable arbitrary slice ordering + * bEnableRS : Enable/disable sending of redundant slices + * eProfile : AVC profile(s) to use + * eLevel : AVC level(s) to use + * nAllowedPictureTypes : Specifies the picture types allowed in the + * bitstream + * bFrameMBsOnly : specifies that every coded picture of the + * coded video sequence is a coded frame + * containing only frame macroblocks + * bMBAFF : Enable/disable switching between frame and + * field macroblocks within a picture + * bEntropyCodingCABAC : Entropy decoding method to be applied for the + * syntax elements for which two descriptors appear + * in the syntax tables + * bWeightedPPrediction : Enable/disable weighted prediction shall not + * be applied to P and SP slices + * nWeightedBipredicitonMode : Default weighted prediction is applied to B + * slices + * bconstIpred : Enable/disable intra prediction + * bDirect8x8Inference : Specifies the method used in the derivation + * process for luma motion vectors for B_Skip, + * B_Direct_16x16 and B_Direct_8x8 as specified + * in subclause 8.4.1.2 of the AVC spec + * bDirectSpatialTemporal : Flag indicating spatial or temporal direct + * mode used in B slice coding (related to + * bDirect8x8Inference) . Spatial direct mode is + * more common and should be the default. + * nCabacInitIdx : Index used to init CABAC contexts + * eLoopFilterMode : Enable/disable loop filter + */ +typedef struct OMX_VIDEO_PARAM_AVCTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nSliceHeaderSpacing; + OMX_U32 nPFrames; + OMX_U32 nBFrames; + OMX_BOOL bUseHadamard; + OMX_U32 nRefFrames; + OMX_U32 nRefIdx10ActiveMinus1; + OMX_U32 nRefIdx11ActiveMinus1; + OMX_BOOL bEnableUEP; + OMX_BOOL bEnableFMO; + OMX_BOOL bEnableASO; + OMX_BOOL bEnableRS; + OMX_VIDEO_AVCPROFILETYPE eProfile; + OMX_VIDEO_AVCLEVELTYPE eLevel; + OMX_U32 nAllowedPictureTypes; + OMX_BOOL bFrameMBsOnly; + OMX_BOOL bMBAFF; + OMX_BOOL bEntropyCodingCABAC; + OMX_BOOL bWeightedPPrediction; + OMX_U32 nWeightedBipredicitonMode; + OMX_BOOL bconstIpred ; + OMX_BOOL bDirect8x8Inference; + OMX_BOOL bDirectSpatialTemporal; + OMX_U32 nCabacInitIdc; + OMX_VIDEO_AVCLOOPFILTERTYPE eLoopFilterMode; +} OMX_VIDEO_PARAM_AVCTYPE; + +typedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 eProfile; /**< type is OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263PROFILETYPE, + or OMX_VIDEO_MPEG4PROFILETYPE depending on context */ + OMX_U32 eLevel; /**< type is OMX_VIDEO_AVCLEVELTYPE, OMX_VIDEO_H263LEVELTYPE, + or OMX_VIDEO_MPEG4PROFILETYPE depending on context */ + OMX_U32 nProfileIndex; /**< Used to query for individual profile support information, + This parameter is valid only for + OMX_IndexParamVideoProfileLevelQuerySupported index, + For all other indices this parameter is to be ignored. */ +} OMX_VIDEO_PARAM_PROFILELEVELTYPE; + +/** + * Structure for dynamically configuring bitrate mode of a codec. + * + * STRUCT MEMBERS: + * nSize : Size of the struct in bytes + * nVersion : OMX spec version info + * nPortIndex : Port that this struct applies to + * nEncodeBitrate : Target average bitrate to be generated in bps + */ +typedef struct OMX_VIDEO_CONFIG_BITRATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nEncodeBitrate; +} OMX_VIDEO_CONFIG_BITRATETYPE; + +/** + * Defines Encoder Frame Rate setting + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * xEncodeFramerate : Encoding framerate represented in Q16 format + */ +typedef struct OMX_CONFIG_FRAMERATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 xEncodeFramerate; /* Q16 format */ +} OMX_CONFIG_FRAMERATETYPE; + +typedef struct OMX_CONFIG_INTRAREFRESHVOPTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL IntraRefreshVOP; +} OMX_CONFIG_INTRAREFRESHVOPTYPE; + +typedef struct OMX_CONFIG_MACROBLOCKERRORMAPTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nErrMapSize; /* Size of the Error Map in bytes */ + OMX_U8 ErrMap[1]; /* Error map hint */ +} OMX_CONFIG_MACROBLOCKERRORMAPTYPE; + +typedef struct OMX_CONFIG_MBERRORREPORTINGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; +} OMX_CONFIG_MBERRORREPORTINGTYPE; + +typedef struct OMX_PARAM_MACROBLOCKSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nMacroblocks; +} OMX_PARAM_MACROBLOCKSTYPE; + +/** + * AVC Slice Mode modes + * + * OMX_VIDEO_SLICEMODE_AVCDefault : Normal frame encoding, one slice per frame + * OMX_VIDEO_SLICEMODE_AVCMBSlice : NAL mode, number of MBs per frame + * OMX_VIDEO_SLICEMODE_AVCByteSlice : NAL mode, number of bytes per frame + */ +typedef enum OMX_VIDEO_AVCSLICEMODETYPE { + OMX_VIDEO_SLICEMODE_AVCDefault = 0, + OMX_VIDEO_SLICEMODE_AVCMBSlice, + OMX_VIDEO_SLICEMODE_AVCByteSlice, + OMX_VIDEO_SLICEMODE_AVCKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_SLICEMODE_AVCVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_SLICEMODE_AVCLevelMax = 0x7FFFFFFF +} OMX_VIDEO_AVCSLICEMODETYPE; + +/** + * AVC FMO Slice Mode Params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nNumSliceGroups : Specifies the number of slice groups + * nSliceGroupMapType : Specifies the type of slice groups + * eSliceMode : Specifies the type of slice + */ +typedef struct OMX_VIDEO_PARAM_AVCSLICEFMO { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U8 nNumSliceGroups; + OMX_U8 nSliceGroupMapType; + OMX_VIDEO_AVCSLICEMODETYPE eSliceMode; +} OMX_VIDEO_PARAM_AVCSLICEFMO; + +/** + * AVC IDR Period Configs + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nIDRPeriod : Specifies periodicity of IDR frames + * nPFrames : Specifies internal of coding Intra frames + */ +typedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIOD { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIDRPeriod; + OMX_U32 nPFrames; +} OMX_VIDEO_CONFIG_AVCINTRAPERIOD; + +/** + * AVC NAL Size Configs + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nNaluBytes : Specifies the NAL unit size + */ +typedef struct OMX_VIDEO_CONFIG_NALSIZE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nNaluBytes; +} OMX_VIDEO_CONFIG_NALSIZE; + + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ + diff --git a/opt/vc/include/KHR/khrplatform.h b/opt/vc/include/KHR/khrplatform.h new file mode 100644 index 000000000..85ea03d05 --- /dev/null +++ b/opt/vc/include/KHR/khrplatform.h @@ -0,0 +1,252 @@ +#ifndef __khrplatform_h_ +#define __khrplatform_h_ + +/* +** Copyright (c) 2008-2009 The Khronos Group Inc. +** +** Permission is hereby granted, free of charge, to any person obtaining a +** copy of this software and/or associated documentation files (the +** "Materials"), to deal in the Materials without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Materials, and to +** permit persons to whom the Materials are furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be included +** in all copies or substantial portions of the Materials. +** +** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +*/ + +/* Platform-specific types and definitions. + * $Revision: 7244 $ on $Date: 2009-01-20 17:06:59 -0800 (Tue, 20 Jan 2009) $ + * + * Adopters may modify this file to suit their platform. Adopters are + * encouraged to submit platform specific modifications to the Khronos + * group so that they can be included in future versions of this file. + * Please submit changes by sending them to the public Khronos Bugzilla + * (http://khronos.org/bugzilla) by filing a bug against product + * "Khronos (general)" component "Registry". + * + * A predefined template which fills in some of the bug fields can be + * reached using http://tinyurl.com/khrplatform-h-bugreport, but you + * must create a Bugzilla login first. + * + * + * See the Implementer's Guidelines for information about where this file + * should be located on your system. + * http://www.khronos.org/registry/implementers_guide.pdf + * + * + * This file should be included as + * #include + * by the Khronos API header file that uses its types and defines. + * + * The types in this file should only be used to define API-specific types. + * Types defined in this file: + * khronos_int8_t signed 8 bit + * khronos_uint8_t unsigned 8 bit + * khronos_int16_t signed 16 bit + * khronos_uint16_t unsigned 16 bit + * khronos_int32_t signed 32 bit + * khronos_uint32_t unsigned 32 bit + * khronos_int64_t signed 64 bit + * khronos_uint64_t unsigned 64 bit + * khronos_intptr_t signed same number of bits as a pointer + * khronos_uintptr_t unsigned same number of bits as a pointer + * khronos_ssize_t signed size + * khronos_usize_t unsigned size + * khronos_float_t signed 32 bit floating point + * khronos_time_ns_t unsigned 64 bit time in nanoseconds + * khronos_utime_nanoseconds_t unsigned time interval or absolute time in + * nanoseconds + * khronos_stime_nanoseconds_t signed time interval in nanoseconds + * + * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. + * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. + * + * + * Macros defined in this file: + * KHRONOS_APICALL + * KHRONOS_APIENTRY + * KHRONOS_APIATTRIBUTES + * These may be used in function prototypes as: + * KHRONOS_APICALL void KHRONOS_APIENTRY funcname( + * int arg1, + * int arg2) KHRONOS_APIATTRIBUTES; + */ + +#if 0 +#include "interface/khronos/common/khrn_client_mangle.h" +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APICALL + *------------------------------------------------------------------------- + * This precedes the return type of the function in the function prototype. + */ +#ifndef KHAPI +#define KHAPI extern +#endif +#define KHRONOS_APICALL KHAPI + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIENTRY + *------------------------------------------------------------------------- + * This follows the return type of the function and precedes the function + * name in the function prototype. + */ +#ifndef KHRONOS_APIENTRY +#define KHRONOS_APIENTRY +#endif + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIATTRIBUTES + *------------------------------------------------------------------------- + * This follows the closing parenthesis of the function prototype arguments. + */ +#if defined (__ARMCC_2__) +#define KHRONOS_APIATTRIBUTES __softfp +#else +#define KHRONOS_APIATTRIBUTES +#endif + +/*------------------------------------------------------------------------- + * basic type definitions + *-----------------------------------------------------------------------*/ +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) + + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(__VMS ) || defined(__sgi) + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(_WIN32) && !defined(__SCITECH_SNAP__) + +/* + * Win32 + */ +typedef __int32 khronos_int32_t; +typedef unsigned __int32 khronos_uint32_t; +typedef __int64 khronos_int64_t; +typedef unsigned __int64 khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(__sun__) || defined(__digital__) + +/* + * Sun or Digital + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#if defined(__arch64__) || defined(_LP64) +typedef long int khronos_int64_t; +typedef unsigned long int khronos_uint64_t; +#else +typedef long long int khronos_int64_t; +typedef unsigned long long int khronos_uint64_t; +#endif /* __arch64__ */ +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(_VIDEOCORE) + +/* + * VideoCore with Metaware compiler + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif 0 + +/* + * Hypothetical platform with no float or int64 support + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#define KHRONOS_SUPPORT_INT64 0 +#define KHRONOS_SUPPORT_FLOAT 0 + +#else + +/* + * Generic fallback + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#endif + + +/* + * Types that are (so far) the same on all platforms + */ +typedef signed char khronos_int8_t; +typedef unsigned char khronos_uint8_t; +typedef signed short int khronos_int16_t; +typedef unsigned short int khronos_uint16_t; +typedef signed long int khronos_intptr_t; +typedef unsigned long int khronos_uintptr_t; +typedef signed long int khronos_ssize_t; +typedef unsigned long int khronos_usize_t; + +#if KHRONOS_SUPPORT_FLOAT +/* + * Float type + */ +typedef float khronos_float_t; +#endif + +#if KHRONOS_SUPPORT_INT64 +/* Time types + * + * These types can be used to represent a time interval in nanoseconds or + * an absolute Unadjusted System Time. Unadjusted System Time is the number + * of nanoseconds since some arbitrary system event (e.g. since the last + * time the system booted). The Unadjusted System Time is an unsigned + * 64 bit value that wraps back to 0 every 584 years. Time intervals + * may be either signed or unsigned. + */ +typedef khronos_uint64_t khronos_utime_nanoseconds_t; +typedef khronos_int64_t khronos_stime_nanoseconds_t; +#endif + + +#endif /* __khrplatform_h_ */ diff --git a/opt/vc/include/VG/openvg.h b/opt/vc/include/VG/openvg.h new file mode 100644 index 000000000..c5cb3e478 --- /dev/null +++ b/opt/vc/include/VG/openvg.h @@ -0,0 +1,745 @@ +/* $Revision: 6838 $ on $Date:: 2008-11-04 11:46:08 +0000 #$ */ + +/*------------------------------------------------------------------------ + * + * OpenVG 1.1 Reference Implementation + * ------------------------------------- + * + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and /or associated documentation files + * (the "Materials "), to deal in the Materials without restriction, + * including without limitation the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Materials, + * and to permit persons to whom the Materials are furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Materials. + * + * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR + * THE USE OR OTHER DEALINGS IN THE MATERIALS. + * + *//** + * \file + * \brief OpenVG 1.1 API. + *//*-------------------------------------------------------------------*/ + +#ifndef _OPENVG_H +#define _OPENVG_H + +#include "vgplatform.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define OPENVG_VERSION_1_0 1 +#define OPENVG_VERSION_1_0_1 1 +#define OPENVG_VERSION_1_1 2 + +#ifndef VG_MAXSHORT +#define VG_MAXSHORT 0x7FFF +#endif + +#ifndef VG_MAXINT +#define VG_MAXINT 0x7FFFFFFF +#endif + +#ifndef VG_MAX_ENUM +#define VG_MAX_ENUM 0x7FFFFFFF +#endif + +typedef VGuint VGHandle; + +typedef VGHandle VGPath; +typedef VGHandle VGImage; +typedef VGHandle VGMaskLayer; +typedef VGHandle VGFont; +typedef VGHandle VGPaint; + +#define VG_INVALID_HANDLE ((VGHandle)0) + +typedef VGuint VGboolean; +#define VG_FALSE 0 +#define VG_TRUE 1 + +typedef enum { + VG_NO_ERROR = 0, + VG_BAD_HANDLE_ERROR = 0x1000, + VG_ILLEGAL_ARGUMENT_ERROR = 0x1001, + VG_OUT_OF_MEMORY_ERROR = 0x1002, + VG_PATH_CAPABILITY_ERROR = 0x1003, + VG_UNSUPPORTED_IMAGE_FORMAT_ERROR = 0x1004, + VG_UNSUPPORTED_PATH_FORMAT_ERROR = 0x1005, + VG_IMAGE_IN_USE_ERROR = 0x1006, + VG_NO_CONTEXT_ERROR = 0x1007, + + VG_ERROR_CODE_FORCE_SIZE = VG_MAX_ENUM +} VGErrorCode; + +typedef enum { + /* Mode settings */ + VG_MATRIX_MODE = 0x1100, + VG_FILL_RULE = 0x1101, + VG_IMAGE_QUALITY = 0x1102, + VG_RENDERING_QUALITY = 0x1103, + VG_BLEND_MODE = 0x1104, + VG_IMAGE_MODE = 0x1105, + + /* Scissoring rectangles */ + VG_SCISSOR_RECTS = 0x1106, + + /* Color Transformation */ + VG_COLOR_TRANSFORM = 0x1170, + VG_COLOR_TRANSFORM_VALUES = 0x1171, + + /* Stroke parameters */ + VG_STROKE_LINE_WIDTH = 0x1110, + VG_STROKE_CAP_STYLE = 0x1111, + VG_STROKE_JOIN_STYLE = 0x1112, + VG_STROKE_MITER_LIMIT = 0x1113, + VG_STROKE_DASH_PATTERN = 0x1114, + VG_STROKE_DASH_PHASE = 0x1115, + VG_STROKE_DASH_PHASE_RESET = 0x1116, + + /* Edge fill color for VG_TILE_FILL tiling mode */ + VG_TILE_FILL_COLOR = 0x1120, + + /* Color for vgClear */ + VG_CLEAR_COLOR = 0x1121, + + /* Glyph origin */ + VG_GLYPH_ORIGIN = 0x1122, + + /* Enable/disable alpha masking and scissoring */ + VG_MASKING = 0x1130, + VG_SCISSORING = 0x1131, + + /* Pixel layout information */ + VG_PIXEL_LAYOUT = 0x1140, + VG_SCREEN_LAYOUT = 0x1141, + + /* Source format selection for image filters */ + VG_FILTER_FORMAT_LINEAR = 0x1150, + VG_FILTER_FORMAT_PREMULTIPLIED = 0x1151, + + /* Destination write enable mask for image filters */ + VG_FILTER_CHANNEL_MASK = 0x1152, + + /* Implementation limits (read-only) */ + VG_MAX_SCISSOR_RECTS = 0x1160, + VG_MAX_DASH_COUNT = 0x1161, + VG_MAX_KERNEL_SIZE = 0x1162, + VG_MAX_SEPARABLE_KERNEL_SIZE = 0x1163, + VG_MAX_COLOR_RAMP_STOPS = 0x1164, + VG_MAX_IMAGE_WIDTH = 0x1165, + VG_MAX_IMAGE_HEIGHT = 0x1166, + VG_MAX_IMAGE_PIXELS = 0x1167, + VG_MAX_IMAGE_BYTES = 0x1168, + VG_MAX_FLOAT = 0x1169, + VG_MAX_GAUSSIAN_STD_DEVIATION = 0x116A, + + VG_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM +} VGParamType; + +typedef enum { + VG_RENDERING_QUALITY_NONANTIALIASED = 0x1200, + VG_RENDERING_QUALITY_FASTER = 0x1201, + VG_RENDERING_QUALITY_BETTER = 0x1202, /* Default */ + + VG_RENDERING_QUALITY_FORCE_SIZE = VG_MAX_ENUM +} VGRenderingQuality; + +typedef enum { + VG_PIXEL_LAYOUT_UNKNOWN = 0x1300, + VG_PIXEL_LAYOUT_RGB_VERTICAL = 0x1301, + VG_PIXEL_LAYOUT_BGR_VERTICAL = 0x1302, + VG_PIXEL_LAYOUT_RGB_HORIZONTAL = 0x1303, + VG_PIXEL_LAYOUT_BGR_HORIZONTAL = 0x1304, + + VG_PIXEL_LAYOUT_FORCE_SIZE = VG_MAX_ENUM +} VGPixelLayout; + +typedef enum { + VG_MATRIX_PATH_USER_TO_SURFACE = 0x1400, + VG_MATRIX_IMAGE_USER_TO_SURFACE = 0x1401, + VG_MATRIX_FILL_PAINT_TO_USER = 0x1402, + VG_MATRIX_STROKE_PAINT_TO_USER = 0x1403, + VG_MATRIX_GLYPH_USER_TO_SURFACE = 0x1404, + + VG_MATRIX_MODE_FORCE_SIZE = VG_MAX_ENUM +} VGMatrixMode; + +typedef enum { + VG_CLEAR_MASK = 0x1500, + VG_FILL_MASK = 0x1501, + VG_SET_MASK = 0x1502, + VG_UNION_MASK = 0x1503, + VG_INTERSECT_MASK = 0x1504, + VG_SUBTRACT_MASK = 0x1505, + + VG_MASK_OPERATION_FORCE_SIZE = VG_MAX_ENUM +} VGMaskOperation; + +#define VG_PATH_FORMAT_STANDARD 0 + +typedef enum { + VG_PATH_DATATYPE_S_8 = 0, + VG_PATH_DATATYPE_S_16 = 1, + VG_PATH_DATATYPE_S_32 = 2, + VG_PATH_DATATYPE_F = 3, + + VG_PATH_DATATYPE_FORCE_SIZE = VG_MAX_ENUM +} VGPathDatatype; + +typedef enum { + VG_ABSOLUTE = 0, + VG_RELATIVE = 1, + + VG_PATH_ABS_REL_FORCE_SIZE = VG_MAX_ENUM +} VGPathAbsRel; + +typedef enum { + VG_CLOSE_PATH = ( 0 << 1), + VG_MOVE_TO = ( 1 << 1), + VG_LINE_TO = ( 2 << 1), + VG_HLINE_TO = ( 3 << 1), + VG_VLINE_TO = ( 4 << 1), + VG_QUAD_TO = ( 5 << 1), + VG_CUBIC_TO = ( 6 << 1), + VG_SQUAD_TO = ( 7 << 1), + VG_SCUBIC_TO = ( 8 << 1), + VG_SCCWARC_TO = ( 9 << 1), + VG_SCWARC_TO = (10 << 1), + VG_LCCWARC_TO = (11 << 1), + VG_LCWARC_TO = (12 << 1), + + VG_SEGMENT_MASK = 0xf << 1, + + VG_PATH_SEGMENT_FORCE_SIZE = VG_MAX_ENUM +} VGPathSegment; + +typedef enum { + VG_MOVE_TO_ABS = VG_MOVE_TO | VG_ABSOLUTE, + VG_MOVE_TO_REL = VG_MOVE_TO | VG_RELATIVE, + VG_LINE_TO_ABS = VG_LINE_TO | VG_ABSOLUTE, + VG_LINE_TO_REL = VG_LINE_TO | VG_RELATIVE, + VG_HLINE_TO_ABS = VG_HLINE_TO | VG_ABSOLUTE, + VG_HLINE_TO_REL = VG_HLINE_TO | VG_RELATIVE, + VG_VLINE_TO_ABS = VG_VLINE_TO | VG_ABSOLUTE, + VG_VLINE_TO_REL = VG_VLINE_TO | VG_RELATIVE, + VG_QUAD_TO_ABS = VG_QUAD_TO | VG_ABSOLUTE, + VG_QUAD_TO_REL = VG_QUAD_TO | VG_RELATIVE, + VG_CUBIC_TO_ABS = VG_CUBIC_TO | VG_ABSOLUTE, + VG_CUBIC_TO_REL = VG_CUBIC_TO | VG_RELATIVE, + VG_SQUAD_TO_ABS = VG_SQUAD_TO | VG_ABSOLUTE, + VG_SQUAD_TO_REL = VG_SQUAD_TO | VG_RELATIVE, + VG_SCUBIC_TO_ABS = VG_SCUBIC_TO | VG_ABSOLUTE, + VG_SCUBIC_TO_REL = VG_SCUBIC_TO | VG_RELATIVE, + VG_SCCWARC_TO_ABS = VG_SCCWARC_TO | VG_ABSOLUTE, + VG_SCCWARC_TO_REL = VG_SCCWARC_TO | VG_RELATIVE, + VG_SCWARC_TO_ABS = VG_SCWARC_TO | VG_ABSOLUTE, + VG_SCWARC_TO_REL = VG_SCWARC_TO | VG_RELATIVE, + VG_LCCWARC_TO_ABS = VG_LCCWARC_TO | VG_ABSOLUTE, + VG_LCCWARC_TO_REL = VG_LCCWARC_TO | VG_RELATIVE, + VG_LCWARC_TO_ABS = VG_LCWARC_TO | VG_ABSOLUTE, + VG_LCWARC_TO_REL = VG_LCWARC_TO | VG_RELATIVE, + + VG_PATH_COMMAND_FORCE_SIZE = VG_MAX_ENUM +} VGPathCommand; + +typedef enum { + VG_PATH_CAPABILITY_APPEND_FROM = (1 << 0), + VG_PATH_CAPABILITY_APPEND_TO = (1 << 1), + VG_PATH_CAPABILITY_MODIFY = (1 << 2), + VG_PATH_CAPABILITY_TRANSFORM_FROM = (1 << 3), + VG_PATH_CAPABILITY_TRANSFORM_TO = (1 << 4), + VG_PATH_CAPABILITY_INTERPOLATE_FROM = (1 << 5), + VG_PATH_CAPABILITY_INTERPOLATE_TO = (1 << 6), + VG_PATH_CAPABILITY_PATH_LENGTH = (1 << 7), + VG_PATH_CAPABILITY_POINT_ALONG_PATH = (1 << 8), + VG_PATH_CAPABILITY_TANGENT_ALONG_PATH = (1 << 9), + VG_PATH_CAPABILITY_PATH_BOUNDS = (1 << 10), + VG_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS = (1 << 11), + VG_PATH_CAPABILITY_ALL = (1 << 12) - 1, + + VG_PATH_CAPABILITIES_FORCE_SIZE = VG_MAX_ENUM +} VGPathCapabilities; + +typedef enum { + VG_PATH_FORMAT = 0x1600, + VG_PATH_DATATYPE = 0x1601, + VG_PATH_SCALE = 0x1602, + VG_PATH_BIAS = 0x1603, + VG_PATH_NUM_SEGMENTS = 0x1604, + VG_PATH_NUM_COORDS = 0x1605, + + VG_PATH_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM +} VGPathParamType; + +typedef enum { + VG_CAP_BUTT = 0x1700, + VG_CAP_ROUND = 0x1701, + VG_CAP_SQUARE = 0x1702, + + VG_CAP_STYLE_FORCE_SIZE = VG_MAX_ENUM +} VGCapStyle; + +typedef enum { + VG_JOIN_MITER = 0x1800, + VG_JOIN_ROUND = 0x1801, + VG_JOIN_BEVEL = 0x1802, + + VG_JOIN_STYLE_FORCE_SIZE = VG_MAX_ENUM +} VGJoinStyle; + +typedef enum { + VG_EVEN_ODD = 0x1900, + VG_NON_ZERO = 0x1901, + + VG_FILL_RULE_FORCE_SIZE = VG_MAX_ENUM +} VGFillRule; + +typedef enum { + VG_STROKE_PATH = (1 << 0), + VG_FILL_PATH = (1 << 1), + + VG_PAINT_MODE_FORCE_SIZE = VG_MAX_ENUM +} VGPaintMode; + +typedef enum { + /* Color paint parameters */ + VG_PAINT_TYPE = 0x1A00, + VG_PAINT_COLOR = 0x1A01, + VG_PAINT_COLOR_RAMP_SPREAD_MODE = 0x1A02, + VG_PAINT_COLOR_RAMP_PREMULTIPLIED = 0x1A07, + VG_PAINT_COLOR_RAMP_STOPS = 0x1A03, + + /* Linear gradient paint parameters */ + VG_PAINT_LINEAR_GRADIENT = 0x1A04, + + /* Radial gradient paint parameters */ + VG_PAINT_RADIAL_GRADIENT = 0x1A05, + + /* Pattern paint parameters */ + VG_PAINT_PATTERN_TILING_MODE = 0x1A06, + + VG_PAINT_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM +} VGPaintParamType; + +typedef enum { + VG_PAINT_TYPE_COLOR = 0x1B00, + VG_PAINT_TYPE_LINEAR_GRADIENT = 0x1B01, + VG_PAINT_TYPE_RADIAL_GRADIENT = 0x1B02, + VG_PAINT_TYPE_PATTERN = 0x1B03, + + VG_PAINT_TYPE_FORCE_SIZE = VG_MAX_ENUM +} VGPaintType; + +typedef enum { + VG_COLOR_RAMP_SPREAD_PAD = 0x1C00, + VG_COLOR_RAMP_SPREAD_REPEAT = 0x1C01, + VG_COLOR_RAMP_SPREAD_REFLECT = 0x1C02, + + VG_COLOR_RAMP_SPREAD_MODE_FORCE_SIZE = VG_MAX_ENUM +} VGColorRampSpreadMode; + +typedef enum { + VG_TILE_FILL = 0x1D00, + VG_TILE_PAD = 0x1D01, + VG_TILE_REPEAT = 0x1D02, + VG_TILE_REFLECT = 0x1D03, + + VG_TILING_MODE_FORCE_SIZE = VG_MAX_ENUM +} VGTilingMode; + +typedef enum { + /* RGB{A,X} channel ordering */ + VG_sRGBX_8888 = 0, + VG_sRGBA_8888 = 1, + VG_sRGBA_8888_PRE = 2, + VG_sRGB_565 = 3, + VG_sRGBA_5551 = 4, + VG_sRGBA_4444 = 5, + VG_sL_8 = 6, + VG_lRGBX_8888 = 7, + VG_lRGBA_8888 = 8, + VG_lRGBA_8888_PRE = 9, + VG_lL_8 = 10, + VG_A_8 = 11, + VG_BW_1 = 12, + VG_A_1 = 13, + VG_A_4 = 14, + + /* {A,X}RGB channel ordering */ + VG_sXRGB_8888 = 0 | (1 << 6), + VG_sARGB_8888 = 1 | (1 << 6), + VG_sARGB_8888_PRE = 2 | (1 << 6), + VG_sARGB_1555 = 4 | (1 << 6), + VG_sARGB_4444 = 5 | (1 << 6), + VG_lXRGB_8888 = 7 | (1 << 6), + VG_lARGB_8888 = 8 | (1 << 6), + VG_lARGB_8888_PRE = 9 | (1 << 6), + + /* BGR{A,X} channel ordering */ + VG_sBGRX_8888 = 0 | (1 << 7), + VG_sBGRA_8888 = 1 | (1 << 7), + VG_sBGRA_8888_PRE = 2 | (1 << 7), + VG_sBGR_565 = 3 | (1 << 7), + VG_sBGRA_5551 = 4 | (1 << 7), + VG_sBGRA_4444 = 5 | (1 << 7), + VG_lBGRX_8888 = 7 | (1 << 7), + VG_lBGRA_8888 = 8 | (1 << 7), + VG_lBGRA_8888_PRE = 9 | (1 << 7), + + /* {A,X}BGR channel ordering */ + VG_sXBGR_8888 = 0 | (1 << 6) | (1 << 7), + VG_sABGR_8888 = 1 | (1 << 6) | (1 << 7), + VG_sABGR_8888_PRE = 2 | (1 << 6) | (1 << 7), + VG_sABGR_1555 = 4 | (1 << 6) | (1 << 7), + VG_sABGR_4444 = 5 | (1 << 6) | (1 << 7), + VG_lXBGR_8888 = 7 | (1 << 6) | (1 << 7), + VG_lABGR_8888 = 8 | (1 << 6) | (1 << 7), + VG_lABGR_8888_PRE = 9 | (1 << 6) | (1 << 7), + + VG_IMAGE_FORMAT_FORCE_SIZE = VG_MAX_ENUM +} VGImageFormat; + +typedef enum { + VG_IMAGE_QUALITY_NONANTIALIASED = (1 << 0), + VG_IMAGE_QUALITY_FASTER = (1 << 1), + VG_IMAGE_QUALITY_BETTER = (1 << 2), + + VG_IMAGE_QUALITY_FORCE_SIZE = VG_MAX_ENUM +} VGImageQuality; + +typedef enum { + VG_IMAGE_FORMAT = 0x1E00, + VG_IMAGE_WIDTH = 0x1E01, + VG_IMAGE_HEIGHT = 0x1E02, + + VG_IMAGE_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM +} VGImageParamType; + +typedef enum { + VG_DRAW_IMAGE_NORMAL = 0x1F00, + VG_DRAW_IMAGE_MULTIPLY = 0x1F01, + VG_DRAW_IMAGE_STENCIL = 0x1F02, + + VG_IMAGE_MODE_FORCE_SIZE = VG_MAX_ENUM +} VGImageMode; + +typedef enum { + VG_RED = (1 << 3), + VG_GREEN = (1 << 2), + VG_BLUE = (1 << 1), + VG_ALPHA = (1 << 0), + + VG_IMAGE_CHANNEL_FORCE_SIZE = VG_MAX_ENUM +} VGImageChannel; + +typedef enum { + VG_BLEND_SRC = 0x2000, + VG_BLEND_SRC_OVER = 0x2001, + VG_BLEND_DST_OVER = 0x2002, + VG_BLEND_SRC_IN = 0x2003, + VG_BLEND_DST_IN = 0x2004, + VG_BLEND_MULTIPLY = 0x2005, + VG_BLEND_SCREEN = 0x2006, + VG_BLEND_DARKEN = 0x2007, + VG_BLEND_LIGHTEN = 0x2008, + VG_BLEND_ADDITIVE = 0x2009, + + VG_BLEND_MODE_FORCE_SIZE = VG_MAX_ENUM +} VGBlendMode; + +typedef enum { + VG_FONT_NUM_GLYPHS = 0x2F00, + + VG_FONT_PARAM_TYPE_FORCE_SIZE = VG_MAX_ENUM +} VGFontParamType; + +typedef enum { + VG_IMAGE_FORMAT_QUERY = 0x2100, + VG_PATH_DATATYPE_QUERY = 0x2101, + + VG_HARDWARE_QUERY_TYPE_FORCE_SIZE = VG_MAX_ENUM +} VGHardwareQueryType; + +typedef enum { + VG_HARDWARE_ACCELERATED = 0x2200, + VG_HARDWARE_UNACCELERATED = 0x2201, + + VG_HARDWARE_QUERY_RESULT_FORCE_SIZE = VG_MAX_ENUM +} VGHardwareQueryResult; + +typedef enum { + VG_VENDOR = 0x2300, + VG_RENDERER = 0x2301, + VG_VERSION = 0x2302, + VG_EXTENSIONS = 0x2303, + + VG_STRING_ID_FORCE_SIZE = VG_MAX_ENUM +} VGStringID; + +/* Function Prototypes */ + +#ifndef VG_API_CALL +# error VG_API_CALL must be defined +#endif + +#ifndef VG_API_ENTRY +# error VG_API_ENTRY must be defined +#endif + +#ifndef VG_API_EXIT +# error VG_API_EXIT must be defined +#endif + +VG_API_CALL VGErrorCode VG_API_ENTRY vgGetError(void) VG_API_EXIT; + +VG_API_CALL void VG_API_ENTRY vgFlush(void) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgFinish(void) VG_API_EXIT; + +/* Getters and Setters */ +VG_API_CALL void VG_API_ENTRY vgSetf (VGParamType type, VGfloat value) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSeti (VGParamType type, VGint value) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetfv(VGParamType type, VGint count, + const VGfloat * values) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetiv(VGParamType type, VGint count, + const VGint * values) VG_API_EXIT; + +VG_API_CALL VGfloat VG_API_ENTRY vgGetf(VGParamType type) VG_API_EXIT; +VG_API_CALL VGint VG_API_ENTRY vgGeti(VGParamType type) VG_API_EXIT; +VG_API_CALL VGint VG_API_ENTRY vgGetVectorSize(VGParamType type) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgGetfv(VGParamType type, VGint count, VGfloat * values) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgGetiv(VGParamType type, VGint count, VGint * values) VG_API_EXIT; + +VG_API_CALL void VG_API_ENTRY vgSetParameterf(VGHandle object, + VGint paramType, + VGfloat value) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetParameteri(VGHandle object, + VGint paramType, + VGint value) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetParameterfv(VGHandle object, + VGint paramType, + VGint count, const VGfloat * values) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetParameteriv(VGHandle object, + VGint paramType, + VGint count, const VGint * values) VG_API_EXIT; + +VG_API_CALL VGfloat VG_API_ENTRY vgGetParameterf(VGHandle object, + VGint paramType) VG_API_EXIT; +VG_API_CALL VGint VG_API_ENTRY vgGetParameteri(VGHandle object, + VGint paramType); +VG_API_CALL VGint VG_API_ENTRY vgGetParameterVectorSize(VGHandle object, + VGint paramType) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgGetParameterfv(VGHandle object, + VGint paramType, + VGint count, VGfloat * values) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgGetParameteriv(VGHandle object, + VGint paramType, + VGint count, VGint * values) VG_API_EXIT; + +/* Matrix Manipulation */ +VG_API_CALL void VG_API_ENTRY vgLoadIdentity(void) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgLoadMatrix(const VGfloat * m) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgGetMatrix(VGfloat * m) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgMultMatrix(const VGfloat * m) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgTranslate(VGfloat tx, VGfloat ty) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgScale(VGfloat sx, VGfloat sy) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgShear(VGfloat shx, VGfloat shy) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgRotate(VGfloat angle) VG_API_EXIT; + +/* Masking and Clearing */ +VG_API_CALL void VG_API_ENTRY vgMask(VGHandle mask, VGMaskOperation operation, + VGint x, VGint y, + VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgRenderToMask(VGPath path, + VGbitfield paintModes, + VGMaskOperation operation) VG_API_EXIT; +VG_API_CALL VGMaskLayer VG_API_ENTRY vgCreateMaskLayer(VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDestroyMaskLayer(VGMaskLayer maskLayer) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgFillMaskLayer(VGMaskLayer maskLayer, + VGint x, VGint y, + VGint width, VGint height, + VGfloat value) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgCopyMask(VGMaskLayer maskLayer, + VGint dx, VGint dy, + VGint sx, VGint sy, + VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgClear(VGint x, VGint y, VGint width, VGint height) VG_API_EXIT; + +/* Paths */ +VG_API_CALL VGPath VG_API_ENTRY vgCreatePath(VGint pathFormat, + VGPathDatatype datatype, + VGfloat scale, VGfloat bias, + VGint segmentCapacityHint, + VGint coordCapacityHint, + VGbitfield capabilities) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgClearPath(VGPath path, VGbitfield capabilities) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDestroyPath(VGPath path) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgRemovePathCapabilities(VGPath path, + VGbitfield capabilities) VG_API_EXIT; +VG_API_CALL VGbitfield VG_API_ENTRY vgGetPathCapabilities(VGPath path) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgAppendPath(VGPath dstPath, VGPath srcPath) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgAppendPathData(VGPath dstPath, + VGint numSegments, + const VGubyte * pathSegments, + const void * pathData) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgModifyPathCoords(VGPath dstPath, VGint startIndex, + VGint numSegments, + const void * pathData) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgTransformPath(VGPath dstPath, VGPath srcPath) VG_API_EXIT; +VG_API_CALL VGboolean VG_API_ENTRY vgInterpolatePath(VGPath dstPath, + VGPath startPath, + VGPath endPath, + VGfloat amount) VG_API_EXIT; +VG_API_CALL VGfloat VG_API_ENTRY vgPathLength(VGPath path, + VGint startSegment, VGint numSegments) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgPointAlongPath(VGPath path, + VGint startSegment, VGint numSegments, + VGfloat distance, + VGfloat * x, VGfloat * y, + VGfloat * tangentX, VGfloat * tangentY) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgPathBounds(VGPath path, + VGfloat * minX, VGfloat * minY, + VGfloat * width, VGfloat * height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgPathTransformedBounds(VGPath path, + VGfloat * minX, VGfloat * minY, + VGfloat * width, VGfloat * height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDrawPath(VGPath path, VGbitfield paintModes) VG_API_EXIT; + +/* Paint */ +VG_API_CALL VGPaint VG_API_ENTRY vgCreatePaint(void) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDestroyPaint(VGPaint paint) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetPaint(VGPaint paint, VGbitfield paintModes) VG_API_EXIT; +VG_API_CALL VGPaint VG_API_ENTRY vgGetPaint(VGPaintMode paintMode) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetColor(VGPaint paint, VGuint rgba) VG_API_EXIT; +VG_API_CALL VGuint VG_API_ENTRY vgGetColor(VGPaint paint) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgPaintPattern(VGPaint paint, VGImage pattern) VG_API_EXIT; + +/* Images */ +VG_API_CALL VGImage VG_API_ENTRY vgCreateImage(VGImageFormat format, + VGint width, VGint height, + VGbitfield allowedQuality) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDestroyImage(VGImage image) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgClearImage(VGImage image, + VGint x, VGint y, VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgImageSubData(VGImage image, + const void * data, VGint dataStride, + VGImageFormat dataFormat, + VGint x, VGint y, VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgGetImageSubData(VGImage image, + void * data, VGint dataStride, + VGImageFormat dataFormat, + VGint x, VGint y, + VGint width, VGint height) VG_API_EXIT; +VG_API_CALL VGImage VG_API_ENTRY vgChildImage(VGImage parent, + VGint x, VGint y, VGint width, VGint height) VG_API_EXIT; +VG_API_CALL VGImage VG_API_ENTRY vgGetParent(VGImage image) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgCopyImage(VGImage dst, VGint dx, VGint dy, + VGImage src, VGint sx, VGint sy, + VGint width, VGint height, + VGboolean dither) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDrawImage(VGImage image) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetPixels(VGint dx, VGint dy, + VGImage src, VGint sx, VGint sy, + VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgWritePixels(const void * data, VGint dataStride, + VGImageFormat dataFormat, + VGint dx, VGint dy, + VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgGetPixels(VGImage dst, VGint dx, VGint dy, + VGint sx, VGint sy, + VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgReadPixels(void * data, VGint dataStride, + VGImageFormat dataFormat, + VGint sx, VGint sy, + VGint width, VGint height) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgCopyPixels(VGint dx, VGint dy, + VGint sx, VGint sy, + VGint width, VGint height) VG_API_EXIT; + +/* Text */ +VG_API_CALL VGFont VG_API_ENTRY vgCreateFont(VGint glyphCapacityHint) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDestroyFont(VGFont font) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetGlyphToPath(VGFont font, + VGuint glyphIndex, + VGPath path, + VGboolean isHinted, + VGfloat glyphOrigin [2], + VGfloat escapement[2]) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSetGlyphToImage(VGFont font, + VGuint glyphIndex, + VGImage image, + VGfloat glyphOrigin [2], + VGfloat escapement[2]) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgClearGlyph(VGFont font,VGuint glyphIndex) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDrawGlyph(VGFont font, + VGuint glyphIndex, + VGbitfield paintModes, + VGboolean allowAutoHinting) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgDrawGlyphs(VGFont font, + VGint glyphCount, + const VGuint *glyphIndices, + const VGfloat *adjustments_x, + const VGfloat *adjustments_y, + VGbitfield paintModes, + VGboolean allowAutoHinting) VG_API_EXIT; + +/* Image Filters */ +VG_API_CALL void VG_API_ENTRY vgColorMatrix(VGImage dst, VGImage src, + const VGfloat * matrix) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgConvolve(VGImage dst, VGImage src, + VGint kernelWidth, VGint kernelHeight, + VGint shiftX, VGint shiftY, + const VGshort * kernel, + VGfloat scale, + VGfloat bias, + VGTilingMode tilingMode) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgSeparableConvolve(VGImage dst, VGImage src, + VGint kernelWidth, + VGint kernelHeight, + VGint shiftX, VGint shiftY, + const VGshort * kernelX, + const VGshort * kernelY, + VGfloat scale, + VGfloat bias, + VGTilingMode tilingMode) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgGaussianBlur(VGImage dst, VGImage src, + VGfloat stdDeviationX, + VGfloat stdDeviationY, + VGTilingMode tilingMode) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgLookup(VGImage dst, VGImage src, + const VGubyte * redLUT, + const VGubyte * greenLUT, + const VGubyte * blueLUT, + const VGubyte * alphaLUT, + VGboolean outputLinear, + VGboolean outputPremultiplied) VG_API_EXIT; +VG_API_CALL void VG_API_ENTRY vgLookupSingle(VGImage dst, VGImage src, + const VGuint * lookupTable, + VGImageChannel sourceChannel, + VGboolean outputLinear, + VGboolean outputPremultiplied) VG_API_EXIT; + +/* Hardware Queries */ +VG_API_CALL VGHardwareQueryResult VG_API_ENTRY vgHardwareQuery(VGHardwareQueryType key, + VGint setting) VG_API_EXIT; + +/* Renderer and Extension Information */ +VG_API_CALL const VGubyte * VG_API_ENTRY vgGetString(VGStringID name) VG_API_EXIT; + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* _OPENVG_H */ diff --git a/opt/vc/include/VG/vgext.h b/opt/vc/include/VG/vgext.h new file mode 100644 index 000000000..f718a3547 --- /dev/null +++ b/opt/vc/include/VG/vgext.h @@ -0,0 +1,233 @@ +/* $Revision: 6810 $ on $Date:: 2008-10-29 14:31:37 +0000 #$ */ + +/*------------------------------------------------------------------------ + * + * VG extensions Reference Implementation + * ------------------------------------- + * + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and /or associated documentation files + * (the "Materials "), to deal in the Materials without restriction, + * including without limitation the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Materials, + * and to permit persons to whom the Materials are furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Materials. + * + * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR + * THE USE OR OTHER DEALINGS IN THE MATERIALS. + * + *//** + * \file + * \brief VG extensions + *//*-------------------------------------------------------------------*/ + + + +#ifndef _VGEXT_H +#define _VGEXT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "openvg.h" +#include "vgu.h" + +#ifndef VG_API_ENTRYP +# define VG_API_ENTRYP VG_API_ENTRY* +#endif + +#ifndef VGU_API_ENTRYP +# define VGU_API_ENTRYP VGU_API_ENTRY* +#endif + +/*------------------------------------------------------------------------------- + * KHR extensions + *------------------------------------------------------------------------------*/ + +typedef enum { + +#ifndef VG_KHR_iterative_average_blur + VG_MAX_AVERAGE_BLUR_DIMENSION_KHR = 0x116B, + VG_AVERAGE_BLUR_DIMENSION_RESOLUTION_KHR = 0x116C, + VG_MAX_AVERAGE_BLUR_ITERATIONS_KHR = 0x116D, +#endif + + VG_PARAM_TYPE_KHR_FORCE_SIZE = VG_MAX_ENUM +} VGParamTypeKHR; + +#ifndef VG_KHR_EGL_image +#define VG_KHR_EGL_image 1 +/* VGEGLImageKHR is an opaque handle to an EGLImage */ +typedef void* VGeglImageKHR; + +#ifdef VG_VGEXT_PROTOTYPES +VG_API_CALL VGImage VG_API_ENTRY vgCreateEGLImageTargetKHR(VGeglImageKHR image); +#endif +typedef VGImage (VG_API_ENTRYP PFNVGCREATEEGLIMAGETARGETKHRPROC) (VGeglImageKHR image); + +#endif + + +#ifndef VG_KHR_iterative_average_blur +#define VG_KHR_iterative_average_blur 1 + +#ifdef VG_VGEXT_PROTOTYPES +VG_API_CALL void vgIterativeAverageBlurKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGTilingMode tilingMode); +#endif +typedef void (VG_API_ENTRYP PFNVGITERATIVEAVERAGEBLURKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGTilingMode tilingMode); + +#endif + + +#ifndef VG_KHR_advanced_blending +#define VG_KHR_advanced_blending 1 + +typedef enum { + VG_BLEND_OVERLAY_KHR = 0x2010, + VG_BLEND_HARDLIGHT_KHR = 0x2011, + VG_BLEND_SOFTLIGHT_SVG_KHR = 0x2012, + VG_BLEND_SOFTLIGHT_KHR = 0x2013, + VG_BLEND_COLORDODGE_KHR = 0x2014, + VG_BLEND_COLORBURN_KHR = 0x2015, + VG_BLEND_DIFFERENCE_KHR = 0x2016, + VG_BLEND_SUBTRACT_KHR = 0x2017, + VG_BLEND_INVERT_KHR = 0x2018, + VG_BLEND_EXCLUSION_KHR = 0x2019, + VG_BLEND_LINEARDODGE_KHR = 0x201a, + VG_BLEND_LINEARBURN_KHR = 0x201b, + VG_BLEND_VIVIDLIGHT_KHR = 0x201c, + VG_BLEND_LINEARLIGHT_KHR = 0x201d, + VG_BLEND_PINLIGHT_KHR = 0x201e, + VG_BLEND_HARDMIX_KHR = 0x201f, + VG_BLEND_CLEAR_KHR = 0x2020, + VG_BLEND_DST_KHR = 0x2021, + VG_BLEND_SRC_OUT_KHR = 0x2022, + VG_BLEND_DST_OUT_KHR = 0x2023, + VG_BLEND_SRC_ATOP_KHR = 0x2024, + VG_BLEND_DST_ATOP_KHR = 0x2025, + VG_BLEND_XOR_KHR = 0x2026, + + VG_BLEND_MODE_KHR_FORCE_SIZE= VG_MAX_ENUM +} VGBlendModeKHR; +#endif + +#ifndef VG_KHR_parametric_filter +#define VG_KHR_parametric_filter 1 + +typedef enum { + VG_PF_OBJECT_VISIBLE_FLAG_KHR = (1 << 0), + VG_PF_KNOCKOUT_FLAG_KHR = (1 << 1), + VG_PF_OUTER_FLAG_KHR = (1 << 2), + VG_PF_INNER_FLAG_KHR = (1 << 3), + + VG_PF_TYPE_KHR_FORCE_SIZE = VG_MAX_ENUM +} VGPfTypeKHR; + +typedef enum { + VGU_IMAGE_IN_USE_ERROR = 0xF010, + + VGU_ERROR_CODE_KHR_FORCE_SIZE = VG_MAX_ENUM +} VGUErrorCodeKHR; + +#ifdef VG_VGEXT_PROTOTYPES +VG_API_CALL void VG_API_ENTRY vgParametricFilterKHR(VGImage dst,VGImage src,VGImage blur,VGfloat strength,VGfloat offsetX,VGfloat offsetY,VGbitfield filterFlags,VGPaint highlightPaint,VGPaint shadowPaint); +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguDropShadowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint shadowColorRGBA); +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGlowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint glowColorRGBA) ; +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguBevelKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint highlightColorRGBA,VGuint shadowColorRGBA); +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGradientGlowKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* glowColorRampStops); +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguGradientBevelKHR(VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* bevelColorRampStops); +#endif +typedef void (VG_API_ENTRYP PFNVGPARAMETRICFILTERKHRPROC) (VGImage dst,VGImage src,VGImage blur,VGfloat strength,VGfloat offsetX,VGfloat offsetY,VGbitfield filterFlags,VGPaint highlightPaint,VGPaint shadowPaint); +typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUDROPSHADOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint shadowColorRGBA); +typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGLOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint glowColorRGBA); +typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUBEVELKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint highlightColorRGBA,VGuint shadowColorRGBA); +typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGRADIENTGLOWKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* glowColorRampStops); +typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUGRADIENTBEVELKHRPROC) (VGImage dst,VGImage src,VGfloat dimX,VGfloat dimY,VGuint iterative,VGfloat strength,VGfloat distance,VGfloat angle,VGbitfield filterFlags,VGbitfield allowedQuality,VGuint stopsCount,const VGfloat* bevelColorRampStops); + +#endif + + +/*------------------------------------------------------------------------------- + * NDS extensions + *------------------------------------------------------------------------------*/ + +#ifndef VG_NDS_paint_generation +#define VG_NDS_paint_generation 1 + +typedef enum { + VG_PAINT_COLOR_RAMP_LINEAR_NDS = 0x1A10, + VG_COLOR_MATRIX_NDS = 0x1A11, + VG_PAINT_COLOR_TRANSFORM_LINEAR_NDS = 0x1A12, + + VG_PAINT_PARAM_TYPE_NDS_FORCE_SIZE = VG_MAX_ENUM +} VGPaintParamTypeNds; + +typedef enum { + VG_DRAW_IMAGE_COLOR_MATRIX_NDS = 0x1F10, + + VG_IMAGE_MODE_NDS_FORCE_SIZE = VG_MAX_ENUM +} VGImageModeNds; +#endif + + +#ifndef VG_NDS_projective_geometry +#define VG_NDS_projective_geometry 1 + +typedef enum { + VG_CLIP_MODE_NDS = 0x1180, + VG_CLIP_LINES_NDS = 0x1181, + VG_MAX_CLIP_LINES_NDS = 0x1182, + + VG_PARAM_TYPE_NDS_FORCE_SIZE = VG_MAX_ENUM +} VGParamTypeNds; + +typedef enum { + VG_CLIPMODE_NONE_NDS = 0x3000, + VG_CLIPMODE_CLIP_CLOSED_NDS = 0x3001, + VG_CLIPMODE_CLIP_OPEN_NDS = 0x3002, + VG_CLIPMODE_CULL_NDS = 0x3003, + + VG_CLIPMODE_NDS_FORCE_SIZE = VG_MAX_ENUM +} VGClipModeNds; + +typedef enum { + VG_RQUAD_TO_NDS = ( 13 << 1 ), + VG_RCUBIC_TO_NDS = ( 14 << 1 ), + + VG_PATH_SEGMENT_NDS_FORCE_SIZE = VG_MAX_ENUM +} VGPathSegmentNds; + +typedef enum { + VG_RQUAD_TO_ABS_NDS = (VG_RQUAD_TO_NDS | VG_ABSOLUTE), + VG_RQUAD_TO_REL_NDS = (VG_RQUAD_TO_NDS | VG_RELATIVE), + VG_RCUBIC_TO_ABS_NDS = (VG_RCUBIC_TO_NDS | VG_ABSOLUTE), + VG_RCUBIC_TO_REL_NDS = (VG_RCUBIC_TO_NDS | VG_RELATIVE), + + VG_PATH_COMMAND_NDS_FORCE_SIZE = VG_MAX_ENUM +} VGPathCommandNds; + +#ifdef VG_VGEXT_PROTOTYPES +VG_API_CALL void VG_API_ENTRY vgProjectiveMatrixNDS(VGboolean enable) ; +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguTransformClipLineNDS(const VGfloat Ain,const VGfloat Bin,const VGfloat Cin,const VGfloat* matrix,const VGboolean inverse,VGfloat* Aout,VGfloat* Bout,VGfloat* Cout); +#endif +typedef void (VG_API_ENTRYP PFNVGPROJECTIVEMATRIXNDSPROC) (VGboolean enable) ; +typedef VGUErrorCode (VGU_API_ENTRYP PFNVGUTRANSFORMCLIPLINENDSPROC) (const VGfloat Ain,const VGfloat Bin,const VGfloat Cin,const VGfloat* matrix,const VGboolean inverse,VGfloat* Aout,VGfloat* Bout,VGfloat* Cout); + +#endif + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* _VGEXT_H */ diff --git a/opt/vc/include/VG/vgplatform.h b/opt/vc/include/VG/vgplatform.h new file mode 100644 index 000000000..636779b87 --- /dev/null +++ b/opt/vc/include/VG/vgplatform.h @@ -0,0 +1,86 @@ +/* $Revision: 6810 $ on $Date:: 2008-10-29 14:31:37 +0000 #$ */ + +/*------------------------------------------------------------------------ + * + * VG platform specific header Reference Implementation + * ---------------------------------------------------- + * + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and /or associated documentation files + * (the "Materials "), to deal in the Materials without restriction, + * including without limitation the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Materials, + * and to permit persons to whom the Materials are furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Materials. + * + * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR + * THE USE OR OTHER DEALINGS IN THE MATERIALS. + * + *//** + * \file + * \brief VG platform specific header + *//*-------------------------------------------------------------------*/ + +#ifndef _VGPLATFORM_H +#define _VGPLATFORM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef VG_API_CALL + #ifdef KHAPI + #define VG_API_CALL KHAPI + #else + #define VG_API_CALL extern + #endif +#endif + +#ifndef VGU_API_CALL + #define VGU_API_CALL VG_API_CALL +#endif + +#ifndef VG_API_ENTRY +#define VG_API_ENTRY +#endif + +#ifndef VG_API_EXIT +#define VG_API_EXIT +#endif + +#ifndef VGU_API_ENTRY +#define VGU_API_ENTRY +#endif + +#ifndef VGU_API_EXIT +#define VGU_API_EXIT +#endif + +#include "../KHR/khrplatform.h" +typedef khronos_float_t VGfloat; +typedef khronos_int8_t VGbyte; +typedef khronos_uint8_t VGubyte; +typedef khronos_int16_t VGshort; +typedef khronos_int32_t VGint; +typedef khronos_uint32_t VGuint; +typedef khronos_uint32_t VGbitfield; + +#ifndef VG_VGEXT_PROTOTYPES +#define VG_VGEXT_PROTOTYPES +#endif + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* _VGPLATFORM_H */ diff --git a/opt/vc/include/VG/vgu.h b/opt/vc/include/VG/vgu.h new file mode 100644 index 000000000..b49aee2eb --- /dev/null +++ b/opt/vc/include/VG/vgu.h @@ -0,0 +1,131 @@ +/* $Revision: 6810 $ on $Date:: 2008-10-29 14:31:37 +0000 #$ */ + +/*------------------------------------------------------------------------ + * + * VGU 1.1 Reference Implementation + * ------------------------------------- + * + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and /or associated documentation files + * (the "Materials "), to deal in the Materials without restriction, + * including without limitation the rights to use, copy, modify, merge, + * publish, distribute, sublicense, and/or sell copies of the Materials, + * and to permit persons to whom the Materials are furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Materials. + * + * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR + * THE USE OR OTHER DEALINGS IN THE MATERIALS. + * + *//** + * \file + * \brief VGU 1.1 API. + *//*-------------------------------------------------------------------*/ + +#ifndef _VGU_H +#define _VGU_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "openvg.h" + +#define VGU_VERSION_1_0 1 +#define VGU_VERSION_1_1 2 + +#ifndef VGU_API_CALL +# error VGU_API_CALL must be defined +#endif + +#ifndef VGU_API_ENTRY +# error VGU_API_ENTRY must be defined +#endif + +#ifndef VGU_API_EXIT +# error VGU_API_EXIT must be defined +#endif + + +typedef enum { + VGU_NO_ERROR = 0, + VGU_BAD_HANDLE_ERROR = 0xF000, + VGU_ILLEGAL_ARGUMENT_ERROR = 0xF001, + VGU_OUT_OF_MEMORY_ERROR = 0xF002, + VGU_PATH_CAPABILITY_ERROR = 0xF003, + VGU_BAD_WARP_ERROR = 0xF004, + + VGU_ERROR_CODE_FORCE_SIZE = VG_MAX_ENUM +} VGUErrorCode; + +typedef enum { + VGU_ARC_OPEN = 0xF100, + VGU_ARC_CHORD = 0xF101, + VGU_ARC_PIE = 0xF102, + + VGU_ARC_TYPE_FORCE_SIZE = VG_MAX_ENUM +} VGUArcType; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguLine(VGPath path, + VGfloat x0, VGfloat y0, + VGfloat x1, VGfloat y1) VGU_API_EXIT; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguPolygon(VGPath path, + const VGfloat * points, VGint count, + VGboolean closed) VGU_API_EXIT; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguRect(VGPath path, + VGfloat x, VGfloat y, + VGfloat width, VGfloat height) VGU_API_EXIT; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguRoundRect(VGPath path, + VGfloat x, VGfloat y, + VGfloat width, VGfloat height, + VGfloat arcWidth, VGfloat arcHeight) VGU_API_EXIT; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguEllipse(VGPath path, + VGfloat cx, VGfloat cy, + VGfloat width, VGfloat height) VGU_API_EXIT; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguArc(VGPath path, + VGfloat x, VGfloat y, + VGfloat width, VGfloat height, + VGfloat startAngle, VGfloat angleExtent, + VGUArcType arcType) VGU_API_EXIT; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpQuadToSquare(VGfloat sx0, VGfloat sy0, + VGfloat sx1, VGfloat sy1, + VGfloat sx2, VGfloat sy2, + VGfloat sx3, VGfloat sy3, + VGfloat * matrix) VGU_API_EXIT; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpSquareToQuad(VGfloat dx0, VGfloat dy0, + VGfloat dx1, VGfloat dy1, + VGfloat dx2, VGfloat dy2, + VGfloat dx3, VGfloat dy3, + VGfloat * matrix) VGU_API_EXIT; + +VGU_API_CALL VGUErrorCode VGU_API_ENTRY vguComputeWarpQuadToQuad(VGfloat dx0, VGfloat dy0, + VGfloat dx1, VGfloat dy1, + VGfloat dx2, VGfloat dy2, + VGfloat dx3, VGfloat dy3, + VGfloat sx0, VGfloat sy0, + VGfloat sx1, VGfloat sy1, + VGfloat sx2, VGfloat sy2, + VGfloat sx3, VGfloat sy3, + VGfloat * matrix) VGU_API_EXIT; + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* #ifndef _VGU_H */ diff --git a/opt/vc/include/WF/wfc.h b/opt/vc/include/WF/wfc.h new file mode 100644 index 000000000..a684dc08e --- /dev/null +++ b/opt/vc/include/WF/wfc.h @@ -0,0 +1,275 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _WFC_H_ +#define _WFC_H_ + +#include "wfcplatform.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define OPENWFC_VERSION_1_0 (1) + +#define WFC_NONE (0) + +#define WFC_INVALID_HANDLE ((WFCHandle)0) + +#define WFC_DEFAULT_DEVICE_ID (0) + +#define WFC_MAX_INT ((WFCint)16777216) +#define WFC_MAX_FLOAT ((WFCfloat)16777216) + +typedef WFCHandle WFCDevice; +typedef WFCHandle WFCContext; +typedef WFCHandle WFCSource; +typedef WFCHandle WFCMask; +typedef WFCHandle WFCElement; + +typedef enum { + WFC_ERROR_NONE = 0, + WFC_ERROR_OUT_OF_MEMORY = 0x7001, + WFC_ERROR_ILLEGAL_ARGUMENT = 0x7002, + WFC_ERROR_UNSUPPORTED = 0x7003, + WFC_ERROR_BAD_ATTRIBUTE = 0x7004, + WFC_ERROR_IN_USE = 0x7005, + WFC_ERROR_BUSY = 0x7006, + WFC_ERROR_BAD_DEVICE = 0x7007, + WFC_ERROR_BAD_HANDLE = 0x7008, + WFC_ERROR_INCONSISTENCY = 0x7009, + WFC_ERROR_FORCE_32BIT = 0x7FFFFFFF +} WFCErrorCode; + +typedef enum { + WFC_DEVICE_FILTER_SCREEN_NUMBER = 0x7020, + WFC_DEVICE_FILTER_FORCE_32BIT = 0x7FFFFFFF +} WFCDeviceFilter; + +typedef enum { + /* Read-only */ + WFC_DEVICE_CLASS = 0x7030, + WFC_DEVICE_ID = 0x7031, + WFC_DEVICE_FORCE_32BIT = 0x7FFFFFFF +} WFCDeviceAttrib; + +typedef enum { + WFC_DEVICE_CLASS_FULLY_CAPABLE = 0x7040, + WFC_DEVICE_CLASS_OFF_SCREEN_ONLY = 0x7041, + WFC_DEVICE_CLASS_FORCE_32BIT = 0x7FFFFFFF +} WFCDeviceClass; + +typedef enum { + /* Read-only */ + WFC_CONTEXT_TYPE = 0x7051, + WFC_CONTEXT_TARGET_HEIGHT = 0x7052, + WFC_CONTEXT_TARGET_WIDTH = 0x7053, + WFC_CONTEXT_LOWEST_ELEMENT = 0x7054, + + /* Read-write */ + WFC_CONTEXT_ROTATION = 0x7061, + WFC_CONTEXT_BG_COLOR = 0x7062, + WFC_CONTEXT_FORCE_32BIT = 0x7FFFFFFF +} WFCContextAttrib; + +typedef enum { + WFC_CONTEXT_TYPE_ON_SCREEN = 0x7071, + WFC_CONTEXT_TYPE_OFF_SCREEN = 0x7072, + WFC_CONTEXT_TYPE_FORCE_32BIT = 0x7FFFFFFF +} WFCContextType; + +typedef enum { + /* Clockwise rotation */ + WFC_ROTATION_0 = 0x7081, /* default */ + WFC_ROTATION_90 = 0x7082, + WFC_ROTATION_180 = 0x7083, + WFC_ROTATION_270 = 0x7084, + WFC_ROTATION_FORCE_32BIT = 0x7FFFFFFF +} WFCRotation; + +typedef enum { + WFC_ELEMENT_DESTINATION_RECTANGLE = 0x7101, + WFC_ELEMENT_SOURCE = 0x7102, + WFC_ELEMENT_SOURCE_RECTANGLE = 0x7103, + WFC_ELEMENT_SOURCE_FLIP = 0x7104, + WFC_ELEMENT_SOURCE_ROTATION = 0x7105, + WFC_ELEMENT_SOURCE_SCALE_FILTER = 0x7106, + WFC_ELEMENT_TRANSPARENCY_TYPES = 0x7107, + WFC_ELEMENT_GLOBAL_ALPHA = 0x7108, + WFC_ELEMENT_MASK = 0x7109, + WFC_ELEMENT_FORCE_32BIT = 0x7FFFFFFF +} WFCElementAttrib; + +typedef enum { + WFC_SCALE_FILTER_NONE = 0x7151, /* default */ + WFC_SCALE_FILTER_FASTER = 0x7152, + WFC_SCALE_FILTER_BETTER = 0x7153, + WFC_SCALE_FILTER_FORCE_32BIT = 0x7FFFFFFF +} WFCScaleFilter; + +typedef enum { + WFC_TRANSPARENCY_NONE = 0, /* default */ + WFC_TRANSPARENCY_ELEMENT_GLOBAL_ALPHA = (1 << 0), + WFC_TRANSPARENCY_SOURCE = (1 << 1), + WFC_TRANSPARENCY_MASK = (1 << 2), + WFC_TRANSPARENCY_FORCE_32BIT = 0x7FFFFFFF +} WFCTransparencyType; + +typedef enum { + WFC_VENDOR = 0x7200, + WFC_RENDERER = 0x7201, + WFC_VERSION = 0x7202, + WFC_EXTENSIONS = 0x7203, + WFC_STRINGID_FORCE_32BIT = 0x7FFFFFFF +} WFCStringID; + + +/* Function Prototypes */ + +/* Device */ +WFC_API_CALL WFCint WFC_APIENTRY + wfcEnumerateDevices(WFCint *deviceIds, WFCint deviceIdsCount, + const WFCint *filterList) WFC_APIEXIT; +WFC_API_CALL WFCDevice WFC_APIENTRY + wfcCreateDevice(WFCint deviceId, const WFCint *attribList) WFC_APIEXIT; +WFC_API_CALL WFCErrorCode WFC_APIENTRY + wfcGetError(WFCDevice dev) WFC_APIEXIT; +WFC_API_CALL WFCint WFC_APIENTRY + wfcGetDeviceAttribi(WFCDevice dev, WFCDeviceAttrib attrib) WFC_APIEXIT; +WFC_API_CALL WFCErrorCode WFC_APIENTRY + wfcDestroyDevice(WFCDevice dev) WFC_APIEXIT; + +/* Context */ +WFC_API_CALL WFCContext WFC_APIENTRY + wfcCreateOnScreenContext(WFCDevice dev, + WFCint screenNumber, + const WFCint *attribList) WFC_APIEXIT; +WFC_API_CALL WFCContext WFC_APIENTRY + wfcCreateOffScreenContext(WFCDevice dev, + WFCNativeStreamType stream, + const WFCint *attribList) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcCommit(WFCDevice dev, WFCContext ctx, WFCboolean wait) WFC_APIEXIT; +WFC_API_CALL WFCint WFC_APIENTRY + wfcGetContextAttribi(WFCDevice dev, WFCContext ctx, + WFCContextAttrib attrib) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcGetContextAttribfv(WFCDevice dev, WFCContext ctx, + WFCContextAttrib attrib, WFCint count, WFCfloat *values) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcSetContextAttribi(WFCDevice dev, WFCContext ctx, + WFCContextAttrib attrib, WFCint value) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcSetContextAttribfv(WFCDevice dev, WFCContext ctx, + WFCContextAttrib attrib, + WFCint count, const WFCfloat *values) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcDestroyContext(WFCDevice dev, WFCContext ctx) WFC_APIEXIT; + +/* Source */ +WFC_API_CALL WFCSource WFC_APIENTRY + wfcCreateSourceFromStream(WFCDevice dev, WFCContext ctx, + WFCNativeStreamType stream, + const WFCint *attribList) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcDestroySource(WFCDevice dev, WFCSource src) WFC_APIEXIT; + +/* Mask */ +WFC_API_CALL WFCMask WFC_APIENTRY + wfcCreateMaskFromStream(WFCDevice dev, WFCContext ctx, + WFCNativeStreamType stream, + const WFCint *attribList) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcDestroyMask(WFCDevice dev, WFCMask mask) WFC_APIEXIT; + +/* Element */ +WFC_API_CALL WFCElement WFC_APIENTRY + wfcCreateElement(WFCDevice dev, WFCContext ctx, + const WFCint *attribList) WFC_APIEXIT; +WFC_API_CALL WFCint WFC_APIENTRY + wfcGetElementAttribi(WFCDevice dev, WFCElement element, + WFCElementAttrib attrib) WFC_APIEXIT; +WFC_API_CALL WFCfloat WFC_APIENTRY + wfcGetElementAttribf(WFCDevice dev, WFCElement element, + WFCElementAttrib attrib) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcGetElementAttribiv(WFCDevice dev, WFCElement element, + WFCElementAttrib attrib, WFCint count, WFCint *values) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcGetElementAttribfv(WFCDevice dev, WFCElement element, + WFCElementAttrib attrib, WFCint count, WFCfloat *values) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcSetElementAttribi(WFCDevice dev, WFCElement element, + WFCElementAttrib attrib, WFCint value) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcSetElementAttribf(WFCDevice dev, WFCElement element, + WFCElementAttrib attrib, WFCfloat value) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcSetElementAttribiv(WFCDevice dev, WFCElement element, + WFCElementAttrib attrib, + WFCint count, const WFCint *values) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcSetElementAttribfv(WFCDevice dev, WFCElement element, + WFCElementAttrib attrib, + WFCint count, const WFCfloat *values) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcInsertElement(WFCDevice dev, WFCElement element, + WFCElement subordinate) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcRemoveElement(WFCDevice dev, WFCElement element) WFC_APIEXIT; +WFC_API_CALL WFCElement WFC_APIENTRY + wfcGetElementAbove(WFCDevice dev, WFCElement element) WFC_APIEXIT; +WFC_API_CALL WFCElement WFC_APIENTRY + wfcGetElementBelow(WFCDevice dev, WFCElement element) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcDestroyElement(WFCDevice dev, WFCElement element) WFC_APIEXIT; + +/* Rendering */ +WFC_API_CALL void WFC_APIENTRY + wfcActivate(WFCDevice dev, WFCContext ctx) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcDeactivate(WFCDevice dev, WFCContext ctx) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcCompose(WFCDevice dev, WFCContext ctx, WFCboolean wait) WFC_APIEXIT; +WFC_API_CALL void WFC_APIENTRY + wfcFence(WFCDevice dev, WFCContext ctx, WFCEGLDisplay dpy, + WFCEGLSync sync) WFC_APIEXIT; + +/* Renderer and extension information */ +WFC_API_CALL WFCint WFC_APIENTRY + wfcGetStrings(WFCDevice dev, + WFCStringID name, + const char **strings, + WFCint stringsCount) WFC_APIEXIT; +WFC_API_CALL WFCboolean WFC_APIENTRY + wfcIsExtensionSupported(WFCDevice dev, const char *string) WFC_APIEXIT; + +#ifdef __cplusplus +} +#endif + +#endif /* _WFC_H_ */ diff --git a/opt/vc/include/WF/wfcplatform.h b/opt/vc/include/WF/wfcplatform.h new file mode 100644 index 000000000..da4723236 --- /dev/null +++ b/opt/vc/include/WF/wfcplatform.h @@ -0,0 +1,71 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _WFCPLATFORM_H_ +#define _WFCPLATFORM_H_ + +#include "../KHR/khrplatform.h" +#include "../EGL/egl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WFC_API_CALL +#define WFC_API_CALL KHRONOS_APICALL +#endif +#ifndef WFC_APIENTRY +#define WFC_APIENTRY KHRONOS_APIENTRY +#endif +#ifndef WFC_APIEXIT +#define WFC_APIEXIT KHRONOS_APIATTRIBUTES +#endif + +#ifndef WFC_DEFAULT_SCREEN_NUMBER +#define WFC_DEFAULT_SCREEN_NUMBER (0) +#endif + +typedef enum { + WFC_FALSE = 0, + WFC_TRUE = 1, + WFC_BOOLEAN_FORCE_32BIT = 0x7FFFFFFF +} WFCboolean; + +typedef khronos_int32_t WFCint; +typedef khronos_float_t WFCfloat; +typedef khronos_uint32_t WFCbitfield; +typedef khronos_uint32_t WFCHandle; + +typedef EGLDisplay WFCEGLDisplay; +typedef void *WFCEGLSync; /* An opaque handle to an EGLSyncKHR */ +typedef WFCHandle WFCNativeStreamType; + +#ifdef __cplusplus +} +#endif + +#endif /* _WFCPLATFORM_H_ */ diff --git a/opt/vc/include/bcm_host.h b/opt/vc/include/bcm_host.h new file mode 100644 index 000000000..93b549687 --- /dev/null +++ b/opt/vc/include/bcm_host.h @@ -0,0 +1,57 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Header file with useful bits from other headers + +#ifndef BCM_HOST_H +#define BCM_HOST_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +void bcm_host_init(void); +void bcm_host_deinit(void); + +int32_t graphics_get_display_size( const uint16_t display_number, + uint32_t *width, + uint32_t *height); + +#include "interface/vmcs_host/vc_dispmanx.h" +#include "interface/vmcs_host/vc_tvservice.h" +#include "interface/vmcs_host/vc_cec.h" +#include "interface/vmcs_host/vc_cecservice.h" +#include "interface/vmcs_host/vcgencmd.h" + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/opt/vc/include/interface/vchi/common/endian.h b/opt/vc/include/interface/vchi/common/endian.h new file mode 100644 index 000000000..3f1b68ef2 --- /dev/null +++ b/opt/vc/include/interface/vchi/common/endian.h @@ -0,0 +1,44 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _VCHI_ENDIAN_H_ +#define _VCHI_ENDIAN_H_ + +#include "interface/vcos/vcos.h" + +int16_t vchi_readbuf_int16 ( const void *ptr ); +uint16_t vchi_readbuf_uint16( const void *ptr ); +uint32_t vchi_readbuf_uint32( const void *ptr ); +vcos_fourcc_t vchi_readbuf_fourcc( const void *ptr ); + +void vchi_writebuf_uint16( void *ptr, uint16_t value ); +void vchi_writebuf_uint32( void *ptr, uint32_t value ); +void vchi_writebuf_fourcc( void *ptr, vcos_fourcc_t value ); + +#endif /* _VCHI_ENDIAN_H_ */ + +/********************************** End of file ******************************************/ diff --git a/opt/vc/include/interface/vchi/connections/connection.h b/opt/vc/include/interface/vchi/connections/connection.h new file mode 100644 index 000000000..91bc91d34 --- /dev/null +++ b/opt/vc/include/interface/vchi/connections/connection.h @@ -0,0 +1,324 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * \file + * + * \brief Contains the protypes for the interface functions. +*/ + +#ifndef CONNECTION_H_ +#define CONNECTION_H_ + +#include "interface/vchi/vchi_cfg_internal.h" +#include "interface/vchi/vchi_common.h" +#include "interface/vchi/message_drivers/message.h" + +/****************************************************************************** + Global defs + *****************************************************************************/ + +// Opaque handle for a connection / service pair +typedef struct opaque_vchi_connection_connected_service_handle_t *VCHI_CONNECTION_SERVICE_HANDLE_T; + +// opaque handle to the connection state information +typedef struct opaque_vchi_connection_info_t VCHI_CONNECTION_STATE_T; + +typedef struct vchi_connection_t VCHI_CONNECTION_T; + + +/****************************************************************************** + API + *****************************************************************************/ + +// Routine to init a connection with a particular low level driver +typedef VCHI_CONNECTION_STATE_T * (*VCHI_CONNECTION_INIT_T)( struct vchi_connection_t * connection, + const VCHI_MESSAGE_DRIVER_T * driver ); + +// Routine to control CRC enabling at a connection level +typedef int32_t (*VCHI_CONNECTION_CRC_CONTROL_T)( VCHI_CONNECTION_STATE_T *state_handle, + VCHI_CRC_CONTROL_T control ); + +// Routine to create a service +typedef int32_t (*VCHI_CONNECTION_SERVICE_CONNECT_T)( VCHI_CONNECTION_STATE_T *state_handle, + vcos_fourcc_t service_id, + uint32_t rx_fifo_size, + uint32_t tx_fifo_size, + int server, + VCHI_CALLBACK_T callback, + void *callback_param, + vcos_bool_t want_crc, + vcos_bool_t want_unaligned_bulk_rx, + vcos_bool_t want_unaligned_bulk_tx, + VCHI_CONNECTION_SERVICE_HANDLE_T *service_handle ); + +// Routine to close a service +typedef int32_t (*VCHI_CONNECTION_SERVICE_DISCONNECT_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle ); + +// Routine to queue a message +typedef int32_t (*VCHI_CONNECTION_SERVICE_QUEUE_MESSAGE_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + const void *data, + uint32_t data_size, + VCHI_FLAGS_T flags, + void *msg_handle ); + +// scatter-gather (vector) message queueing +typedef int32_t (*VCHI_CONNECTION_SERVICE_QUEUE_MESSAGEV_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + VCHI_MSG_VECTOR_T *vector, + uint32_t count, + VCHI_FLAGS_T flags, + void *msg_handle ); + +// Routine to dequeue a message +typedef int32_t (*VCHI_CONNECTION_SERVICE_DEQUEUE_MESSAGE_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + void *data, + uint32_t max_data_size_to_read, + uint32_t *actual_msg_size, + VCHI_FLAGS_T flags ); + +// Routine to peek at a message +typedef int32_t (*VCHI_CONNECTION_SERVICE_PEEK_MESSAGE_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + void **data, + uint32_t *msg_size, + VCHI_FLAGS_T flags ); + +// Routine to hold a message +typedef int32_t (*VCHI_CONNECTION_SERVICE_HOLD_MESSAGE_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + void **data, + uint32_t *msg_size, + VCHI_FLAGS_T flags, + void **message_handle ); + +// Routine to initialise a received message iterator +typedef int32_t (*VCHI_CONNECTION_SERVICE_LOOKAHEAD_MESSAGE_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + VCHI_MSG_ITER_T *iter, + VCHI_FLAGS_T flags ); + +// Routine to release a held message +typedef int32_t (*VCHI_CONNECTION_HELD_MSG_RELEASE_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + void *message_handle ); + +// Routine to get info on a held message +typedef int32_t (*VCHI_CONNECTION_HELD_MSG_INFO_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + void *message_handle, + void **data, + int32_t *msg_size, + uint32_t *tx_timestamp, + uint32_t *rx_timestamp ); + +// Routine to check whether the iterator has a next message +typedef vcos_bool_t (*VCHI_CONNECTION_MSG_ITER_HAS_NEXT_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service, + const VCHI_MSG_ITER_T *iter ); + +// Routine to advance the iterator +typedef int32_t (*VCHI_CONNECTION_MSG_ITER_NEXT_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service, + VCHI_MSG_ITER_T *iter, + void **data, + uint32_t *msg_size ); + +// Routine to remove the last message returned by the iterator +typedef int32_t (*VCHI_CONNECTION_MSG_ITER_REMOVE_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service, + VCHI_MSG_ITER_T *iter ); + +// Routine to hold the last message returned by the iterator +typedef int32_t (*VCHI_CONNECTION_MSG_ITER_HOLD_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service, + VCHI_MSG_ITER_T *iter, + void **msg_handle ); + +// Routine to transmit bulk data +typedef int32_t (*VCHI_CONNECTION_BULK_QUEUE_TRANSMIT_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + const void *data_src, + uint32_t data_size, + VCHI_FLAGS_T flags, + void *bulk_handle ); + +// Routine to receive data +typedef int32_t (*VCHI_CONNECTION_BULK_QUEUE_RECEIVE_T)( VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, + void *data_dst, + uint32_t data_size, + VCHI_FLAGS_T flags, + void *bulk_handle ); + +// Routine to report if a server is available +typedef int32_t (*VCHI_CONNECTION_SERVER_PRESENT)( VCHI_CONNECTION_STATE_T *state, vcos_fourcc_t service_id, int32_t peer_flags ); + +// Routine to report the number of RX slots available +typedef int (*VCHI_CONNECTION_RX_SLOTS_AVAILABLE)( const VCHI_CONNECTION_STATE_T *state ); + +// Routine to report the RX slot size +typedef uint32_t (*VCHI_CONNECTION_RX_SLOT_SIZE)( const VCHI_CONNECTION_STATE_T *state ); + +// Callback to indicate that the other side has added a buffer to the rx bulk DMA FIFO +typedef void (*VCHI_CONNECTION_RX_BULK_BUFFER_ADDED)(VCHI_CONNECTION_STATE_T *state, + vcos_fourcc_t service, + uint32_t length, + MESSAGE_TX_CHANNEL_T channel, + uint32_t channel_params, + uint32_t data_length, + uint32_t data_offset); + +// Callback to inform a service that a Xon or Xoff message has been received +typedef void (*VCHI_CONNECTION_FLOW_CONTROL)(VCHI_CONNECTION_STATE_T *state, vcos_fourcc_t service_id, int32_t xoff); + +// Callback to inform a service that a server available reply message has been received +typedef void (*VCHI_CONNECTION_SERVER_AVAILABLE_REPLY)(VCHI_CONNECTION_STATE_T *state, vcos_fourcc_t service_id, uint32_t flags); + +// Callback to indicate that bulk auxiliary messages have arrived +typedef void (*VCHI_CONNECTION_BULK_AUX_RECEIVED)(VCHI_CONNECTION_STATE_T *state); + +// Callback to indicate that bulk auxiliary messages have arrived +typedef void (*VCHI_CONNECTION_BULK_AUX_TRANSMITTED)(VCHI_CONNECTION_STATE_T *state, void *handle); + +// Callback with all the connection info you require +typedef void (*VCHI_CONNECTION_INFO)(VCHI_CONNECTION_STATE_T *state, uint32_t protocol_version, uint32_t slot_size, uint32_t num_slots, uint32_t min_bulk_size); + +// Callback to inform of a disconnect +typedef void (*VCHI_CONNECTION_DISCONNECT)(VCHI_CONNECTION_STATE_T *state, uint32_t flags); + +// Callback to inform of a power control request +typedef void (*VCHI_CONNECTION_POWER_CONTROL)(VCHI_CONNECTION_STATE_T *state, MESSAGE_TX_CHANNEL_T channel, vcos_bool_t enable); + +// allocate memory suitably aligned for this connection +typedef void * (*VCHI_BUFFER_ALLOCATE)(VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, uint32_t * length); + +// free memory allocated by buffer_allocate +typedef void (*VCHI_BUFFER_FREE)(VCHI_CONNECTION_SERVICE_HANDLE_T service_handle, void * address); + + +/****************************************************************************** + System driver struct + *****************************************************************************/ + +struct opaque_vchi_connection_api_t +{ + // Routine to init the connection + VCHI_CONNECTION_INIT_T init; + + // Connection-level CRC control + VCHI_CONNECTION_CRC_CONTROL_T crc_control; + + // Routine to connect to or create service + VCHI_CONNECTION_SERVICE_CONNECT_T service_connect; + + // Routine to disconnect from a service + VCHI_CONNECTION_SERVICE_DISCONNECT_T service_disconnect; + + // Routine to queue a message + VCHI_CONNECTION_SERVICE_QUEUE_MESSAGE_T service_queue_msg; + + // scatter-gather (vector) message queue + VCHI_CONNECTION_SERVICE_QUEUE_MESSAGEV_T service_queue_msgv; + + // Routine to dequeue a message + VCHI_CONNECTION_SERVICE_DEQUEUE_MESSAGE_T service_dequeue_msg; + + // Routine to peek at a message + VCHI_CONNECTION_SERVICE_PEEK_MESSAGE_T service_peek_msg; + + // Routine to hold a message + VCHI_CONNECTION_SERVICE_HOLD_MESSAGE_T service_hold_msg; + + // Routine to initialise a received message iterator + VCHI_CONNECTION_SERVICE_LOOKAHEAD_MESSAGE_T service_look_ahead_msg; + + // Routine to release a message + VCHI_CONNECTION_HELD_MSG_RELEASE_T held_msg_release; + + // Routine to get information on a held message + VCHI_CONNECTION_HELD_MSG_INFO_T held_msg_info; + + // Routine to check for next message on iterator + VCHI_CONNECTION_MSG_ITER_HAS_NEXT_T msg_iter_has_next; + + // Routine to get next message on iterator + VCHI_CONNECTION_MSG_ITER_NEXT_T msg_iter_next; + + // Routine to remove the last message returned by iterator + VCHI_CONNECTION_MSG_ITER_REMOVE_T msg_iter_remove; + + // Routine to hold the last message returned by iterator + VCHI_CONNECTION_MSG_ITER_HOLD_T msg_iter_hold; + + // Routine to transmit bulk data + VCHI_CONNECTION_BULK_QUEUE_TRANSMIT_T bulk_queue_transmit; + + // Routine to receive data + VCHI_CONNECTION_BULK_QUEUE_RECEIVE_T bulk_queue_receive; + + // Routine to report the available servers + VCHI_CONNECTION_SERVER_PRESENT server_present; + + // Routine to report the number of RX slots available + VCHI_CONNECTION_RX_SLOTS_AVAILABLE connection_rx_slots_available; + + // Routine to report the RX slot size + VCHI_CONNECTION_RX_SLOT_SIZE connection_rx_slot_size; + + // Callback to indicate that the other side has added a buffer to the rx bulk DMA FIFO + VCHI_CONNECTION_RX_BULK_BUFFER_ADDED rx_bulk_buffer_added; + + // Callback to inform a service that a Xon or Xoff message has been received + VCHI_CONNECTION_FLOW_CONTROL flow_control; + + // Callback to inform a service that a server available reply message has been received + VCHI_CONNECTION_SERVER_AVAILABLE_REPLY server_available_reply; + + // Callback to indicate that bulk auxiliary messages have arrived + VCHI_CONNECTION_BULK_AUX_RECEIVED bulk_aux_received; + + // Callback to indicate that a bulk auxiliary message has been transmitted + VCHI_CONNECTION_BULK_AUX_TRANSMITTED bulk_aux_transmitted; + + // Callback to provide information about the connection + VCHI_CONNECTION_INFO connection_info; + + // Callback to notify that peer has requested disconnect + VCHI_CONNECTION_DISCONNECT disconnect; + + // Callback to notify that peer has requested power change + VCHI_CONNECTION_POWER_CONTROL power_control; + + // allocate memory suitably aligned for this connection + VCHI_BUFFER_ALLOCATE buffer_allocate; + + // free memory allocated by buffer_allocate + VCHI_BUFFER_FREE buffer_free; + +}; + +struct vchi_connection_t { + const VCHI_CONNECTION_API_T *api; + VCHI_CONNECTION_STATE_T *state; +#ifdef VCHI_COARSE_LOCKING + VCOS_SEMAPHORE_T sem; +#endif +}; + + +#endif /* CONNECTION_H_ */ + +/****************************** End of file **********************************/ diff --git a/opt/vc/include/interface/vchi/message_drivers/message.h b/opt/vc/include/interface/vchi/message_drivers/message.h new file mode 100644 index 000000000..4dc4e5819 --- /dev/null +++ b/opt/vc/include/interface/vchi/message_drivers/message.h @@ -0,0 +1,197 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// MPHI videocore message driver + +#ifndef _VCHI_MESSAGE_H_ +#define _VCHI_MESSAGE_H_ + +#include "interface/vchi/vchi_cfg_internal.h" +#include "interface/vcos/vcos.h" +#include "interface/vchi/vchi_common.h" + + +typedef enum message_event_type { + MESSAGE_EVENT_NONE, + MESSAGE_EVENT_NOP, + MESSAGE_EVENT_MESSAGE, + MESSAGE_EVENT_SLOT_COMPLETE, + MESSAGE_EVENT_RX_BULK_PAUSED, + MESSAGE_EVENT_RX_BULK_COMPLETE, + MESSAGE_EVENT_TX_COMPLETE, + MESSAGE_EVENT_MSG_DISCARDED +} MESSAGE_EVENT_TYPE_T; + +typedef enum vchi_msg_flags +{ + VCHI_MSG_FLAGS_NONE = 0x0, + VCHI_MSG_FLAGS_TERMINATE_DMA = 0x1 +} VCHI_MSG_FLAGS_T; + +typedef enum message_tx_channel +{ + MESSAGE_TX_CHANNEL_MESSAGE = 0, + MESSAGE_TX_CHANNEL_BULK = 1 // drivers may provide multiple bulk channels, from 1 upwards +} MESSAGE_TX_CHANNEL_T; + +// Macros used for cycling through bulk channels +#define MESSAGE_TX_CHANNEL_BULK_PREV(c) (MESSAGE_TX_CHANNEL_BULK+((c)-MESSAGE_TX_CHANNEL_BULK+VCHI_MAX_BULK_TX_CHANNELS_PER_CONNECTION-1)%VCHI_MAX_BULK_TX_CHANNELS_PER_CONNECTION) +#define MESSAGE_TX_CHANNEL_BULK_NEXT(c) (MESSAGE_TX_CHANNEL_BULK+((c)-MESSAGE_TX_CHANNEL_BULK+1)%VCHI_MAX_BULK_TX_CHANNELS_PER_CONNECTION) + +typedef enum message_rx_channel +{ + MESSAGE_RX_CHANNEL_MESSAGE = 0, + MESSAGE_RX_CHANNEL_BULK = 1 // drivers may provide multiple bulk channels, from 1 upwards +} MESSAGE_RX_CHANNEL_T; + +// Message receive slot information +typedef struct rx_msg_slot_info { + + struct rx_msg_slot_info *next; + //struct slot_info *prev; +#if !defined VCHI_COARSE_LOCKING + VCOS_SEMAPHORE_T sem; +#endif + + uint8_t *addr; // base address of slot + uint32_t len; // length of slot in bytes + + uint32_t write_ptr; // hardware causes this to advance + uint32_t read_ptr; // this module does the reading + int active; // is this slot in the hardware dma fifo? + uint32_t msgs_parsed; // count how many messages are in this slot + uint32_t msgs_released; // how many messages have been released + void *state; // connection state information + uint8_t ref_count[VCHI_MAX_SERVICES_PER_CONNECTION]; // reference count for slots held by services +} RX_MSG_SLOTINFO_T; + +// The message driver no longer needs to know about the fields of RX_BULK_SLOTINFO_T - sort this out. +// In particular, it mustn't use addr and len - they're the client buffer, but the message +// driver will be tasked with sending the aligned core section. +typedef struct rx_bulk_slotinfo_t { + struct rx_bulk_slotinfo_t *next; + + VCOS_SEMAPHORE_T *blocking; + + // needed by DMA + void *addr; + uint32_t len; + + // needed for the callback + void *service; + void *handle; + VCHI_FLAGS_T flags; +} RX_BULK_SLOTINFO_T; + + +/* ---------------------------------------------------------------------- + * each connection driver will have a pool of the following struct. + * + * the pool will be managed by vchi_qman_* + * this means there will be multiple queues (single linked lists) + * a given struct message_info will be on exactly one of these queues + * at any one time + * -------------------------------------------------------------------- */ +typedef struct rx_message_info { + + struct message_info *next; + //struct message_info *prev; + + uint8_t *addr; + uint32_t len; + RX_MSG_SLOTINFO_T *slot; // points to whichever slot contains this message + uint32_t tx_timestamp; + uint32_t rx_timestamp; + +} RX_MESSAGE_INFO_T; + +typedef struct { + MESSAGE_EVENT_TYPE_T type; + + struct { + // for messages + void *addr; // address of message + uint16_t slot_delta; // whether this message indicated slot delta + uint32_t len; // length of message + RX_MSG_SLOTINFO_T *slot; // slot this message is in + vcos_fourcc_t service; // service id this message is destined for + uint32_t tx_timestamp; // timestamp from the header + uint32_t rx_timestamp; // timestamp when we parsed it + } message; + + // FIXME: cleanup slot reporting... + RX_MSG_SLOTINFO_T *rx_msg; + RX_BULK_SLOTINFO_T *rx_bulk; + void *tx_handle; + MESSAGE_TX_CHANNEL_T tx_channel; + +} MESSAGE_EVENT_T; + + +// callbacks +typedef void VCHI_MESSAGE_DRIVER_EVENT_CALLBACK_T( void *state ); + +typedef struct { + VCHI_MESSAGE_DRIVER_EVENT_CALLBACK_T *event_callback; +} VCHI_MESSAGE_DRIVER_OPEN_T; + + +// handle to this instance of message driver (as returned by ->open) +typedef struct opaque_mhandle_t *VCHI_MDRIVER_HANDLE_T; + +struct opaque_vchi_message_driver_t { + VCHI_MDRIVER_HANDLE_T *(*open)( VCHI_MESSAGE_DRIVER_OPEN_T *params, void *state ); + int32_t (*suspending)( VCHI_MDRIVER_HANDLE_T *handle ); + int32_t (*resumed)( VCHI_MDRIVER_HANDLE_T *handle ); + int32_t (*power_control)( VCHI_MDRIVER_HANDLE_T *handle, MESSAGE_TX_CHANNEL_T, vcos_bool_t enable ); + int32_t (*add_msg_rx_slot)( VCHI_MDRIVER_HANDLE_T *handle, RX_MSG_SLOTINFO_T *slot ); // rx message + int32_t (*add_bulk_rx)( VCHI_MDRIVER_HANDLE_T *handle, void *data, uint32_t len, RX_BULK_SLOTINFO_T *slot ); // rx data (bulk) + int32_t (*send)( VCHI_MDRIVER_HANDLE_T *handle, MESSAGE_TX_CHANNEL_T channel, const void *data, uint32_t len, VCHI_MSG_FLAGS_T flags, void *send_handle ); // tx (message & bulk) + void (*next_event)( VCHI_MDRIVER_HANDLE_T *handle, MESSAGE_EVENT_T *event ); // get the next event from message_driver + int32_t (*enable)( VCHI_MDRIVER_HANDLE_T *handle ); + int32_t (*form_message)( VCHI_MDRIVER_HANDLE_T *handle, vcos_fourcc_t service_id, VCHI_MSG_VECTOR_T *vector, uint32_t count, void + *address, uint32_t length_avail, uint32_t max_total_length, vcos_bool_t pad_to_fill, vcos_bool_t allow_partial ); + + int32_t (*update_message)( VCHI_MDRIVER_HANDLE_T *handle, void *dest, int16_t *slot_count ); + int32_t (*buffer_aligned)( VCHI_MDRIVER_HANDLE_T *handle, int tx, int uncached, const void *address, const uint32_t length ); + void * (*allocate_buffer)( VCHI_MDRIVER_HANDLE_T *handle, uint32_t *length ); + void (*free_buffer)( VCHI_MDRIVER_HANDLE_T *handle, void *address ); + int (*rx_slot_size)( VCHI_MDRIVER_HANDLE_T *handle, int msg_size ); + int (*tx_slot_size)( VCHI_MDRIVER_HANDLE_T *handle, int msg_size ); + + vcos_bool_t (*tx_supports_terminate)( const VCHI_MDRIVER_HANDLE_T *handle, MESSAGE_TX_CHANNEL_T channel ); + uint32_t (*tx_bulk_chunk_size)( const VCHI_MDRIVER_HANDLE_T *handle, MESSAGE_TX_CHANNEL_T channel ); + int (*tx_alignment)( const VCHI_MDRIVER_HANDLE_T *handle, MESSAGE_TX_CHANNEL_T channel ); + int (*rx_alignment)( const VCHI_MDRIVER_HANDLE_T *handle, MESSAGE_RX_CHANNEL_T channel ); + void (*form_bulk_aux)( VCHI_MDRIVER_HANDLE_T *handle, MESSAGE_TX_CHANNEL_T channel, const void *data, uint32_t len, uint32_t chunk_size, const void **aux_data, int32_t *aux_len ); + void (*debug)( VCHI_MDRIVER_HANDLE_T *handle ); +}; + + +#endif // _VCHI_MESSAGE_H_ + +/****************************** End of file ***********************************/ diff --git a/opt/vc/include/interface/vchi/vchi.h b/opt/vc/include/interface/vchi/vchi.h new file mode 100644 index 000000000..7b4413b30 --- /dev/null +++ b/opt/vc/include/interface/vchi/vchi.h @@ -0,0 +1,367 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Contains the protypes for the vchi functions. + +#ifndef VCHI_H_ +#define VCHI_H_ + +#include "interface/vcos/vcos.h" +#include "interface/vchi/vchi_cfg.h" +#include "interface/vchi/vchi_common.h" +#include "interface/vchi/connections/connection.h" +#include "vchi_mh.h" + + +/****************************************************************************** + Global defs + *****************************************************************************/ + +#define VCHI_SERVICE_HANDLE_INVALID 0 + +#define VCHI_BULK_ROUND_UP(x) ((((unsigned long)(x))+VCHI_BULK_ALIGN-1) & ~(VCHI_BULK_ALIGN-1)) +#define VCHI_BULK_ROUND_DOWN(x) (((unsigned long)(x)) & ~(VCHI_BULK_ALIGN-1)) +#define VCHI_BULK_ALIGN_NBYTES(x) (VCHI_BULK_ALIGNED(x) ? 0 : (VCHI_BULK_ALIGN - ((unsigned long)(x) & (VCHI_BULK_ALIGN-1)))) + +#ifdef USE_VCHIQ_ARM +#define VCHI_BULK_ALIGNED(x) 1 +#else +#define VCHI_BULK_ALIGNED(x) (((unsigned long)(x) & (VCHI_BULK_ALIGN-1)) == 0) +#endif + +typedef struct +{ + uint32_t version; + uint32_t version_min; +} VCHI_VERSION_T; +#define VCHI_VERSION(v_) { v_, v_ } +#define VCHI_VERSION_EX(v_,m_) { v_, m_ } + +typedef enum +{ + VCHI_VEC_POINTER, + VCHI_VEC_HANDLE, + VCHI_VEC_LIST +} VCHI_MSG_VECTOR_TYPE_T; + +typedef struct vchi_msg_vector_ex { + + VCHI_MSG_VECTOR_TYPE_T type; + union + { + // a memory handle + struct + { + VCHI_MEM_HANDLE_T handle; + uint32_t offset; + int32_t vec_len; + } handle; + + // an ordinary data pointer + struct + { + const void *vec_base; + int32_t vec_len; + } ptr; + + // a nested vector list + struct + { + struct vchi_msg_vector_ex *vec; + uint32_t vec_len; + } list; + } u; +} VCHI_MSG_VECTOR_EX_T; + + +// Construct an entry in a msg vector for a pointer (p) of length (l) +#define VCHI_VEC_POINTER(p,l) VCHI_VEC_POINTER, { { (VCHI_MEM_HANDLE_T)(p), (l) } } + +// Construct an entry in a msg vector for a message handle (h), starting at offset (o) of length (l) +#define VCHI_VEC_HANDLE(h,o,l) VCHI_VEC_HANDLE, { { (h), (o), (l) } } + +// Macros to manipulate fourcc_t values +#define MAKE_FOURCC(x) ((fourcc_t)( (x[0] << 24) | (x[1] << 16) | (x[2] << 8) | x[3] )) +#define FOURCC_TO_CHAR(x) (x >> 24) & 0xFF,(x >> 16) & 0xFF,(x >> 8) & 0xFF, x & 0xFF + + +// Opaque service information +struct opaque_vchi_service_t; + +// Descriptor for a held message. Allocated by client, initialised by vchi_msg_hold, +// vchi_msg_iter_hold or vchi_msg_iter_hold_next. Fields are for internal VCHI use only. +typedef struct +{ + struct opaque_vchi_service_t *service; + void *message; +} VCHI_HELD_MSG_T; + + + +// structure used to provide the information needed to open a server or a client +typedef struct { + VCHI_VERSION_T version; + vcos_fourcc_t service_id; + VCHI_CONNECTION_T *connection; + uint32_t rx_fifo_size; + uint32_t tx_fifo_size; + VCHI_CALLBACK_T callback; + void *callback_param; + vcos_bool_t want_unaligned_bulk_rx; // client intends to receive bulk transfers of odd lengths or into unaligned buffers + vcos_bool_t want_unaligned_bulk_tx; // client intends to transmit bulk transfers of odd lengths or out of unaligned buffers + vcos_bool_t want_crc; // client wants to check CRCs on (bulk) transfers. Only needs to be set at 1 end - will do both directions. +} SERVICE_CREATION_T; + +// Opaque handle for a VCHI instance +typedef struct opaque_vchi_instance_handle_t *VCHI_INSTANCE_T; + +// Opaque handle for a server or client +typedef unsigned int VCHI_SERVICE_HANDLE_T; + +// Service registration & startup +typedef void (*VCHI_SERVICE_INIT)(VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections); + +typedef struct service_info_tag { + const char * const vll_filename; /* VLL to load to start this service. This is an empty string if VLL is "static" */ + VCHI_SERVICE_INIT init; /* Service initialisation function */ + void *vll_handle; /* VLL handle; NULL when unloaded or a "static VLL" in build */ +} SERVICE_INFO_T; + +/****************************************************************************** + Global funcs - implementation is specific to which side you are on (local / remote) + *****************************************************************************/ + +#ifdef __cplusplus +extern "C" { +#endif + +extern /*@observer@*/ VCHI_CONNECTION_T * vchi_create_connection( const VCHI_CONNECTION_API_T * function_table, + const VCHI_MESSAGE_DRIVER_T * low_level); + + +// Routine used to initialise the vchi on both local + remote connections +extern int32_t vchi_initialise( VCHI_INSTANCE_T *instance_handle ); + +extern int32_t vchi_exit( void ); + +extern int32_t vchi_connect( VCHI_CONNECTION_T **connections, + const uint32_t num_connections, + VCHI_INSTANCE_T instance_handle ); + +//When this is called, ensure that all services have no data pending. +//Bulk transfers can remain 'queued' +extern int32_t vchi_disconnect( VCHI_INSTANCE_T instance_handle ); + +// Global control over bulk CRC checking +extern int32_t vchi_crc_control( VCHI_CONNECTION_T *connection, + VCHI_CRC_CONTROL_T control ); + +// helper functions +extern void * vchi_allocate_buffer(VCHI_SERVICE_HANDLE_T handle, uint32_t *length); +extern void vchi_free_buffer(VCHI_SERVICE_HANDLE_T handle, void *address); +extern uint32_t vchi_current_time(VCHI_INSTANCE_T instance_handle); + + +/****************************************************************************** + Global service API + *****************************************************************************/ +// Routine to create a named service +extern int32_t vchi_service_create( VCHI_INSTANCE_T instance_handle, + SERVICE_CREATION_T *setup, + VCHI_SERVICE_HANDLE_T *handle ); + +// Routine to destory a service +extern int32_t vchi_service_destroy( const VCHI_SERVICE_HANDLE_T handle ); + +// Routine to open a named service +extern int32_t vchi_service_open( VCHI_INSTANCE_T instance_handle, + SERVICE_CREATION_T *setup, + VCHI_SERVICE_HANDLE_T *handle); + +extern int32_t vchi_get_peer_version( const VCHI_SERVICE_HANDLE_T handle, + short *peer_version ); + +// Routine to close a named service +extern int32_t vchi_service_close( const VCHI_SERVICE_HANDLE_T handle ); + +// Routine to increment ref count on a named service +extern int32_t vchi_service_use( const VCHI_SERVICE_HANDLE_T handle ); + +// Routine to decrement ref count on a named service +extern int32_t vchi_service_release( const VCHI_SERVICE_HANDLE_T handle ); + +// Routine to send a message accross a service +extern int32_t vchi_msg_queue( VCHI_SERVICE_HANDLE_T handle, + const void *data, + uint32_t data_size, + VCHI_FLAGS_T flags, + void *msg_handle ); + +// scatter-gather (vector) and send message +int32_t vchi_msg_queuev_ex( VCHI_SERVICE_HANDLE_T handle, + VCHI_MSG_VECTOR_EX_T *vector, + uint32_t count, + VCHI_FLAGS_T flags, + void *msg_handle ); + +// legacy scatter-gather (vector) and send message, only handles pointers +int32_t vchi_msg_queuev( VCHI_SERVICE_HANDLE_T handle, + VCHI_MSG_VECTOR_T *vector, + uint32_t count, + VCHI_FLAGS_T flags, + void *msg_handle ); + +// Routine to receive a msg from a service +// Dequeue is equivalent to hold, copy into client buffer, release +extern int32_t vchi_msg_dequeue( VCHI_SERVICE_HANDLE_T handle, + void *data, + uint32_t max_data_size_to_read, + uint32_t *actual_msg_size, + VCHI_FLAGS_T flags ); + +// Routine to look at a message in place. +// The message is not dequeued, so a subsequent call to peek or dequeue +// will return the same message. +extern int32_t vchi_msg_peek( VCHI_SERVICE_HANDLE_T handle, + void **data, + uint32_t *msg_size, + VCHI_FLAGS_T flags ); + +// Routine to remove a message after it has been read in place with peek +// The first message on the queue is dequeued. +extern int32_t vchi_msg_remove( VCHI_SERVICE_HANDLE_T handle ); + +// Routine to look at a message in place. +// The message is dequeued, so the caller is left holding it; the descriptor is +// filled in and must be released when the user has finished with the message. +extern int32_t vchi_msg_hold( VCHI_SERVICE_HANDLE_T handle, + void **data, // } may be NULL, as info can be + uint32_t *msg_size, // } obtained from HELD_MSG_T + VCHI_FLAGS_T flags, + VCHI_HELD_MSG_T *message_descriptor ); + +// Initialise an iterator to look through messages in place +extern int32_t vchi_msg_look_ahead( VCHI_SERVICE_HANDLE_T handle, + VCHI_MSG_ITER_T *iter, + VCHI_FLAGS_T flags ); + +/****************************************************************************** + Global service support API - operations on held messages and message iterators + *****************************************************************************/ + +// Routine to get the address of a held message +extern void *vchi_held_msg_ptr( const VCHI_HELD_MSG_T *message ); + +// Routine to get the size of a held message +extern int32_t vchi_held_msg_size( const VCHI_HELD_MSG_T *message ); + +// Routine to get the transmit timestamp as written into the header by the peer +extern uint32_t vchi_held_msg_tx_timestamp( const VCHI_HELD_MSG_T *message ); + +// Routine to get the reception timestamp, written as we parsed the header +extern uint32_t vchi_held_msg_rx_timestamp( const VCHI_HELD_MSG_T *message ); + +// Routine to release a held message after it has been processed +extern int32_t vchi_held_msg_release( VCHI_HELD_MSG_T *message ); + +// Indicates whether the iterator has a next message. +extern vcos_bool_t vchi_msg_iter_has_next( const VCHI_MSG_ITER_T *iter ); + +// Return the pointer and length for the next message and advance the iterator. +extern int32_t vchi_msg_iter_next( VCHI_MSG_ITER_T *iter, + void **data, + uint32_t *msg_size ); + +// Remove the last message returned by vchi_msg_iter_next. +// Can only be called once after each call to vchi_msg_iter_next. +extern int32_t vchi_msg_iter_remove( VCHI_MSG_ITER_T *iter ); + +// Hold the last message returned by vchi_msg_iter_next. +// Can only be called once after each call to vchi_msg_iter_next. +extern int32_t vchi_msg_iter_hold( VCHI_MSG_ITER_T *iter, + VCHI_HELD_MSG_T *message ); + +// Return information for the next message, and hold it, advancing the iterator. +extern int32_t vchi_msg_iter_hold_next( VCHI_MSG_ITER_T *iter, + void **data, // } may be NULL + uint32_t *msg_size, // } + VCHI_HELD_MSG_T *message ); + + +/****************************************************************************** + Global bulk API + *****************************************************************************/ + +// Routine to prepare interface for a transfer from the other side +extern int32_t vchi_bulk_queue_receive( VCHI_SERVICE_HANDLE_T handle, + void *data_dst, + uint32_t data_size, + VCHI_FLAGS_T flags, + void *transfer_handle ); + + +// Prepare interface for a transfer from the other side into relocatable memory. +int32_t vchi_bulk_queue_receive_reloc( const VCHI_SERVICE_HANDLE_T handle, + VCHI_MEM_HANDLE_T h_dst, + uint32_t offset, + uint32_t data_size, + const VCHI_FLAGS_T flags, + void * const bulk_handle ); + +// Routine to queue up data ready for transfer to the other (once they have signalled they are ready) +extern int32_t vchi_bulk_queue_transmit( VCHI_SERVICE_HANDLE_T handle, + const void *data_src, + uint32_t data_size, + VCHI_FLAGS_T flags, + void *transfer_handle ); + + +/****************************************************************************** + Configuration plumbing + *****************************************************************************/ + +// function prototypes for the different mid layers (the state info gives the different physical connections) +extern const VCHI_CONNECTION_API_T *single_get_func_table( void ); +//extern const VCHI_CONNECTION_API_T *local_server_get_func_table( void ); +//extern const VCHI_CONNECTION_API_T *local_client_get_func_table( void ); + +// declare all message drivers here +const VCHI_MESSAGE_DRIVER_T *vchi_mphi_message_driver_func_table( void ); + +#ifdef __cplusplus +} +#endif + +extern int32_t vchi_bulk_queue_transmit_reloc( VCHI_SERVICE_HANDLE_T handle, + VCHI_MEM_HANDLE_T h_src, + uint32_t offset, + uint32_t data_size, + VCHI_FLAGS_T flags, + void *transfer_handle ); +#endif /* VCHI_H_ */ + +/****************************** End of file **********************************/ diff --git a/opt/vc/include/interface/vchi/vchi_autoservice.h b/opt/vc/include/interface/vchi/vchi_autoservice.h new file mode 100644 index 000000000..603fdf7a2 --- /dev/null +++ b/opt/vc/include/interface/vchi/vchi_autoservice.h @@ -0,0 +1,85 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// VMCS framework - autoregistering VCHI services. + +#ifndef VMCS_VCHI_SERVICE_H +#define VMCS_VCHI_SERVICE_H + +#ifdef USE_VCHIQ_ARM +#include "vchiq.h" +#endif +#include "interface/vchi/vchi.h" + +/** Provides for autoregistering of VCHIQ and VCHI services. + * + * Note that this relies on the fact that VCHI and VCHIQ startup + * functions actually have the same signature, even though the + * types are subtly different. + */ + +/** Function to initialise a VCHIQ service + * @param vchiq The VCHIQ handle. + * @return 0 on success + */ + +typedef enum { + VCHI_API_VCHI, + VCHI_API_VCHIQ +} VCHI_API_ID; + +typedef void (*VCHI_AUTO_ENTRY)(void*); + +typedef struct vchi_service_info_tag { + VCHI_API_ID api; + VCHI_AUTO_ENTRY entry; + const char *name; +} VCHI_SERVICE_INFO_T; + +#ifdef USE_VCHIQ_ARM +typedef int32_t (*VCHIQ_SERVICE_AUTOINIT)(VCHIQ_INSTANCE_T vchiq); +#endif + +typedef int32_t (*VCHI_SERVICE_AUTOINIT)(VCHI_INSTANCE_T vchiq, int num_connections, VCHI_CONNECTION_T **connections); + +/** + * Declare one of these statically. + */ +#define VCHIQ_AUTO_REGISTER_SERVICE(name,init) \ + pragma Data(LIT, ".init.vchiq_services"); \ + static const VCHI_SERVICE_INFO_T init##_info = {VCHI_API_VCHIQ,(VCHI_AUTO_ENTRY)init,name}; \ + pragma Data; \ + const VCHI_SERVICE_INFO_T *init##_info_p(void) { return &init##_info; } + +#define VCHI_AUTO_REGISTER_SERVICE(name,init) \ + pragma Data(LIT, ".init.vchiq_services"); \ + static const VCHI_SERVICE_INFO_T init##_info = {VCHI_API_VCHI,(VCHI_AUTO_ENTRY)init,name}; \ + pragma Data; \ + const VCHI_SERVICE_INFO_T *init##_info_p(void) { return &init##_info; } + +#endif + diff --git a/opt/vc/include/interface/vchi/vchi_cfg.h b/opt/vc/include/interface/vchi/vchi_cfg.h new file mode 100644 index 000000000..d179f8a87 --- /dev/null +++ b/opt/vc/include/interface/vchi/vchi_cfg.h @@ -0,0 +1,222 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Contains the #defines for the number of servers / clients etc, these can be +// over-ridden from the platform makefile if needed + + +#ifndef VCHI_CFG_H_ +#define VCHI_CFG_H_ + +/**************************************************************************************** + * Defines in this first section are part of the VCHI API and may be examined by VCHI + * services. + ***************************************************************************************/ + +/* Required alignment of base addresses for bulk transfer, if unaligned transfers are not enabled */ +/* Really determined by the message driver, and should be available from a run-time call. */ +#ifndef VCHI_BULK_ALIGN +# if __VCCOREVER__ >= 0x04000000 +# define VCHI_BULK_ALIGN 32 // Allows for the need to do cache cleans +# else +# define VCHI_BULK_ALIGN 16 +# endif +#endif + +/* Required length multiple for bulk transfers, if unaligned transfers are not enabled */ +/* May be less than or greater than VCHI_BULK_ALIGN */ +/* Really determined by the message driver, and should be available from a run-time call. */ +#ifndef VCHI_BULK_GRANULARITY +# if __VCCOREVER__ >= 0x04000000 +# define VCHI_BULK_GRANULARITY 32 // Allows for the need to do cache cleans +# else +# define VCHI_BULK_GRANULARITY 16 +# endif +#endif + +/* The largest possible message to be queued with vchi_msg_queue. */ +#ifndef VCHI_MAX_MSG_SIZE +# if defined VCHI_LOCAL_HOST_PORT +# define VCHI_MAX_MSG_SIZE 16384 // makes file transfers fast, but should they be using bulk? +# else +# define VCHI_MAX_MSG_SIZE 4096 // NOTE: THIS MUST BE LARGER THAN OR EQUAL TO THE SIZE OF THE KHRONOS MERGE BUFFER!! +# endif +#endif + +/****************************************************************************************** + * Defines below are system configuration options, and should not be used by VCHI services. + *****************************************************************************************/ + +/* How many connections can we support? A localhost implementation uses 2 connections, + * 1 for host-app, 1 for VMCS, and these are hooked together by a loopback MPHI VCFW + * driver. */ +#ifndef VCHI_MAX_NUM_CONNECTIONS +# define VCHI_MAX_NUM_CONNECTIONS 3 +#endif + +/* How many services can we open per connection? Extending this doesn't cost processing time, just a small + * amount of static memory. */ +#ifndef VCHI_MAX_SERVICES_PER_CONNECTION +# define VCHI_MAX_SERVICES_PER_CONNECTION 36 +#endif + +/* Adjust if using a message driver that supports more logical TX channels */ +#ifndef VCHI_MAX_BULK_TX_CHANNELS_PER_CONNECTION +# define VCHI_MAX_BULK_TX_CHANNELS_PER_CONNECTION 9 // 1 MPHI + 8 CCP2 logical channels +#endif + +/* Adjust if using a message driver that supports more logical RX channels */ +#ifndef VCHI_MAX_BULK_RX_CHANNELS_PER_CONNECTION +# define VCHI_MAX_BULK_RX_CHANNELS_PER_CONNECTION 1 // 1 MPHI +#endif + +/* How many receive slots do we use. This times VCHI_MAX_MSG_SIZE gives the effective + * receive queue space, less message headers. */ +#ifndef VCHI_NUM_READ_SLOTS +# if defined(VCHI_LOCAL_HOST_PORT) +# define VCHI_NUM_READ_SLOTS 4 +# else +# define VCHI_NUM_READ_SLOTS 48 +# endif +#endif + +/* Do we utilise overrun facility for receive message slots? Can aid peer transmit + * performance. Only define on VideoCore end, talking to host. + */ +//#define VCHI_MSG_RX_OVERRUN + +/* How many transmit slots do we use. Generally don't need many, as the hardware driver + * underneath VCHI will usually have its own buffering. */ +#ifndef VCHI_NUM_WRITE_SLOTS +# define VCHI_NUM_WRITE_SLOTS 4 +#endif + +/* If a service has held or queued received messages in VCHI_XOFF_THRESHOLD or more slots, + * then it's taking up too much buffer space, and the peer service will be told to stop + * transmitting with an XOFF message. For this to be effective, the VCHI_NUM_READ_SLOTS + * needs to be considerably bigger than VCHI_NUM_WRITE_SLOTS, or the transmit latency + * is too high. */ +#ifndef VCHI_XOFF_THRESHOLD +# define VCHI_XOFF_THRESHOLD (VCHI_NUM_READ_SLOTS / 2) +#endif + +/* After we've sent an XOFF, the peer will be told to resume transmission once the local + * service has dequeued/released enough messages that it's now occupying + * VCHI_XON_THRESHOLD slots or fewer. */ +#ifndef VCHI_XON_THRESHOLD +# define VCHI_XON_THRESHOLD (VCHI_NUM_READ_SLOTS / 4) +#endif + +/* A size below which a bulk transfer omits the handshake completely and always goes + * via the message channel, if bulk auxiliary is being sent on that service. (The user + * can guarantee this by enabling unaligned transmits). + * Not API. */ +#ifndef VCHI_MIN_BULK_SIZE +# define VCHI_MIN_BULK_SIZE ( VCHI_MAX_MSG_SIZE / 2 < 4096 ? VCHI_MAX_MSG_SIZE / 2 : 4096 ) +#endif + +/* Maximum size of bulk transmission chunks, for each interface type. A trade-off between + * speed and latency; the smaller the chunk size the better change of messages and other + * bulk transmissions getting in when big bulk transfers are happening. Set to 0 to not + * break transmissions into chunks. + */ +#ifndef VCHI_MAX_BULK_CHUNK_SIZE_MPHI +# define VCHI_MAX_BULK_CHUNK_SIZE_MPHI (16 * 1024) +#endif + +/* NB Chunked CCP2 transmissions violate the letter of the CCP2 spec by using "JPEG8" mode + * with multiple-line frames. Only use if the receiver can cope. */ +#ifndef VCHI_MAX_BULK_CHUNK_SIZE_CCP2 +# define VCHI_MAX_BULK_CHUNK_SIZE_CCP2 0 +#endif + +/* How many TX messages can we have pending in our transmit slots. Once exhausted, + * vchi_msg_queue will be blocked. */ +#ifndef VCHI_TX_MSG_QUEUE_SIZE +# define VCHI_TX_MSG_QUEUE_SIZE 256 +#endif + +/* How many RX messages can we have parsed in the receive slots. Once exhausted, parsing + * will be suspended until older messages are dequeued/released. */ +#ifndef VCHI_RX_MSG_QUEUE_SIZE +# define VCHI_RX_MSG_QUEUE_SIZE 256 +#endif + +/* Really should be able to cope if we run out of received message descriptors, by + * suspending parsing as the comment above says, but we don't. This sweeps the issue + * under the carpet. */ +#if VCHI_RX_MSG_QUEUE_SIZE < (VCHI_MAX_MSG_SIZE/16 + 1) * VCHI_NUM_READ_SLOTS +# undef VCHI_RX_MSG_QUEUE_SIZE +# define VCHI_RX_MSG_QUEUE_SIZE (VCHI_MAX_MSG_SIZE/16 + 1) * VCHI_NUM_READ_SLOTS +#endif + +/* How many bulk transmits can we have pending. Once exhausted, vchi_bulk_queue_transmit + * will be blocked. */ +#ifndef VCHI_TX_BULK_QUEUE_SIZE +# define VCHI_TX_BULK_QUEUE_SIZE 64 +#endif + +/* How many bulk receives can we have pending. Once exhausted, vchi_bulk_queue_receive + * will be blocked. */ +#ifndef VCHI_RX_BULK_QUEUE_SIZE +# define VCHI_RX_BULK_QUEUE_SIZE 64 +#endif + +/* A limit on how many outstanding bulk requests we expect the peer to give us. If + * the peer asks for more than this, VCHI will fail and assert. The number is determined + * by the peer's hardware - it's the number of outstanding requests that can be queued + * on all bulk channels. VC3's MPHI peripheral allows 16. */ +#ifndef VCHI_MAX_PEER_BULK_REQUESTS +# define VCHI_MAX_PEER_BULK_REQUESTS 32 +#endif + +/* Define VCHI_CCP2TX_MANUAL_POWER if the host tells us when to turn the CCP2 + * transmitter on and off. + */ +/*#define VCHI_CCP2TX_MANUAL_POWER*/ + +#ifndef VCHI_CCP2TX_MANUAL_POWER + +/* Timeout (in milliseconds) for putting the CCP2TX interface into IDLE state. Set + * negative for no IDLE. + */ +# ifndef VCHI_CCP2TX_IDLE_TIMEOUT +# define VCHI_CCP2TX_IDLE_TIMEOUT 5 +# endif + +/* Timeout (in milliseconds) for putting the CCP2TX interface into OFF state. Set + * negative for no OFF. + */ +# ifndef VCHI_CCP2TX_OFF_TIMEOUT +# define VCHI_CCP2TX_OFF_TIMEOUT 1000 +# endif + +#endif /* VCHI_CCP2TX_MANUAL_POWER */ + +#endif /* VCHI_CFG_H_ */ + +/****************************** End of file **********************************/ diff --git a/opt/vc/include/interface/vchi/vchi_cfg_internal.h b/opt/vc/include/interface/vchi/vchi_cfg_internal.h new file mode 100644 index 000000000..13a0b83da --- /dev/null +++ b/opt/vc/include/interface/vchi/vchi_cfg_internal.h @@ -0,0 +1,65 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHI_CFG_INTERNAL_H_ +#define VCHI_CFG_INTERNAL_H_ + +/**************************************************************************************** + * Control optimisation attempts. + ***************************************************************************************/ + +// Don't use lots of short-term locks - use great long ones, reducing the overall locks-per-second +#define VCHI_COARSE_LOCKING + +// Avoid lock then unlock on exit from blocking queue operations (msg tx, bulk rx/tx) +// (only relevant if VCHI_COARSE_LOCKING) +#define VCHI_ELIDE_BLOCK_EXIT_LOCK + +// Avoid lock on non-blocking peek +// (only relevant if VCHI_COARSE_LOCKING) +#define VCHI_AVOID_PEEK_LOCK + +// Use one slot-handler thread per connection, rather than 1 thread dealing with all connections in rotation. +#define VCHI_MULTIPLE_HANDLER_THREADS + +// Put free descriptors onto the head of the free queue, rather than the tail, so that we don't thrash +// our way through the pool of descriptors. +#define VCHI_PUSH_FREE_DESCRIPTORS_ONTO_HEAD + +// Don't issue a MSG_AVAILABLE callback for every single message. Possibly only safe if VCHI_COARSE_LOCKING. +#define VCHI_FEWER_MSG_AVAILABLE_CALLBACKS + +// Don't use message descriptors for TX messages that don't need them +#define VCHI_MINIMISE_TX_MSG_DESCRIPTORS + +// Nano-locks for multiqueue +//#define VCHI_MQUEUE_NANOLOCKS + +// Lock-free(er) dequeuing +//#define VCHI_RX_NANOLOCKS + +#endif /*VCHI_CFG_INTERNAL_H_*/ diff --git a/opt/vc/include/interface/vchi/vchi_common.h b/opt/vc/include/interface/vchi/vchi_common.h new file mode 100644 index 000000000..0371f0964 --- /dev/null +++ b/opt/vc/include/interface/vchi/vchi_common.h @@ -0,0 +1,159 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Contains global defs used by submodules within vchi + +#ifndef VCHI_COMMON_H_ +#define VCHI_COMMON_H_ + + +//flags used when sending messages (must be bitmapped) +typedef enum +{ + VCHI_FLAGS_NONE = 0x0, + VCHI_FLAGS_BLOCK_UNTIL_OP_COMPLETE = 0x1, // waits for message to be received, or sent (NB. not the same as being seen on other side) + VCHI_FLAGS_CALLBACK_WHEN_OP_COMPLETE = 0x2, // run a callback when message sent + VCHI_FLAGS_BLOCK_UNTIL_QUEUED = 0x4, // return once the transfer is in a queue ready to go + VCHI_FLAGS_ALLOW_PARTIAL = 0x8, + VCHI_FLAGS_BLOCK_UNTIL_DATA_READ = 0x10, + VCHI_FLAGS_CALLBACK_WHEN_DATA_READ = 0x20, + + VCHI_FLAGS_ALIGN_SLOT = 0x000080, // internal use only + VCHI_FLAGS_BULK_AUX_QUEUED = 0x010000, // internal use only + VCHI_FLAGS_BULK_AUX_COMPLETE = 0x020000, // internal use only + VCHI_FLAGS_BULK_DATA_QUEUED = 0x040000, // internal use only + VCHI_FLAGS_BULK_DATA_COMPLETE = 0x080000, // internal use only + VCHI_FLAGS_INTERNAL = 0xFF0000 +} VCHI_FLAGS_T; + +// constants for vchi_crc_control() +typedef enum { + VCHI_CRC_NOTHING = -1, + VCHI_CRC_PER_SERVICE = 0, + VCHI_CRC_EVERYTHING = 1, +} VCHI_CRC_CONTROL_T; + +//callback reasons when an event occurs on a service +typedef enum +{ + VCHI_CALLBACK_REASON_MIN, + + //This indicates that there is data available + //handle is the msg id that was transmitted with the data + // When a message is received and there was no FULL message available previously, send callback + // Tasks get kicked by the callback, reset their event and try and read from the fifo until it fails + VCHI_CALLBACK_MSG_AVAILABLE, + VCHI_CALLBACK_MSG_SENT, + VCHI_CALLBACK_MSG_SPACE_AVAILABLE, // XXX not yet implemented + + // This indicates that a transfer from the other side has completed + VCHI_CALLBACK_BULK_RECEIVED, + //This indicates that data queued up to be sent has now gone + //handle is the msg id that was used when sending the data + VCHI_CALLBACK_BULK_SENT, + VCHI_CALLBACK_BULK_RX_SPACE_AVAILABLE, // XXX not yet implemented + VCHI_CALLBACK_BULK_TX_SPACE_AVAILABLE, // XXX not yet implemented + + VCHI_CALLBACK_SERVICE_CLOSED, + + // this side has sent XOFF to peer due to lack of data consumption by service + // (suggests the service may need to take some recovery action if it has + // been deliberately holding off consuming data) + VCHI_CALLBACK_SENT_XOFF, + VCHI_CALLBACK_SENT_XON, + + // indicates that a bulk transfer has finished reading the source buffer + VCHI_CALLBACK_BULK_DATA_READ, + + // power notification events (currently host side only) + VCHI_CALLBACK_PEER_OFF, + VCHI_CALLBACK_PEER_SUSPENDED, + VCHI_CALLBACK_PEER_ON, + VCHI_CALLBACK_PEER_RESUMED, + VCHI_CALLBACK_FORCED_POWER_OFF, + +#ifdef USE_VCHIQ_ARM + // some extra notifications provided by vchiq_arm + VCHI_CALLBACK_SERVICE_OPENED, + VCHI_CALLBACK_BULK_RECEIVE_ABORTED, + VCHI_CALLBACK_BULK_TRANSMIT_ABORTED, +#endif + + VCHI_CALLBACK_REASON_MAX +} VCHI_CALLBACK_REASON_T; + +//Calback used by all services / bulk transfers +typedef void (*VCHI_CALLBACK_T)( void *callback_param, //my service local param + VCHI_CALLBACK_REASON_T reason, + void *handle ); //for transmitting msg's only + + + +/* + * Define vector struct for scatter-gather (vector) operations + * Vectors can be nested - if a vector element has negative length, then + * the data pointer is treated as pointing to another vector array, with + * '-vec_len' elements. Thus to append a header onto an existing vector, + * you can do this: + * + * void foo(const VCHI_MSG_VECTOR_T *v, int n) + * { + * VCHI_MSG_VECTOR_T nv[2]; + * nv[0].vec_base = my_header; + * nv[0].vec_len = sizeof my_header; + * nv[1].vec_base = v; + * nv[1].vec_len = -n; + * ... + * + */ +typedef struct vchi_msg_vector { + const void *vec_base; + int32_t vec_len; +} VCHI_MSG_VECTOR_T; + +// Opaque type for a connection API +typedef struct opaque_vchi_connection_api_t VCHI_CONNECTION_API_T; + +// Opaque type for a message driver +typedef struct opaque_vchi_message_driver_t VCHI_MESSAGE_DRIVER_T; + + +// Iterator structure for reading ahead through received message queue. Allocated by client, +// initialised by vchi_msg_look_ahead. Fields are for internal VCHI use only. +// Iterates over messages in queue at the instant of the call to vchi_msg_lookahead - +// will not proceed to messages received since. Behaviour is undefined if an iterator +// is used again after messages for that service are removed/dequeued by any +// means other than vchi_msg_iter_... calls on the iterator itself. +typedef struct { + struct opaque_vchi_service_t *service; + void *last; + void *next; + void *remove; +} VCHI_MSG_ITER_T; + + +#endif // VCHI_COMMON_H_ diff --git a/opt/vc/include/interface/vchi/vchi_mh.h b/opt/vc/include/interface/vchi/vchi_mh.h new file mode 100644 index 000000000..a8d78c8e1 --- /dev/null +++ b/opt/vc/include/interface/vchi/vchi_mh.h @@ -0,0 +1,36 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHI_MH_H_ +#define VCHI_MH_H_ + +#include + +typedef int32_t VCHI_MEM_HANDLE_T; +#define VCHI_MEM_HANDLE_INVALID 0 + +#endif diff --git a/opt/vc/include/interface/vchiq_arm/vchiq.h b/opt/vc/include/interface/vchiq_arm/vchiq.h new file mode 100644 index 000000000..5995e82c5 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq.h @@ -0,0 +1,36 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_VCHIQ_H +#define VCHIQ_VCHIQ_H + +#include "vchiq_if.h" +#include "vchiq_util.h" +#include "interface/vcos/vcos.h" + +#endif + diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_2835.h b/opt/vc/include/interface/vchiq_arm/vchiq_2835.h new file mode 100644 index 000000000..9fd1fb167 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_2835.h @@ -0,0 +1,36 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_2835_H +#define VCHIQ_2835_H + +#include "vchiq_pagelist.h" + +#define VCHIQ_PLATFORM_FRAGMENTS_OFFSET_IDX 0 +#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX 1 + +#endif /* VCHIQ_2835_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_2835_vc.h b/opt/vc/include/interface/vchiq_arm/vchiq_2835_vc.h new file mode 100644 index 000000000..0ab198bce --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_2835_vc.h @@ -0,0 +1,37 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_2835_VC_H +#define VCHIQ_2835_VC_H + +#include "vcfw/drivers/chip/arm.h" + +extern VCHIQ_STATUS_T +vchiq_vc_initialise(const ARM_DRIVER_T *arm, DRIVER_HANDLE_T handle, + uint32_t channelbase); + +#endif /* VCHIQ_2835_VC_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_arm.h b/opt/vc/include/interface/vchiq_arm/vchiq_arm.h new file mode 100644 index 000000000..f54cc3af2 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_arm.h @@ -0,0 +1,127 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_ARM_H +#define VCHIQ_ARM_H + +#include "vchiq_core.h" + + +typedef struct vchiq_arm_state_struct { + + VCOS_THREAD_T lp_thread; /* processes low priority messages (eg suspend) */ + VCOS_THREAD_T hp_thread; /* processes high priority messages (eg resume) */ + + VCOS_EVENT_T lp_evt; + VCOS_EVENT_T hp_evt; + + VCOS_MUTEX_T use_count_mutex; + VCOS_MUTEX_T suspend_resume_mutex; + + int suspend_pending; + + /* Global use count for videocore. + * This is equal to the sum of the use counts for all services. When this hits + * zero the videocore suspend procedure will be initiated. */ + int videocore_use_count; + + /* Use count to track requests from videocore peer. + * This use count is not associated with a service, so needs to be tracked separately + * with the state. + */ + int peer_use_count; + + /* Flag to indicate whether videocore is currently suspended */ + int videocore_suspended; + + /* Flag to indicate whether a notification is pending back to videocore that it's + * "remote use request" has been actioned */ + int use_notify_pending; +} VCHIQ_ARM_STATE_T; + + +extern VCOS_LOG_CAT_T vchiq_arm_log_category; + +extern int __init +vchiq_platform_vcos_init(void); + +extern int __init +vchiq_platform_init(VCHIQ_STATE_T *state); + +extern void __exit +vchiq_platform_exit(VCHIQ_STATE_T *state); + +extern VCHIQ_STATE_T * +vchiq_get_state(void); + +extern VCHIQ_STATUS_T +vchiq_arm_vcsuspend(VCHIQ_STATE_T *state); + +extern VCHIQ_STATUS_T +vchiq_arm_vcresume(VCHIQ_STATE_T *state); + +extern VCHIQ_STATUS_T +vchiq_arm_init_state(VCHIQ_STATE_T *state, VCHIQ_ARM_STATE_T *arm_state); + +extern void +vchiq_check_resume(VCHIQ_STATE_T* state); + +extern void +vchiq_check_suspend(VCHIQ_STATE_T* state); + +extern VCHIQ_STATUS_T +vchiq_use_service(VCHIQ_SERVICE_HANDLE_T handle); + +extern VCHIQ_STATUS_T +vchiq_release_service(VCHIQ_SERVICE_HANDLE_T handle); + +extern VCHIQ_STATUS_T +vchiq_check_service(VCHIQ_SERVICE_T * service); + +extern VCHIQ_STATUS_T +vchiq_platform_suspend(VCHIQ_STATE_T *state); + +extern VCHIQ_STATUS_T +vchiq_platform_resume(VCHIQ_STATE_T *state); + +extern int +vchiq_platform_videocore_wanted(VCHIQ_STATE_T* state); + +extern int +vchiq_platform_use_suspend_timer(void); + +extern void +vchiq_dump_platform_use_state(VCHIQ_STATE_T *state); + +extern void +vchiq_dump_service_use_state(VCHIQ_STATE_T *state); + +extern VCHIQ_ARM_STATE_T* +vchiq_platform_get_arm_state(VCHIQ_STATE_T *state); + + +#endif /* VCHIQ_ARM_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_bi.h b/opt/vc/include/interface/vchiq_arm/vchiq_bi.h new file mode 100644 index 000000000..f4092f290 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_bi.h @@ -0,0 +1,33 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_BI_H +#define VCHIQ_BI_H + +#include "vchiq_kona.h" + +#endif /* VCHIQ_BI_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_bi_ipc_shared_mem.h b/opt/vc/include/interface/vchiq_arm/vchiq_bi_ipc_shared_mem.h new file mode 100644 index 000000000..c9f71192a --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_bi_ipc_shared_mem.h @@ -0,0 +1,87 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Header file for core VCHIQ logic + +#if !defined( IPC_SHARED_MEM_H ) +#define IPC_SHARED_MEM_H + +/**************************************************************************** +* +* Shared memory offsets +* +* On big island, we have 160K of shared memory which is used for +* communicating between the host and the videocore. +* +* These constants are used as offsets into that area and as such, need +* to go into some shared header file. +* +* The places which use these constants: +* +* vc4/src/interface/vchiq_arm_bi/big_island/vchiq_bi_vc.c +* vc4/src/interface/vchiq_arm_bi/vchiq_memdrv.c +* vc4/src/vcfw/platform/broadcom/bcm911160-tablet/platform.c (for gpio) +* vc4/src/vcfw/drivers/chip/vciv/2708/clock_bigisland.c +* +* The shared memory is 160K or 0x28000 +* +***************************************************************************/ + +/* + * The PM stuff uses the low 32K of SRAM. + * + * Any changes to IPC_SHARED_MEM_VC_OFFSET must also be made to + * BCMHANA_ARAM_VC_OFFSET in linux/target/kernel/added/arch/arm/mach-bcmhana/include/mach/aram_layout.h + */ + + +#define IPC_SHARED_MEM_VC_OFFSET 0x08000 /* 32K used for PM suspend/resume */ + +/* + * The following offsets are relative to SRAM-BASE + IPC_SHARED_MEM_VC_OFFSET + */ + +#define IPC_SHARED_MEM_CHANNEL_VC_OFFSET ( 0 ) +#define IPC_SHARED_MEM_CHANNEL_VC_SIZE 0x8000 /* 32K */ + +#define IPC_SHARED_MEM_CHANNEL_ARM_OFFSET ( IPC_SHARED_MEM_CHANNEL_VC_OFFSET + IPC_SHARED_MEM_CHANNEL_VC_SIZE ) +#define IPC_SHARED_MEM_CHANNEL_ARM_SIZE 0x8000 /* 32K */ + +#define IPC_SHARED_MEM_FRAGMENTS_OFFSET ( IPC_SHARED_MEM_CHANNEL_ARM_OFFSET + IPC_SHARED_MEM_CHANNEL_ARM_SIZE ) +#define IPC_SHARED_MEM_FRAGMENTS_SIZE 0x01000 /* 4K */ + +#define IPC_SHARED_MEM_CLOCK_DEBUG_OFFSET ( 0x26000 - IPC_SHARED_MEM_VC_OFFSET ) /* 4 bytes */ +#define IPC_SHARED_MEM_GPIO_WRITE_OFFSET ( 0x26200 - IPC_SHARED_MEM_VC_OFFSET ) /* 4 bytes */ +#define IPC_SHARED_MEM_GPIO_READ_OFFSET ( 0x26204 - IPC_SHARED_MEM_VC_OFFSET ) /* 4 bytes */ + +#define IPC_SHARED_MEM_VC_AVOID (0x3000) +#define IPC_SHARED_MEM_SLOTS (IPC_SHARED_MEM_BASE + \ + IPC_SHARED_MEM_VC_OFFSET + IPC_SHARED_MEM_VC_AVOID) +#define IPC_SHARED_MEM_SLOTS_SIZE (IPC_SHARED_MEM_CLOCK_DEBUG_OFFSET - \ + IPC_SHARED_MEM_VC_AVOID) + +#endif /* IPC_SHARED_MEM_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_bivcm.h b/opt/vc/include/interface/vchiq_arm/vchiq_bivcm.h new file mode 100644 index 000000000..a66951eee --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_bivcm.h @@ -0,0 +1,37 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_BIVCM_H +#define VCHIQ_BIVCM_H + +#include "vchiq_kona.h" +#include "vchiq_pagelist.h" + +#define VCHIQ_PLATFORM_FRAGMENTS_OFFSET_IDX 0 +#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX 1 + +#endif /* VCHIQ_BIVCM_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_cfg.h b/opt/vc/include/interface/vchiq_arm/vchiq_cfg.h new file mode 100644 index 000000000..bd976e45a --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_cfg.h @@ -0,0 +1,54 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_CFG_H +#define VCHIQ_CFG_H + +#define VCHIQ_MAGIC VCHIQ_MAKE_FOURCC('V', 'C', 'H', 'I') +/* The version of VCHIQ - change with any non-trivial change */ +#define VCHIQ_VERSION 5 +/* The minimum compatible version - update to match VCHIQ_VERSION with any +** incompatible change */ +#define VCHIQ_VERSION_MIN 3 + +#define VCHIQ_MAX_STATES 2 +#define VCHIQ_MAX_SERVICES 4096 +#define VCHIQ_MAX_SLOTS 128 +#define VCHIQ_MAX_SLOTS_PER_SIDE 64 + +#define VCHIQ_NUM_CURRENT_BULKS 32 +#define VCHIQ_NUM_SERVICE_BULKS 4 + +#ifndef VCHIQ_ENABLE_DEBUG +#define VCHIQ_ENABLE_DEBUG 1 +#endif + +#ifndef VCHIQ_ENABLE_STATS +#define VCHIQ_ENABLE_STATS 1 +#endif + +#endif /* VCHIQ_CFG_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_connected.h b/opt/vc/include/interface/vchiq_arm/vchiq_connected.h new file mode 100644 index 000000000..174987e1e --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_connected.h @@ -0,0 +1,45 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_CONNECTED_H +#define VCHIQ_CONNECTED_H + +/* ---- Include Files ----------------------------------------------------- */ + +/* ---- Constants and Types ---------------------------------------------- */ + +typedef void (*VCHIQ_CONNECTED_CALLBACK_T)( void ); + +/* ---- Variable Externs ------------------------------------------------- */ + +/* ---- Function Prototypes ---------------------------------------------- */ + +void vchiq_add_connected_callback( VCHIQ_CONNECTED_CALLBACK_T callback ); +void vchiq_call_connected_callbacks( void ); + +#endif /* VCHIQ_CONNECTED_H */ + diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_core.h b/opt/vc/include/interface/vchiq_arm/vchiq_core.h new file mode 100644 index 000000000..b1803b01d --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_core.h @@ -0,0 +1,536 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_CORE_H +#define VCHIQ_CORE_H + +#include "vchiq_cfg.h" + +#include "vchiq.h" + +#define IS_POW2(x) (x && ((x & (x - 1)) == 0)) + +/* Ensure that the slot size and maximum number of slots are powers of 2 */ +vcos_static_assert(IS_POW2(VCHIQ_SLOT_SIZE)); +vcos_static_assert(IS_POW2(VCHIQ_MAX_SLOTS)); +vcos_static_assert(IS_POW2(VCHIQ_MAX_SLOTS_PER_SIDE)); + +#define VCHIQ_SLOT_MASK (VCHIQ_SLOT_SIZE - 1) +#define VCHIQ_SLOT_QUEUE_MASK (VCHIQ_MAX_SLOTS_PER_SIDE - 1) +#define VCHIQ_SLOT_ZERO_SLOTS ((sizeof(VCHIQ_SLOT_ZERO_T) + \ + VCHIQ_SLOT_SIZE - 1) / VCHIQ_SLOT_SIZE) + +#define VCHIQ_MSG_PADDING 0 // - +#define VCHIQ_MSG_CONNECT 1 // - +#define VCHIQ_MSG_OPEN 2 // + (srcport, -), fourcc, client_id +#define VCHIQ_MSG_OPENACK 3 // + (srcport, dstport) +#define VCHIQ_MSG_CLOSE 4 // + (srcport, dstport) +#define VCHIQ_MSG_DATA 5 // + (srcport, dstport) +#define VCHIQ_MSG_BULK_RX 6 // + (srcport, dstport), data, size +#define VCHIQ_MSG_BULK_TX 7 // + (srcport, dstport), data, size +#define VCHIQ_MSG_BULK_RX_DONE 8 // + (srcport, dstport), actual +#define VCHIQ_MSG_BULK_TX_DONE 9 // + (srcport, dstport), actual +#define VCHIQ_MSG_PAUSE 10 // - +#define VCHIQ_MSG_RESUME 11 // - +#define VCHIQ_MSG_REMOTE_USE 12 // - +#define VCHIQ_MSG_REMOTE_RELEASE 13 // - +#define VCHIQ_MSG_REMOTE_USE_ACTIVE 14 // - + +#define VCHIQ_PORT_MAX (VCHIQ_MAX_SERVICES - 1) +#define VCHIQ_PORT_FREE 0x1000 +#define VCHIQ_PORT_IS_VALID(port) (port < VCHIQ_PORT_FREE) +#define VCHIQ_MAKE_MSG(type,srcport,dstport) ((type<<24) | (srcport<<12) | (dstport<<0)) +#define VCHIQ_MSG_TYPE(msgid) ((unsigned int)msgid >> 24) +#define VCHIQ_MSG_SRCPORT(msgid) (unsigned short)(((unsigned int)msgid >> 12) & 0xfff) +#define VCHIQ_MSG_DSTPORT(msgid) ((unsigned short)msgid & 0xfff) + +#define VCHIQ_FOURCC_AS_4CHARS(fourcc) \ + ((fourcc) >> 24) & 0xff, \ + ((fourcc) >> 16) & 0xff, \ + ((fourcc) >> 8) & 0xff, \ + ((fourcc) ) & 0xff + +/* Ensure the fields are wide enough */ +vcos_static_assert(VCHIQ_MSG_SRCPORT(VCHIQ_MAKE_MSG(0,0,VCHIQ_PORT_MAX)) == 0); +vcos_static_assert(VCHIQ_MSG_TYPE(VCHIQ_MAKE_MSG(0,VCHIQ_PORT_MAX,0)) == 0); +vcos_static_assert((unsigned int)VCHIQ_PORT_MAX < (unsigned int)VCHIQ_PORT_FREE); + +#define VCHIQ_MSGID_PADDING VCHIQ_MAKE_MSG(VCHIQ_MSG_PADDING,0,0) +#define VCHIQ_MSGID_CLAIMED 0x40000000 + +#define VCHIQ_FOURCC_INVALID 0x00000000 +#define VCHIQ_FOURCC_IS_LEGAL(fourcc) (fourcc != VCHIQ_FOURCC_INVALID) + +#define VCHIQ_BULK_ACTUAL_ABORTED -1 + +typedef uint32_t BITSET_T; + +vcos_static_assert((sizeof(BITSET_T) * 8) == 32); + +#define BITSET_SIZE(b) ((b + 31) >> 5) +#define BITSET_WORD(b) (b >> 5) +#define BITSET_BIT(b) (1 << (b & 31)) +#define BITSET_ZERO(bs) memset(bs, 0, sizeof(bs)) +#define BITSET_IS_SET(bs, b) (bs[BITSET_WORD(b)] & BITSET_BIT(b)) +#define BITSET_SET(bs, b) (bs[BITSET_WORD(b)] |= BITSET_BIT(b)) +#define BITSET_CLR(bs, b) (bs[BITSET_WORD(b)] &= ~BITSET_BIT(b)) + +#if VCHIQ_ENABLE_STATS +#define VCHIQ_STATS_INC(state, stat) (state->stats. stat ++) +#define VCHIQ_SERVICE_STATS_INC(service, stat) (service->stats. stat ++) +#define VCHIQ_SERVICE_STATS_ADD(service, stat, addend) (service->stats. stat += addend) +#else +#define VCHIQ_STATS_INC(state, stat) ((void)0) +#define VCHIQ_SERVICE_STATS_INC(service, stat) ((void)0) +#define VCHIQ_SERVICE_STATS_ADD(service, stat, addend) ((void)0) +#endif + +enum +{ + DEBUG_ENTRIES, +#if VCHIQ_ENABLE_DEBUG + DEBUG_SLOT_HANDLER_COUNT, + DEBUG_SLOT_HANDLER_LINE, + DEBUG_PARSE_LINE, + DEBUG_PARSE_HEADER, + DEBUG_PARSE_MSGID, + DEBUG_AWAIT_COMPLETION_LINE, + DEBUG_DEQUEUE_MESSAGE_LINE, + DEBUG_SERVICE_CALLBACK_LINE, + DEBUG_MSG_QUEUE_FULL_COUNT, + DEBUG_COMPLETION_QUEUE_FULL_COUNT, +#endif + DEBUG_MAX +}; + +#if VCHIQ_ENABLE_DEBUG + +#define DEBUG_INITIALISE(local) volatile int *debug_ptr = (local)->debug; +#define DEBUG_TRACE(d) debug_ptr[DEBUG_ ## d] = __LINE__ +#define DEBUG_VALUE(d,v) debug_ptr[DEBUG_ ## d] = (v) +#define DEBUG_COUNT(d) debug_ptr[DEBUG_ ## d]++ + +#else /* VCHIQ_ENABLE_DEBUG */ + +#define DEBUG_INITIALISE(local) +#define DEBUG_TRACE(d) +#define DEBUG_VALUE(d,v) +#define DEBUG_COUNT(d) + +#endif /* VCHIQ_ENABLE_DEBUG */ + +typedef enum +{ + VCHIQ_CONNSTATE_DISCONNECTED, + VCHIQ_CONNSTATE_CONNECTING, + VCHIQ_CONNSTATE_CONNECTED, + VCHIQ_CONNSTATE_PAUSING, + VCHIQ_CONNSTATE_PAUSE_SENT, + VCHIQ_CONNSTATE_PAUSED, + VCHIQ_CONNSTATE_RESUMING +} VCHIQ_CONNSTATE_T; + +enum +{ + VCHIQ_SRVSTATE_FREE, + VCHIQ_SRVSTATE_HIDDEN, + VCHIQ_SRVSTATE_LISTENING, + VCHIQ_SRVSTATE_OPENING, + VCHIQ_SRVSTATE_OPEN, + VCHIQ_SRVSTATE_OPENSYNC, + VCHIQ_SRVSTATE_CLOSESENT, + VCHIQ_SRVSTATE_CLOSING, + VCHIQ_SRVSTATE_CLOSEWAIT +}; + +enum +{ + VCHIQ_POLL_TERMINATE, + VCHIQ_POLL_TXNOTIFY, + VCHIQ_POLL_RXNOTIFY, + VCHIQ_POLL_COUNT +}; + +typedef enum +{ + VCHIQ_BULK_TRANSMIT, + VCHIQ_BULK_RECEIVE +} VCHIQ_BULK_DIR_T; + +typedef struct vchiq_bulk_struct { + short mode; + short dir; + void *userdata; + VCHI_MEM_HANDLE_T handle; + void *data; + int size; + void *remote_data; + int remote_size; + int actual; +} VCHIQ_BULK_T; + +typedef struct vchiq_bulk_queue_struct { + int local_insert; /* Where to insert the next local bulk */ + int remote_insert; /* Where to insert the next remote bulk (master) */ + int process; /* Bulk to transfer next */ + int remote_notify; /* Bulk to notify the remote client of next (master) */ + int remove; /* Bulk to notify the local client of, and remove, next */ + VCHIQ_BULK_T bulks[VCHIQ_NUM_SERVICE_BULKS]; +} VCHIQ_BULK_QUEUE_T; + +typedef struct remote_event_struct { + volatile int armed; + volatile int fired; + VCOS_EVENT_T * event; +} REMOTE_EVENT_T; + +typedef struct opaque_platform_state_t* VCHIQ_PLATFORM_STATE_T; + +typedef struct vchiq_state_struct VCHIQ_STATE_T; + +typedef struct vchiq_slot_struct { + char data[VCHIQ_SLOT_SIZE]; +} VCHIQ_SLOT_T; + +typedef struct vchiq_slot_info_struct { + /* Use two counters rather than one to avoid the need for a mutex. */ + volatile short use_count; + volatile short release_count; +} VCHIQ_SLOT_INFO_T; + +typedef struct vchiq_service_struct { + VCHIQ_SERVICE_BASE_T base; + volatile int srvstate; + unsigned int localport; + unsigned int remoteport; + int public_fourcc; + int client_id; + char auto_close; + char sync; + VCOS_ATOMIC_FLAGS_T poll_flags; + short version; + short version_min; + + VCHIQ_STATE_T *state; + VCHIQ_INSTANCE_T instance; + + int service_use_count; + + VCHIQ_BULK_QUEUE_T bulk_tx; + VCHIQ_BULK_QUEUE_T bulk_rx; + + VCOS_EVENT_T remove_event; + VCOS_EVENT_T bulk_remove_event; + VCOS_MUTEX_T bulk_mutex; + + struct service_stats_struct + { + int quota_stalls; + int slot_stalls; + int bulk_stalls; + int error_count; + int ctrl_tx_count; + int ctrl_rx_count; + int bulk_tx_count; + int bulk_rx_count; + int bulk_aborted_count; + uint64_t ctrl_tx_bytes; + uint64_t ctrl_rx_bytes; + uint64_t bulk_tx_bytes; + uint64_t bulk_rx_bytes; + } stats; +} VCHIQ_SERVICE_T; + +/* The quota information is outside VCHIQ_SERVICE_T so that it can be + statically allocated, since for accounting reasons a service's slot + usage is carried over between users of the same port number. + */ +typedef struct vchiq_service_quota_struct { + unsigned short slot_quota; + unsigned short slot_use_count; + unsigned short message_quota; + unsigned short message_use_count; + VCOS_EVENT_T quota_event; + int previous_tx_index; +} VCHIQ_SERVICE_QUOTA_T; + +typedef struct vchiq_shared_state_struct { + + /* A non-zero value here indicates that the content is valid. */ + int initialised; + + /* The first and last (inclusive) slots allocated to the owner. */ + int slot_first; + int slot_last; + + /* The slot allocated to synchronous messages from the owner. */ + int slot_sync; + + /* Signalling this event indicates that owner's slot handler thread should + run. */ + REMOTE_EVENT_T trigger; + + /* Indicates the byte position within the stream where the next message + will be written. The least significant bits are an index into the slot. + The next bits are the index of the slot in slot_queue. */ + volatile int tx_pos; + + /* This event should be signalled when a slot is recycled. */ + REMOTE_EVENT_T recycle; + + /* The slot_queue index where the next recycled slot will be written. */ + volatile int slot_queue_recycle; + + /* This event should be signalled when a synchronous message is sent. */ + REMOTE_EVENT_T sync_trigger; + + /* This event should be signalled when a synchronous message has been released. */ + REMOTE_EVENT_T sync_release; + + /* A circular buffer of slot indexes. */ + int slot_queue[VCHIQ_MAX_SLOTS_PER_SIDE]; + + /* Debugging state */ + volatile int debug[DEBUG_MAX]; +} VCHIQ_SHARED_STATE_T; + +typedef struct vchiq_slot_zero_struct { + int magic; + short version; + short version_min; + int slot_zero_size; + int slot_size; + int max_slots; + int max_slots_per_side; + int platform_data[2]; + VCHIQ_SHARED_STATE_T master; + VCHIQ_SHARED_STATE_T slave; + VCHIQ_SLOT_INFO_T slots[VCHIQ_MAX_SLOTS]; +} VCHIQ_SLOT_ZERO_T; + +struct vchiq_state_struct { + int id; + int initialised; + VCHIQ_CONNSTATE_T conn_state; + int is_master; + + VCHIQ_SHARED_STATE_T *local; + VCHIQ_SHARED_STATE_T *remote; + VCHIQ_SLOT_T *slot_data; + + unsigned short default_slot_quota; + unsigned short default_message_quota; + + VCOS_EVENT_T connect; // event indicating connect message received + VCOS_MUTEX_T mutex; // mutex protecting services + VCHIQ_INSTANCE_T *instance; + + VCOS_THREAD_T slot_handler_thread; // processes incoming messages + VCOS_THREAD_T recycle_thread; // processes recycled slots + VCOS_THREAD_T sync_thread; // processes synchronous messages + + /* Local implementation of the trigger remote event */ + VCOS_EVENT_T trigger_event; + + /* Local implementation of the recycle remote event */ + VCOS_EVENT_T recycle_event; + + /* Local implementation of the sync trigger remote event */ + VCOS_EVENT_T sync_trigger_event; + + /* Local implementation of the sync release remote event */ + VCOS_EVENT_T sync_release_event; + + char *tx_data; + char *rx_data; + VCHIQ_SLOT_INFO_T *rx_info; + + VCOS_MUTEX_T slot_mutex; + + VCOS_MUTEX_T recycle_mutex; + + VCOS_MUTEX_T sync_mutex; + + /* Indicates the byte position within the stream from where the next message + will be read. The least significant bits are an index into the slot. + The next bits are the index of the slot in remote->slot_queue. */ + int rx_pos; + + /* A cached copy of local->tx_pos. Only write to local->tx_pos, and read + from remote->tx_pos. */ + int local_tx_pos; + + /* The slot_queue index of the slot to become available next. */ + int slot_queue_available; + + /* A flag to indicate if any poll has been requested */ + int poll_needed; + + /* An array of bit sets indicating which services must be polled. */ + VCOS_ATOMIC_FLAGS_T poll_services[BITSET_SIZE(VCHIQ_MAX_SERVICES)]; + + /* The number of the first unused service */ + int unused_service; + + /* Signalled when a free slot becomes available. */ + VCOS_EVENT_T slot_available_event; + + VCOS_EVENT_T slot_remove_event; + + struct state_stats_struct + { + int slot_stalls; + int ctrl_tx_count; + int ctrl_rx_count; + int error_count; + } stats; + + VCHIQ_SERVICE_T *services[VCHIQ_MAX_SERVICES]; + VCHIQ_SERVICE_QUOTA_T service_quotas[VCHIQ_MAX_SERVICES]; + VCHIQ_SLOT_INFO_T slot_info[VCHIQ_MAX_SLOTS]; + + VCHIQ_PLATFORM_STATE_T platform_state; +}; + +extern VCHIQ_SLOT_ZERO_T * +vchiq_init_slots(void *mem_base, int mem_size); + +extern VCHIQ_STATUS_T +vchiq_init_state(VCHIQ_STATE_T *state, VCHIQ_SLOT_ZERO_T *slot_zero, int is_master); + +extern VCHIQ_STATUS_T +vchiq_connect_internal(VCHIQ_STATE_T *state, VCHIQ_INSTANCE_T instance); + +extern VCHIQ_SERVICE_T * +vchiq_add_service_internal(VCHIQ_STATE_T *state, + const VCHIQ_SERVICE_PARAMS_T *params, int srvstate, + VCHIQ_INSTANCE_T instance); + +extern VCHIQ_STATUS_T +vchiq_open_service_internal(VCHIQ_SERVICE_T *service, int client_id); + +extern VCHIQ_STATUS_T +vchiq_close_service_internal(VCHIQ_SERVICE_T *service, int close_recvd); + +extern void +vchiq_terminate_service_internal(VCHIQ_SERVICE_T *service); + +extern void +vchiq_free_service_internal(VCHIQ_SERVICE_T *service); + +extern VCHIQ_STATUS_T +vchiq_shutdown_internal(VCHIQ_STATE_T *state, VCHIQ_INSTANCE_T instance); + +extern VCHIQ_STATUS_T +vchiq_pause_internal(VCHIQ_STATE_T *state); + +extern VCHIQ_STATUS_T +vchiq_resume_internal(VCHIQ_STATE_T *state); + +extern void +remote_event_pollall(VCHIQ_STATE_T *state); + +extern VCHIQ_STATUS_T +vchiq_bulk_transfer(VCHIQ_SERVICE_T *service, + VCHI_MEM_HANDLE_T memhandle, void *offset, int size, void *userdata, + VCHIQ_BULK_MODE_T mode, VCHIQ_BULK_DIR_T dir); + +extern void +vchiq_dump_state(void *dump_context, VCHIQ_STATE_T *state); + +extern void +vchiq_dump_service_state(void *dump_context, VCHIQ_SERVICE_T *service); + +/* The following functions are called from vchiq_core, and external + implementations must be provided. */ + +extern VCHIQ_STATUS_T +vchiq_prepare_bulk_data(VCHIQ_BULK_T *bulk, + VCHI_MEM_HANDLE_T memhandle, void *offset, int size, int dir); + +extern void +vchiq_transfer_bulk(VCHIQ_BULK_T *bulk); + +extern void +vchiq_complete_bulk(VCHIQ_BULK_T *bulk); + +extern VCHIQ_STATUS_T +vchiq_copy_from_user(void *dst, const void *src, int size); + +extern void +remote_event_signal(REMOTE_EVENT_T *event); + +extern void +vchiq_platform_paused(VCHIQ_STATE_T *state); + +extern void +vchiq_platform_resumed(VCHIQ_STATE_T *state); + +extern void +vchiq_dump(void *dump_context, const char *str, int len); + +extern void +vchiq_dump_platform_state(void *dump_context); + +extern void +vchiq_dump_platform_instances(void *dump_context); + +extern void +vchiq_dump_platform_service_state(void *dump_context, + VCHIQ_SERVICE_T *service); + +extern VCHIQ_STATUS_T +vchiq_use_service_internal(VCHIQ_SERVICE_T *service); + +extern VCHIQ_STATUS_T +vchiq_release_service_internal(VCHIQ_SERVICE_T *service); + +extern VCHIQ_STATUS_T +vchiq_on_remote_use(VCHIQ_STATE_T *state); + +extern VCHIQ_STATUS_T +vchiq_on_remote_release(VCHIQ_STATE_T *state); + +extern VCHIQ_STATUS_T +vchiq_platform_init_state(VCHIQ_STATE_T *state); + +extern void +vchiq_on_remote_use_active(VCHIQ_STATE_T *state); + +extern VCHIQ_STATUS_T +vchiq_send_remote_use(VCHIQ_STATE_T * state); + +extern VCHIQ_STATUS_T +vchiq_send_remote_release(VCHIQ_STATE_T * state); + +extern VCHIQ_STATUS_T +vchiq_send_remote_use_active(VCHIQ_STATE_T * state); + +extern void +vchiq_platform_conn_state_changed(VCHIQ_STATE_T* state, VCHIQ_CONNSTATE_T oldstate, VCHIQ_CONNSTATE_T newstate); + +#endif diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_if.h b/opt/vc/include/interface/vchiq_arm/vchiq_if.h new file mode 100644 index 000000000..81442bd4b --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_if.h @@ -0,0 +1,189 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_IF_H +#define VCHIQ_IF_H + +#include "interface/vchi/vchi_mh.h" + +#define VCHIQ_SERVICE_HANDLE_INVALID 0 + +#define VCHIQ_SLOT_SIZE 4096 +#define VCHIQ_MAX_MSG_SIZE (VCHIQ_SLOT_SIZE - sizeof(VCHIQ_HEADER_T)) +#define VCHIQ_CHANNEL_SIZE VCHIQ_MAX_MSG_SIZE /* For backwards compatibility */ + +#define VCHIQ_MAKE_FOURCC(x0, x1, x2, x3) (((x0) << 24) | ((x1) << 16) | ((x2) << 8) | (x3)) +#define VCHIQ_GET_SERVICE_USERDATA(service) vchiq_get_service_userdata(service) +#define VCHIQ_GET_SERVICE_FOURCC(service) vchiq_get_service_fourcc(service) + +typedef enum { + VCHIQ_SERVICE_OPENED, // service, -, - + VCHIQ_SERVICE_CLOSED, // service, -, - + VCHIQ_MESSAGE_AVAILABLE, // service, header, - + VCHIQ_BULK_TRANSMIT_DONE, // service, -, bulk_userdata + VCHIQ_BULK_RECEIVE_DONE, // service, -, bulk_userdata + VCHIQ_BULK_TRANSMIT_ABORTED, // service, -, bulk_userdata + VCHIQ_BULK_RECEIVE_ABORTED // service, -, bulk_userdata +} VCHIQ_REASON_T; + +typedef enum +{ + VCHIQ_ERROR = -1, + VCHIQ_SUCCESS = 0, + VCHIQ_RETRY = 1 +} VCHIQ_STATUS_T; + +typedef enum +{ + VCHIQ_BULK_MODE_CALLBACK, + VCHIQ_BULK_MODE_BLOCKING, + VCHIQ_BULK_MODE_NOCALLBACK +} VCHIQ_BULK_MODE_T; + +typedef enum +{ + VCHIQ_SERVICE_OPTION_AUTOCLOSE, + VCHIQ_SERVICE_OPTION_SLOT_QUOTA, + VCHIQ_SERVICE_OPTION_MESSAGE_QUOTA, + VCHIQ_SERVICE_OPTION_SYNCHRONOUS +} VCHIQ_SERVICE_OPTION_T; + +#ifdef __HIGHC__ +/* Allow zero-sized arrays without warnings */ +#pragma warning (push) +#pragma warning (disable : 4200) +#endif + +typedef struct vchiq_header_struct { + /* The message identifier - opaque to applications. */ + int msgid; + + /* Size of message data. */ + unsigned int size; + + char data[0]; /* message */ +} VCHIQ_HEADER_T; + +#ifdef __HIGHC__ +#pragma warning (pop) +#endif + +typedef struct { + const void *data; + int size; +} VCHIQ_ELEMENT_T; + +typedef unsigned int VCHIQ_SERVICE_HANDLE_T; + +typedef VCHIQ_STATUS_T (*VCHIQ_CALLBACK_T)(VCHIQ_REASON_T, VCHIQ_HEADER_T *, + VCHIQ_SERVICE_HANDLE_T, void *); + +typedef struct vchiq_service_base_struct { + int fourcc; + VCHIQ_CALLBACK_T callback; + void *userdata; +} VCHIQ_SERVICE_BASE_T; + +typedef struct vchiq_service_params_struct { + int fourcc; + VCHIQ_CALLBACK_T callback; + void *userdata; + short version; /* Increment for non-trivial changes */ + short version_min; /* Update for incompatible changes */ +} VCHIQ_SERVICE_PARAMS_T; + +typedef struct vchiq_config_struct { + int max_msg_size; + int bulk_threshold; /* The message size aboce which it is better to use + a bulk transfer (<= max_msg_size) */ + int max_outstanding_bulks; + int max_services; + short version; /* The version of VCHIQ */ + short version_min; /* The minimum compatible version of VCHIQ */ +} VCHIQ_CONFIG_T; + +typedef struct vchiq_instance_struct *VCHIQ_INSTANCE_T; +typedef void (*VCHIQ_REMOTE_USE_CALLBACK_T)(void* cb_arg); + + +extern VCHIQ_STATUS_T vchiq_initialise(VCHIQ_INSTANCE_T *pinstance); +extern VCHIQ_STATUS_T vchiq_shutdown(VCHIQ_INSTANCE_T instance); +extern VCHIQ_STATUS_T vchiq_connect(VCHIQ_INSTANCE_T instance); +extern VCHIQ_STATUS_T vchiq_add_service(VCHIQ_INSTANCE_T instance, + const VCHIQ_SERVICE_PARAMS_T *params, + VCHIQ_SERVICE_HANDLE_T *pservice); +extern VCHIQ_STATUS_T vchiq_open_service(VCHIQ_INSTANCE_T instance, + const VCHIQ_SERVICE_PARAMS_T *params, + VCHIQ_SERVICE_HANDLE_T *pservice); +extern VCHIQ_STATUS_T vchiq_close_service(VCHIQ_SERVICE_HANDLE_T service); +extern VCHIQ_STATUS_T vchiq_remove_service(VCHIQ_SERVICE_HANDLE_T service); +extern VCHIQ_STATUS_T vchiq_use_service(VCHIQ_SERVICE_HANDLE_T service); +extern VCHIQ_STATUS_T vchiq_release_service(VCHIQ_SERVICE_HANDLE_T service); + +extern VCHIQ_STATUS_T vchiq_queue_message(VCHIQ_SERVICE_HANDLE_T service, + const VCHIQ_ELEMENT_T *elements, int count); +extern void vchiq_release_message(VCHIQ_SERVICE_HANDLE_T service, + VCHIQ_HEADER_T *header); +extern VCHIQ_STATUS_T vchiq_queue_bulk_transmit(VCHIQ_SERVICE_HANDLE_T service, + const void *data, int size, void *userdata); +extern VCHIQ_STATUS_T vchiq_queue_bulk_receive(VCHIQ_SERVICE_HANDLE_T service, + void *data, int size, void *userdata); +extern VCHIQ_STATUS_T vchiq_queue_bulk_transmit_handle( + VCHIQ_SERVICE_HANDLE_T service, VCHI_MEM_HANDLE_T handle, + const void *offset, int size, void *userdata); +extern VCHIQ_STATUS_T vchiq_queue_bulk_receive_handle( + VCHIQ_SERVICE_HANDLE_T service, VCHI_MEM_HANDLE_T handle, + void *offset, int size, void *userdata); +extern VCHIQ_STATUS_T vchiq_bulk_transmit(VCHIQ_SERVICE_HANDLE_T service, + const void *data, int size, void *userdata, VCHIQ_BULK_MODE_T mode); +extern VCHIQ_STATUS_T vchiq_bulk_receive(VCHIQ_SERVICE_HANDLE_T service, + void *data, int size, void *userdata, VCHIQ_BULK_MODE_T mode); +extern VCHIQ_STATUS_T vchiq_bulk_transmit_handle(VCHIQ_SERVICE_HANDLE_T service, + VCHI_MEM_HANDLE_T handle, const void *offset, int size, void *userdata, + VCHIQ_BULK_MODE_T mode); +extern VCHIQ_STATUS_T vchiq_bulk_receive_handle(VCHIQ_SERVICE_HANDLE_T service, + VCHI_MEM_HANDLE_T handle, void *offset, int size, void *userdata, + VCHIQ_BULK_MODE_T mode); +extern int vchiq_get_client_id(VCHIQ_SERVICE_HANDLE_T service); +extern void *vchiq_get_service_userdata(VCHIQ_SERVICE_HANDLE_T service); +extern int vchiq_get_service_fourcc(VCHIQ_SERVICE_HANDLE_T service); +extern VCHIQ_STATUS_T vchiq_get_config(VCHIQ_INSTANCE_T instance, + int config_size, VCHIQ_CONFIG_T *pconfig); +extern VCHIQ_STATUS_T vchiq_set_service_option(VCHIQ_SERVICE_HANDLE_T service, + VCHIQ_SERVICE_OPTION_T option, int value); + +extern VCHIQ_STATUS_T vchiq_remote_use(VCHIQ_INSTANCE_T instance, + VCHIQ_REMOTE_USE_CALLBACK_T callback, void *cb_arg); +extern VCHIQ_STATUS_T vchiq_remote_release(VCHIQ_INSTANCE_T instance); + +extern VCHIQ_STATUS_T vchiq_dump_phys_mem(VCHIQ_SERVICE_HANDLE_T service, + void *ptr, size_t num_bytes); + +extern VCHIQ_STATUS_T vchiq_get_peer_version(VCHIQ_SERVICE_HANDLE_T handle, + short *peer_version); + +#endif /* VCHIQ_IF_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_ioctl.h b/opt/vc/include/interface/vchiq_arm/vchiq_ioctl.h new file mode 100644 index 000000000..a62ca5d3b --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_ioctl.h @@ -0,0 +1,114 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_IOCTLS_H +#define VCHIQ_IOCTLS_H + +#include +#include "vchiq_if.h" + +#define VCHIQ_IOC_MAGIC 0xc4 +#define VCHIQ_INVALID_HANDLE -1 + +typedef struct { + VCHIQ_SERVICE_PARAMS_T params; + int is_open; + int is_vchi; + int handle; /* OUT */ +} VCHIQ_CREATE_SERVICE_T; + +typedef struct { + int handle; + int count; + const VCHIQ_ELEMENT_T *elements; +} VCHIQ_QUEUE_MESSAGE_T; + +typedef struct { + int handle; + void *data; + int size; + void *userdata; + VCHIQ_BULK_MODE_T mode; +} VCHIQ_QUEUE_BULK_TRANSFER_T; + +typedef struct { + VCHIQ_REASON_T reason; + VCHIQ_HEADER_T *header; + void *service_userdata; + void *bulk_userdata; +} VCHIQ_COMPLETION_DATA_T; + +typedef struct { + int count; + VCHIQ_COMPLETION_DATA_T *buf; + int msgbufsize; + int msgbufcount; /* IN/OUT */ + void **msgbufs; +} VCHIQ_AWAIT_COMPLETION_T; + +typedef struct { + int handle; + int blocking; + int bufsize; + void *buf; +} VCHIQ_DEQUEUE_MESSAGE_T; + +typedef struct { + int config_size; + VCHIQ_CONFIG_T *pconfig; +} VCHIQ_GET_CONFIG_T; + +typedef struct { + int handle; + VCHIQ_SERVICE_OPTION_T option; + int value; +} VCHIQ_SET_SERVICE_OPTION_T; + +typedef struct { + void *virt_addr; + size_t num_bytes; +} VCHIQ_DUMP_MEM_T; + +#define VCHIQ_IOC_CONNECT _IO(VCHIQ_IOC_MAGIC, 0) +#define VCHIQ_IOC_SHUTDOWN _IO(VCHIQ_IOC_MAGIC, 1) +#define VCHIQ_IOC_CREATE_SERVICE _IOWR(VCHIQ_IOC_MAGIC, 2, VCHIQ_CREATE_SERVICE_T) +#define VCHIQ_IOC_REMOVE_SERVICE _IO(VCHIQ_IOC_MAGIC, 3) +#define VCHIQ_IOC_QUEUE_MESSAGE _IOW(VCHIQ_IOC_MAGIC, 4, VCHIQ_QUEUE_MESSAGE_T) +#define VCHIQ_IOC_QUEUE_BULK_TRANSMIT _IOWR(VCHIQ_IOC_MAGIC, 5, VCHIQ_QUEUE_BULK_TRANSFER_T) +#define VCHIQ_IOC_QUEUE_BULK_RECEIVE _IOWR(VCHIQ_IOC_MAGIC, 6, VCHIQ_QUEUE_BULK_TRANSFER_T) +#define VCHIQ_IOC_AWAIT_COMPLETION _IOWR(VCHIQ_IOC_MAGIC, 7, VCHIQ_AWAIT_COMPLETION_T) +#define VCHIQ_IOC_DEQUEUE_MESSAGE _IOWR(VCHIQ_IOC_MAGIC, 8, VCHIQ_DEQUEUE_MESSAGE_T) +#define VCHIQ_IOC_GET_CLIENT_ID _IO(VCHIQ_IOC_MAGIC, 9) +#define VCHIQ_IOC_GET_CONFIG _IOWR(VCHIQ_IOC_MAGIC, 10, VCHIQ_GET_CONFIG_T) +#define VCHIQ_IOC_CLOSE_SERVICE _IO(VCHIQ_IOC_MAGIC, 11) +#define VCHIQ_IOC_USE_SERVICE _IO(VCHIQ_IOC_MAGIC, 12) +#define VCHIQ_IOC_RELEASE_SERVICE _IO(VCHIQ_IOC_MAGIC, 13) +#define VCHIQ_IOC_SET_SERVICE_OPTION _IOW(VCHIQ_IOC_MAGIC, 14, VCHIQ_SET_SERVICE_OPTION_T) +#define VCHIQ_IOC_DUMP_PHYS_MEM _IOW(VCHIQ_IOC_MAGIC, 15, VCHIQ_DUMP_MEM_T) +#define VCHIQ_IOC_MAX 15 + +#endif diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_memdrv.h b/opt/vc/include/interface/vchiq_arm/vchiq_memdrv.h new file mode 100644 index 000000000..a9dbdc834 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_memdrv.h @@ -0,0 +1,58 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_MEMDRV_H +#define VCHIQ_MEMDRV_H + +/* ---- Include Files ----------------------------------------------------- */ + +#include +#include "vchiq_if.h" + +/* ---- Constants and Types ---------------------------------------------- */ + +typedef struct +{ + void *armSharedMemVirt; + dma_addr_t armSharedMemPhys; + size_t armSharedMemSize; + + void *vcSharedMemVirt; + dma_addr_t vcSharedMemPhys; + size_t vcSharedMemSize; + +} VCHIQ_SHARED_MEM_INFO_T; + +/* ---- Variable Externs ------------------------------------------------- */ + +/* ---- Function Prototypes ---------------------------------------------- */ + +void vchiq_get_shared_mem_info( VCHIQ_SHARED_MEM_INFO_T *info ); + +VCHIQ_STATUS_T vchiq_memdrv_initialise(void); + +#endif diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_pagelist.h b/opt/vc/include/interface/vchiq_arm/vchiq_pagelist.h new file mode 100644 index 000000000..c5f5cbb93 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_pagelist.h @@ -0,0 +1,52 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_PAGELIST_H +#define VCHIQ_PAGELIST_H + +#ifndef PAGE_SIZE +#define PAGE_SIZE 4096 +#endif +#define CACHE_LINE_SIZE 32 +#define PAGELIST_WRITE 0 +#define PAGELIST_READ 1 +#define PAGELIST_READ_WITH_FRAGMENTS 2 + +typedef struct pagelist_struct { + unsigned long length; + unsigned short type; + unsigned short offset; + unsigned long addrs[1]; /* N.B. 12 LSBs hold the number of following + pages at consecutive addresses. */ +} PAGELIST_T; + +typedef struct fragments_struct { + char headbuf[CACHE_LINE_SIZE]; + char tailbuf[CACHE_LINE_SIZE]; +} FRAGMENTS_T; + +#endif /* VCHIQ_PAGELIST_H */ diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_test.h b/opt/vc/include/interface/vchiq_arm/vchiq_test.h new file mode 100644 index 000000000..4a93345b0 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_test.h @@ -0,0 +1,135 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_TEST_H +#define VCHIQ_TEST_H + +#include "vchiq_test_if.h" + +#define VCOS_LOG_CATEGORY (&vchiq_test_log_category) + +#define VERBOSE_TRACE 1 + +#define FUNC_FOURCC VCHIQ_MAKE_FOURCC('f','u','n','c') +#define FUN2_FOURCC VCHIQ_MAKE_FOURCC('f','u','n','2') + +#define SERVICE1_DATA_SIZE 1024 +#define SERVICE2_DATA_SIZE 2048 +#define FUN2_MAX_DATA_SIZE 16384 +#define FUN2_MAX_ALIGN 4096 +#define BULK_ALIGN_SIZE 4096 + +#define VCHIQ_TEST_VER 3 + +enum { + MSG_ERROR, + MSG_ONEWAY, + MSG_ASYNC, + MSG_SYNC, + MSG_CONFIG, + MSG_ECHO +}; + +struct test_params +{ + int magic; /* = MSG_CONFIG */ + int blocksize; + int iters; + int verify; + int echo; + int align_size; + int client_align; + int server_align; + int client_message_quota; + int server_message_quota; +}; + +#if VERBOSE_TRACE + +#define EXPECT(_e, _v) if (_e != _v) { vcos_log_error("%d: " #_e " != " #_v, __LINE__); VCOS_BKPT; goto error_exit; } else { vcos_log_trace("%d: " #_e " == " #_v, __LINE__); } + +#define START_CALLBACK(_r, _u) \ + if (++callback_index == callback_count) { \ + if (reason != _r) { \ + vcos_log_error("%d: expected callback reason " #_r ", got %d", __LINE__, reason); VCOS_BKPT; goto error_exit; \ + } \ + else if ((int)VCHIQ_GET_SERVICE_USERDATA(service) != _u) { \ + vcos_log_error("%d: expected userdata %d, got %d", __LINE__, _u, (int)VCHIQ_GET_SERVICE_USERDATA(service)); VCOS_BKPT; goto error_exit; \ + } \ + else \ + { \ + vcos_log_trace("%d: " #_r ", " #_u, __LINE__); \ + } + +#define START_BULK_CALLBACK(_r, _u, _bu) \ + if (++bulk_index == bulk_count) { \ + if (reason != _r) { \ + vcos_log_error("%d: expected callback reason " #_r ", got %d", __LINE__, reason); VCOS_BKPT; goto error_exit; \ + } \ + else if ((int)VCHIQ_GET_SERVICE_USERDATA(service) != _u) { \ + vcos_log_error("%d: expected userdata %d, got %d", __LINE__, _u, (int)VCHIQ_GET_SERVICE_USERDATA(service)); VCOS_BKPT; goto error_exit; \ + } \ + else if ((int)bulk_userdata != _bu) { \ + vcos_log_error("%d: expected bulk_userdata %d, got %d", __LINE__, _bu, (int)bulk_userdata); VCOS_BKPT; goto error_exit; \ + } \ + else \ + { \ + vcos_log_trace("%d: " #_r ", " #_u ", " #_bu, __LINE__); \ + } + +#else + +#define EXPECT(_e, _v) if (_e != _v) { vcos_log_trace("%d: " #_e " != " #_v, __LINE__); VCOS_BKPT; goto error_exit; } + +#define START_CALLBACK(_r, _u) \ + if (++callback_index == callback_count) { \ + if (reason != _r) { \ + vcos_log_error("%d: expected callback reason " #_r ", got %d", __LINE__, reason); VCOS_BKPT; goto error_exit; \ + } \ + else if ((int)VCHIQ_GET_SERVICE_USERDATA(service) != _u) { \ + vcos_log_error("%d: expected userdata %d, got %d", __LINE__, _u, (int)VCHIQ_GET_SERVICE_USERDATA(service)); VCOS_BKPT; goto error_exit; \ + } + +#define START_BULK_CALLBACK(_r, _u, _bu) \ + if (++bulk_index == bulk_count) { \ + if (reason != _r) { \ + vcos_log_error("%d: expected callback reason " #_r ", got %d", __LINE__, reason); VCOS_BKPT; goto error_exit; \ + } \ + else if ((int)VCHIQ_GET_SERVICE_USERDATA(service) != _u) { \ + vcos_log_error("%d: expected userdata %d, got %d", __LINE__, _u, (int)VCHIQ_GET_SERVICE_USERDATA(service)); VCOS_BKPT; goto error_exit; \ + } \ + else if ((int)bulk_userdata != _bu) { \ + vcos_log_error("%d: expected bulkuserdata %d, got %d", __LINE__, _bu, (int)bulk_userdata); VCOS_BKPT; goto error_exit; \ + } + +#endif + +#define END_CALLBACK(_s) \ + return _s; \ + } + +#endif diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_test_if.h b/opt/vc/include/interface/vchiq_arm/vchiq_test_if.h new file mode 100644 index 000000000..665c1a6a5 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_test_if.h @@ -0,0 +1,35 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_TEST_IF_H +#define VCHIQ_TEST_IF_H + +#include "vchiq.h" + +extern void vchiq_test_start_services(VCHIQ_INSTANCE_T instance); + +#endif diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_util.h b/opt/vc/include/interface/vchiq_arm/vchiq_util.h new file mode 100644 index 000000000..6c6d556c2 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_util.h @@ -0,0 +1,57 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_UTIL_H +#define VCHIQ_UTIL_H + +#include "vchiq_if.h" +#include "interface/vcos/vcos.h" + +typedef struct { + int size; + int read; + int write; + + VCOS_EVENT_T pop; + VCOS_EVENT_T push; + + VCHIQ_HEADER_T **storage; +} VCHIU_QUEUE_T; + +extern int vchiu_queue_init(VCHIU_QUEUE_T *queue, int size); +extern void vchiu_queue_delete(VCHIU_QUEUE_T *queue); + +extern int vchiu_queue_is_empty(VCHIU_QUEUE_T *queue); +extern int vchiu_queue_is_full(VCHIU_QUEUE_T *queue); + +extern void vchiu_queue_push(VCHIU_QUEUE_T *queue, VCHIQ_HEADER_T *header); + +extern VCHIQ_HEADER_T *vchiu_queue_peek(VCHIU_QUEUE_T *queue); +extern VCHIQ_HEADER_T *vchiu_queue_pop(VCHIU_QUEUE_T *queue); + +#endif + diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_vc.h b/opt/vc/include/interface/vchiq_arm/vchiq_vc.h new file mode 100644 index 000000000..87e3e1867 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_vc.h @@ -0,0 +1,76 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef VCHIQ_VC_H +#define VCHIQ_VC_H + +#include "vchiq_core.h" + +extern char _frdata[]; +extern char *__MEMPOOL_START; +extern char *__MEMPOOL_END; + +#define VCHIQ_IS_SAFE_DATA(x) (((char *)RTOS_ALIAS_NORMAL(x) >= _frdata) || \ + (((char *)RTOS_ALIAS_NORMAL(x) >= __MEMPOOL_START) && ((char *)RTOS_ALIAS_NORMAL(x) <= __MEMPOOL_END))) + +#define VCOS_LOG_CATEGORY (&vchiq_vc_log_category) + +#define VC_MEMCPY(d,s,l) do { if (l < DMA_MEMCPY_THRESHOLD) memcpy(d,s,l); else dma_memcpy(d,s,l); } while (0) + +extern VCOS_LOG_CAT_T vchiq_vc_log_category; + +typedef struct vchiq_instance_struct +{ + VCHIQ_STATE_T state; + int connected; +} VCHIQ_INSTANCE_STRUCT_T; + + +typedef struct vchiq_vc_state_struct { + VCOS_EVENT_T remote_use_active; + VCHIQ_REMOTE_USE_CALLBACK_T remote_use_callback; + void* remote_use_cb_arg; + int remote_use_sent; + VCOS_MUTEX_T remote_use_mutex; + + int suspending; +} VCHIQ_VC_STATE_T; + + +extern VCHIQ_INSTANCE_STRUCT_T vchiq_instances[]; +extern int vchiq_num_instances; + +extern VCHIQ_STATUS_T +vchiq_platform_init(void); + +extern VCHIQ_STATUS_T +vchiq_vc_init_state(VCHIQ_VC_STATE_T* vc_state); + +extern VCHIQ_VC_STATE_T* +vchiq_platform_get_vc_state(VCHIQ_STATE_T *state); + +#endif diff --git a/opt/vc/include/interface/vchiq_arm/vchiq_vc_dma.h b/opt/vc/include/interface/vchiq_arm/vchiq_vc_dma.h new file mode 100644 index 000000000..60a050c98 --- /dev/null +++ b/opt/vc/include/interface/vchiq_arm/vchiq_vc_dma.h @@ -0,0 +1,49 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHIQ_VC_DMA_XFERS_H +#define VCHIQ_VC_DMA_XFERS_H + +/* Opaque declaration for clients of this library */ +typedef struct dma_transfer dma_transfer_t; + +extern VCHIQ_STATUS_T +init_dma_xfers(int max_fragments, FRAGMENTS_T *fragments); + +extern void +uninit_dma_xfers(void); + +extern dma_transfer_t * +alloc_dma_xfer(void); + +extern void +free_dma_xfer(dma_transfer_t *xfer); + +extern int +dma_memcpy_pagelist(char *vcptr, const PAGELIST_T *pagelist); + +#endif /* VCHIQ_VC_DMA_XFERS */ diff --git a/opt/vc/include/interface/vcos/generic/vcos_common.h b/opt/vc/include/interface/vcos/generic/vcos_common.h new file mode 100644 index 000000000..93949e0c7 --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_common.h @@ -0,0 +1,96 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - common postamble code +=============================================================================*/ + +/** \file + * + * Postamble code included by the platform-specific header files + */ + +#define VCOS_THREAD_PRI_DEFAULT VCOS_THREAD_PRI_NORMAL + +#if !defined(VCOS_THREAD_PRI_INCREASE) +#error Which way to thread priorities go? +#endif + +#if VCOS_THREAD_PRI_INCREASE < 0 +/* smaller numbers are higher priority */ +#define VCOS_THREAD_PRI_LESS(x) ((x)VCOS_THREAD_PRI_MIN?(x)-1:VCOS_THREAD_PRI_MIN) +#else +/* bigger numbers are lower priority */ +#define VCOS_THREAD_PRI_MORE(x) ((x)VCOS_THREAD_PRI_MIN?(x)-1:VCOS_THREAD_PRI_MIN) +#endif + +/* Convenience for Brits: */ +#define VCOS_APPLICATION_INITIALISE VCOS_APPLICATION_INITIALIZE + +/* + * Check for constant definitions + */ +#ifndef VCOS_TICKS_PER_SECOND +#error VCOS_TICKS_PER_SECOND not defined +#endif + +#if !defined(VCOS_THREAD_PRI_MIN) || !defined(VCOS_THREAD_PRI_MAX) +#error Priority range not defined +#endif + +#if !defined(VCOS_THREAD_PRI_HIGHEST) || !defined(VCOS_THREAD_PRI_LOWEST) || !defined(VCOS_THREAD_PRI_NORMAL) +#error Priority ordering not defined +#endif + +#if !defined(VCOS_CAN_SET_STACK_ADDR) +#error Can stack addresses be set on this platform? Please set this macro to either 0 or 1. +#endif + +#if (_VCOS_AFFINITY_CPU0|_VCOS_AFFINITY_CPU1) & (~_VCOS_AFFINITY_MASK) +#error _VCOS_AFFINITY_CPUxxx values are not consistent with _VCOS_AFFINITY_MASK +#endif + +/** Append to the end of a singly-linked queue, O(1). Works with + * any structure where list has members 'head' and 'tail' and + * item has a 'next' pointer. + */ +#define VCOS_QUEUE_APPEND_TAIL(list, item) {\ + (item)->next = NULL;\ + if (!(list)->head) {\ + (list)->head = (list)->tail = (item); \ + } else {\ + (list)->tail->next = (item); \ + (list)->tail = (item); \ + } \ +} + +#ifndef VCOS_HAVE_TIMER +VCOSPRE_ void VCOSPOST_ vcos_timer_init(void); +#endif + diff --git a/opt/vc/include/interface/vcos/generic/vcos_deprecated.h b/opt/vc/include/interface/vcos/generic/vcos_deprecated.h new file mode 100644 index 000000000..0efa5c460 --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_deprecated.h @@ -0,0 +1,36 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +The symbol vcos_deprecated_code may be defined at most once, by the inclusion of "vcos_deprecated.h" in vcos_init.c. +Any other inclusions of this header will cause the linker to warn about multiple definitions of vcos_deprecated_code, for example: + [ldvc] (Warning) "vcos_deprecated_code" is multiply defined in libs/vcos_threadx/vcos_init.c.o and libs/xxxxx/xxxxx.c.o +If you see a build message like this then the configuration you are building is using deprecated code. +Contact the person named in the accompanying comment for advice - do not remove the inclusion. +*/ + +int vcos_deprecated_code; diff --git a/opt/vc/include/interface/vcos/generic/vcos_generic_blockpool.h b/opt/vc/include/interface/vcos/generic/vcos_generic_blockpool.h new file mode 100644 index 000000000..6d29e9d73 --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_generic_blockpool.h @@ -0,0 +1,294 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - event flags implemented via a semaphore +=============================================================================*/ + +#ifndef VCOS_GENERIC_BLOCKPOOL_H +#define VCOS_GENERIC_BLOCKPOOL_H + +/** + * \file + * + * This provides a generic, thread safe implementation of a VCOS block pool + * fixed size memory allocator. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" + +/** Bits 0 to (VCOS_BLOCKPOOL_SUBPOOL_BITS - 1) are used to store the + * subpool id. */ +#define VCOS_BLOCKPOOL_SUBPOOL_BITS 3 +#define VCOS_BLOCKPOOL_MAX_SUBPOOLS (1 << VCOS_BLOCKPOOL_SUBPOOL_BITS) + +/* Make zero an invalid handle at the cost of decreasing the maximum + * number of blocks (2^28) by 1. Alternatively, a spare bit could be + * used to indicated valid blocks but there are likely to be better + * uses for spare bits. e.g. allowing more subpools + */ +#define INDEX_OFFSET 1 + +#define VCOS_BLOCKPOOL_HANDLE_GET_INDEX(h) \ + (((h) >> VCOS_BLOCKPOOL_SUBPOOL_BITS) - INDEX_OFFSET) + +#define VCOS_BLOCKPOOL_HANDLE_GET_SUBPOOL(h) \ + ((h) & ((1 << VCOS_BLOCKPOOL_SUBPOOL_BITS) - 1)) + +#define VCOS_BLOCKPOOL_HANDLE_CREATE(i,s) \ + ((((i) + INDEX_OFFSET) << VCOS_BLOCKPOOL_SUBPOOL_BITS) | (s)) + +#define VCOS_BLOCKPOOL_INVALID_HANDLE 0 +#define VCOS_BLOCKPOOL_ALIGN_DEFAULT sizeof(unsigned long) +#define VCOS_BLOCKPOOL_FLAG_NONE 0 + +typedef struct VCOS_BLOCKPOOL_HEADER_TAG +{ + /* Blocks either refer to to the pool if they are allocated + * or the free list if they are available. + */ + union { + struct VCOS_BLOCKPOOL_HEADER_TAG *next; + struct VCOS_BLOCKPOOL_SUBPOOL_TAG* subpool; + } owner; +} VCOS_BLOCKPOOL_HEADER_T; + +typedef struct VCOS_BLOCKPOOL_SUBPOOL_TAG +{ + /** VCOS_BLOCKPOOL_SUBPOOL_MAGIC */ + uint32_t magic; + VCOS_BLOCKPOOL_HEADER_T* free_list; + /* The start of the pool memory */ + void *mem; + /* Address of the first block header */ + void *start; + /* The end of the subpool */ + void *end; + /** The number of blocks in this sub-pool */ + VCOS_UNSIGNED num_blocks; + /** Current number of available blocks in this sub-pool */ + VCOS_UNSIGNED available_blocks; + /** Pointers to the pool that owns this sub-pool */ + struct VCOS_BLOCKPOOL_TAG* owner; + /** Define properties such as memory ownership */ + uint32_t flags; +} VCOS_BLOCKPOOL_SUBPOOL_T; + +typedef struct VCOS_BLOCKPOOL_TAG +{ + /** VCOS_BLOCKPOOL_MAGIC */ + uint32_t magic; + /** Thread safety for Alloc, Free, Delete, Stats */ + VCOS_MUTEX_T mutex; + /** Alignment of block data pointers */ + VCOS_UNSIGNED align; + /** Flags for future use e.g. cache options */ + VCOS_UNSIGNED flags; + /** The size of the block data */ + size_t block_data_size; + /** Block size inc overheads */ + size_t block_size; + /** Name for debugging */ + const char *name; + /* The number of subpools that may be used */ + VCOS_UNSIGNED num_subpools; + /** Number of blocks in each dynamically allocated subpool */ + VCOS_UNSIGNED num_extension_blocks; + /** Array of subpools. Subpool zero is is not deleted until the pool is + * destroed. If the index of the pool is < num_subpools and + * subpool[index.mem] is null then the subpool entry is valid but + * "not currently allocated" */ + VCOS_BLOCKPOOL_SUBPOOL_T subpools[VCOS_BLOCKPOOL_MAX_SUBPOOLS]; +} VCOS_BLOCKPOOL_T; + +#define VCOS_BLOCKPOOL_ROUND_UP(x,s) (((x) + ((s) - 1)) & ~((s) - 1)) +/** + * Calculates the size in bytes required for a block pool containing + * num_blocks of size block_size plus any overheads. + * + * The block pool header (VCOS_BLOCKPOOL_T) is allocated separately + * + * Overheads: + * block_size + header must be rounded up to meet the required alignment + * The start of the first block may need to be up to align bytes + * into the given buffer because statically allocated buffers within structures + * are not guaranteed to be aligned as required. + */ +#define VCOS_BLOCKPOOL_SIZE(num_blocks, block_size, align) \ + ((VCOS_BLOCKPOOL_ROUND_UP((block_size) + (align >= 4096 ? 32 : 0) + sizeof(VCOS_BLOCKPOOL_HEADER_T), \ + (align)) * (num_blocks)) + (align)) + +/** + * Sanity check to verify whether a handle is potentially a blockpool handle + * when the pool pointer is not available. + * + * If the pool pointer is availabe use vcos_blockpool_elem_to_handle instead. + * + * @param handle the handle to verify + * @param max_blocks the expected maximum number of block in the pool + * that the handle belongs to. + */ +#define VCOS_BLOCKPOOL_IS_VALID_HANDLE_FORMAT(handle, max_blocks) \ + ((handle) != VCOS_BLOCKPOOL_INVALID_HANDLE \ + && VCOS_BLOCKPOOL_HANDLE_GET_INDEX((handle)) < (max_blocks)) + +VCOSPRE_ + VCOS_STATUS_T VCOSPOST_ vcos_generic_blockpool_init(VCOS_BLOCKPOOL_T *pool, + VCOS_UNSIGNED num_blocks, VCOS_UNSIGNED block_size, + void *start, VCOS_UNSIGNED pool_size, + VCOS_UNSIGNED align, VCOS_UNSIGNED flags, + const char *name); + +VCOSPRE_ + VCOS_STATUS_T VCOSPOST_ vcos_generic_blockpool_create_on_heap( + VCOS_BLOCKPOOL_T *pool, VCOS_UNSIGNED num_blocks, + VCOS_UNSIGNED block_size, + VCOS_UNSIGNED align, VCOS_UNSIGNED flags, + const char *name); + +VCOSPRE_ + VCOS_STATUS_T VCOSPOST_ vcos_generic_blockpool_extend(VCOS_BLOCKPOOL_T *pool, + VCOS_UNSIGNED num_extensions, VCOS_UNSIGNED num_blocks); + +VCOSPRE_ void VCOSPOST_ *vcos_generic_blockpool_alloc(VCOS_BLOCKPOOL_T *pool); + +VCOSPRE_ void VCOSPOST_ *vcos_generic_blockpool_calloc(VCOS_BLOCKPOOL_T *pool); + +VCOSPRE_ void VCOSPOST_ vcos_generic_blockpool_free(void *block); + +VCOSPRE_ + VCOS_UNSIGNED VCOSPOST_ vcos_generic_blockpool_available_count( + VCOS_BLOCKPOOL_T *pool); + +VCOSPRE_ + VCOS_UNSIGNED VCOSPOST_ vcos_generic_blockpool_used_count( + VCOS_BLOCKPOOL_T *pool); + +VCOSPRE_ void VCOSPOST_ vcos_generic_blockpool_delete(VCOS_BLOCKPOOL_T *pool); + +VCOSPRE_ uint32_t VCOSPOST_ vcos_generic_blockpool_elem_to_handle(void *block); + +VCOSPRE_ void VCOSPOST_ + *vcos_generic_blockpool_elem_from_handle( + VCOS_BLOCKPOOL_T *pool, uint32_t handle); + +VCOSPRE_ uint32_t VCOSPOST_ + vcos_generic_blockpool_is_valid_elem( + VCOS_BLOCKPOOL_T *pool, const void *block); +#if defined(VCOS_INLINE_BODIES) + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_blockpool_init(VCOS_BLOCKPOOL_T *pool, + VCOS_UNSIGNED num_blocks, VCOS_UNSIGNED block_size, + void *start, VCOS_UNSIGNED pool_size, + VCOS_UNSIGNED align, VCOS_UNSIGNED flags, const char *name) +{ + return vcos_generic_blockpool_init(pool, num_blocks, block_size, + start, pool_size, align, flags, name); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_blockpool_create_on_heap(VCOS_BLOCKPOOL_T *pool, + VCOS_UNSIGNED num_blocks, VCOS_UNSIGNED block_size, + VCOS_UNSIGNED align, VCOS_UNSIGNED flags, const char *name) +{ + return vcos_generic_blockpool_create_on_heap( + pool, num_blocks, block_size, align, flags, name); +} + +VCOS_INLINE_IMPL + VCOS_STATUS_T VCOSPOST_ vcos_blockpool_extend(VCOS_BLOCKPOOL_T *pool, + VCOS_UNSIGNED num_extensions, VCOS_UNSIGNED num_blocks) +{ + return vcos_generic_blockpool_extend(pool, num_extensions, num_blocks); +} + +VCOS_INLINE_IMPL +void *vcos_blockpool_alloc(VCOS_BLOCKPOOL_T *pool) +{ + return vcos_generic_blockpool_alloc(pool); +} + +VCOS_INLINE_IMPL +void *vcos_blockpool_calloc(VCOS_BLOCKPOOL_T *pool) +{ + return vcos_generic_blockpool_calloc(pool); +} + +VCOS_INLINE_IMPL +void vcos_blockpool_free(void *block) +{ + vcos_generic_blockpool_free(block); +} + +VCOS_INLINE_IMPL +VCOS_UNSIGNED vcos_blockpool_available_count(VCOS_BLOCKPOOL_T *pool) +{ + return vcos_generic_blockpool_available_count(pool); +} + +VCOS_INLINE_IMPL +VCOS_UNSIGNED vcos_blockpool_used_count(VCOS_BLOCKPOOL_T *pool) +{ + return vcos_generic_blockpool_used_count(pool); +} + +VCOS_INLINE_IMPL +void vcos_blockpool_delete(VCOS_BLOCKPOOL_T *pool) +{ + vcos_generic_blockpool_delete(pool); +} + +VCOS_INLINE_IMPL +uint32_t vcos_blockpool_elem_to_handle(void *block) +{ + return vcos_generic_blockpool_elem_to_handle(block); +} + +VCOS_INLINE_IMPL +void *vcos_blockpool_elem_from_handle(VCOS_BLOCKPOOL_T *pool, uint32_t handle) +{ + return vcos_generic_blockpool_elem_from_handle(pool, handle); +} + +VCOS_INLINE_IMPL +uint32_t vcos_blockpool_is_valid_elem(VCOS_BLOCKPOOL_T *pool, const void *block) +{ + return vcos_generic_blockpool_is_valid_elem(pool, block); +} +#endif /* VCOS_INLINE_BODIES */ + + +#ifdef __cplusplus +} +#endif +#endif /* VCOS_GENERIC_BLOCKPOOL_H */ + diff --git a/opt/vc/include/interface/vcos/generic/vcos_generic_event_flags.h b/opt/vc/include/interface/vcos/generic/vcos_generic_event_flags.h new file mode 100644 index 000000000..a21abd49f --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_generic_event_flags.h @@ -0,0 +1,127 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - event flags implemented via a semaphore +=============================================================================*/ + +#ifndef VCOS_GENERIC_EVENT_FLAGS_H +#define VCOS_GENERIC_EVENT_FLAGS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" + +/** + * \file + * + * This provides event flags (as per Nucleus Event Groups) based on a + * mutex, a semaphore (per waiting thread) and a timer (per waiting + * thread). + * + * The data structure is a 32 bit unsigned int (the current set of + * flags) and a linked list of clients waiting to be 'satisfied'. + * + * The mutex merely locks access to the data structure. If a client + * calls vcos_event_flags_get() and the requested bits are not already + * present, it then sleeps on its per-thread semaphore after adding + * this semaphore to the queue waiting. It also sets up a timer. + * + * The per-thread semaphore and timer are actually stored in the + * thread context (joinable thread). In future it may become necessary + * to support non-VCOS threads by using thread local storage to + * create these objects and associate them with the thread. + */ + +struct VCOS_EVENT_WAITER_T; + +typedef struct VCOS_EVENT_FLAGS_T +{ + VCOS_UNSIGNED events; /**< Events currently set */ + VCOS_MUTEX_T lock; /**< Serialize access */ + struct + { + struct VCOS_EVENT_WAITER_T *head; /**< List of threads waiting */ + struct VCOS_EVENT_WAITER_T *tail; /**< List of threads waiting */ + } waiters; +} VCOS_EVENT_FLAGS_T; + +#define VCOS_OR 1 +#define VCOS_AND 2 +#define VCOS_CONSUME 4 +#define VCOS_OR_CONSUME (VCOS_OR | VCOS_CONSUME) +#define VCOS_AND_CONSUME (VCOS_AND | VCOS_CONSUME) +#define VCOS_EVENT_FLAG_OP_MASK (VCOS_OR|VCOS_AND) + +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_generic_event_flags_create(VCOS_EVENT_FLAGS_T *flags, const char *name); +VCOSPRE_ void VCOSPOST_ vcos_generic_event_flags_set(VCOS_EVENT_FLAGS_T *flags, + VCOS_UNSIGNED events, + VCOS_OPTION op); +VCOSPRE_ void VCOSPOST_ vcos_generic_event_flags_delete(VCOS_EVENT_FLAGS_T *); +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_generic_event_flags_get(VCOS_EVENT_FLAGS_T *flags, + VCOS_UNSIGNED requested_events, + VCOS_OPTION op, + VCOS_UNSIGNED suspend, + VCOS_UNSIGNED *retrieved_events); + +#ifdef VCOS_INLINE_BODIES + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_event_flags_create(VCOS_EVENT_FLAGS_T *flags, const char *name) { + return vcos_generic_event_flags_create(flags, name); +} + +VCOS_INLINE_IMPL +void vcos_event_flags_set(VCOS_EVENT_FLAGS_T *flags, + VCOS_UNSIGNED events, + VCOS_OPTION op) { + vcos_generic_event_flags_set(flags, events, op); +} + +VCOS_INLINE_IMPL +void vcos_event_flags_delete(VCOS_EVENT_FLAGS_T *f) { + vcos_generic_event_flags_delete(f); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_event_flags_get(VCOS_EVENT_FLAGS_T *flags, + VCOS_UNSIGNED requested_events, + VCOS_OPTION op, + VCOS_UNSIGNED suspend, + VCOS_UNSIGNED *retrieved_events) { + return vcos_generic_event_flags_get(flags, requested_events, op, suspend, retrieved_events); +} + +#endif /* VCOS_INLINE_BODIES */ + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/generic/vcos_generic_named_sem.h b/opt/vc/include/interface/vcos/generic/vcos_generic_named_sem.h new file mode 100644 index 000000000..81a07165d --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_generic_named_sem.h @@ -0,0 +1,101 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - named semaphores +=============================================================================*/ + +#ifndef VCOS_GENERIC_NAMED_SEM_H +#define VCOS_GENERIC_NAMED_SEM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" + +/** + * \file + * + * Generic support for named semaphores, using regular ones. This is only + * suitable for emulating them on an embedded MMUless system, since there is + * no support for opening semaphores across process boundaries. + * + */ + +#define VCOS_NAMED_SEMAPHORE_NAMELEN 64 + +/* In theory we could use the name facility provided within Nucleus. However, this + * is hard to do as semaphores are constantly being created and destroyed; we + * would need to stop everything while allocating the memory for the semaphore + * list and then walking it. So keep our own list. + */ +typedef struct VCOS_NAMED_SEMAPHORE_T +{ + struct VCOS_NAMED_SEMAPHORE_IMPL_T *actual; /**< There are 'n' named semaphores per 1 actual semaphore */ + VCOS_SEMAPHORE_T *sem; /**< Pointer to actual underlying semaphore */ +} VCOS_NAMED_SEMAPHORE_T; + +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ +vcos_generic_named_semaphore_create(VCOS_NAMED_SEMAPHORE_T *sem, const char *name, VCOS_UNSIGNED count); + +VCOSPRE_ void VCOSPOST_ vcos_named_semaphore_delete(VCOS_NAMED_SEMAPHORE_T *sem); + +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ _vcos_named_semaphore_init(void); +VCOSPRE_ void VCOSPOST_ _vcos_named_semaphore_deinit(void); + +#if defined(VCOS_INLINE_BODIES) + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_named_semaphore_create(VCOS_NAMED_SEMAPHORE_T *sem, const char *name, VCOS_UNSIGNED count) { + return vcos_generic_named_semaphore_create(sem, name, count); +} + +VCOS_INLINE_IMPL +void vcos_named_semaphore_wait(VCOS_NAMED_SEMAPHORE_T *sem) { + vcos_semaphore_wait(sem->sem); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_named_semaphore_trywait(VCOS_NAMED_SEMAPHORE_T *sem) { + return vcos_semaphore_trywait(sem->sem); +} + +VCOS_INLINE_IMPL +void vcos_named_semaphore_post(VCOS_NAMED_SEMAPHORE_T *sem) { + vcos_semaphore_post(sem->sem); +} + + +#endif + +#ifdef __cplusplus +} +#endif +#endif + + diff --git a/opt/vc/include/interface/vcos/generic/vcos_generic_quickslow_mutex.h b/opt/vc/include/interface/vcos/generic/vcos_generic_quickslow_mutex.h new file mode 100644 index 000000000..ddc7b9731 --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_generic_quickslow_mutex.h @@ -0,0 +1,95 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - reentrant mutexes created from regular ones. +=============================================================================*/ + +#ifndef VCOS_GENERIC_QUICKSLOW_MUTEX_H +#define VCOS_GENERIC_QUICKSLOW_MUTEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" + +/** + * \file + * + * Quickslow Mutexes implemented as regular ones (i.e. quick and slow modes are the same). + * + */ + +typedef VCOS_MUTEX_T VCOS_QUICKSLOW_MUTEX_T; + +#if defined(VCOS_INLINE_BODIES) +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_quickslow_mutex_create(VCOS_QUICKSLOW_MUTEX_T *m, const char *name) +{ + return vcos_mutex_create(m, name); +} + +VCOS_INLINE_IMPL +void vcos_quickslow_mutex_delete(VCOS_QUICKSLOW_MUTEX_T *m) +{ + vcos_mutex_delete(m); +} + +VCOS_INLINE_IMPL +void vcos_quickslow_mutex_lock(VCOS_QUICKSLOW_MUTEX_T *m) +{ + while (vcos_mutex_lock(m) == VCOS_EAGAIN); +} + +VCOS_INLINE_IMPL +void vcos_quickslow_mutex_unlock(VCOS_QUICKSLOW_MUTEX_T *m) +{ + vcos_mutex_unlock(m); +} + +VCOS_INLINE_IMPL +void vcos_quickslow_mutex_lock_quick(VCOS_QUICKSLOW_MUTEX_T *m) +{ + while (vcos_mutex_lock(m) == VCOS_EAGAIN); +} + +VCOS_INLINE_IMPL +void vcos_quickslow_mutex_unlock_quick(VCOS_QUICKSLOW_MUTEX_T *m) +{ + vcos_mutex_unlock(m); +} + +#endif + + +#ifdef __cplusplus +} +#endif +#endif + + diff --git a/opt/vc/include/interface/vcos/generic/vcos_generic_reentrant_mtx.h b/opt/vc/include/interface/vcos/generic/vcos_generic_reentrant_mtx.h new file mode 100644 index 000000000..21ae1c96a --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_generic_reentrant_mtx.h @@ -0,0 +1,95 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - reentrant mutexes created from regular ones. +=============================================================================*/ + +#ifndef VCOS_GENERIC_REENTRANT_MUTEX_H +#define VCOS_GENERIC_REENTRANT_MUTEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" + +/** + * \file + * + * Reentrant Mutexes from regular ones. + * + */ + +typedef struct VCOS_REENTRANT_MUTEX_T +{ + VCOS_MUTEX_T mutex; + VCOS_THREAD_T *owner; + unsigned count; +} VCOS_REENTRANT_MUTEX_T; + +/* Extern definitions of functions that do the actual work */ + +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_generic_reentrant_mutex_create(VCOS_REENTRANT_MUTEX_T *m, const char *name); + +VCOSPRE_ void VCOSPOST_ vcos_generic_reentrant_mutex_delete(VCOS_REENTRANT_MUTEX_T *m); + +VCOSPRE_ void VCOSPOST_ vcos_generic_reentrant_mutex_lock(VCOS_REENTRANT_MUTEX_T *m); + +VCOSPRE_ void VCOSPOST_ vcos_generic_reentrant_mutex_unlock(VCOS_REENTRANT_MUTEX_T *m); + +/* Inline forwarding functions */ + +#if defined(VCOS_INLINE_BODIES) + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_reentrant_mutex_create(VCOS_REENTRANT_MUTEX_T *m, const char *name) { + return vcos_generic_reentrant_mutex_create(m,name); +} + +VCOS_INLINE_IMPL +void vcos_reentrant_mutex_delete(VCOS_REENTRANT_MUTEX_T *m) { + vcos_generic_reentrant_mutex_delete(m); +} + +VCOS_INLINE_IMPL +void vcos_reentrant_mutex_lock(VCOS_REENTRANT_MUTEX_T *m) { + vcos_generic_reentrant_mutex_lock(m); +} + +VCOS_INLINE_IMPL +void vcos_reentrant_mutex_unlock(VCOS_REENTRANT_MUTEX_T *m) { + vcos_generic_reentrant_mutex_unlock(m); +} +#endif + +#ifdef __cplusplus +} +#endif +#endif + + diff --git a/opt/vc/include/interface/vcos/generic/vcos_generic_tls.h b/opt/vc/include/interface/vcos/generic/vcos_generic_tls.h new file mode 100644 index 000000000..6460ae7a6 --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_generic_tls.h @@ -0,0 +1,164 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - generic thread local storage +=============================================================================*/ + +#ifndef VCOS_GENERIC_TLS_H +#define VCOS_GENERIC_TLS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" + +/** + * \file + * + * Do an emulation of Thread Local Storage. The platform needs to + * provide a way to set and get a per-thread pointer which is + * where the TLS data itself is stored. + * + * + * Each thread that wants to join in this scheme needs to call + * vcos_tls_thread_register(). + * + * The platform needs to support the macros/functions + * _vcos_tls_thread_ptr_set() and _vcos_tls_thread_ptr_get(). + */ + +#ifndef VCOS_WANT_TLS_EMULATION +#error Should not be included unless TLS emulation is defined +#endif + +/** Number of slots to reserve per thread. This results in an overhead + * of this many words per thread. + */ +#define VCOS_TLS_MAX_SLOTS 4 + +/** TLS key. Allocating one of these reserves the client one of the + * available slots. + */ +typedef VCOS_UNSIGNED VCOS_TLS_KEY_T; + +/** TLS per-thread structure. Each thread gets one of these + * if TLS emulation (rather than native TLS support) is + * being used. + */ +typedef struct VCOS_TLS_THREAD_T +{ + void *slots[VCOS_TLS_MAX_SLOTS]; +} VCOS_TLS_THREAD_T; + +/* + * Internal APIs + */ + +/** Register this thread's TLS storage area. */ +VCOSPRE_ void VCOSPOST_ vcos_tls_thread_register(VCOS_TLS_THREAD_T *); + +/** Create a new TLS key */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_generic_tls_create(VCOS_TLS_KEY_T *key); + +/** Delete a TLS key */ +VCOSPRE_ void VCOSPOST_ vcos_generic_tls_delete(VCOS_TLS_KEY_T tls); + +/** Initialise the TLS library */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_tls_init(void); + +/** Deinitialise the TLS library */ +VCOSPRE_ void VCOSPOST_ vcos_tls_deinit(void); + +#if defined(VCOS_INLINE_BODIES) + +#undef VCOS_ASSERT_LOGGING_DISABLE +#define VCOS_ASSERT_LOGGING_DISABLE 1 + +/* + * Implementations of public API functions + */ + +/** Set the given value. Since everything is per-thread, there is no need + * for any locking. + */ +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_tls_set(VCOS_TLS_KEY_T tls, void *v) { + VCOS_TLS_THREAD_T *tlsdata = _vcos_tls_thread_ptr_get(); + vcos_assert(tlsdata); /* Fires if this thread has not been registered */ + if (tlsslots[tls] = v; + return VCOS_SUCCESS; + } + else + { + vcos_assert(0); + return VCOS_EINVAL; + } +} + +/** Get the given value. No locking required. + */ +VCOS_INLINE_IMPL +void *vcos_tls_get(VCOS_TLS_KEY_T tls) { + VCOS_TLS_THREAD_T *tlsdata = _vcos_tls_thread_ptr_get(); + vcos_assert(tlsdata); /* Fires if this thread has not been registered */ + if (tlsslots[tls]; + } + else + { + vcos_assert(0); + return NULL; + } +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_tls_create(VCOS_TLS_KEY_T *key) { + return vcos_generic_tls_create(key); +} + +VCOS_INLINE_IMPL +void vcos_tls_delete(VCOS_TLS_KEY_T tls) { + vcos_generic_tls_delete(tls); +} + +#undef VCOS_ASSERT_LOGGING_DISABLE +#define VCOS_ASSERT_LOGGING_DISABLE 0 + +#endif /* VCOS_INLINE_BODIES */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/opt/vc/include/interface/vcos/generic/vcos_joinable_thread_from_plain.h b/opt/vc/include/interface/vcos/generic/vcos_joinable_thread_from_plain.h new file mode 100644 index 000000000..4471168d8 --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_joinable_thread_from_plain.h @@ -0,0 +1,229 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - implementation: joinable thread from plain +=============================================================================*/ + +/** \file + * + * Header file for platforms creating the joinable thread from a lowlevel + * thread. + * + * In addition to the actual thread, the following are also created: + * + * - a semaphore to wait on when joining the thread + * - a semaphore to support counted suspend/resume (used by event group) + * - a per-thread timer (used by event group, but could be removed) + */ + +#ifndef VCOS_JOINABLE_THREAD_FROM_PLAIN_H +#define VCOS_JOINABLE_THREAD_FROM_PLAIN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef VCOS_SEMAPHORE_H +#include "interface/vcos/vcos_semaphore.h" +#endif +#ifndef VCOS_LOWLEVEL_THREAD_H +#include "interface/vcos/vcos_lowlevel_thread.h" +#endif +#ifndef VCOS_TIMER_H +#include "interface/vcos/vcos_timer.h" +#endif + +#ifdef VCOS_WANT_TLS_EMULATION +#include "interface/vcos/generic/vcos_generic_tls.h" +#endif + +#define VCOS_THREAD_MAGIC 0x56436a74 + +#define VCOS_THREAD_VALID(t) (t->magic == VCOS_THREAD_MAGIC) +#define VCOS_HAVE_THREAD_AT_EXIT 1 + +/** Thread attribute structure. Clients should not manipulate this directly, but + * should instead use the provided functions. + */ +typedef struct VCOS_THREAD_ATTR_T +{ + void *ta_stackaddr; + VCOS_UNSIGNED ta_stacksz; + VCOS_UNSIGNED ta_priority; + VCOS_UNSIGNED ta_affinity; + VCOS_UNSIGNED ta_timeslice; + VCOS_UNSIGNED legacy; + VCOS_UNSIGNED ta_autostart; +} VCOS_THREAD_ATTR_T; + +/** Each thread gets a timer, which is for internal VCOS use. + */ +typedef struct _VCOS_THREAD_TIMER_T +{ + VCOS_TIMER_T timer; + void (*pfn)(void *); + void *cxt; +} _VCOS_THREAD_TIMER_T; + +typedef void (*VCOS_THREAD_EXIT_HANDLER_T)(void *); +/** Called at thread exit. + */ +typedef struct VCOS_THREAD_EXIT_T +{ + VCOS_THREAD_EXIT_HANDLER_T pfn; + void *cxt; +} VCOS_THREAD_EXIT_T; +#define VCOS_MAX_EXIT_HANDLERS 8 + +/* The name field isn't used for anything, so we can just copy the + * the pointer. Nucleus makes its own copy. + */ +typedef const char * VCOS_LLTHREAD_T_NAME; +#define _VCOS_LLTHREAD_NAME(dst,src) (dst)=(src) + +/* + * Simulated TLS support + */ + + +/** Thread structure. + * + * \warning Do not access the members of this structure directly! + */ +typedef struct VCOS_THREAD_T +{ + VCOS_LLTHREAD_T thread; /**< The underlying thread */ + char name[16]; /**< The name */ + unsigned int magic; /**< For debug */ + void *exit_data; /**< Exit data passed out in vcos_joinable_thread_exit() */ + void *stack; /**< Stack, if not supplied by caller */ + VCOS_SEMAPHORE_T wait; /**< Semaphore to wait on at join */ + VCOS_SEMAPHORE_T suspend; /**< Semaphore to wait on for counted suspend */ + int16_t joined; /**< Joined yet? For debug. */ + VCOS_UNSIGNED legacy; /**< Use (argc,argv) for entry point arguments */ + void *(*entry)(void*); /**< Entry point */ + void *arg; /**< Argument passed to entry point */ + void *(*term)(void*); /**< Termination function, used by reaper */ + void *term_arg; /**< Argument passed to termination function */ + _VCOS_THREAD_TIMER_T _timer; /**< Internal timer, mainly for event groups */ +#ifdef VCOS_WANT_TLS_EMULATION + VCOS_TLS_THREAD_T _tls; /**< TLS data when native TLS not available, or NULL */ +#endif + /** Array of functions to call at thread exit */ + VCOS_THREAD_EXIT_T at_exit[VCOS_MAX_EXIT_HANDLERS]; + + struct VCOS_THREAD_T *next; /**< For linked lists of threads */ +} VCOS_THREAD_T; + +#if defined(VCOS_INLINE_BODIES) + +VCOS_INLINE_IMPL +void vcos_thread_attr_setstack(VCOS_THREAD_ATTR_T *attrs, void *addr, VCOS_UNSIGNED stacksz) { + attrs->ta_stackaddr = addr; + attrs->ta_stacksz = stacksz; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_setstacksize(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED stacksz) { + attrs->ta_stacksz = stacksz; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_setpriority(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED pri) { + attrs->ta_priority = pri; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_setaffinity(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED affinity) { + attrs->ta_affinity = affinity; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_settimeslice(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED ts) { + attrs->ta_timeslice = ts; +} + +VCOS_INLINE_IMPL +void _vcos_thread_attr_setlegacyapi(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED legacy) { + attrs->legacy = legacy; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_setautostart(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED autostart) { + attrs->ta_autostart = autostart; +} + +VCOS_INLINE_IMPL +VCOS_THREAD_T *vcos_thread_current(void) { + VCOS_THREAD_T *ret = (VCOS_THREAD_T*)vcos_llthread_current(); + /*If we're called from a non-vcos thread, this assert will fail. + *XXX FIXME why is this commented out? + *vcos_assert(ret->magic == VCOS_THREAD_MAGIC); + */ + return ret; +} + +VCOS_INLINE_IMPL +int vcos_thread_running(VCOS_THREAD_T *thread) { + return vcos_llthread_running(&thread->thread); +} + +VCOS_INLINE_IMPL +void vcos_thread_resume(VCOS_THREAD_T *thread) { + vcos_llthread_resume(&thread->thread); +} + +#endif /* VCOS_INLINE_BODIES */ + +/** + * \brief Create a VCOS_THREAD_T for the current thread. This is so we can have + * VCOS_THREAD_Ts even for threads not originally created by VCOS (eg the + * thread that calls vcos_init) + */ +extern VCOS_STATUS_T _vcos_thread_create_attach(VCOS_THREAD_T *thread, + const char *name); + +/** + * \brief Deletes the VCOS_THREAD_T, but does not wait for the underlying + * thread to exit. This will cleanup everything created by + * _vcos_thread_create_attach + */ +extern void _vcos_thread_delete(VCOS_THREAD_T *thread); + +/** Register a function to be called when the current thread exits. + */ +extern VCOS_STATUS_T vcos_thread_at_exit(void (*pfn)(void*), void *cxt); + +/** Deregister a previously registered at-exit function. + */ +extern void vcos_thread_deregister_at_exit(void (*pfn)(void*), void *cxt); + +#ifdef __cplusplus +} +#endif +#endif /* VCOS_JOINABLE_THREAD_FROM_PLAIN_H */ diff --git a/opt/vc/include/interface/vcos/generic/vcos_latch_from_sem.h b/opt/vc/include/interface/vcos/generic/vcos_latch_from_sem.h new file mode 100644 index 000000000..94f4b1378 --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_latch_from_sem.h @@ -0,0 +1,68 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - Construct a latch from a semaphore +=============================================================================*/ + +/** FIXME: rename to vcos_mutex_from_sem.c + */ + +typedef struct VCOS_MUTEX_T { + VCOS_SEMAPHORE_T sem; + struct VCOS_THREAD_T *owner; +} VCOS_MUTEX_T; + +extern VCOS_STATUS_T vcos_generic_mutex_create(VCOS_MUTEX_T *latch, const char *name); +extern void vcos_generic_mutex_delete(VCOS_MUTEX_T *latch); +extern VCOS_STATUS_T vcos_generic_mutex_lock(VCOS_MUTEX_T *latch); +extern void vcos_generic_mutex_unlock(VCOS_MUTEX_T *latch); + +#if defined(VCOS_INLINE_BODIES) + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_mutex_create(VCOS_MUTEX_T *latch, const char *name) { + return vcos_generic_mutex_create(latch,name); +} + +VCOS_INLINE_IMPL +void vcos_mutex_delete(VCOS_MUTEX_T *latch) { + vcos_generic_mutex_delete(latch); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_mutex_lock(VCOS_MUTEX_T *latch) { + return vcos_generic_mutex_lock(latch); +} + +VCOS_INLINE_IMPL +void vcos_mutex_unlock(VCOS_MUTEX_T *latch) { + vcos_generic_mutex_unlock(latch); +} + +#endif /* VCOS_INLINE_BODIES */ + diff --git a/opt/vc/include/interface/vcos/generic/vcos_mem_from_malloc.h b/opt/vc/include/interface/vcos/generic/vcos_mem_from_malloc.h new file mode 100644 index 000000000..401a4fc6d --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_mem_from_malloc.h @@ -0,0 +1,74 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +Create the vcos_malloc API from the regular system malloc/free +=============================================================================*/ + +/** + * \file + * + * Create the vcos malloc API from a regular system malloc/free library. + * + * The API lets callers specify an alignment. + * + * Under VideoCore this is not needed, as we can simply use the rtos_malloc routines. + * But on host platforms that won't be the case. + * + */ + +VCOSPRE_ void * VCOSPOST_ vcos_generic_mem_alloc(VCOS_UNSIGNED sz, const char *desc); +VCOSPRE_ void * VCOSPOST_ vcos_generic_mem_calloc(VCOS_UNSIGNED count, VCOS_UNSIGNED sz, const char *descr); +VCOSPRE_ void VCOSPOST_ vcos_generic_mem_free(void *ptr); +VCOSPRE_ void * VCOSPOST_ vcos_generic_mem_alloc_aligned(VCOS_UNSIGNED sz, VCOS_UNSIGNED align, const char *desc); + +#ifdef VCOS_INLINE_BODIES + +VCOS_INLINE_IMPL +void *vcos_malloc(VCOS_UNSIGNED size, const char *description) { + return vcos_generic_mem_alloc(size, description); +} + +VCOS_INLINE_IMPL +void *vcos_calloc(VCOS_UNSIGNED num, VCOS_UNSIGNED size, const char *description) { + return vcos_generic_mem_calloc(num, size, description); +} + +VCOS_INLINE_IMPL +void vcos_free(void *ptr) { + vcos_generic_mem_free(ptr); +} + +VCOS_INLINE_IMPL +void * vcos_malloc_aligned(VCOS_UNSIGNED size, VCOS_UNSIGNED align, const char *description) { + return vcos_generic_mem_alloc_aligned(size, align, description); +} + + +#endif /* VCOS_INLINE_BODIES */ + + diff --git a/opt/vc/include/interface/vcos/generic/vcos_mutexes_are_reentrant.h b/opt/vc/include/interface/vcos/generic/vcos_mutexes_are_reentrant.h new file mode 100644 index 000000000..976b61a2f --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_mutexes_are_reentrant.h @@ -0,0 +1,88 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - reentrant mutexes mapped directly to regular ones +=============================================================================*/ + +#ifndef VCOS_GENERIC_REENTRANT_MUTEX_H +#define VCOS_GENERIC_REENTRANT_MUTEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "interface/vcos/vcos_mutex.h" + +/** + * \file + * + * Reentrant Mutexes directly using the native re-entrant mutex. + * + */ + +typedef VCOS_MUTEX_T VCOS_REENTRANT_MUTEX_T; + +/* Inline forwarding functions */ + +#if defined(VCOS_INLINE_BODIES) + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_reentrant_mutex_create(VCOS_REENTRANT_MUTEX_T *m, const char *name) { + return vcos_mutex_create(m,name); +} + +VCOS_INLINE_IMPL +void vcos_reentrant_mutex_delete(VCOS_REENTRANT_MUTEX_T *m) { + vcos_mutex_delete(m); +} + +VCOS_INLINE_IMPL +void vcos_reentrant_mutex_lock(VCOS_REENTRANT_MUTEX_T *m) { + vcos_mutex_lock(m); +} + +VCOS_INLINE_IMPL +void vcos_reentrant_mutex_unlock(VCOS_REENTRANT_MUTEX_T *m) { + vcos_mutex_unlock(m); +} + +VCOS_INLINE_IMPL +int vcos_reentrant_mutex_is_locked(VCOS_REENTRANT_MUTEX_T *m) { + return vcos_mutex_is_locked(m); +} + +#endif + +#ifdef __cplusplus +} +#endif +#endif + + + diff --git a/opt/vc/include/interface/vcos/generic/vcos_thread_reaper.h b/opt/vc/include/interface/vcos/generic/vcos_thread_reaper.h new file mode 100644 index 000000000..4190dba58 --- /dev/null +++ b/opt/vc/include/interface/vcos/generic/vcos_thread_reaper.h @@ -0,0 +1,55 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - thread reaping +=============================================================================*/ + +#ifndef VCOS_THREAD_REAPER_H +#define VCOS_THREAD_REAPER_H + +#define VCOS_HAVE_THREAD_REAPER + +/** Initialise the thread reaper. + */ +VCOS_STATUS_T vcos_thread_reaper_init(void); + +/** Reap a thread. Arranges for the thread to be automatically + * joined. + * + * @sa vcos_thread_join(). + * + * @param thread the thread to terminate + * @param on_terminated called after the thread has exited + * @param cxt pass back to the callback + * + */ +void vcos_thread_reap(VCOS_THREAD_T *thread, void (*on_terminated)(void*), void *cxt); + +#endif + + diff --git a/opt/vc/include/interface/vcos/pthreads/vchost_config.h b/opt/vc/include/interface/vcos/pthreads/vchost_config.h new file mode 100644 index 000000000..96888662a --- /dev/null +++ b/opt/vc/include/interface/vcos/pthreads/vchost_config.h @@ -0,0 +1,26 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ diff --git a/opt/vc/include/interface/vcos/pthreads/vcos_futex_mutex.h b/opt/vc/include/interface/vcos/pthreads/vcos_futex_mutex.h new file mode 100644 index 000000000..3c4472088 --- /dev/null +++ b/opt/vc/include/interface/vcos/pthreads/vcos_futex_mutex.h @@ -0,0 +1,102 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +FIXME: This code should be moved to 'linux', it is linux-specific and not generic +on 'pthreads'. +============================================================================*/ + +#ifndef VCOS_MUTEX_FROM_FUTEX_H +#define VCOS_MUTEX_FROM_FUTEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +typedef struct VCOS_FUTEX_T +{ + volatile int value; +} VCOS_FUTEX_T; + +typedef VCOS_FUTEX_T VCOS_MUTEX_T; + +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_futex_init(VCOS_FUTEX_T *futex); +VCOSPRE_ void VCOSPOST_ vcos_futex_delete(VCOS_FUTEX_T *futex); +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_futex_lock(VCOS_FUTEX_T *futex); +VCOSPRE_ void VCOSPOST_ vcos_futex_unlock(VCOS_FUTEX_T *futex); +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_futex_trylock(VCOS_FUTEX_T *futex); + +#if defined(VCOS_INLINE_BODIES) + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_mutex_create(VCOS_MUTEX_T *latch, const char *name) { + vcos_unused(name); + return vcos_futex_init(latch); +} + +VCOS_INLINE_IMPL +void vcos_mutex_delete(VCOS_MUTEX_T *latch) { + vcos_futex_delete(latch); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_mutex_lock(VCOS_MUTEX_T *latch) { + return vcos_futex_lock(latch); +} + +VCOS_INLINE_IMPL +void vcos_mutex_unlock(VCOS_MUTEX_T *latch) { + vcos_futex_unlock(latch); +} + +VCOS_INLINE_IMPL +int vcos_mutex_is_locked(VCOS_MUTEX_T *latch) { + int rc = latch->value; + if (!rc) { + /* it wasn't locked */ + return 0; + } + else { + return 1; /* it was locked */ + } +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_mutex_trylock(VCOS_MUTEX_T *m) { + return vcos_futex_trylock(m); +} + +#endif /* VCOS_INLINE_BODIES */ + +#ifdef __cplusplus +} +#endif +#endif /* VCOS_MUTEX_FROM_FUTEX_H */ + diff --git a/opt/vc/include/interface/vcos/pthreads/vcos_platform.h b/opt/vc/include/interface/vcos/pthreads/vcos_platform.h new file mode 100644 index 000000000..c6550a7ae --- /dev/null +++ b/opt/vc/include/interface/vcos/pthreads/vcos_platform.h @@ -0,0 +1,730 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - pthreads types +=============================================================================*/ + +/* Do not include this file directly - instead include it via vcos.h */ + +/** @file + * + * Pthreads implementation of VCOS. + * + */ + +#ifndef VCOS_PLATFORM_H +#define VCOS_PLATFORM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define VCOS_HAVE_RTOS 1 +#define VCOS_HAVE_SEMAPHORE 1 +#define VCOS_HAVE_EVENT 1 +#define VCOS_HAVE_QUEUE 0 +#define VCOS_HAVE_LEGACY_ISR 0 +#define VCOS_HAVE_TIMER 1 +#define VCOS_HAVE_CANCELLATION_SAFE_TIMER 1 +#define VCOS_HAVE_MEMPOOL 0 +#define VCOS_HAVE_ISR 0 +#define VCOS_HAVE_ATOMIC_FLAGS 1 +#define VCOS_HAVE_THREAD_AT_EXIT 1 +#define VCOS_HAVE_ONCE 1 +#define VCOS_HAVE_BLOCK_POOL 1 +#define VCOS_HAVE_FILE 0 +#define VCOS_HAVE_PROC 0 +#define VCOS_HAVE_CFG 0 +#define VCOS_HAVE_ALIEN_THREADS 1 +#define VCOS_HAVE_CMD 1 +#define VCOS_HAVE_EVENT_FLAGS 1 +#define VCOS_WANT_LOG_CMD 0 /* User apps should do their own thing */ + +#define VCOS_ALWAYS_WANT_LOGGING + +#ifdef __linux__ +#define VCOS_HAVE_BACKTRACE 1 +#endif + +#define VCOS_SO_EXT ".so" + +/* Linux/pthreads seems to have different timer characteristics */ +#define VCOS_TIMER_MARGIN_EARLY 0 +#define VCOS_TIMER_MARGIN_LATE 15 + +typedef sem_t VCOS_SEMAPHORE_T; +typedef uint32_t VCOS_UNSIGNED; +typedef uint32_t VCOS_OPTION; +typedef pthread_key_t VCOS_TLS_KEY_T; +typedef pthread_once_t VCOS_ONCE_T; + +typedef struct VCOS_LLTHREAD_T +{ + pthread_t thread; // Must be first field. +} VCOS_LLTHREAD_T; + +/* VCOS_CASSERT(offsetof(VCOS_LLTHREAD_T, thread) == 0); */ + +#ifndef VCOS_USE_VCOS_FUTEX +typedef pthread_mutex_t VCOS_MUTEX_T; +#else +#include "vcos_futex_mutex.h" +#endif /* VCOS_USE_VCOS_FUTEX */ + +typedef struct +{ + VCOS_MUTEX_T mutex; + sem_t sem; +} VCOS_EVENT_T; + +#define VCOS_ONCE_INIT PTHREAD_ONCE_INIT + +#if defined(__arm__) && !defined(_HAVE_TIMER_T) && !defined(ANDROID) +typedef __timer_t timer_t; +#endif +typedef struct VCOS_TIMER_T +{ + pthread_t thread; /**< id of the timer thread */ + + pthread_mutex_t lock; /**< lock protecting all other members of the struct */ + pthread_cond_t settings_changed; /**< cond. var. for informing the timer thread about changes*/ + int quit; /**< non-zero if the timer thread is requested to quit*/ + + struct timespec expires; /**< absolute time of next expiration, or 0 if disarmed*/ + + void (*orig_expiration_routine)(void*);/**< the expiration routine provided by the user of the timer*/ + void *orig_context; /**< the context for exp. routine provided by the user*/ + +} VCOS_TIMER_T; + +/** Thread attribute structure. Don't use pthread_attr directly, as + * the calls can fail, and inits must match deletes. + */ +typedef struct VCOS_THREAD_ATTR_T +{ + void *ta_stackaddr; + VCOS_UNSIGNED ta_stacksz; + VCOS_UNSIGNED ta_priority; + VCOS_UNSIGNED ta_affinity; + VCOS_UNSIGNED ta_timeslice; + VCOS_UNSIGNED legacy; +} VCOS_THREAD_ATTR_T; + +/** Called at thread exit. + */ +typedef struct VCOS_THREAD_EXIT_T +{ + void (*pfn)(void *); + void *cxt; +} VCOS_THREAD_EXIT_T; +#define VCOS_MAX_EXIT_HANDLERS 4 + +typedef struct VCOS_THREAD_T +{ + pthread_t thread; /**< The thread itself */ + VCOS_THREAD_ENTRY_FN_T entry; /**< The thread entry point */ + void *arg; /**< The argument to be passed to entry */ + VCOS_SEMAPHORE_T suspend; /**< For support event groups and similar - a per thread semaphore */ + + VCOS_TIMER_T task_timer; + int task_timer_created; /**< non-zero if the task timer has already been created*/ + void (*orig_task_timer_expiration_routine)(void*); + void *orig_task_timer_context; + + VCOS_UNSIGNED legacy; + char name[16]; /**< Record the name of this thread, for diagnostics */ + VCOS_UNSIGNED dummy; /**< Dummy thread created for non-vcos created threads */ + + /** Callback invoked at thread exit time */ + VCOS_THREAD_EXIT_T at_exit[VCOS_MAX_EXIT_HANDLERS]; +} VCOS_THREAD_T; + +#ifdef VCOS_PTHREADS_WANT_HISR_EMULATION + +typedef struct +{ + VCOS_THREAD_T thread; + char stack[1024]; + VCOS_SEMAPHORE_T waitsem; +} VCOS_HISR_T; + +#endif + +#define VCOS_SUSPEND -1 +#define VCOS_NO_SUSPEND 0 + +#define VCOS_START 1 +#define VCOS_NO_START 0 + +#define VCOS_THREAD_PRI_MIN (sched_get_priority_min(SCHED_OTHER)) +#define VCOS_THREAD_PRI_MAX (sched_get_priority_max(SCHED_OTHER)) + +#define VCOS_THREAD_PRI_INCREASE (1) +#define VCOS_THREAD_PRI_HIGHEST VCOS_THREAD_PRI_MAX +#define VCOS_THREAD_PRI_LOWEST VCOS_THREAD_PRI_MIN +#define VCOS_THREAD_PRI_NORMAL ((VCOS_THREAD_PRI_MAX+VCOS_THREAD_PRI_MIN)/2) +#define VCOS_THREAD_PRI_BELOW_NORMAL (VCOS_THREAD_PRI_NORMAL-VCOS_THREAD_PRI_INCREASE) +#define VCOS_THREAD_PRI_ABOVE_NORMAL (VCOS_THREAD_PRI_NORMAL+VCOS_THREAD_PRI_INCREASE) +#define VCOS_THREAD_PRI_REALTIME VCOS_THREAD_PRI_MAX + +#define _VCOS_AFFINITY_DEFAULT 0 +#define _VCOS_AFFINITY_CPU0 0x100 +#define _VCOS_AFFINITY_CPU1 0x200 +#define _VCOS_AFFINITY_MASK 0x300 +#define VCOS_CAN_SET_STACK_ADDR 0 + +#define VCOS_TICKS_PER_SECOND _vcos_get_ticks_per_second() + +#include "interface/vcos/generic/vcos_generic_event_flags.h" +#include "interface/vcos/generic/vcos_generic_blockpool.h" +#include "interface/vcos/generic/vcos_mem_from_malloc.h" + +/** Convert errno values into the values recognized by vcos */ +VCOSPRE_ VCOS_STATUS_T vcos_pthreads_map_error(int error); +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_pthreads_map_errno(void); + +/** Register a function to be called when the current thread exits. + */ +extern VCOS_STATUS_T vcos_thread_at_exit(void (*pfn)(void*), void *cxt); + +extern uint32_t _vcos_get_ticks_per_second(void); + +/** + * Set to 1 by default when ANDROID is defined. Allows runtime + * switching for console apps. + */ +extern int vcos_use_android_log; + +typedef struct { + VCOS_MUTEX_T mutex; + uint32_t flags; +} VCOS_ATOMIC_FLAGS_T; + +#if defined(VCOS_INLINE_BODIES) + +#undef VCOS_ASSERT_LOGGING_DISABLE +#define VCOS_ASSERT_LOGGING_DISABLE 1 + + +/* + * Counted Semaphores + */ +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_semaphore_wait(VCOS_SEMAPHORE_T *sem) { + int ret; + /* gdb causes sem_wait() to EINTR when a breakpoint is hit, retry here */ + while ((ret = sem_wait(sem)) == -1 && errno == EINTR) + continue; + vcos_assert(ret==0); + return VCOS_SUCCESS; +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_semaphore_trywait(VCOS_SEMAPHORE_T *sem) { + int ret; + while ((ret = sem_trywait(sem)) == -1 && errno == EINTR) + continue; + if (ret == 0) + return VCOS_SUCCESS; + else if (errno == EAGAIN) + return VCOS_EAGAIN; + else { + vcos_assert(0); + return VCOS_EINVAL; + } +} + +/** + * \brief Wait on a semaphore with a timeout. + * + * Note that this function may not be implemented on all + * platforms, and may not be efficient on all platforms + * (see comment in vcos_semaphore_wait) + * + * Try to obtain the semaphore. If it is already taken, return + * VCOS_EAGAIN. + * @param sem Semaphore to wait on + * @param timeout Number of milliseconds to wait before + * returning if the semaphore can't be acquired. + * @return VCOS_SUCCESS - semaphore was taken. + * VCOS_EAGAIN - could not take semaphore (i.e. timeout + * expired) + * VCOS_EINVAL - Some other error (most likely bad + * parameters). + */ +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_semaphore_wait_timeout(VCOS_SEMAPHORE_T *sem, VCOS_UNSIGNED timeout) { + struct timespec ts; + int ret; + ts.tv_sec = timeout/1000; + ts.tv_nsec = (timeout%1000)*1000*1000; + ret = sem_timedwait( sem, &ts ); + if (ret == 0) + return VCOS_SUCCESS; + else if (ret == ETIMEDOUT) + return VCOS_EAGAIN; + else { + vcos_assert(0); + return VCOS_EINVAL; + } +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_semaphore_create(VCOS_SEMAPHORE_T *sem, + const char *name, + VCOS_UNSIGNED initial_count) { + int rc = sem_init(sem, 0, initial_count); + (void)name; + if (rc != -1) return VCOS_SUCCESS; + else return vcos_pthreads_map_errno(); +} + +VCOS_INLINE_IMPL +void vcos_semaphore_delete(VCOS_SEMAPHORE_T *sem) { + int rc = sem_destroy(sem); + vcos_assert(rc != -1); + (void)rc; +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_semaphore_post(VCOS_SEMAPHORE_T *sem) { + int rc = sem_post(sem); + vcos_assert(rc == 0); + (void)rc; + return VCOS_SUCCESS; +} + +/*********************************************************** + * + * Threads + * + ***********************************************************/ + + +extern VCOS_THREAD_T *vcos_dummy_thread_create(void); +extern pthread_key_t _vcos_thread_current_key; +extern uint64_t vcos_getmicrosecs64_internal(void); + +VCOS_INLINE_IMPL +uint32_t vcos_getmicrosecs(void) { return (uint32_t)vcos_getmicrosecs64_internal(); } + +VCOS_INLINE_IMPL +uint64_t vcos_getmicrosecs64(void) { return vcos_getmicrosecs64_internal(); } + +VCOS_INLINE_IMPL +VCOS_THREAD_T *vcos_thread_current(void) { + void *ret = pthread_getspecific(_vcos_thread_current_key); + if (ret == NULL) + { + ret = vcos_dummy_thread_create(); + } + +#ifdef __cplusplus + return static_cast(ret); +#else + return (VCOS_THREAD_T *)ret; +#endif +} + +VCOS_INLINE_IMPL +void vcos_sleep(uint32_t ms) { + struct timespec ts; + ts.tv_sec = ms/1000; + ts.tv_nsec = ms % 1000 * (1000000); + nanosleep(&ts, NULL); +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_setstack(VCOS_THREAD_ATTR_T *attr, void *addr, VCOS_UNSIGNED sz) { + attr->ta_stackaddr = addr; + attr->ta_stacksz = sz; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_setstacksize(VCOS_THREAD_ATTR_T *attr, VCOS_UNSIGNED sz) { + attr->ta_stacksz = sz; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_setpriority(VCOS_THREAD_ATTR_T *attr, VCOS_UNSIGNED pri) { + (void)attr; + (void)pri; +} + +VCOS_INLINE_IMPL +void vcos_thread_set_priority(VCOS_THREAD_T *thread, VCOS_UNSIGNED p) { + /* not implemented */ + (void)thread; + (void)p; +} + +VCOS_INLINE_IMPL +VCOS_UNSIGNED vcos_thread_get_priority(VCOS_THREAD_T *thread) { + /* not implemented */ + (void)thread; + return 0; +} + +VCOS_INLINE_IMPL +void vcos_thread_set_affinity(VCOS_THREAD_T *thread, VCOS_UNSIGNED affinity) { + /* not implemented */ + vcos_unused(thread); + vcos_unused(affinity); +} + + +VCOS_INLINE_IMPL +void vcos_thread_attr_setaffinity(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED affinity) { + attrs->ta_affinity = affinity; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_settimeslice(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED ts) { + attrs->ta_timeslice = ts; +} + +VCOS_INLINE_IMPL +void _vcos_thread_attr_setlegacyapi(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED legacy) { + attrs->legacy = legacy; +} + +VCOS_INLINE_IMPL +void vcos_thread_attr_setautostart(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED autostart) { + (void)attrs; + (void)autostart; +} + +VCOS_INLINE_IMPL +VCOS_LLTHREAD_T *vcos_llthread_current(void) { + return (VCOS_LLTHREAD_T *)pthread_self(); +} + +/* + * Mutexes + */ + +#ifndef VCOS_USE_VCOS_FUTEX + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_mutex_create(VCOS_MUTEX_T *latch, const char *name) { + int rc = pthread_mutex_init(latch, NULL); + (void)name; + if (rc == 0) return VCOS_SUCCESS; + else return vcos_pthreads_map_errno(); +} + +VCOS_INLINE_IMPL +void vcos_mutex_delete(VCOS_MUTEX_T *latch) { + int rc = pthread_mutex_destroy(latch); + (void)rc; + vcos_assert(rc==0); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_mutex_lock(VCOS_MUTEX_T *latch) { + int rc = pthread_mutex_lock(latch); + vcos_assert(rc==0); + (void)rc; + return VCOS_SUCCESS; +} + +VCOS_INLINE_IMPL +void vcos_mutex_unlock(VCOS_MUTEX_T *latch) { + int rc = pthread_mutex_unlock(latch); + (void)rc; + vcos_assert(rc==0); +} + +VCOS_INLINE_IMPL +int vcos_mutex_is_locked(VCOS_MUTEX_T *m) { + int rc = pthread_mutex_trylock(m); + if (rc == 0) { + pthread_mutex_unlock(m); + /* it wasn't locked */ + return 0; + } + else { + return 1; /* it was locked */ + } +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_mutex_trylock(VCOS_MUTEX_T *m) { + int rc = pthread_mutex_trylock(m); + (void)rc; + return (rc == 0) ? VCOS_SUCCESS : VCOS_EAGAIN; +} + +#endif /* VCOS_USE_VCOS_FUTEX */ + +/* + * Events + */ + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_event_create(VCOS_EVENT_T *event, const char *debug_name) +{ + VCOS_STATUS_T status; + + int rc = sem_init(&event->sem, 0, 0); + if (rc != 0) return vcos_pthreads_map_errno(); + + status = vcos_mutex_create(&event->mutex, debug_name); + if (status != VCOS_SUCCESS) { + sem_destroy(&event->sem); + return status; + } + + return VCOS_SUCCESS; +} + +VCOS_INLINE_IMPL +void vcos_event_signal(VCOS_EVENT_T *event) +{ + int ok = 0; + int value; + + if (vcos_mutex_lock(&event->mutex) != VCOS_SUCCESS) + goto fail_mtx; + + if (sem_getvalue(&event->sem, &value) != 0) + goto fail_sem; + + if (value == 0) + if (sem_post(&event->sem) != 0) + goto fail_sem; + + ok = 1; +fail_sem: + vcos_mutex_unlock(&event->mutex); +fail_mtx: + vcos_assert(ok); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_event_wait(VCOS_EVENT_T *event) +{ + int ret; + /* gdb causes sem_wait() to EINTR when a breakpoint is hit, retry here */ + while ((ret = sem_wait(&event->sem)) == -1 && errno == EINTR) + continue; + vcos_assert(ret==0); + return ret == 0 ? VCOS_SUCCESS : (VCOS_STATUS_T)errno; +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_event_try(VCOS_EVENT_T *event) +{ + int ret; + while ((ret = sem_trywait(&event->sem)) == -1 && errno == EINTR) + continue; + + if (ret == -1 && errno == EAGAIN) + return VCOS_EAGAIN; + else + return VCOS_SUCCESS; +} + +VCOS_INLINE_IMPL +void vcos_event_delete(VCOS_EVENT_T *event) +{ + int rc = sem_destroy(&event->sem); + vcos_assert(rc != -1); + (void)rc; + + vcos_mutex_delete(&event->mutex); +} + +VCOS_INLINE_IMPL +VCOS_UNSIGNED vcos_process_id_current(void) { + return (VCOS_UNSIGNED) getpid(); +} + +VCOS_INLINE_IMPL +int vcos_strcasecmp(const char *s1, const char *s2) { + return strcasecmp(s1,s2); +} + +VCOS_INLINE_IMPL +int vcos_strncasecmp(const char *s1, const char *s2, size_t n) { + return strncasecmp(s1,s2,n); +} + +VCOS_INLINE_IMPL +int vcos_in_interrupt(void) { + return 0; +} + +/* For support event groups - per thread semaphore */ +VCOS_INLINE_IMPL +void _vcos_thread_sem_wait(void) { + VCOS_THREAD_T *t = vcos_thread_current(); + vcos_semaphore_wait(&t->suspend); +} + +VCOS_INLINE_IMPL +void _vcos_thread_sem_post(VCOS_THREAD_T *target) { + vcos_semaphore_post(&target->suspend); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_tls_create(VCOS_TLS_KEY_T *key) { + int st = pthread_key_create(key, NULL); + return st == 0 ? VCOS_SUCCESS: VCOS_ENOMEM; +} + +VCOS_INLINE_IMPL +void vcos_tls_delete(VCOS_TLS_KEY_T tls) { + pthread_key_delete(tls); +} + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_tls_set(VCOS_TLS_KEY_T tls, void *v) { + pthread_setspecific(tls, v); + return VCOS_SUCCESS; +} + +VCOS_INLINE_IMPL +void *vcos_tls_get(VCOS_TLS_KEY_T tls) { + return pthread_getspecific(tls); +} + +#if VCOS_HAVE_ATOMIC_FLAGS + +/* + * Atomic flags + */ + +/* TODO implement properly... */ + +VCOS_INLINE_IMPL +VCOS_STATUS_T vcos_atomic_flags_create(VCOS_ATOMIC_FLAGS_T *atomic_flags) +{ + atomic_flags->flags = 0; + return vcos_mutex_create(&atomic_flags->mutex, "VCOS_ATOMIC_FLAGS_T"); +} + +VCOS_INLINE_IMPL +void vcos_atomic_flags_or(VCOS_ATOMIC_FLAGS_T *atomic_flags, uint32_t flags) +{ + vcos_mutex_lock(&atomic_flags->mutex); + atomic_flags->flags |= flags; + vcos_mutex_unlock(&atomic_flags->mutex); +} + +VCOS_INLINE_IMPL +uint32_t vcos_atomic_flags_get_and_clear(VCOS_ATOMIC_FLAGS_T *atomic_flags) +{ + uint32_t flags; + vcos_mutex_lock(&atomic_flags->mutex); + flags = atomic_flags->flags; + atomic_flags->flags = 0; + vcos_mutex_unlock(&atomic_flags->mutex); + return flags; +} + +VCOS_INLINE_IMPL +void vcos_atomic_flags_delete(VCOS_ATOMIC_FLAGS_T *atomic_flags) +{ + vcos_mutex_delete(&atomic_flags->mutex); +} + +#endif + +#if defined(linux) || defined(_HAVE_SBRK) + +/* not exactly the free memory, but a measure of it */ + +VCOS_INLINE_IMPL +unsigned long vcos_get_free_mem(void) { + return (unsigned long)sbrk(0); +} + +#endif + +#ifdef VCOS_PTHREADS_WANT_HISR_EMULATION +VCOS_STATUS_T vcos_legacy_hisr_create(VCOS_HISR_T *hisr, const char *name, + void (*entry)(void), + VCOS_UNSIGNED pri, + void *stack, VCOS_UNSIGNED stack_size); + +void vcos_legacy_hisr_activate(VCOS_HISR_T *hisr); + +void vcos_legacy_hisr_delete(VCOS_HISR_T *hisr); + +#endif + +#undef VCOS_ASSERT_LOGGING_DISABLE +#define VCOS_ASSERT_LOGGING_DISABLE 0 + +#endif /* VCOS_INLINE_BODIES */ + +#define vcos_log_platform_init() _vcos_log_platform_init() +VCOSPRE_ void VCOSPOST_ _vcos_log_platform_init(void); + +VCOS_INLINE_DECL void _vcos_thread_sem_wait(void); +VCOS_INLINE_DECL void _vcos_thread_sem_post(VCOS_THREAD_T *); + +#define VCOS_APPLICATION_ARGC vcos_get_argc() +#define VCOS_APPLICATION_ARGV vcos_get_argv() + +#include "interface/vcos/generic/vcos_generic_reentrant_mtx.h" +#include "interface/vcos/generic/vcos_generic_named_sem.h" +#include "interface/vcos/generic/vcos_generic_quickslow_mutex.h" +#include "interface/vcos/generic/vcos_common.h" + +#define _VCOS_LOG_LEVEL() getenv("VC_LOGLEVEL") + +VCOS_STATIC_INLINE +char *vcos_strdup(const char *str) +{ + return strdup(str); +} + +typedef void (*VCOS_ISR_HANDLER_T)(VCOS_UNSIGNED vecnum); + +#ifdef __cplusplus +} +#endif +#endif /* VCOS_PLATFORM_H */ + diff --git a/opt/vc/include/interface/vcos/pthreads/vcos_platform_types.h b/opt/vc/include/interface/vcos/pthreads/vcos_platform_types.h new file mode 100644 index 000000000..17b422d21 --- /dev/null +++ b/opt/vc/include/interface/vcos/pthreads/vcos_platform_types.h @@ -0,0 +1,71 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - platform-specific types and defines +=============================================================================*/ + +#ifndef VCOS_PLATFORM_TYPES_H +#define VCOS_PLATFORM_TYPES_H + +#include "interface/vcos/vcos_inttypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define VCOSPRE_ extern +#define VCOSPOST_ + +#if defined(__GNUC__) && (( __GNUC__ > 2 ) || (( __GNUC__ == 2 ) && ( __GNUC_MINOR__ >= 3 ))) +#define VCOS_FORMAT_ATTR_(ARCHETYPE, STRING_INDEX, FIRST_TO_CHECK) __attribute__ ((format (ARCHETYPE, STRING_INDEX, FIRST_TO_CHECK))) +#else +#define VCOS_FORMAT_ATTR_(ARCHETYPE, STRING_INDEX, FIRST_TO_CHECK) +#endif + +#if defined(__linux__) && !defined(NDEBUG) && defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) + #define VCOS_BKPT ({ __asm volatile ("int3":::"memory"); }) +#endif +/*#define VCOS_BKPT vcos_abort() */ + +#define VCOS_ASSERT_LOGGING 1 +#define VCOS_ASSERT_LOGGING_DISABLE 0 + +extern void +vcos_pthreads_logging_assert(const char *file, const char *func, unsigned int line, const char *fmt, ...); + +#define VCOS_ASSERT_MSG(...) ((VCOS_ASSERT_LOGGING && !VCOS_ASSERT_LOGGING_DISABLE) ? vcos_pthreads_logging_assert(__FILE__, __func__, __LINE__, __VA_ARGS__) : (void)0) + +#define VCOS_INLINE_BODIES +#define VCOS_INLINE_DECL extern __inline__ +#define VCOS_INLINE_IMPL static __inline__ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/opt/vc/include/interface/vcos/user_nodefs.h b/opt/vc/include/interface/vcos/user_nodefs.h new file mode 100644 index 000000000..ded2fb434 --- /dev/null +++ b/opt/vc/include/interface/vcos/user_nodefs.h @@ -0,0 +1,47 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef USER_NODEFS_H +#define USER_NODEFS_H + +/* + * This tells coverity not to expand the assert macro, so it still sees the + * asserts in the code, even in release builds (we currently run coverity on + * our release builds). Unfortunately MetaWare won't compile it, even though + * __COVERITY__ isn't defined, so we put this in its own header. + * + * FIXME: This belongs in the Coverity config (in a file called + * config/user_nodefs.h) + */ +#nodef assert + +/* + * So we need to declare the function now that it isn't a macro any more. It's + * already built into coverity that assert is a "killpath". + */ +extern void assert(int cond); + +#endif /* USER_NODEFS_H */ diff --git a/opt/vc/include/interface/vcos/vcos.h b/opt/vc/include/interface/vcos/vcos.h new file mode 100644 index 000000000..fae9cbc32 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos.h @@ -0,0 +1,221 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - public header file +=============================================================================*/ + +/** + * \mainpage OS Abstraction Layer + * + * \section intro Introduction + * + * This abstraction layer is here to allow the underlying OS to be easily changed (e.g. from + * Nucleus to ThreadX) and to aid in porting host applications to new targets. + * + * \subsection error Error handling + * + * Wherever possible, VCOS functions assert internally and return void. The only exceptions + * are creation functions (which might fail due to lack of resources) and functions that + * might timeout or fail due to lack of space. Errors that might be reported by the underlying + * OS API (e.g. invalid mutex) are treated as a programming error, and are merely asserted on. + * + * \section thread_synch Threads and synchronisation + * + * \subsection thread Threads + * + * The thread API is somewhat different to that found in Nucleus. In particular, threads + * cannot just be destroyed at arbitrary times and nor can they merely exit. This is so + * that the same API can be implemented across all interesting platforms without too much + * difficulty. See vcos_thread.h for details. Thread attributes are configured via + * the VCOS_THREAD_ATTR_T structure, found in vcos_thread_attr.h. + * + * \subsection sema Semaphores + * + * Counted semaphores (c.f. Nucleus NU_SEMAPHORE) are created with VCOS_SEMAPHORE_T. + * Under ThreadX on VideoCore, semaphores are implemented using VideoCore spinlocks, and + * so are quite a lot faster than ordinary ThreadX semaphores. See vcos_semaphore.h. + * + * \subsection mtx Mutexes + * + * Mutexes are used for locking. Attempts to take a mutex twice, or to unlock it + * in a different thread to the one in which it was locked should be expected to fail. + * Mutexes are not re-entrant (see vcos_reentrant_mutex.h for a slightly slower + * re-entrant mutex). + * + * \subsection evflags Event flags + * + * Event flags (the ThreadX name - also known as event groups under Nucleus) provide + * 32 flags which can be waited on by multiple clients, and signalled by multiple clients. + * A timeout can be specified. See vcos_event_flags.h. An alternative to this is the + * VCOS_EVENT_T (see vcos_event.h) which is akin to the Win32 auto-reset event, or a + * saturating counted semaphore. + * + * \subsection event Events + * + * A VCOS_EVENT_T is a bit like a saturating semaphore. No matter how many times it + * is signalled, the waiter will only wake up once. See vcos_event.h. You might think this + * is useful if you suspect that the cost of reading the semaphore count (perhaps via a + * system call) is expensive on your platform. + * + * \subsection tls Thread local storage + * + * Thread local storage is supported using vcos_tls.h. This is emulated on Nucleus + * and ThreadX. + * + * \section int Interrupts + * + * The legacy LISR/HISR scheme found in Nucleus is supported via the legacy ISR API, + * which is also supported on ThreadX. New code should avoid this, and old code should + * be migrated away from it, since it is slow. See vcos_legacy_isr.h. + * + * Registering an interrupt handler, and disabling/restoring interrupts, is handled + * using the functions in vcos_isr.h. + * + */ + +/** + * \file vcos.h + * + * This is the top level header file. Clients include this. It pulls in the platform-specific + * header file (vcos_platform.h) together with header files defining the expected APIs, such + * as vcos_mutex.h, vcos_semaphore.h, etc. It is also possible to include these header files + * directly. + * + */ + +#ifndef VCOS_H +#define VCOS_H + +#include "interface/vcos/vcos_assert.h" +#include "vcos_types.h" +#include "vcos_platform.h" + +#ifndef VCOS_INIT_H +#include "interface/vcos/vcos_init.h" +#endif + +#ifndef VCOS_SEMAPHORE_H +#include "interface/vcos/vcos_semaphore.h" +#endif + +#ifndef VCOS_THREAD_H +#include "interface/vcos/vcos_thread.h" +#endif + +#ifndef VCOS_MUTEX_H +#include "interface/vcos/vcos_mutex.h" +#endif + +#ifndef VCOS_MEM_H +#include "interface/vcos/vcos_mem.h" +#endif + +#ifndef VCOS_LOGGING_H +#include "interface/vcos/vcos_logging.h" +#endif + +#ifndef VCOS_STRING_H +#include "interface/vcos/vcos_string.h" +#endif + +#ifndef VCOS_EVENT_H +#include "interface/vcos/vcos_event.h" +#endif + +#ifndef VCOS_THREAD_ATTR_H +#include "interface/vcos/vcos_thread_attr.h" +#endif + +#ifndef VCOS_TLS_H +#include "interface/vcos/vcos_tls.h" +#endif + +#ifndef VCOS_REENTRANT_MUTEX_H +#include "interface/vcos/vcos_reentrant_mutex.h" +#endif + +#ifndef VCOS_NAMED_SEMAPHORE_H +#include "interface/vcos/vcos_named_semaphore.h" +#endif + +#ifndef VCOS_QUICKSLOW_MUTEX_H +#include "interface/vcos/vcos_quickslow_mutex.h" +#endif + +/* Headers with predicates */ + +#if VCOS_HAVE_EVENT_FLAGS +#include "interface/vcos/vcos_event_flags.h" +#endif + +#if VCOS_HAVE_QUEUE +#include "interface/vcos/vcos_queue.h" +#endif + +#if VCOS_HAVE_LEGACY_ISR +#include "interface/vcos/vcos_legacy_isr.h" +#endif + +#if VCOS_HAVE_TIMER +#include "interface/vcos/vcos_timer.h" +#endif + +#if VCOS_HAVE_MEMPOOL +#include "interface/vcos/vcos_mempool.h" +#endif + +#if VCOS_HAVE_ISR +#include "interface/vcos/vcos_isr.h" +#endif + +#if VCOS_HAVE_ATOMIC_FLAGS +#include "interface/vcos/vcos_atomic_flags.h" +#endif + +#if VCOS_HAVE_ONCE +#include "interface/vcos/vcos_once.h" +#endif + +#if VCOS_HAVE_BLOCK_POOL +#include "interface/vcos/vcos_blockpool.h" +#endif + +#if VCOS_HAVE_FILE +#include "interface/vcos/vcos_file.h" +#endif + +#if VCOS_HAVE_CFG +#include "interface/vcos/vcos_cfg.h" +#endif + +#if VCOS_HAVE_CMD +#include "interface/vcos/vcos_cmd.h" +#endif + +#endif /* VCOS_H */ + diff --git a/opt/vc/include/interface/vcos/vcos_assert.h b/opt/vc/include/interface/vcos/vcos_assert.h new file mode 100644 index 000000000..79b5a3238 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_assert.h @@ -0,0 +1,324 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - Assertion and error-handling macros. +=============================================================================*/ + + +#ifndef VCOS_ASSERT_H +#define VCOS_ASSERT_H + +/* + * Macro: + * vcos_assert(cond) + * vcos_assert_msg(cond, fmt, ...) + * Use: + * Detecting programming errors by ensuring that assumptions are correct. + * On failure: + * Performs a platform-dependent "breakpoint", usually with an assert-style + * message. The '_msg' variant expects a printf-style format string and + * parameters. + * If a failure is detected, the code should be fixed and rebuilt. + * In release builds: + * Generates no code, i.e. does not evaluate 'cond'. + * Returns: + * Nothing. + * + * Macro: + * vcos_demand(cond) + * vcos_demand_msg(cond, fmt, ...) + * Use: + * Detecting fatal system errors that require a reboot. + * On failure: + * Performs a platform-dependent "breakpoint", usually with an assert-style + * message, then calls vcos_abort (see below). + * In release builds: + * Calls vcos_abort() if 'cond' is false. + * Returns: + * Nothing (never, on failure). + * + * Macro: + * vcos_verify(cond) + * vcos_verify_msg(cond, fmt, ...) + * Use: + * Detecting run-time errors and interesting conditions, normally within an + * 'if' statement to catch the failures, i.e. + * if (!vcos_verify(cond)) handle_error(); + * On failure: + * Generates a message and optionally stops at a platform-dependent + * "breakpoint" (usually disabled). See vcos_verify_bkpts_enable below. + * In release builds: + * Just evaluates and returns 'cond'. + * Returns: + * Non-zero if 'cond' is true, otherwise zero. + * + * Macro: + * vcos_static_assert(cond) + * Use: + * Detecting compile-time errors. + * On failure: + * Generates a compiler error. + * In release builds: + * Generates a compiler error. + * + * Function: + * void vcos_abort(void) + * Use: + * Invokes the fatal error handling mechanism, alerting the host where + * applicable. + * Returns: + * Never. + * + * Macro: + * VCOS_VERIFY_BKPTS + * Use: + * Define in a module (before including vcos.h) to specify an alternative + * flag to control breakpoints on vcos_verify() failures. + * Returns: + * Non-zero values enable breakpoints. + * + * Function: + * int vcos_verify_bkpts_enable(int enable); + * Use: + * Sets the global flag controlling breakpoints on vcos_verify failures, + * enabling the breakpoints iff 'enable' is non-zero. + * Returns: + * The previous state of the flag. + * + * Function: + * int vcos_verify_bkpts_enabled(void); + * Use: + * Queries the state of the global flag enabling breakpoints on vcos_verify + * failures. + * Returns: + * The current state of the flag. + * + * Examples: + * + * int my_breakpoint_enable_flag = 1; + * + * #define VCOS_VERIFY_BKPTS my_breakpoint_enable_flag + * + * #include "interface/vcos/vcos.h" + * + * vcos_static_assert((sizeof(object) % 32) == 0); + * + * // ... + * + * vcos_assert_msg(postcondition_is_true, "Coding error"); + * + * if (!vcos_verify_msg(buf, "Buffer allocation failed (%d bytes)", size)) + * { + * // Tidy up + * // ... + * return OUT_OF_MEMORY; + * } + * + * vcos_demand(*p++==GUARDWORDHEAP); + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" + +#ifdef __COVERITY__ +#include "interface/vcos/user_nodefs.h" + +extern void __coverity_panic__(void); +#undef VCOS_ASSERT_BKPT +#define VCOS_ASSERT_BKPT __coverity_panic__() +#endif + +/* + * ANDROID should NOT be defined for files built for Videocore, but currently it + * is. FIXME When that's fixed, remove the __VIDEOCORE__ band-aid. + */ +#if (defined(ANDROID) && !defined(__VIDEOCORE__)) +# include "assert.h" +# define vcos_assert assert +#endif + +#ifndef VCOS_VERIFY_BKPTS +#define VCOS_VERIFY_BKPTS vcos_verify_bkpts_enabled() +#endif + +#ifndef VCOS_BKPT +#if defined(__VIDEOCORE__) && !defined(VCOS_ASSERT_NO_BKPTS) +#define VCOS_BKPT _bkpt() +#else +#define VCOS_BKPT (void )0 +#endif +#endif + +#ifndef VCOS_ASSERT_BKPT +#define VCOS_ASSERT_BKPT VCOS_BKPT +#endif + +#ifndef VCOS_VERIFY_BKPT +#define VCOS_VERIFY_BKPT (VCOS_VERIFY_BKPTS ? VCOS_BKPT : (void)0) +#endif + +VCOSPRE_ int VCOSPOST_ vcos_verify_bkpts_enabled(void); +VCOSPRE_ int VCOSPOST_ vcos_verify_bkpts_enable(int enable); +VCOSPRE_ void VCOSPOST_ vcos_abort(void); + +#ifndef VCOS_ASSERT_MSG +#ifdef LOGGING +extern void logging_assert(const char *file, const char *func, int line, const char *format, ...); +extern void logging_assert_dump(void); +#define VCOS_ASSERT_MSG(...) ((VCOS_ASSERT_LOGGING && !VCOS_ASSERT_LOGGING_DISABLE) ? logging_assert_dump(), logging_assert(__FILE__, __func__, __LINE__, __VA_ARGS__) : (void)0) +#else +#define VCOS_ASSERT_MSG(...) ((void)0) +#endif +#endif + +#ifndef VCOS_VERIFY_MSG +#define VCOS_VERIFY_MSG(...) VCOS_ASSERT_MSG(__VA_ARGS__) +#endif + +#ifndef VCOS_ASSERT_LOGGING +#define VCOS_ASSERT_LOGGING 0 +#endif + +#ifndef VCOS_ASSERT_LOGGING_DISABLE +#define VCOS_ASSERT_LOGGING_DISABLE 0 +#endif + +#if !defined(NDEBUG) || defined(VCOS_RELEASE_ASSERTS) +#define VCOS_ASSERT_ENABLED 1 +#define VCOS_VERIFY_ENABLED 1 +#else +#define VCOS_ASSERT_ENABLED 0 +#define VCOS_VERIFY_ENABLED 0 +#endif + +#define VCOS_DEMAND_ENABLED 1 + +#if VCOS_ASSERT_ENABLED + +#ifndef vcos_assert +#define vcos_assert(cond) \ + ( (cond) ? (void)0 : (VCOS_ASSERT_MSG("%s", #cond), VCOS_ASSERT_BKPT) ) +#endif + +#ifndef vcos_assert_msg +#define vcos_assert_msg(cond, ...) \ + ( (cond) ? (void)0 : (VCOS_ASSERT_MSG(__VA_ARGS__), VCOS_ASSERT_BKPT) ) +#endif + +#else /* VCOS_ASSERT_ENABLED */ + +#ifndef vcos_assert +#define vcos_assert(cond) (void)0 +#endif + +#ifndef vcos_assert_msg +#define vcos_assert_msg(cond, ...) (void)0 +#endif + +#endif /* VCOS_ASSERT_ENABLED */ + + +#if VCOS_DEMAND_ENABLED + +#ifndef vcos_demand +#define vcos_demand(cond) \ + ( (cond) ? (void)0 : (VCOS_ASSERT_MSG("%s", #cond), VCOS_ASSERT_BKPT, vcos_abort()) ) +#endif + +#ifndef vcos_demand_msg +#define vcos_demand_msg(cond, ...) \ + ( (cond) ? (void)0 : (VCOS_ASSERT_MSG(__VA_ARGS__), VCOS_ASSERT_BKPT, vcos_abort()) ) +#endif + +#else /* VCOS_DEMAND_ENABLED */ + +#ifndef vcos_demand +#define vcos_demand(cond) \ + ( (cond) ? (void)0 : vcos_abort() ) +#endif + +#ifndef vcos_demand_msg +#define vcos_demand_msg(cond, ...) \ + ( (cond) ? (void)0 : vcos_abort() ) +#endif + +#endif /* VCOS_DEMAND_ENABLED */ + + +#if VCOS_VERIFY_ENABLED + +#ifndef vcos_verify +#define vcos_verify(cond) \ + ( (cond) ? 1 : (VCOS_VERIFY_MSG("%s", #cond), VCOS_VERIFY_BKPT, 0) ) +#endif + +#ifndef vcos_verify_msg +#define vcos_verify_msg(cond, ...) \ + ( (cond) ? 1 : (VCOS_VERIFY_MSG(__VA_ARGS__), VCOS_VERIFY_BKPT, 0) ) +#endif + +#else /* VCOS_VERIFY_ENABLED */ + +#ifndef vcos_verify +#define vcos_verify(cond) (cond) +#endif + +#ifndef vcos_verify_msg +#define vcos_verify_msg(cond, ...) (cond) +#endif + +#endif /* VCOS_VERIFY_ENABLED */ + + +#ifndef vcos_static_assert +#if defined(__GNUC__) +#define vcos_static_assert(cond) __attribute__((unused)) extern int vcos_static_assert[(cond)?1:-1] +#else +#define vcos_static_assert(cond) extern int vcos_static_assert[(cond)?1:-1] +#endif +#endif + +#ifndef vc_assert +#define vc_assert(cond) vcos_assert(cond) +#endif + +#define vcos_unreachable() vcos_assert(0) +#define vcos_not_impl() vcos_assert(0) + +/** Print out a backtrace, on supported platforms. + */ +extern void vcos_backtrace_self(void); + +#ifdef __cplusplus +} +#endif + +#endif /* VCOS_ASSERT_H */ diff --git a/opt/vc/include/interface/vcos/vcos_atomic_flags.h b/opt/vc/include/interface/vcos/vcos_atomic_flags.h new file mode 100644 index 000000000..62bbf3819 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_atomic_flags.h @@ -0,0 +1,92 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - public header file +=============================================================================*/ + +#ifndef VCOS_ATOMIC_FLAGS_H +#define VCOS_ATOMIC_FLAGS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file vcos_atomic_flags.h + * + * Defines atomic flags API. + * + * 32 flags. Atomic "or" and "get and clear" operations + */ + +/** + * Create an atomic flags instance. + * + * @param atomic_flags Pointer to atomic flags instance, filled in on return + * + * @return VCOS_SUCCESS if succeeded. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_atomic_flags_create(VCOS_ATOMIC_FLAGS_T *atomic_flags); + +/** + * Atomically set the specified flags. + * + * @param atomic_flags Instance to set flags on + * @param flags Mask of flags to set + */ +VCOS_INLINE_DECL +void vcos_atomic_flags_or(VCOS_ATOMIC_FLAGS_T *atomic_flags, uint32_t flags); + +/** + * Retrieve the current flags and then clear them. The entire operation is + * atomic. + * + * @param atomic_flags Instance to get/clear flags from/on + * + * @return Mask of flags which were set (and we cleared) + */ +VCOS_INLINE_DECL +uint32_t vcos_atomic_flags_get_and_clear(VCOS_ATOMIC_FLAGS_T *atomic_flags); + +/** + * Delete an atomic flags instance. + * + * @param atomic_flags Instance to delete + */ +VCOS_INLINE_DECL +void vcos_atomic_flags_delete(VCOS_ATOMIC_FLAGS_T *atomic_flags); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/opt/vc/include/interface/vcos/vcos_blockpool.h b/opt/vc/include/interface/vcos/vcos_blockpool.h new file mode 100644 index 000000000..0f18a8e21 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_blockpool.h @@ -0,0 +1,171 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - fixed size allocator support +=============================================================================*/ + +#ifndef VCOS_BLOCKPOOL_H +#define VCOS_BLOCKPOOL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** \file + * + * Thread safe, fixed size allocator API. + * + */ + +/** Initialises a block pool to use already allocated (e.g. statically) + * allocated memory. + * + * Different implementations will incur different overheads. Use + * VCOS_BLOCKPOOL_SIZE(num_blocks, block_size) to calculate the number + * of bytes required including overheads for the desired pools. + * + * @param pool Pointer to pool object + * @param num_blocks The number of blocks required. + * @param block_size The size of an individual block. + * @param start The address of the start of the pool. + * @param pool_size The size of the pool in bytes. + * @param align Alignment for block data. Use VCOS_BLOCKPOOL_ALIGN_DEFAULT + * for default word alignment. + * @param flags Reserved for future use. + * @param name Name of the pool. Used for diagnostics. + * + * @return VCOS_SUCCESS if the pool was created. + */ + +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_blockpool_init(VCOS_BLOCKPOOL_T *pool, + VCOS_UNSIGNED num_blocks, VCOS_UNSIGNED block_size, + void *start, VCOS_UNSIGNED pool_size, VCOS_UNSIGNED align, + VCOS_UNSIGNED flags, const char *name); + +/** Creates a pool of blocks of a given size within a buffer allocated on + * the heap. + * + * The heap memory is freed when the block pool is destroyed by + * calling vcos_blockpool_delete. + * + * @param pool Pointer to pool object + * @param num_blocks The number of blocks required. + * @param block_size The size of an individual block. + * @param align Alignment for block data. Use VCOS_BLOCKPOOL_ALIGN_DEFAULT + * for default word alignment. + * @param flags Reserved for future use. + * @param name Name of the pool. Used for diagnostics. + * + * @return VCOS_SUCCESS if the pool was created. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_blockpool_create_on_heap(VCOS_BLOCKPOOL_T *pool, + VCOS_UNSIGNED num_blocks, VCOS_UNSIGNED block_size, + VCOS_UNSIGNED align, VCOS_UNSIGNED flags, + const char *name); + +/** Allocate a block from the pool + * + * @param pool Pointer to the pool to allocate from. + * @return a pointer to the newly allocated block or NULL if no blocks were + * available. + */ +VCOS_INLINE_DECL +void *vcos_blockpool_alloc(VCOS_BLOCKPOOL_T *pool); + +/** Allocate a block from the pool and zero it. + * + * @param pool Pointer to the pool to allocate from. + * @return a pointer to the newly allocated block or NULL if no blocks were + * available. + */ +VCOS_INLINE_DECL +void *vcos_blockpool_calloc(VCOS_BLOCKPOOL_T *pool); + +/** Returns a block to the pool. + * + * @param block The block to free. + */ +VCOS_INLINE_DECL +void vcos_blockpool_free(void *block); + +/** Queries the number of available blocks in the pool. + * @param pool The pool to query. + */ +VCOS_INLINE_IMPL + VCOS_UNSIGNED vcos_blockpool_available_count(VCOS_BLOCKPOOL_T *pool); + +/** Queries the number of used blocks in the pool. + * @param pool The pool to query. + */ +VCOS_INLINE_IMPL + VCOS_UNSIGNED vcos_blockpool_used_count(VCOS_BLOCKPOOL_T *pool); + +/** Deinitialize a memory pool. + * + * @param pool The pool to de-initialize. + */ +VCOS_INLINE_DECL +void vcos_blockpool_delete(VCOS_BLOCKPOOL_T *pool); + +/** Return an integer handle for a given allocated block. */ +VCOS_INLINE_DECL +uint32_t vcos_blockpool_elem_to_handle(void *block); + +/** Convert an integer handle back into a pointer. + * Returns NULL if invalid. */ +VCOS_INLINE_DECL +void *vcos_blockpool_elem_from_handle(VCOS_BLOCKPOOL_T *pool, uint32_t handle); + +/** Checks whether a pointer is an allocated block within the specified pool. + * Returns true if the block is valid, otherwise, false is returned. */ +VCOS_INLINE_DECL +uint32_t vcos_blockpool_is_valid_elem( + VCOS_BLOCKPOOL_T *pool, const void *block); + +/** May be called once to allow the block pool to be extended by dynamically + * adding subpools. The block size cannot be altered. + * + * @param num_extensions The number of extensions that may be created. + * The maximum is (VCOS_BLOCKPOOL_MAX_SUBPOOLS - 1) + * @param num_blocks The number of blocks to allocate in each in each + * dynamically allocated subpool. + * @return VCOS_SUCCESS if successful. + */ +VCOS_INLINE_DECL + VCOS_STATUS_T vcos_blockpool_extend(VCOS_BLOCKPOOL_T *pool, + VCOS_UNSIGNED num_extensions, VCOS_UNSIGNED num_blocks); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/opt/vc/include/interface/vcos/vcos_build_info.h b/opt/vc/include/interface/vcos/vcos_build_info.h new file mode 100644 index 000000000..710619e3d --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_build_info.h @@ -0,0 +1,32 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +const char *vcos_get_build_hostname( void ); +const char *vcos_get_build_version( void ); +const char *vcos_get_build_time( void ); +const char *vcos_get_build_date( void ); + diff --git a/opt/vc/include/interface/vcos/vcos_cfg.h b/opt/vc/include/interface/vcos/vcos_cfg.h new file mode 100644 index 000000000..5ae186d97 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_cfg.h @@ -0,0 +1,126 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#if !defined( VCOS_CFG_H ) +#define VCOS_CFG_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +typedef struct opaque_vcos_cfg_buf_t *VCOS_CFG_BUF_T; +typedef struct opaque_vcos_cfg_entry_t *VCOS_CFG_ENTRY_T; + +/** \file vcos_file.h + * + * API for accessing configuration/statistics information. This + * is loosely modelled on the linux proc entries. + */ + +typedef void (*VCOS_CFG_SHOW_FPTR)( VCOS_CFG_BUF_T buf, void *data ); +typedef void (*VCOS_CFG_PARSE_FPTR)( VCOS_CFG_BUF_T buf, void *data ); + +/** Create a configuration directory. + * + * @param entry Place to store the created config entry. + * @param parent Parent entry (for directory like config + * options). + * @param entryName Name of the directory. + */ + +VCOS_STATUS_T vcos_cfg_mkdir( VCOS_CFG_ENTRY_T *entry, + VCOS_CFG_ENTRY_T *parent, + const char *dirName ); + +/** Create a configuration entry. + * + * @param entry Place to store the created config entry. + * @param parent Parent entry (for directory like config + * options). + * @param entryName Name of the configuration entry. + * @param showFunc Function pointer to show configuration + * data. + * @param parseFunc Function pointer to parse new data. + */ + +VCOS_STATUS_T vcos_cfg_create_entry( VCOS_CFG_ENTRY_T *entry, + VCOS_CFG_ENTRY_T *parent, + const char *entryName, + VCOS_CFG_SHOW_FPTR showFunc, + VCOS_CFG_PARSE_FPTR parseFunc, + void *data ); + +/** Determines if a configuration entry has been created or not. + * + * @param entry Configuration entry to query. + */ + +int vcos_cfg_is_entry_created( VCOS_CFG_ENTRY_T entry ); + +/** Returns the name of a configuration entry. + * + * @param entry Configuration entry to query. + */ + +const char *vcos_cfg_get_entry_name( VCOS_CFG_ENTRY_T entry ); + +/** Removes a configuration entry. + * + * @param entry Configuration entry to remove. + */ + +VCOS_STATUS_T vcos_cfg_remove_entry( VCOS_CFG_ENTRY_T *entry ); + + +/** Writes data into a configuration buffer. Only valid inside + * the show function. + * + * @param buf Buffer to write data into. + * @param fmt printf style format string. + */ + +void vcos_cfg_buf_printf( VCOS_CFG_BUF_T buf, const char *fmt, ... ); + +/** Retrieves a null terminated string of the data associated + * with the buffer. Only valid inside the parse function. + * + * @param buf Buffer to get data from. + * @param fmt printf style format string. + */ + +char *vcos_cfg_buf_get_str( VCOS_CFG_BUF_T buf ); + +void *vcos_cfg_get_proc_entry( VCOS_CFG_ENTRY_T entry ); + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_cmd.h b/opt/vc/include/interface/vcos/vcos_cmd.h new file mode 100644 index 000000000..3d70dbeed --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_cmd.h @@ -0,0 +1,119 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#if !defined( VCOS_CMD_H ) +#define VCOS_CMD_H + +/* ---- Include Files ----------------------------------------------------- */ + +#ifndef VCOS_H +#include "interface/vcos/vcos.h" +#endif +#include "interface/vcos/vcos_stdint.h" + + +/* ---- Constants and Types ---------------------------------------------- */ + +struct VCOS_CMD_S; +typedef struct VCOS_CMD_S VCOS_CMD_T; + +typedef struct +{ + int argc; /* Number of arguments (includes the command/sub-command) */ + char **argv; /* Array of arguments */ + char **argv_orig; /* Original array of arguments */ + + VCOS_CMD_T *cmd_entry; + VCOS_CMD_T *cmd_parent_entry; + + int use_log; /* Output being logged? */ + size_t result_size; /* Size of result buffer. */ + char *result_ptr; /* Next place to put output. */ + char *result_buf; /* Start of the buffer. */ + +} VCOS_CMD_PARAM_T; + +typedef VCOS_STATUS_T (*VCOS_CMD_FUNC_T)( VCOS_CMD_PARAM_T *param ); + +struct VCOS_CMD_S +{ + const char *name; + const char *args; + VCOS_CMD_FUNC_T cmd_fn; + VCOS_CMD_T *sub_cmd_entry; + const char *descr; + +}; + +/* ---- Variable Externs ------------------------------------------------- */ + +/* ---- Function Prototypes ---------------------------------------------- */ + +/* + * Common printing routine for generating command output. + */ +VCOSPRE_ void VCOSPOST_ vcos_cmd_error( VCOS_CMD_PARAM_T *param, const char *fmt, ... ) VCOS_FORMAT_ATTR_(printf, 2, 3); +VCOSPRE_ void VCOSPOST_ vcos_cmd_printf( VCOS_CMD_PARAM_T *param, const char *fmt, ... ) VCOS_FORMAT_ATTR_(printf, 2, 3); +VCOSPRE_ void VCOSPOST_ vcos_cmd_vprintf( VCOS_CMD_PARAM_T *param, const char *fmt, va_list args ) VCOS_FORMAT_ATTR_(printf, 2, 0); + +/* + * Cause vcos_cmd_error, printf and vprintf to always log to the provided + * category. When this call is made, the results buffer passed into + * vcos_cmd_execute is used as a line buffer and does not need to be + * output by the caller. + */ +VCOSPRE_ void VCOSPOST_ vcos_cmd_always_log_output( VCOS_LOG_CAT_T *log_category ); + +/* + * Prints command usage for the current command. + */ +VCOSPRE_ void VCOSPOST_ vcos_cmd_usage( VCOS_CMD_PARAM_T *param ); + +/* + * Register commands to be processed + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_cmd_register( VCOS_CMD_T *cmd_entry ); + +/* + * Registers multiple commands to be processed. The array should + * be terminated by an entry with all zeros. + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_cmd_register_multiple( VCOS_CMD_T *cmd_entry ); + +/* + * Executes a command based on a command line. + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_cmd_execute( int argc, char **argv, size_t result_size, char *result_buf ); + +/* + * Shut down the command system and free all allocated data. + * Do not call any other command functions after this. + */ +VCOSPRE_ void VCOSPOST_ vcos_cmd_shutdown( void ); + +#endif /* VCOS_CMD_H */ + diff --git a/opt/vc/include/interface/vcos/vcos_ctype.h b/opt/vc/include/interface/vcos/vcos_ctype.h new file mode 100644 index 000000000..64bda969b --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_ctype.h @@ -0,0 +1,49 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - public header file +=============================================================================*/ + +#ifndef VCOS_CTYPE_H +#define VCOS_CTYPE_H + +/** + * \file + * + * ctype functions. + * + */ + +#ifdef __KERNEL__ +#include +#else +#include +#endif + +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_dlfcn.h b/opt/vc/include/interface/vcos/vcos_dlfcn.h new file mode 100644 index 000000000..3a2ed240c --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_dlfcn.h @@ -0,0 +1,89 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VCOS - abstraction over dynamic library opening +=============================================================================*/ + +#ifndef VCOS_DLFCN_H +#define VCOS_DLFCN_H + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define VCOS_DL_LAZY 1 +#define VCOS_DL_NOW 2 + +/** + * \file + * + * Loading dynamic libraries. See also dlfcn.h. + */ + +/** Open a dynamic library. + * + * @param name name of the library + * @param mode Load lazily or immediately (VCOS_DL_LAZY, VCOS_DL_NOW). + * + * @return A handle for use in subsequent calls. + */ +VCOSPRE_ void * VCOSPOST_ vcos_dlopen(const char *name, int mode); + +/** Look up a symbol. + * + * @param handle Handle to open + * @param name Name of function + * + * @return Function pointer, or NULL. + */ +VCOSPRE_ void VCOSPOST_ (*vcos_dlsym(void *handle, const char *name))(void); + +/** Close a library + * + * @param handle Handle to close + */ +VCOSPRE_ int VCOSPOST_ vcos_dlclose (void *handle); + +/** Return error message from library. + * + * @param err On return, set to non-zero if an error has occurred + * @param buf Buffer to write error to + * @param len Size of buffer (including terminating NUL). + */ +VCOSPRE_ int VCOSPOST_ vcos_dlerror(int *err, char *buf, size_t buflen); + + +#ifdef __cplusplus +} +#endif +#endif + + diff --git a/opt/vc/include/interface/vcos/vcos_event.h b/opt/vc/include/interface/vcos/vcos_event.h new file mode 100644 index 000000000..3aa907841 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_event.h @@ -0,0 +1,117 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - public header file for events +=============================================================================*/ + +#ifndef VCOS_EVENT_H +#define VCOS_EVENT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file + * + * An event is akin to the Win32 auto-reset event. + * + * + * Signalling an event will wake up one waiting thread only. Once one + * thread has been woken the event atomically returns to the unsignalled + * state. + * + * If no threads are waiting on the event when it is signalled it remains + * signalled. + * + * This is almost, but not quite, completely unlike the "event flags" + * object based on Nucleus event groups and ThreadX event flags. + * + * In particular, it should be similar in speed to a semaphore, unlike + * the event flags. + */ + +/** + * Create an event instance. + * + * @param event Filled in with constructed event. + * @param name Name of the event (for debugging) + * + * @return VCOS_SUCCESS on success, or error code. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_event_create(VCOS_EVENT_T *event, const char *name); + +#ifndef vcos_event_signal + +/** + * Signal the event. The event will return to being unsignalled + * after exactly one waiting thread has been woken up. If no + * threads are waiting it remains signalled. + * + * @param event The event to signal + */ +VCOS_INLINE_DECL +void vcos_event_signal(VCOS_EVENT_T *event); + +/** + * Wait for the event. + * + * @param event The event to wait for + * @return VCOS_SUCCESS on success, VCOS_EAGAIN if the wait was interrupted. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_event_wait(VCOS_EVENT_T *event); + +/** + * Try event, but don't block. + * + * @param event The event to try + * @return VCOS_SUCCESS on success, VCOS_EAGAIN if the event is not currently signalled + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_event_try(VCOS_EVENT_T *event); + +#endif + +/* + * Destroy an event. + */ +VCOS_INLINE_DECL +void vcos_event_delete(VCOS_EVENT_T *event); + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/opt/vc/include/interface/vcos/vcos_event_flags.h b/opt/vc/include/interface/vcos/vcos_event_flags.h new file mode 100644 index 000000000..f5b82bef3 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_event_flags.h @@ -0,0 +1,118 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - public header file +=============================================================================*/ + +#ifndef VCOS_EVENT_FLAGS_H +#define VCOS_EVENT_FLAGS_H + + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +#define VCOS_EVENT_FLAGS_SUSPEND VCOS_SUSPEND +#define VCOS_EVENT_FLAGS_NO_SUSPEND VCOS_NO_SUSPEND +typedef VCOS_OPTION VCOS_EVENTGROUP_OPERATION_T; + +/** + * \file vcos_event_flags.h + * + * Defines event flags API. + * + * Similar to Nucleus event groups. + * + * These have the same semantics as Nucleus event groups and ThreadX event + * flags. As such, they are quite complex internally; if speed is important + * they might not be your best choice. + * + */ + +/** + * Create an event flags instance. + * + * @param flags Pointer to event flags instance, filled in on return. + * @param name Name for the event flags, used for debug. + * + * @return VCOS_SUCCESS if succeeded. + */ + +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_event_flags_create(VCOS_EVENT_FLAGS_T *flags, const char *name); + +/** + * Set some events. + * + * @param flags Instance to set flags on + * @param events Bitmask of the flags to actually set + * @param op How the flags should be set. VCOS_OR will OR in the flags; VCOS_AND + * will AND them in, possibly clearing existing flags. + */ +VCOS_INLINE_DECL +void vcos_event_flags_set(VCOS_EVENT_FLAGS_T *flags, + VCOS_UNSIGNED events, + VCOS_OPTION op); + +/** + * Retrieve some events. + * + * Waits until the specified events have been set. + * + * @param flags Instance to wait on + * @param requested_events The bitmask to wait for + * @param op VCOS_OR - get any; VCOS_AND - get all. + * @param ms_suspend How long to wait, in milliseconds + * @param retrieved_events the events actually retrieved. + * + * @return VCOS_SUCCESS if events were retrieved. VCOS_EAGAIN if the + * timeout expired. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_event_flags_get(VCOS_EVENT_FLAGS_T *flags, + VCOS_UNSIGNED requested_events, + VCOS_OPTION op, + VCOS_UNSIGNED ms_suspend, + VCOS_UNSIGNED *retrieved_events); + + +/** + * Delete an event flags instance. + */ +VCOS_INLINE_DECL +void vcos_event_flags_delete(VCOS_EVENT_FLAGS_T *); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_init.h b/opt/vc/include/interface/vcos/vcos_init.h new file mode 100644 index 000000000..aa06f89a0 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_init.h @@ -0,0 +1,110 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - initialization routines +=============================================================================*/ + + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** \file + * + * Some OS support libraries need some initialization. To support this, call + * vcos_init() function at the start of day; vcos_deinit() at the end. + */ + +/** + * vcos initialization. Call this function before using other vcos functions. + * Calls can be nested within the same process; they are reference counted so + * that only a call from uninitialized state has any effect. + * @note On platforms/toolchains that support it, gcc's constructor attribute or + * similar is used to invoke this function before main() or equivalent. + * @return Status of initialisation. + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_init(void); + +/** + * vcos deinitialization. Call this function when vcos is no longer required, + * in order to free resources. + * Calls can be nested within the same process; they are reference counted so + * that only a call that decrements the reference count to 0 has any effect. + * @note On platforms/toolchains that support it, gcc's destructor attribute or + * similar is used to invoke this function after exit() or equivalent. + * @return Status of initialisation. + */ +VCOSPRE_ void VCOSPOST_ vcos_deinit(void); + +/** + * Acquire global lock. This must be available independent of vcos_init()/vcos_deinit(). + */ +VCOSPRE_ void VCOSPOST_ vcos_global_lock(void); + +/** + * Release global lock. This must be available independent of vcos_init()/vcos_deinit(). + */ +VCOSPRE_ void VCOSPOST_ vcos_global_unlock(void); + +/** Pass in the argv/argc arguments passed to main() */ +VCOSPRE_ void VCOSPOST_ vcos_set_args(int argc, const char **argv); + +/** Return argc. */ +VCOSPRE_ int VCOSPOST_ vcos_get_argc(void); + +/** Return argv. */ +VCOSPRE_ const char ** VCOSPOST_ vcos_get_argv(void); + +/** + * Platform-specific initialisation. + * VCOS internal function, not part of public API, do not call from outside + * vcos. vcos_init()/vcos_deinit() reference count calls, so this function is + * only called from an uninitialized state, i.e. there will not be two + * consecutive calls to vcos_platform_init() without an intervening call to + * vcos_platform_deinit(). + * This function is called with vcos_global_lock held. + * @return Status of initialisation. + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_platform_init(void); + +/** + * Platform-specific de-initialisation. + * VCOS internal function, not part of public API, do not call from outside + * vcos. + * See vcos_platform_init() re reference counting. + * This function is called with vcos_global_lock held. + */ +VCOSPRE_ void VCOSPOST_ vcos_platform_deinit(void); + +#ifdef __cplusplus +} +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_inttypes.h b/opt/vc/include/interface/vcos/vcos_inttypes.h new file mode 100644 index 000000000..7818ab895 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_inttypes.h @@ -0,0 +1,49 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCOS_INTTYPES_H +#define VCOS_INTTYPES_H + +/** \file + * Attempt to provide the support for fixed width integer types as per + * inttypes.h. This simply includes inttypes.h, which should find the + * system/toolchain version if present, otherwise falling back to the version + * in interface/vcos/. The vcos versions initially only provide the + * most common printf() macros. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifdef __cplusplus +} +#endif + +#endif /* VCOS_INTTYPES_H */ diff --git a/opt/vc/include/interface/vcos/vcos_isr.h b/opt/vc/include/interface/vcos/vcos_isr.h new file mode 100644 index 000000000..0c0d5e609 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_isr.h @@ -0,0 +1,90 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - IRQ support +=============================================================================*/ + +#ifndef VCOS_ISR_H +#define VCOS_ISR_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file vcos_isr.h + * + * \section isr ISR support + * + * API for dispatching interrupts. + */ + +/** + * + * Register an interrupt handler. The old handler (if any) is returned in + * old_handler. The old handler should be called if the interrupt was not + * for you. + * + * The handler function will be called in a context with interrupts disabled, + * so should be written to be as short as possible. If significant processing + * is needed, the handler should delegate to a thread. + * + * The handler function can call any OS primitive that does not block (e.g. + * post a semaphore or set an event flag). Blocking operations (including memory + * allocation from the system heap) are not permitted. + * + * To deregister an ISR, pass in NULL. + * + * @param vec Vector to register for + * @param handler Handler to be called + * @param old_handler Updated with the old handler, or NULL. + */ + +VCOS_INLINE_DECL +void vcos_register_isr(VCOS_UNSIGNED vec, + VCOS_ISR_HANDLER_T handler, + VCOS_ISR_HANDLER_T *old_handler); + +/** Disable interrupts, returning the old value (enabled/disabled) to the caller. + */ +VCOS_INLINE_DECL +VCOS_UNSIGNED vcos_int_disable(void); + +/** Restore the previous interrupt enable/disable state. + */ +VCOS_INLINE_DECL +void vcos_int_restore(VCOS_UNSIGNED previous); + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_legacy_isr.h b/opt/vc/include/interface/vcos/vcos_legacy_isr.h new file mode 100644 index 000000000..b77117a0b --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_legacy_isr.h @@ -0,0 +1,102 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - legacy (Nucleus) IRQ support +=============================================================================*/ + +#ifndef VCOS_LEGACY_ISR_H +#define VCOS_LEGACY_ISR_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** \file vcos_legacy_isr.h + * + * API for dispatching interrupts the Nucleus way, via a LISR and HISR. + * New code should use the single-dispatch scheme - the LISR/HISR + * distinction is not necessary. + * + * Under ThreadX, a HISR is implemented as a high-priority thread which + * waits on a counting semaphore to call the HISR function. Although this + * provides a good approximation to the Nucleus semantics, it is potentially + * slow if all you are trying to do is to wake a thread from LISR context. + */ + +/** Register a LISR. This is identical to the NU_Register_LISR API. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_register_legacy_lisr(VCOS_UNSIGNED vecnum, + void (*lisr)(VCOS_INT), + void (**old_lisr)(VCOS_INT)); + +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_legacy_hisr_create(VCOS_HISR_T *hisr, const char *name, + void (*entry)(void), + VCOS_UNSIGNED pri, + void *stack, VCOS_UNSIGNED stack_size); + +/** Activate a HISR. On an OS which has no distinction between a HISR and LISR, + * this may use some kind of emulation, which could well be less efficient than + * a normal ISR.` + * + * @param hisr HISR to activate. + */ +VCOS_INLINE_DECL +void vcos_legacy_hisr_activate(VCOS_HISR_T *hisr); + +/** Delete a HISR. + * + * @param hisr HISR to delete. + */ +VCOS_INLINE_DECL +void vcos_legacy_hisr_delete(VCOS_HISR_T *hisr); + +/** Are we in a legacy LISR? + * + * @return On Nucleus, non-zero if in a LISR. On other platforms, non-zero if + * in an interrupt. + */ +VCOS_INLINE_DECL +int vcos_in_legacy_lisr(void); + +/** Is the current thread actually a fake HISR thread? Only implemented + * on platforms that fake up HISRs. + */ + +#ifndef VCOS_LISRS_NEED_HISRS +VCOSPRE_ int VCOSPOST_ vcos_current_thread_is_fake_hisr_thread(VCOS_HISR_T *); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/opt/vc/include/interface/vcos/vcos_logging.h b/opt/vc/include/interface/vcos/vcos_logging.h new file mode 100644 index 000000000..c2ae32252 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_logging.h @@ -0,0 +1,315 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - logging support +=============================================================================*/ + +#ifndef VCOS_LOGGING_H +#define VCOS_LOGGING_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" +#include "vcos_logging_control.h" + +/** + * \file + * + * Logging support + * + * This provides categorised logging. Clients register + * a category, and then get a number of logging levels for + * that category. + * + * The logging level flag is tested using a flag *before* the + * function call, which makes logging very fast when disabled - there + * is no function call overhead just to find out that this log + * message is disabled. + * + * \section VCOS_LOG_CATEGORY + * + * As a convenience, clients define VCOS_LOG_CATEGORY to point to + * their category; the various vcos_log_xxx() macros then expand to + * use this. + * + * e.g. + * + * #define VCOS_LOG_CATEGORY (&my_category) + * + * #include + * + * VCOS_LOG_CAT_T my_category; + * + * .... + * + * vcos_log_trace("Stuff happened: %d", n_stuff); + * + */ + +/** Logging levels */ +typedef enum VCOS_LOG_LEVEL_T +{ + VCOS_LOG_UNINITIALIZED = 0, + VCOS_LOG_NEVER, + VCOS_LOG_ERROR, + VCOS_LOG_WARN, + VCOS_LOG_INFO, + VCOS_LOG_TRACE, +} VCOS_LOG_LEVEL_T; + + +/** Initialize a logging category without going through vcos_log_register(). + * + * This is useful for the case where there is no obvious point to do the + * registration (no initialization function for the module). However, it + * means that your logging category is not registered, so cannot be easily + * changed at run-time. + */ +#define VCOS_LOG_INIT(n,l) { l, n, 0, {0}, 0, 0 } + +/** A registered logging category. + */ +typedef struct VCOS_LOG_CAT_T +{ + VCOS_LOG_LEVEL_T level; /**< Which levels are enabled for this category */ + const char *name; /**< Name for this category. */ + struct VCOS_LOG_CAT_T *next; + struct { + unsigned int want_prefix:1; + } flags; + unsigned int refcount; + void *platform_data; /**< platform specific data */ +} VCOS_LOG_CAT_T; + +typedef void (*VCOS_VLOG_IMPL_FUNC_T)(const VCOS_LOG_CAT_T *cat, VCOS_LOG_LEVEL_T _level, const char *fmt, va_list args); + +/** Convert a VCOS_LOG_LEVEL_T into a printable string. + * The platform needs to implement this function. + */ +VCOSPRE_ const char * VCOSPOST_ vcos_log_level_to_string( VCOS_LOG_LEVEL_T level ); + +/** Convert a string into a VCOS_LOG_LEVEL_T + * The platform needs to implement this function. + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_string_to_log_level( const char *str, VCOS_LOG_LEVEL_T *level ); + +/** Log a message. Basic API. Normal code should not use this. + * The platform needs to implement this function. + */ +VCOSPRE_ void VCOSPOST_ vcos_log_impl(const VCOS_LOG_CAT_T *cat, VCOS_LOG_LEVEL_T _level, const char *fmt, ...) VCOS_FORMAT_ATTR_(printf, 3, 4); + +/** Log a message using a varargs parameter list. Normal code should + * not use this. + */ +VCOSPRE_ void VCOSPOST_ vcos_vlog_impl(const VCOS_LOG_CAT_T *cat, VCOS_LOG_LEVEL_T _level, const char *fmt, va_list args) VCOS_FORMAT_ATTR_(printf, 3, 0); + +/** Set the function which does the actual logging output. + * Passing in NULL causes the default logging function to be + * used. + */ +VCOSPRE_ void VCOSPOST_ vcos_set_vlog_impl( VCOS_VLOG_IMPL_FUNC_T vlog_impl_func ); + +/** The default logging function, which is provided by each + * platform. + */ + +VCOSPRE_ void VCOSPOST_ vcos_vlog_default_impl(const VCOS_LOG_CAT_T *cat, VCOS_LOG_LEVEL_T _level, const char *fmt, va_list args) VCOS_FORMAT_ATTR_(printf, 3, 0); + +/* + * Initialise the logging subsystem. This is called from + * vcos_init() so you don't normally need to call it. + */ +VCOSPRE_ void VCOSPOST_ vcos_logging_init(void); + +/** Register a logging category. + * + * @param name the name of this category. + * @param category the category to register. + */ +VCOSPRE_ void VCOSPOST_ vcos_log_register(const char *name, VCOS_LOG_CAT_T *category); + +/** Unregister a logging category. + */ +VCOSPRE_ void VCOSPOST_ vcos_log_unregister(VCOS_LOG_CAT_T *category); + +/** Return a default logging category, for people too lazy to create their own. + * + * Using the default category will be slow (there's an extra function + * call overhead). Don't do this in normal code. + */ +VCOSPRE_ const VCOS_LOG_CAT_T * VCOSPOST_ vcos_log_get_default_category(void); + +VCOSPRE_ void VCOSPOST_ vcos_set_log_options(const char *opt); + +/** Set the logging level for a category at run time. Without this, the level + * will be that set by vcos_log_register from a platform-specific source. + * + * @param category the category to modify. + * @param level the new logging level for this category. + */ +VCOS_STATIC_INLINE void vcos_log_set_level(VCOS_LOG_CAT_T *category, VCOS_LOG_LEVEL_T level) +{ + category->level = level; +} + +#define vcos_log_dump_mem(cat,label,addr,voidMem,numBytes) do { if (vcos_is_log_enabled(cat,VCOS_LOG_TRACE)) vcos_log_dump_mem_impl(cat,label,addr,voidMem,numBytes); } while (0) + +void vcos_log_dump_mem_impl( const VCOS_LOG_CAT_T *cat, + const char *label, + uint32_t addr, + const void *voidMem, + size_t numBytes ); + +/* + * Platform specific hooks (optional). + */ +#ifndef vcos_log_platform_init +#define vcos_log_platform_init() (void)0 +#endif + +#ifndef vcos_log_platform_register +#define vcos_log_platform_register(category) (void)0 +#endif + +#ifndef vcos_log_platform_unregister +#define vcos_log_platform_unregister(category) (void)0 +#endif + +/* VCOS_TRACE() - deprecated macro which just outputs in a debug build and + * is a no-op in a release build. + * + * _VCOS_LOG_X() - internal macro which outputs if the current level for the + * particular category is higher than the supplied message level. + */ + +#define VCOS_LOG_DFLT_CATEGORY vcos_log_get_default_category() + +#define _VCOS_LEVEL(x) (x) + +#define vcos_is_log_enabled(cat,_level) (_VCOS_LEVEL((cat)->level) >= _VCOS_LEVEL(_level)) + +#if defined(_VCOS_METAWARE) || defined(__GNUC__) + +# if !defined(AMPUTATE_ALL_VCOS_LOGGING) && (!defined(NDEBUG) || defined(VCOS_ALWAYS_WANT_LOGGING)) +# define VCOS_LOGGING_ENABLED +# define _VCOS_LOG_X(cat, _level, fmt...) do { if (vcos_is_log_enabled(cat,_level)) vcos_log_impl(cat,_level,fmt); } while (0) +# define _VCOS_VLOG_X(cat, _level, fmt, ap) do { if (vcos_is_log_enabled(cat,_level)) vcos_vlog_impl(cat,_level,fmt,ap); } while (0) +# else +# define _VCOS_LOG_X(cat, _level, fmt...) (void)0 +# define _VCOS_VLOG_X(cat, _level, fmt, ap) (void)0 +# endif + + + +# define vcos_log_error(...) _VCOS_LOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_ERROR, __VA_ARGS__) +# define vcos_log_warn(...) _VCOS_LOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_WARN, __VA_ARGS__) +# define vcos_log_info(...) _VCOS_LOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_INFO, __VA_ARGS__) +# define vcos_log_trace(...) _VCOS_LOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_TRACE, __VA_ARGS__) + +# define vcos_vlog_error(fmt,ap) _VCOS_VLOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_ERROR, fmt, ap) +# define vcos_vlog_warn(fmt,ap) _VCOS_VLOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_WARN, fmt, ap) +# define vcos_vlog_info(fmt,ap) _VCOS_VLOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_INFO, fmt, ap) +# define vcos_vlog_trace(fmt,ap) _VCOS_VLOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_TRACE, fmt, ap) + +# define vcos_logc_error(cat,...) _VCOS_LOG_X(cat, VCOS_LOG_ERROR, __VA_ARGS__) +# define vcos_logc_warn(cat,...) _VCOS_LOG_X(cat, VCOS_LOG_WARN, __VA_ARGS__) +# define vcos_logc_info(cat,...) _VCOS_LOG_X(cat, VCOS_LOG_INFO, __VA_ARGS__) +# define vcos_logc_trace(cat,...) _VCOS_LOG_X(cat, VCOS_LOG_TRACE, __VA_ARGS__) + +# define vcos_vlogc_error(cat,fmt,ap) _VCOS_VLOG_X(cat, VCOS_LOG_ERROR, fmt, ap) +# define vcos_vlogc_warn(cat,fmt,ap) _VCOS_VLOG_X(cat, VCOS_LOG_WARN, fmt, ap) +# define vcos_vlogc_info(cat,fmt,ap) _VCOS_VLOG_X(cat, VCOS_LOG_INFO, fmt, ap) +# define vcos_vlogc_trace(cat,fmt,ap) _VCOS_VLOG_X(cat, VCOS_LOG_TRACE, fmt, ap) + +# define vcos_log(...) _VCOS_LOG_X(VCOS_LOG_DFLT_CATEGORY, VCOS_LOG_INFO, __VA_ARGS__) +# define vcos_vlog(fmt,ap) _VCOS_VLOG_X(VCOS_LOG_DFLT_CATEGORY, VCOS_LOG_INFO, fmt, ap) +# define VCOS_ALERT(...) _VCOS_LOG_X(VCOS_LOG_DFLT_CATEGORY, VCOS_LOG_ERROR, __VA_ARGS__) +# define VCOS_TRACE(...) _VCOS_LOG_X(VCOS_LOG_DFLT_CATEGORY, VCOS_LOG_INFO, __VA_ARGS__) + +/* + * MS Visual Studio - pre 2005 does not grok variadic macros + */ +#elif defined(_MSC_VER) + +# if _MSC_VER >= 1400 + +# if !defined(AMPUTATE_ALL_VCOS_LOGGING) && (!defined(NDEBUG) || defined(VCOS_ALWAYS_WANT_LOGGING)) +# define VCOS_LOGGING_ENABLED +# define _VCOS_LOG_X(cat, _level, fmt,...) do { if (vcos_is_log_enabled(cat,_level)) vcos_log_impl(cat, _level, fmt, __VA_ARGS__); } while (0) +# else +# define _VCOS_LOG_X(cat, _level, fmt,...) (void)0 +# endif + +# define vcos_log_error(fmt,...) _VCOS_LOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_ERROR, fmt, __VA_ARGS__) +# define vcos_log_warn(fmt,...) _VCOS_LOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_WARN, fmt, __VA_ARGS__) +# define vcos_log_info(fmt,...) _VCOS_LOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_INFO, fmt, __VA_ARGS__) +# define vcos_log_trace(fmt,...) _VCOS_LOG_X(VCOS_LOG_CATEGORY, VCOS_LOG_TRACE, fmt, __VA_ARGS__) + +# define vcos_logc_error(cat,fmt,...) _VCOS_LOG_X(cat, VCOS_LOG_ERROR, fmt, __VA_ARGS__) +# define vcos_logc_warn(cat,fmt,...) _VCOS_LOG_X(cat, VCOS_LOG_WARN, fmt, __VA_ARGS__) +# define vcos_logc_info(cat,fmt,...) _VCOS_LOG_X(cat, VCOS_LOG_INFO, fmt, __VA_ARGS__) +# define vcos_logc_trace(cat,fmt,...) _VCOS_LOG_X(cat, VCOS_LOG_TRACE, fmt, __VA_ARGS__) + +# define vcos_log(fmt,...) _VCOS_LOG_X(VCOS_LOG_DFLT_CATEGORY, VCOS_LOG_INFO, fmt, __VA_ARGS__) +# define VCOS_ALERT(fmt,...) _VCOS_LOG_X(VCOS_LOG_DFLT_CATEGORY, VCOS_LOG_ERROR, fmt, __VA_ARGS__) +# define VCOS_TRACE(fmt,...) _VCOS_LOG_X(VCOS_LOG_DFLT_CATEGORY, VCOS_LOG_INFO, fmt, __VA_ARGS__) + +# else /* _MSC_VER >= 1400 */ + +/* do not define these */ + +# endif /* _MSC_VER >= 1400 */ + +#endif + +#if VCOS_HAVE_CMD + +#include "interface/vcos/vcos_cmd.h" + +/* + * These are the log sub-commands. They're exported here for user-mode apps which + * may want to call these, since the "log" command isn't registered for user-mode + * apps (vcdbg for example, has its own log command). + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_log_assert_cmd( VCOS_CMD_PARAM_T *param ); +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_log_set_cmd( VCOS_CMD_PARAM_T *param ); +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_log_status_cmd( VCOS_CMD_PARAM_T *param ); +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_log_test_cmd( VCOS_CMD_PARAM_T *param ); +#endif + +#ifdef __cplusplus +} +#endif +#endif /* VCOS_LOGGING_H */ + + diff --git a/opt/vc/include/interface/vcos/vcos_logging_control.h b/opt/vc/include/interface/vcos/vcos_logging_control.h new file mode 100644 index 000000000..b180ad864 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_logging_control.h @@ -0,0 +1,28 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + diff --git a/opt/vc/include/interface/vcos/vcos_lowlevel_thread.h b/opt/vc/include/interface/vcos/vcos_lowlevel_thread.h new file mode 100644 index 000000000..ee181db4e --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_lowlevel_thread.h @@ -0,0 +1,129 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - low level thread support +=============================================================================*/ + +#ifndef VCOS_LOWLEVEL_THREAD_H +#define VCOS_LOWLEVEL_THREAD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#ifndef VCOS_PLATFORM_H +#include "vcos_platform.h" +#endif + +/** + * \file + * + * This defines a low level thread API that is supported by *some* operating systems + * and can be used to construct the regular "joinable thread" API on those operating + * systems. + * + * Most clients will not need to use this code. + * + * \sa vcos_joinable_thread.h + */ + +/** + * \brief Create a thread. + * + * This creates a thread which can be stopped either by returning from the + * entry point function or by calling vcos_llthread_exit from within the entry + * point function. The thread must be cleaned up by calling + * vcos_llthread_delete. vcos_llthread_delete may or may not terminate the + * thread. + * + * The preemptible parameter familiar from Nucleus is removed, as it is unused in + * VideoCore code. Affinity is added, since we do use this. + * + * @param thread Filled in with thread instance + * @param name An optional name for the thread. "" may be used (but + * a name will aid in debugging). + * @param entry Entry point + * @param arg A single argument passed to the entry point function + * @param stack Pointer to stack address + * @param stacksz Size of stack in bytes + * @param priority Priority of task, between VCOS_PRI_LOW and VCOS_PRI_HIGH + * @param affinity CPU affinity + * + * @sa vcos_llthread_terminate vcos_llthread_delete + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_llthread_create(VCOS_LLTHREAD_T *thread, + const char *name, + VCOS_LLTHREAD_ENTRY_FN_T entry, + void *arg, + void *stack, + VCOS_UNSIGNED stacksz, + VCOS_UNSIGNED priority, + VCOS_UNSIGNED affinity, + VCOS_UNSIGNED timeslice, + VCOS_UNSIGNED autostart); + +/** + * \brief Exits the current thread. + */ +VCOSPRE_ void VCOSPOST_ vcos_llthread_exit(void); + +/** + * \brief Delete a thread. This must be called to cleanup after + * vcos_llthread_create. This may or may not terminate the thread. + * It does not clean up any resources that may have been + * allocated by the thread. + */ +VCOSPRE_ void VCOSPOST_ vcos_llthread_delete(VCOS_LLTHREAD_T *thread); + +/** + * \brief Return current lowlevel thread pointer. + */ +VCOS_INLINE_DECL +VCOS_LLTHREAD_T *vcos_llthread_current(void); + +/** + * Resume a thread. + */ +VCOS_INLINE_DECL +void vcos_llthread_resume(VCOS_LLTHREAD_T *thread); + +VCOSPRE_ int VCOSPOST_ vcos_llthread_running(VCOS_LLTHREAD_T *thread); + +/** + * \brief Create a VCOS_LLTHREAD_T for the current thread. This is so we can + * have VCOS_LLTHREAD_Ts even for threads not originally created by VCOS (eg + * the thread that calls vcos_init). + */ +extern VCOS_STATUS_T _vcos_llthread_create_attach(VCOS_LLTHREAD_T *thread); + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_mem.h b/opt/vc/include/interface/vcos/vcos_mem.h new file mode 100644 index 000000000..f6e325a4f --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_mem.h @@ -0,0 +1,101 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - memory support +=============================================================================*/ + +#ifndef VCOS_MEM_H +#define VCOS_MEM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** \file + * + * Memory allocation api (malloc/free equivalents) is for benefit of host + * applications. VideoCore code should use rtos_XXX functions. + * + */ + + +/** Allocate memory + * + * @param size Size of memory to allocate + * @param description Description, to aid in debugging. May be ignored internally on some platforms. + */ +VCOS_INLINE_DECL +void *vcos_malloc(VCOS_UNSIGNED size, const char *description); + +void *vcos_kmalloc(VCOS_UNSIGNED size, const char *description); +void *vcos_kcalloc(VCOS_UNSIGNED num, VCOS_UNSIGNED size, const char *description); + +/** Allocate cleared memory + * + * @param num Number of items to allocate. + * @param size Size of each item in bytes. + * @param description Description, to aid in debugging. May be ignored internally on some platforms. + */ +VCOS_INLINE_DECL +void *vcos_calloc(VCOS_UNSIGNED num, VCOS_UNSIGNED size, const char *description); + +/** Free memory + * + * Free memory that has been allocated. + */ +VCOS_INLINE_DECL +void vcos_free(void *ptr); + +void vcos_kfree(void *ptr); + +/** Allocate aligned memory + * + * Allocate memory aligned on the specified boundary. + * + * @param size Size of memory to allocate + * @param description Description, to aid in debugging. May be ignored internally on some platforms. + */ +VCOS_INLINE_DECL +void *vcos_malloc_aligned(VCOS_UNSIGNED size, VCOS_UNSIGNED align, const char *description); + +/** Return the amount of free heap memory + * + */ +VCOS_INLINE_DECL +unsigned long vcos_get_free_mem(void); + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/opt/vc/include/interface/vcos/vcos_mempool.h b/opt/vc/include/interface/vcos/vcos_mempool.h new file mode 100644 index 000000000..d61d5eef0 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_mempool.h @@ -0,0 +1,109 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - memory pool support +=============================================================================*/ + +#ifndef VCOS_MEMPOOL_H +#define VCOS_MEMPOOL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** \file + * + * Memory pools - variable sized allocator. + * + * A very basic memory pool API. + * + * This interface is deliberately not thread safe - clients should add + * their own locking, if required. + * + * + * \fixme: Add fixed-size allocator. + * + */ + + +/** Initialize a memory pool. The control data is taken from the memory + * supplied itself. + * + * Note: the dmalloc pool uses the memory supplied for its control + * area. This is probably a bit broken, as it stops you creating + * a pool in some "special" area of memory, while leaving the control + * information in normal memory. + * + * @param pool Pointer to pool object. + * + * @param name Name for the pool. Used for diagnostics. + * + * @param start Starting address. Must be at least 8byte aligned. + * + * @param size Size of pool in bytes. + * + * @return VCOS_SUCCESS if pool was created. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_mempool_create(VCOS_MEMPOOL_T *pool, const char *name, void *start, VCOS_UNSIGNED size); + +/** Allocate some memory from a pool. If no memory is available, it + * returns NULL. + * + * @param pool Pool to allocate from + * @param len Length of memory to allocate + * + */ +VCOS_INLINE_DECL +void *vcos_mempool_alloc(VCOS_MEMPOOL_T *pool, VCOS_UNSIGNED len); + +/** Free some memory back to a pool. + * + * @param pool Pool to return to + * @param mem Memory to return + */ +VCOS_INLINE_DECL +void vcos_mempool_free(VCOS_MEMPOOL_T *pool, void *mem); + +/** Deinitialize a memory pool. + * + * @param pool Pool to return to + */ +VCOS_INLINE_DECL +void vcos_mempool_delete(VCOS_MEMPOOL_T *pool); + +#ifdef __cplusplus +} +#endif +#endif + + + diff --git a/opt/vc/include/interface/vcos/vcos_msgqueue.h b/opt/vc/include/interface/vcos/vcos_msgqueue.h new file mode 100644 index 000000000..06444aa9b --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_msgqueue.h @@ -0,0 +1,181 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VCOS - packet-like messages, based loosely on those found in TRIPOS. +=============================================================================*/ + +#ifndef VCOS_MSGQUEUE_H +#define VCOS_MSGQUEUE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file + * + * Packet-like messages, based loosely on those found in TRIPOS and + * derivatives thereof. + * + * A task can send a message *pointer* to another task, where it is + * queued on a linked list and the task woken up. The receiving task + * consumes all of the messages on its input queue, and optionally + * sends back replies using the original message memory. + * + * A caller can wait for the reply to a specific message - any other + * messages that arrive in the meantime are queued separately. + * + * + * All messages have a standard common layout, but the payload area can + * be used freely to extend this. + */ + +/** Map the payload portion of a message to a structure pointer. + */ +#define VCOS_MSG_DATA(_msg) (void*)((_msg)->data) + +/** Standard message ids - FIXME - these need to be done properly! */ +#define VCOS_MSG_N_QUIT 1 +#define VCOS_MSG_N_OPEN 2 +#define VCOS_MSG_N_CLOSE 3 +#define VCOS_MSG_N_PRIVATE (1<<20) + +#define VCOS_MSG_REPLY_BIT (1<<31) + +/** Make gnuc compiler be happy about pointer punning */ +#ifdef __GNUC__ +#define __VCOS_MAY_ALIAS __attribute__((__may_alias__)) +#else +#define __VCOS_MAY_ALIAS +#endif + +/** A single message queue. + */ +typedef struct VCOS_MSGQUEUE_T +{ + struct VCOS_MSG_T *head; /**< head of linked list of messages waiting on this queue */ + struct VCOS_MSG_T *tail; /**< tail of message queue */ + VCOS_SEMAPHORE_T sem; /**< thread waits on this for new messages */ + VCOS_MUTEX_T lock; /**< locks the messages list */ +} VCOS_MSGQUEUE_T; + +/** A single message + */ +typedef struct VCOS_MSG_T +{ + uint32_t code; /**< message code */ + int error; /**< error status signalled back to caller */ + VCOS_MSGQUEUE_T *dst; /**< destination queue */ + VCOS_MSGQUEUE_T *src; /**< source; replies go back to here */ + struct VCOS_MSG_T *next; /**< next in queue */ + VCOS_THREAD_T *src_thread; /**< for debug */ + uint32_t data[25]; /**< payload area */ +} VCOS_MSG_T; + +/** An endpoint + */ +typedef struct VCOS_MSG_ENDPOINT_T +{ + VCOS_MSGQUEUE_T primary; /**< incoming messages */ + VCOS_MSGQUEUE_T secondary; /**< this is used for waitspecific */ + char name[32]; /**< name of this endpoint, for find() */ + struct VCOS_MSG_ENDPOINT_T *next; /**< next in global list of endpoints */ +} VCOS_MSG_ENDPOINT_T; +#define MSG_REPLY_BIT (1<<31) + +/** Initalise the library. Normally called from vcos_init(). + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_msgq_init(void); + +/** De-initialise the library. Normally called from vcos_deinit(). + */ +VCOSPRE_ void VCOSPOST_ vcos_msgq_deinit(void); + +/** Find a message queue by name and get a handle to it. + * + * @param name the name of the queue to find + * + * @return The message queue, or NULL if not found. + */ +VCOSPRE_ VCOS_MSGQUEUE_T VCOSPOST_ *vcos_msgq_find(const char *name); + +/** Wait for a message queue to come into existence. If it already exists, + * return immediately, otherwise block. + * + * On the whole, if you find yourself using this, it is probably a sign + * of poor design, since you should create all the server threads first, + * and then the client threads. But it is sometimes useful. + * + * @param name the name of the queue to find + * @return The message queue + */ +VCOSPRE_ VCOS_MSGQUEUE_T VCOSPOST_ *vcos_msgq_wait(const char *name); + +/** Send a message. + */ +VCOSPRE_ void VCOSPOST_ vcos_msg_send(VCOS_MSGQUEUE_T *dest, uint32_t code, VCOS_MSG_T *msg); + +/** Send a message and wait for a reply. + */ +VCOSPRE_ void VCOSPOST_ vcos_msg_sendwait(VCOS_MSGQUEUE_T *queue, uint32_t code, VCOS_MSG_T *msg); + +/** Wait for a message on this thread's endpoint. + */ +VCOSPRE_ VCOS_MSG_T * VCOSPOST_ vcos_msg_wait(void); + +/** Wait for a specific message. + */ +VCOS_MSG_T * vcos_msg_wait_specific(VCOS_MSGQUEUE_T *queue, VCOS_MSG_T *msg); + +/** Peek for a message on this thread's endpoint, if a message is not available, NULL is + returned. If a message is available it will be removed from the endpoint and returned. + */ +VCOSPRE_ VCOS_MSG_T * VCOSPOST_ vcos_msg_peek(void); + +/** Send a reply to a message + */ +VCOSPRE_ void VCOSPOST_ vcos_msg_reply(VCOS_MSG_T *msg); + +/** Create an endpoint. Each thread should need no more than one of these - if you + * find yourself needing a second one, you've done something wrong. + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_msgq_endpoint_create(VCOS_MSG_ENDPOINT_T *ep, const char *name); + +/** Destroy an endpoint. + */ +VCOSPRE_ void VCOSPOST_ vcos_msgq_endpoint_delete(VCOS_MSG_ENDPOINT_T *ep); + +#ifdef __cplusplus +} +#endif +#endif + + diff --git a/opt/vc/include/interface/vcos/vcos_mutex.h b/opt/vc/include/interface/vcos/vcos_mutex.h new file mode 100644 index 000000000..0e236ffa2 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_mutex.h @@ -0,0 +1,112 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - mutex public header file +=============================================================================*/ + +#ifndef VCOS_MUTEX_H +#define VCOS_MUTEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file vcos_mutex.h + * + * Mutex API. Mutexes are not re-entrant, as supporting this adds extra code + * that slows down clients which have been written sensibly. + * + * \sa vcos_reentrant_mutex.h + * + */ + +/** Create a mutex. + * + * @param m Filled in with mutex on return + * @param name A non-null name for the mutex, used for diagnostics. + * + * @return VCOS_SUCCESS if mutex was created, or error code. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_mutex_create(VCOS_MUTEX_T *m, const char *name); + +/** Delete the mutex. + */ +VCOS_INLINE_DECL +void vcos_mutex_delete(VCOS_MUTEX_T *m); + +/** + * \brief Wait to claim the mutex. + * + * On most platforms this always returns VCOS_SUCCESS, and so would ideally be + * a void function, however some platforms allow a wait to be interrupted so + * it remains non-void. + * + * Try to obtain the mutex. + * @param m Mutex to wait on + * @return VCOS_SUCCESS - mutex was taken. + * VCOS_EAGAIN - could not take mutex. + */ +#ifndef vcos_mutex_lock +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_mutex_lock(VCOS_MUTEX_T *m); + +/** Release the mutex. + */ +VCOS_INLINE_DECL +void vcos_mutex_unlock(VCOS_MUTEX_T *m); +#endif + +/** Test if the mutex is already locked. + * + * @return 1 if mutex is locked, 0 if it is unlocked. + */ +VCOS_INLINE_DECL +int vcos_mutex_is_locked(VCOS_MUTEX_T *m); + +/** Obtain the mutex if possible. + * + * @param m the mutex to try to obtain + * + * @return VCOS_SUCCESS if mutex is succesfully obtained, or VCOS_EAGAIN + * if it is already in use by another thread. + */ +#ifndef vcos_mutex_trylock +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_mutex_trylock(VCOS_MUTEX_T *m); +#endif + + +#ifdef __cplusplus +} +#endif +#endif diff --git a/opt/vc/include/interface/vcos/vcos_named_semaphore.h b/opt/vc/include/interface/vcos/vcos_named_semaphore.h new file mode 100644 index 000000000..2ebdfd166 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_named_semaphore.h @@ -0,0 +1,113 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - named semaphores +=============================================================================*/ + +#ifndef VCOS_NAMED_SEMAPHORE_H +#define VCOS_NAMED_SEMAPHORE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file + * + * Create a named semaphore, or open an existing one by name. + * + */ + +/** + * \brief Create a named semaphore. + * + * Semaphores are not re-entrant. + * + * @param sem Pointer to memory to be initialized + * @param name A name for this semaphore. + * @param count The initial count for the semaphore. + * + * @return VCOS_SUCCESS if the semaphore was created. + * + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_named_semaphore_create(VCOS_NAMED_SEMAPHORE_T *sem, const char *name, VCOS_UNSIGNED count); + +/** + * \brief Wait on a named semaphore. + * + * There is no timeout option on a semaphore, as adding this will slow down + * implementations on some platforms. If you need that kind of behaviour, use + * an event group. + * + * This always returns VCOS_SUCCESS and so should really be a void function. However + * too many lines of code would need to be changed in non-trivial ways, so for now + * it is non-void. + * + * @param sem Semaphore to wait on + * @return VCOS_SUCCESS - semaphore was taken. + * + */ +VCOS_INLINE_DECL +void vcos_named_semaphore_wait(VCOS_NAMED_SEMAPHORE_T *sem); + +/** + * \brief Try to wait for a semaphore. + * + * Try to obtain the semaphore. If it is already taken, return VCOS_TIMEOUT. + * @param sem Semaphore to wait on + * @return VCOS_SUCCESS - semaphore was taken. + * VCOS_EAGAIN - could not take semaphore + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_named_semaphore_trywait(VCOS_NAMED_SEMAPHORE_T *sem); + +/** + * \brief Post a semaphore. + * + * @param sem Semaphore to wait on + */ +VCOS_INLINE_DECL +void vcos_named_semaphore_post(VCOS_NAMED_SEMAPHORE_T *sem); + +/** + * \brief Delete a semaphore, releasing any resources consumed by it. + * + * @param sem Semaphore to wait on + */ +void vcos_named_semaphore_delete(VCOS_NAMED_SEMAPHORE_T *sem); + + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_once.h b/opt/vc/include/interface/vcos/vcos_once.h new file mode 100644 index 000000000..84bae639d --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_once.h @@ -0,0 +1,62 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - 'once' +=============================================================================*/ + +#ifndef VCOS_ONCE_H +#define VCOS_ONCE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file vcos_once.h + * + * Ensure something is called only once. + * + * Initialize once_control to VCOS_ONCE_INIT. The first + * time this is called, the init_routine will be called. Thereafter + * it won't. + * + * \sa pthread_once() + * + */ + +VCOS_STATUS_T vcos_once(VCOS_ONCE_T *once_control, + void (*init_routine)(void)); + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_queue.h b/opt/vc/include/interface/vcos/vcos_queue.h new file mode 100644 index 000000000..687375c55 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_queue.h @@ -0,0 +1,105 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - Queue public header file +=============================================================================*/ + +#ifndef VCOS_QUEUE_H +#define VCOS_QUEUE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** \file vcos_queue.h + * + * API for accessing a fixed length queue. + * + * Nucleus offers variable length items, but this feature is not used + * in the current code base, so is withdrawn to simplify the API. + */ + +/** Create a fixed length queue. + * + * @param queue Pointer to queue control block + * @param name Name of queue + * @param message_size Size of each queue message item in words (words are sizeof VCOS_UNSIGNED). + * @param queue_start Start address of queue area + * @param queue_size Size in words (words are sizeof VCOS_UNSIGNED) of queue + * + */ + +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_queue_create(VCOS_QUEUE_T *queue, + const char *name, + VCOS_UNSIGNED message_size, + void *queue_start, + VCOS_UNSIGNED queue_size); + +/** Delete a queue. + * @param queue The queue to delete + */ +VCOS_INLINE_DECL +void vcos_queue_delete(VCOS_QUEUE_T *queue); + +/** Send an item to a queue. If there is no space, the call with + * either block waiting for space, or return an error, depending + * on the value of the wait parameter. + * + * @param queue The queue to send to + * @param src The data to send (length set when queue was created) + * @param wait Whether to wait for space (VCOS_SUSPEND) or fail if + * no space (VCOS_NO_SUSPEND). + * + * @return If space available, returns VCOS_SUCCESS. Otherwise returns + * VCOS_EAGAIN if no space available before timeout expires. + * + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_queue_send(VCOS_QUEUE_T *queue, const void *src, VCOS_UNSIGNED wait); + +/** Receive an item from a queue. + * @param queue The queue to receive from + * @param dst Where to write the data to + * @param wait Whether to wait (VCOS_SUSPEND) or fail if + * empty (VCOS_NO_SUSPEND). + * + * @return If an item is available, returns VCOS_SUCCESS. Otherwise returns + * VCOS_EAGAIN if no item available before timeout expires. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_queue_receive(VCOS_QUEUE_T *queue, void *dst, VCOS_UNSIGNED wait); + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_quickslow_mutex.h b/opt/vc/include/interface/vcos/vcos_quickslow_mutex.h new file mode 100644 index 000000000..44fd0039c --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_quickslow_mutex.h @@ -0,0 +1,101 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - mutex public header file +=============================================================================*/ + +#ifndef VCOS_QUICKSLOW_MUTEX_H +#define VCOS_QUICKSLOW_MUTEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file vcos_quickslow_mutex.h + * + * "Quick/Slow" Mutex API. This is a mutex which supports an additional "quick" + * (spinlock-based) locking mechanism. While in this quick locked state, other + * operating system commands will be unavailable and the caller should complete + * whatever it has to do in a short, bounded length of time (as the spinlock + * completely locks out other system activity). + * + * \sa vcos_mutex.h + * + */ + +/** Create a mutex. + * + * @param m Filled in with mutex on return + * @param name A non-null name for the mutex, used for diagnostics. + * + * @return VCOS_SUCCESS if mutex was created, or error code. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_quickslow_mutex_create(VCOS_QUICKSLOW_MUTEX_T *m, const char *name); + +/** Delete the mutex. + */ +VCOS_INLINE_DECL +void vcos_quickslow_mutex_delete(VCOS_QUICKSLOW_MUTEX_T *m); + +/** + * \brief Wait to claim the mutex ("slow" mode). + * + * Obtain the mutex. + */ +VCOS_INLINE_DECL +void vcos_quickslow_mutex_lock(VCOS_QUICKSLOW_MUTEX_T *m); + +/** Release the mutex ("slow" mode). + */ +VCOS_INLINE_DECL +void vcos_quickslow_mutex_unlock(VCOS_QUICKSLOW_MUTEX_T *m); + +/** + * \brief Wait to claim the mutex ("quick" mode). + * + * Obtain the mutex. The caller must not call any OS functions or do anything + * "slow" before the corresponding call to vcos_mutex_quickslow_unlock_quick. + */ +VCOS_INLINE_DECL +void vcos_quickslow_mutex_lock_quick(VCOS_QUICKSLOW_MUTEX_T *m); + +/** Release the mutex ("quick" mode). + */ +VCOS_INLINE_DECL +void vcos_quickslow_mutex_unlock_quick(VCOS_QUICKSLOW_MUTEX_T *m); + + +#ifdef __cplusplus +} +#endif +#endif diff --git a/opt/vc/include/interface/vcos/vcos_reentrant_mutex.h b/opt/vc/include/interface/vcos/vcos_reentrant_mutex.h new file mode 100644 index 000000000..c088bd179 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_reentrant_mutex.h @@ -0,0 +1,86 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - reentrant mutex public header file +=============================================================================*/ + +#ifndef VCOS_REENTRANT_MUTEX_H +#define VCOS_REENTRANT_MUTEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file + * + * Reentrant Mutex API. You can take one of these mutexes even if you've already + * taken it. Just to make sure. + * + * A re-entrant mutex may be slower on some platforms than a regular one. + * + * \sa vcos_mutex.h + * + */ + +/** Create a mutex. + * + * @param m Filled in with mutex on return + * @param name A non-null name for the mutex, used for diagnostics. + * + * @return VCOS_SUCCESS if mutex was created, or error code. + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_reentrant_mutex_create(VCOS_REENTRANT_MUTEX_T *m, const char *name); + +/** Delete the mutex. + */ +VCOS_INLINE_DECL +void vcos_reentrant_mutex_delete(VCOS_REENTRANT_MUTEX_T *m); + +/** Wait to claim the mutex. Must not have already been claimed by the current thread. + */ +#ifndef vcos_reentrant_mutexlock +VCOS_INLINE_DECL +void vcos_reentrant_mutex_lock(VCOS_REENTRANT_MUTEX_T *m); + +/** Release the mutex. + */ +VCOS_INLINE_DECL +void vcos_reentrant_mutex_unlock(VCOS_REENTRANT_MUTEX_T *m); +#endif + + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_semaphore.h b/opt/vc/include/interface/vcos/vcos_semaphore.h new file mode 100644 index 000000000..7515815a9 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_semaphore.h @@ -0,0 +1,137 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - public header file +=============================================================================*/ + +#ifndef VCOS_SEMAPHORE_H +#define VCOS_SEMAPHORE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#ifndef VCOS_PLATFORM_H +#include "vcos_platform.h" +#endif + +/** + * \file vcos_semaphore.h + * + * \section sem Semaphores + * + * This provides counting semaphores. Semaphores are not re-entrant. On sensible + * operating systems a semaphore can always be posted but can only be taken in + * thread (not interrupt) context. Under Nucleus, a LISR cannot post a semaphore, + * although it would not be hard to lift this restriction. + * + * \subsection timeout Timeout + * + * On both Nucleus and ThreadX a semaphore can be taken with a timeout. This is + * not supported by VCOS because it makes the non-timeout code considerably more + * complicated (and hence slower). In the unlikely event that you need a timeout + * with a semaphore, and you cannot simply redesign your code to avoid it, use + * an event flag (vcos_event_flags.h). + * + * \subsection sem_nucleus Changes from Nucleus: + * + * Semaphores are always "FIFO" - i.e. sleeping threads are woken in FIFO order. That's + * because: + * \arg there's no support for NU_PRIORITY in threadx (though it can be emulated, slowly) + * \arg we don't appear to actually consciously use it - for example, Dispmanx uses + * it, but all threads waiting are the same priority. + * + */ + +/** + * \brief Create a semaphore. + * + * Create a semaphore. + * + * @param sem Pointer to memory to be initialized + * @param name A name for this semaphore. The name may be truncated internally. + * @param count The initial count for the semaphore. + * + * @return VCOS_SUCCESS if the semaphore was created. + * + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_semaphore_create(VCOS_SEMAPHORE_T *sem, const char *name, VCOS_UNSIGNED count); + +/** + * \brief Wait on a semaphore. + * + * There is no timeout option on a semaphore, as adding this will slow down + * implementations on some platforms. If you need that kind of behaviour, use + * an event group. + * + * On most platforms this always returns VCOS_SUCCESS, and so would ideally be + * a void function, however some platforms allow a wait to be interrupted so + * it remains non-void. + * + * @param sem Semaphore to wait on + * @return VCOS_SUCCESS - semaphore was taken. + * VCOS_EAGAIN - could not take semaphore + * + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_semaphore_wait(VCOS_SEMAPHORE_T *sem); + +/** + * \brief Try to wait for a semaphore. + * + * Try to obtain the semaphore. If it is already taken, return VCOS_TIMEOUT. + * @param sem Semaphore to wait on + * @return VCOS_SUCCESS - semaphore was taken. + * VCOS_EAGAIN - could not take semaphore + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_semaphore_trywait(VCOS_SEMAPHORE_T *sem); + +/** + * \brief Post a semaphore. + * + * @param sem Semaphore to wait on + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_semaphore_post(VCOS_SEMAPHORE_T *sem); + +/** + * \brief Delete a semaphore, releasing any resources consumed by it. + * + * @param sem Semaphore to wait on + */ +VCOS_INLINE_DECL +void vcos_semaphore_delete(VCOS_SEMAPHORE_T *sem); + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_stdbool.h b/opt/vc/include/interface/vcos/vcos_stdbool.h new file mode 100644 index 000000000..25b0e093e --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_stdbool.h @@ -0,0 +1,47 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef VCOS_STDBOOL_H +#define VCOS_STDBOOL_H + +#ifndef __cplusplus + +#if defined(__STDC__) && (__STDC_VERSION__ >= 199901L) +#include +#else +/* sizeof(bool) == 1. hopefully this matches up with c++ (so structures and + * such containing bool are binary compatible), but the c++ standard doesn't + * require sizeof(bool) == 1, so there's no guarantee */ +typedef unsigned char bool; +enum { + false, + true +}; +#endif + +#endif /* __cplusplus */ + +#endif diff --git a/opt/vc/include/interface/vcos/vcos_stdint.h b/opt/vc/include/interface/vcos/vcos_stdint.h new file mode 100644 index 000000000..6b5851a86 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_stdint.h @@ -0,0 +1,107 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCOS_STDINT_H +#define VCOS_STDINT_H + +/** \file + * Attempt to provide the types defined in stdint.h. + * + * Except for use with lcc, this simply includes stdint.h, which should find + * the system/toolchain version if present, otherwise falling back to the + * version in interface/vcos/. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined (VCMODS_LCC) + +#include + +typedef signed char int8_t; +typedef unsigned char uint8_t; + +typedef signed short int16_t; +typedef unsigned short uint16_t; + +typedef signed long int32_t; +typedef unsigned long uint32_t; + +typedef int32_t intptr_t; +typedef uint32_t uintptr_t; + +typedef int32_t intmax_t; +typedef uint32_t uintmax_t; + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; + +#define INT8_MIN SCHAR_MIN +#define INT8_MAX SCHAR_MAX +#define UINT8_MAX UCHAR_MAX + +#define INT16_MIN SHRT_MIN +#define INT16_MAX SHRT_MAX +#define UINT16_MAX USHRT_MAX + +#define INT32_MIN LONG_MIN +#define INT32_MAX LONG_MAX +#define UINT32_MAX ULONG_MAX + +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX + +#define INTMAX_MIN INT32_MIN +#define INTMAX_MAX INT32_MAX +#define UINTMAX_MAX UINT32_MAX + +/* N.B. 64-bit integer types are not currently supported by lcc. + * However, these symbols are referenced in header files included by files + * compiled by lcc for VCE, so removing them would break the build. + * The solution here then is to define them, as the correct size, but in a + * way that should make them unusable in normal arithmetic operations. + */ +typedef struct { uint32_t a; uint32_t b; } int64_t; +typedef struct { uint32_t a; uint32_t b; } uint64_t; + +#else + +#include + +#endif + +#ifdef __cplusplus +} +#endif +#endif /* VCOS_STDINT_H */ diff --git a/opt/vc/include/interface/vcos/vcos_string.h b/opt/vc/include/interface/vcos/vcos_string.h new file mode 100644 index 000000000..d4d0bb039 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_string.h @@ -0,0 +1,129 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - public header file +=============================================================================*/ + +#ifndef VCOS_STRING_H +#define VCOS_STRING_H + +/** + * \file + * + * String functions. + * + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +#ifdef __KERNEL__ +#include +#else +#include +#endif + +/** Case insensitive string comparison. + * + */ + +VCOS_INLINE_DECL +int vcos_strcasecmp(const char *s1, const char *s2); + +VCOS_INLINE_DECL +int vcos_strncasecmp(const char *s1, const char *s2, size_t n); + +VCOSPRE_ int VCOSPOST_ vcos_vsnprintf(char *buf, size_t buflen, const char *fmt, va_list ap); + +VCOSPRE_ int VCOSPOST_ vcos_snprintf(char *buf, size_t buflen, const char *fmt, ...); + +/** Like vsnprintf, except it places the output at the specified offset. + * Output is truncated to fit in buflen bytes, and is guaranteed to be NUL-terminated. + * Returns the string length before/without truncation. + */ +VCOSPRE_ size_t VCOSPOST_ vcos_safe_vsprintf(char *buf, size_t buflen, size_t offset, const char *fmt, va_list ap); + +#define VCOS_SAFE_VSPRINTF(buf, offset, fmt, ap) \ + vcos_safe_vsprintf(buf, sizeof(buf) + ((char (*)[sizeof(buf)])buf - &(buf)), offset, fmt, ap) + +/** Like snprintf, except it places the output at the specified offset. + * Output is truncated to fit in buflen bytes, and is guaranteed to be NUL-terminated. + * Returns the string length before/without truncation. + */ +VCOSPRE_ size_t VCOSPOST_ vcos_safe_sprintf(char *buf, size_t buflen, size_t offset, const char *fmt, ...); + +/* The Metaware compiler currently has a bug in its variadic macro handling which + causes it to append a spurious command to the end of its __VA_ARGS__ data. + Do not use until this has been fixed (and this comment has been deleted). */ + +#define VCOS_SAFE_SPRINTF(buf, offset, ...) \ + vcos_safe_sprintf(buf, sizeof(buf) + ((char (*)[sizeof(buf)])buf - &(buf)), offset, __VA_ARGS__) + +/** Copies string src to dst at the specified offset. + * Output is truncated to fit in dstlen bytes, i.e. the string is at most + * (buflen - 1) characters long. Unlike strncpy, exactly one NUL is written + * to dst, which is always NUL-terminated. + * Returns the string length before/without truncation. + */ +VCOSPRE_ size_t VCOSPOST_ vcos_safe_strcpy(char *dst, const char *src, size_t dstlen, size_t offset); + +#define VCOS_SAFE_STRCPY(dst, src, offset) \ + vcos_safe_strcpy(dst, src, sizeof(dst) + ((char (*)[sizeof(dst)])dst - &(dst)), offset) + +VCOS_STATIC_INLINE +int vcos_strlen(const char *s) { return (int)strlen(s); } + +VCOS_STATIC_INLINE +int vcos_strcmp(const char *s1, const char *s2) { return strcmp(s1,s2); } + +VCOS_STATIC_INLINE +int vcos_strncmp(const char *cs, const char *ct, size_t count) { return strncmp(cs, ct, count); } + +VCOS_STATIC_INLINE +char *vcos_strcpy(char *dst, const char *src) { return strcpy(dst, src); } + +VCOS_STATIC_INLINE +char *vcos_strncpy(char *dst, const char *src, size_t count) { return strncpy(dst, src, count); } + +VCOS_STATIC_INLINE +void *vcos_memcpy(void *dst, const void *src, size_t n) { memcpy(dst, src, n); return dst; } + +VCOS_STATIC_INLINE +void *vcos_memset(void *p, int c, size_t n) { return memset(p, c, n); } + +VCOS_STATIC_INLINE +int vcos_memcmp(const void *ptr1, const void *ptr2, size_t count) { return memcmp(ptr1, ptr2, count); } + +#ifdef __cplusplus +} +#endif +#endif diff --git a/opt/vc/include/interface/vcos/vcos_thread.h b/opt/vc/include/interface/vcos/vcos_thread.h new file mode 100644 index 000000000..177ad8bd0 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_thread.h @@ -0,0 +1,282 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - public header file +=============================================================================*/ + +#ifndef VCOS_THREAD_H +#define VCOS_THREAD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + +/** + * \file vcos_thread.h + * + * \section thread Threads + * + * Under Nucleus, a thread is created by NU_Create_Task, passing in the stack + * and various other parameters. To stop the thread, NU_Terminate_Thread() and + * NU_Delete_Thread() are called. + * + * Unfortunately it's not possible to emulate this API under some fairly common + * operating systems. Under Windows you can't pass in the stack, and you can't + * safely terminate a thread. + * + * Therefore, an API which is similar to the pthreads API is used instead. This + * API can (mostly) be emulated under all interesting operating systems. + * + * Obviously this makes the code somewhat more complicated on VideoCore than it + * would otherwise be - we end up with an extra mutex per thread, and some code + * that waits for it. The benefit is that we have a single way of creating + * threads that works consistently on all platforms (apart from stack supplying). + * + * \subsection stack Stack + * + * It's still not possible to pass in the stack address, but this can be made + * much more obvious in the API: the relevant function is missing and the + * CPP symbol VCOS_CAN_SET_STACK_ADDR is zero rather than one. + * + * \subsection thr_create Creating a thread + * + * The simplest way to create a thread is with vcos_thread_create() passing in a + * NULL thread parameter argument. To wait for the thread to exit, call + * vcos_thread_join(). + * + * \subsection back Backward compatibility + * + * To ease migration, a "classic" thread creation API is provided for code + * that used to make use of Nucleus, vcos_thread_create_classic(). The + * arguments are not exactly the same, as the PREEMPT parameter is dropped. + * + */ + +#define VCOS_AFFINITY_CPU0 _VCOS_AFFINITY_CPU0 +#define VCOS_AFFINITY_CPU1 _VCOS_AFFINITY_CPU1 +#define VCOS_AFFINITY_MASK _VCOS_AFFINITY_MASK +#define VCOS_AFFINITY_DEFAULT _VCOS_AFFINITY_DEFAULT +#define VCOS_AFFINITY_THISCPU _VCOS_AFFINITY_THISCPU + +/** Report whether or not we have an RTOS at all, and hence the ability to + * create threads. + */ +VCOSPRE_ int VCOSPOST_ vcos_have_rtos(void); + +/** Create a thread. It must be cleaned up by calling vcos_thread_join(). + * + * @param thread Filled in on return with thread + * @param name A name for the thread. May be the empty string. + * @param attrs Attributes; default attributes will be used if this is NULL. + * @param entry Entry point. + * @param arg Argument passed to the entry point. + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_thread_create(VCOS_THREAD_T *thread, + const char *name, + VCOS_THREAD_ATTR_T *attrs, + VCOS_THREAD_ENTRY_FN_T entry, + void *arg); + +/** Exit the thread from within the thread function itself. + * Resources must still be cleaned up via a call to thread_join(). + * + * The thread can also be terminated by simply exiting the thread function. + * + * @param data Data passed to thread_join. May be NULL. + */ +VCOSPRE_ void VCOSPOST_ vcos_thread_exit(void *data); + +/** Wait for a thread to terminate and then clean up its resources. + * + * @param thread Thread to wait for + * @param pData Updated to point at data provided in vcos_thread_exit or exit + * code of thread function. + */ +VCOSPRE_ void VCOSPOST_ vcos_thread_join(VCOS_THREAD_T *thread, + void **pData); + + +/** + * \brief Create a thread using an API similar to the one "traditionally" + * used under Nucleus. + * + * This creates a thread which must be cleaned up by calling vcos_thread_join(). + * The thread cannot be simply terminated (as in Nucleus and ThreadX) as thread + * termination is not universally supported. + * + * @param thread Filled in with thread instance + * @param name An optional name for the thread. NULL or "" may be used (but + * a name will aid in debugging). + * @param entry Entry point + * @param arg A single argument passed to the entry point function + * @param stack Pointer to stack address + * @param stacksz Size of stack in bytes + * @param priaff Priority of task, between VCOS_PRI_LOW and VCOS_PRI_HIGH, ORed with the CPU affinity + * @param autostart If non-zero the thread will start immediately. + * @param timeslice Timeslice (system ticks) for this thread. + * + * @sa vcos_thread_terminate vcos_thread_delete + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_thread_create_classic(VCOS_THREAD_T *thread, + const char *name, + void *(*entry)(void *arg), + void *arg, + void *stack, + VCOS_UNSIGNED stacksz, + VCOS_UNSIGNED priaff, + VCOS_UNSIGNED timeslice, + VCOS_UNSIGNED autostart); + +/** + * \brief Set a thread's priority + * + * Set the priority for a thread. + * + * @param thread The thread + * @param pri Thread priority in VCOS_PRI_MASK bits; affinity in VCOS_AFFINITY_MASK bits. + */ +VCOS_INLINE_DECL +void vcos_thread_set_priority(VCOS_THREAD_T *thread, VCOS_UNSIGNED pri); + +/** + * \brief Return the currently executing thread. + * + */ +VCOS_INLINE_DECL +VCOS_THREAD_T *vcos_thread_current(void); + +/** + * \brief Return the thread's priority. + */ +VCOS_INLINE_DECL +VCOS_UNSIGNED vcos_thread_get_priority(VCOS_THREAD_T *thread); + +/** + * \brief Return the thread's cpu affinity. + */ +VCOS_INLINE_DECL +VCOS_UNSIGNED vcos_thread_get_affinity(VCOS_THREAD_T *thread); + +/** + * \brief Set the thread's cpu affinity. + */ + +VCOS_INLINE_DECL +void vcos_thread_set_affinity(VCOS_THREAD_T *thread, VCOS_UNSIGNED affinity); + +/** + * \brief Query whether we are in an interrupt. + * + * @return 1 if in interrupt context. + */ +VCOS_INLINE_DECL +int vcos_in_interrupt(void); + +/** + * \brief Sleep a while. + * + * @param ms Number of milliseconds to sleep for + * + * This may actually sleep a whole number of ticks. + */ +VCOS_INLINE_DECL +void vcos_sleep(uint32_t ms); + +/** + * \brief Return the value of the hardware microsecond counter. + * + */ +VCOS_INLINE_DECL +uint32_t vcos_getmicrosecs(void); + +VCOS_INLINE_DECL +uint64_t vcos_getmicrosecs64(void); + +#define vcos_get_ms() (vcos_getmicrosecs()/1000) + +/** + * \brief Return a unique identifier for the current process + * + */ +VCOS_INLINE_DECL +VCOS_UNSIGNED vcos_process_id_current(void); + +/** Relinquish this time slice. */ +VCOS_INLINE_DECL +void vcos_thread_relinquish(void); + +/** Return the name of the given thread. + */ +VCOSPRE_ const char * VCOSPOST_ vcos_thread_get_name(const VCOS_THREAD_T *thread); + +/** Change preemption. This is almost certainly not what you want, as it won't + * work reliably in a multicore system: although you can affect the preemption + * on *this* core, you won't affect what's happening on the other core(s). + * + * It's mainly here to ease migration. If you're using it in new code, you + * probably need to think again. + * + * @param pe New preemption, VCOS_PREEMPT or VCOS_NO_PREEMPT + * @return Old value of preemption. + */ +VCOS_INLINE_DECL +VCOS_UNSIGNED vcos_change_preemption(VCOS_UNSIGNED pe); + +/** Is a thread still running, or has it exited? + * + * Note: this exists for some fairly scary code in the video codec tests. Don't + * try to use it for anything else, as it may well not do what you expect. + * + * @param thread thread to query + * @return non-zero if thread is running, or zero if it has exited. + */ +VCOS_INLINE_DECL +int vcos_thread_running(VCOS_THREAD_T *thread); + +/** Resume a thread. + * + * @param thread thread to resume + */ +VCOS_INLINE_DECL +void vcos_thread_resume(VCOS_THREAD_T *thread); + +/* + * Internal APIs - may not always be present and should not be used in + * client code. + */ + +extern void _vcos_task_timer_set(void (*pfn)(void*), void *, VCOS_UNSIGNED ms); +extern void _vcos_task_timer_cancel(void); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/opt/vc/include/interface/vcos/vcos_thread_attr.h b/opt/vc/include/interface/vcos/vcos_thread_attr.h new file mode 100644 index 000000000..9eddd69a8 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_thread_attr.h @@ -0,0 +1,96 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - thread attributes +=============================================================================*/ + +#ifndef VCOS_THREAD_ATTR_H +#define VCOS_THREAD_ATTR_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \file + * + * Attributes for thread creation. + * + */ + +/** Initialize thread attribute struct. This call does not allocate memory, + * and so cannot fail. + * + */ +VCOSPRE_ void VCOSPOST_ vcos_thread_attr_init(VCOS_THREAD_ATTR_T *attrs); + +/** Set the stack address and size. If not set, a stack will be allocated automatically. + * + * This can only be set on some platforms. It will always be possible to set the stack + * address on VideoCore, but on host platforms, support may well not be available. + */ +#if VCOS_CAN_SET_STACK_ADDR +VCOS_INLINE_DECL +void vcos_thread_attr_setstack(VCOS_THREAD_ATTR_T *attrs, void *addr, VCOS_UNSIGNED sz); +#endif + +/** Set the stack size. If not set, a default size will be used. Attempting to call this after having + * set the stack location with vcos_thread_attr_setstack() will result in undefined behaviour. + */ +VCOS_INLINE_DECL +void vcos_thread_attr_setstacksize(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED sz); + +/** Set the task priority. If not set, a default value will be used. + */ +VCOS_INLINE_DECL +void vcos_thread_attr_setpriority(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED pri); + +/** Set the task cpu affinity. If not set, the default will be used. + */ +VCOS_INLINE_DECL +void vcos_thread_attr_setaffinity(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED aff); + +/** Set the timeslice. If not set the default will be used. + */ +VCOS_INLINE_DECL +void vcos_thread_attr_settimeslice(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED ts); + +/** The thread entry function takes (argc,argv), as per Nucleus, with + * argc being 0. This may be withdrawn in a future release and should not + * be used in new code. + */ +VCOS_INLINE_DECL +void _vcos_thread_attr_setlegacyapi(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED legacy); + +VCOS_INLINE_DECL +void vcos_thread_attr_setautostart(VCOS_THREAD_ATTR_T *attrs, VCOS_UNSIGNED autostart); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/opt/vc/include/interface/vcos/vcos_timer.h b/opt/vc/include/interface/vcos/vcos_timer.h new file mode 100644 index 000000000..bdfa6572c --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_timer.h @@ -0,0 +1,117 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - timer support +=============================================================================*/ + +#ifndef VCOS_TIMER_H +#define VCOS_TIMER_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#ifndef VCOS_PLATFORM_H +#include "vcos_platform.h" +#endif + +/** \file vcos_timer.h + * + * Timers are single shot. + * + * Timer times are in milliseconds. + * + * \note that timer callback functions are called from an arbitrary thread + * context. The expiration function should do its work as quickly as possible; + * blocking should be avoided. + * + * \note On Windows, the separate function vcos_timer_init() must be called + * as timer initialization from DllMain is not possible. + */ + +/** Perform timer subsystem initialization. This function is not needed + * on non-Windows platforms but is still present so that it can be + * called. On Windows it is needed because vcos_init() gets called + * from DLL initialization where it is not possible to create a + * time queue (deadlock occurs if you try). + * + * @return VCOS_SUCCESS on success. VCOS_EEXIST if this has already been called + * once. VCOS_ENOMEM if resource allocation failed. + */ +VCOSPRE_ VCOS_STATUS_T VCOSPOST_ vcos_timer_init(void); + +/** Create a timer in a disabled state. + * + * The timer is initially disabled. + * + * @param timer timer handle + * @param name name for timer + * @param expiration_routine function to call when timer expires + * @param context context passed to expiration routine + * + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_timer_create(VCOS_TIMER_T *timer, + const char *name, + void (*expiration_routine)(void *context), + void *context); + + + +/** Start a timer running. + * + * Timer must be stopped. + * + * @param timer timer handle + * @param delay Delay to wait for, in ms + */ +VCOS_INLINE_DECL +void vcos_timer_set(VCOS_TIMER_T *timer, VCOS_UNSIGNED delay); + +/** Stop an already running timer. + * + * @param timer timer handle + */ +VCOS_INLINE_DECL +void vcos_timer_cancel(VCOS_TIMER_T *timer); + +/** Stop a timer and restart it. + * @param timer timer handle + * @param delay delay in ms + */ +VCOS_INLINE_DECL +void vcos_timer_reset(VCOS_TIMER_T *timer, VCOS_UNSIGNED delay); + +VCOS_INLINE_DECL +void vcos_timer_delete(VCOS_TIMER_T *timer); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/opt/vc/include/interface/vcos/vcos_tls.h b/opt/vc/include/interface/vcos/vcos_tls.h new file mode 100644 index 000000000..c5c80339e --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_tls.h @@ -0,0 +1,84 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - thread local storage +=============================================================================*/ + +#ifndef VCOS_TLS_H +#define VCOS_TLS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "interface/vcos/vcos_types.h" +#include "vcos_platform.h" + + +/** Create a new thread local storage data key visible to all threads in + * the current process. + * + * @param key The key to create + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_tls_create(VCOS_TLS_KEY_T *key); + +/** Delete an existing TLS data key. + */ +VCOS_INLINE_DECL +void vcos_tls_delete(VCOS_TLS_KEY_T tls); + +/** Set the value seen by the current thread. + * + * @param key The key to update + * @param v The value to set for the current thread. + * + * @return VCOS_SUCCESS, or VCOS_ENOMEM if memory for this slot + * could not be allocated. + * + * If TLS is being emulated via VCOS then the memory required + * can be preallocated at thread creation time + */ +VCOS_INLINE_DECL +VCOS_STATUS_T vcos_tls_set(VCOS_TLS_KEY_T tls, void *v); + +/** Get the value for the current thread. + * + * @param key The key to update + * + * @return The current value for this thread. + */ +VCOS_INLINE_DECL +void *vcos_tls_get(VCOS_TLS_KEY_T tls); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/opt/vc/include/interface/vcos/vcos_types.h b/opt/vc/include/interface/vcos/vcos_types.h new file mode 100644 index 000000000..4b10920c6 --- /dev/null +++ b/opt/vc/include/interface/vcos/vcos_types.h @@ -0,0 +1,282 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +VideoCore OS Abstraction Layer - basic types +=============================================================================*/ + +#ifndef VCOS_TYPES_H +#define VCOS_TYPES_H + +#define VCOS_VERSION 1 + +#include +#include "vcos_platform_types.h" + +#if !defined(VCOSPRE_) || !defined(VCOSPOST_) +#error VCOSPRE_ and VCOSPOST_ not defined! +#endif + +/* Redefine these here; this means that existing header files can carry on + * using the VCHPOST/VCHPRE macros rather than having huge changes, which + * could cause nasty merge problems. + */ +#ifndef VCHPOST_ +#define VCHPOST_ VCOSPOST_ +#endif +#ifndef VCHPRE_ +#define VCHPRE_ VCOSPRE_ +#endif + +/** Entry function for a lowlevel thread. + * + * Returns void for consistency with Nucleus/ThreadX. + */ +typedef void (*VCOS_LLTHREAD_ENTRY_FN_T)(void *); + +/** Thread entry point. Returns a void* for consistency + * with pthreads. + */ +typedef void *(*VCOS_THREAD_ENTRY_FN_T)(void*); + + +/* Error return codes - chosen to be similar to errno values */ +typedef enum +{ + VCOS_SUCCESS, + VCOS_EAGAIN, + VCOS_ENOENT, + VCOS_ENOSPC, + VCOS_EINVAL, + VCOS_EACCESS, + VCOS_ENOMEM, + VCOS_ENOSYS, + VCOS_EEXIST, + VCOS_ENXIO, + VCOS_EINTR +} VCOS_STATUS_T; + +/* Some compilers (MetaWare) won't inline with -g turned on, which then results + * in a lot of code bloat. To overcome this, inline functions are forward declared + * with the prefix VCOS_INLINE_DECL, and implemented with the prefix VCOS_INLINE_IMPL. + * + * That then means that in a release build, "static inline" can be used in the obvious + * way, but in a debug build the implementations can be skipped in all but one file, + * by using VCOS_INLINE_BODIES. + * + * VCOS_INLINE_DECL - put this at the start of an inline forward declaration of a VCOS + * function. + * + * VCOS_INLINE_IMPL - put this at the start of an inlined implementation of a VCOS + * function. + * + */ + +/* VCOS_EXPORT - it turns out that in some circumstances we need the implementation of + * a function even if it is usually inlined. + * + * In particular, if we have a codec that is usually provided in object form, if it + * was built for a debug build it will be full of calls to vcos_XXX(). If this is used + * in a *release* build, then there won't be any of these calls around in the main image + * as they will all have been inlined. The problem also exists for vcos functions called + * from assembler. + * + * VCOS_EXPORT ensures that the named function will be emitted as a regular (not static-inline) + * function inside vcos_.c so that it can be linked against. Doing this for every + * VCOS function would be a bit code-bloat-tastic, so it is only done for those that need it. + * + */ + +#ifdef __cplusplus +#define _VCOS_INLINE inline +#else +#define _VCOS_INLINE __inline +#endif + +#if defined(NDEBUG) + +#ifdef __GNUC__ +# define VCOS_INLINE_DECL extern __inline__ +# define VCOS_INLINE_IMPL static __inline__ +#else +# define VCOS_INLINE_DECL static _VCOS_INLINE /* declare a func */ +# define VCOS_INLINE_IMPL static _VCOS_INLINE /* implement a func inline */ +#endif + +# if defined(VCOS_WANT_IMPL) +# define VCOS_EXPORT +# else +# define VCOS_EXPORT VCOS_INLINE_IMPL +# endif /* VCOS_WANT_IMPL */ + +#define VCOS_INLINE_BODIES + +#else /* NDEBUG */ + +#if !defined(VCOS_INLINE_DECL) + #define VCOS_INLINE_DECL extern +#endif +#if !defined(VCOS_INLINE_IMPL) + #define VCOS_INLINE_IMPL +#endif +#define VCOS_EXPORT VCOS_INLINE_IMPL +#endif + +#define VCOS_STATIC_INLINE static _VCOS_INLINE + +#if defined(__HIGHC__) || defined(__HIGHC_ANSI__) +#define _VCOS_METAWARE +#endif + +/** It seems that __FUNCTION__ isn't standard! + */ +#if __STDC_VERSION__ < 199901L +# if __GNUC__ >= 2 || defined(__VIDEOCORE__) +# define VCOS_FUNCTION __FUNCTION__ +# else +# define VCOS_FUNCTION "" +# endif +#else +# define VCOS_FUNCTION __func__ +#endif + +#define _VCOS_MS_PER_TICK (1000/VCOS_TICKS_PER_SECOND) + +/* Convert a number of milliseconds to a tick count. Internal use only - fails to + * convert VCOS_SUSPEND correctly. + */ +#define _VCOS_MS_TO_TICKS(ms) (((ms)+_VCOS_MS_PER_TICK-1)/_VCOS_MS_PER_TICK) + +#define VCOS_TICKS_TO_MS(ticks) ((ticks) * _VCOS_MS_PER_TICK) + +/** VCOS version of DATESTR, from pcdisk.h. Used by the hostreq service. + */ +typedef struct vcos_datestr +{ + uint8_t cmsec; /**< Centesimal mili second */ + uint16_t date; /**< Date */ + uint16_t time; /**< Time */ + +} VCOS_DATESTR; + +/* Compile-time assert - declares invalid array length if condition + * not met, or array of length one if OK. + */ +#define VCOS_CASSERT(e) extern char vcos_compile_time_check[1/(e)] + +#define vcos_min(x,y) ((x) < (y) ? (x) : (y)) +#define vcos_max(x,y) ((x) > (y) ? (x) : (y)) + +/** Return the count of an array. FIXME: under gcc we could make + * this report an error for pointers using __builtin_types_compatible(). + */ +#define vcos_countof(x) (sizeof((x)) / sizeof((x)[0])) + +/* for backward compatibility */ +#define countof(x) (sizeof((x)) / sizeof((x)[0])) + +#define VCOS_ALIGN_DOWN(p,n) (((ptrdiff_t)(p)) & ~((n)-1)) +#define VCOS_ALIGN_UP(p,n) VCOS_ALIGN_DOWN((ptrdiff_t)(p)+(n)-1,(n)) + +#ifdef _MSC_VER + #define vcos_alignof(T) __alignof(T) +#elif defined(__GNUC__) + #define vcos_alignof(T) __alignof__(T) +#else + #define vcos_alignof(T) (sizeof(struct { T t; char ch; }) - sizeof(T)) +#endif + +/** bool_t is not a POSIX type so cannot rely on it. Define it here. + * It's not even defined in stdbool.h. + */ +typedef int32_t vcos_bool_t; +typedef int32_t vcos_fourcc_t; + +#define VCOS_FALSE 0 +#define VCOS_TRUE (!VCOS_FALSE) + +/** Mark unused arguments to keep compilers quiet */ +#define vcos_unused(x) (void)(x) + +/** For backward compatibility */ +typedef vcos_fourcc_t fourcc_t; +typedef vcos_fourcc_t FOURCC_T; + +#ifdef __cplusplus +#define VCOS_EXTERN_C_BEGIN extern "C" { +#define VCOS_EXTERN_C_END } +#else +#define VCOS_EXTERN_C_BEGIN +#define VCOS_EXTERN_C_END +#endif + +/** Variable attribute indicating the variable must be emitted even if it appears unused. */ +#if defined(__GNUC__) || defined(_VCOS_METAWARE) +# define VCOS_ATTR_USED __attribute__ ((used)) +#else +# define VCOS_ATTR_USED +#endif + +/** Variable attribute requiring specific alignment. */ +#if defined(__GNUC__) || defined(_VCOS_METAWARE) +# define VCOS_ATTR_ALIGNED(n) __attribute__ ((aligned(n))) +#else +# define VCOS_ATTR_ALIGNED(n) +#endif + +/** Define a function as a weak alias to another function. + * @param ret_type Function return type. + * @param alias_name Name of the alias. + * @param param_list Function parameter list, including the parentheses. + * @param target_name Target function (bare function name, not a string). + */ +#if defined(__GNUC__) || defined(_VCOS_METAWARE) + /* N.B. gcc allows __attribute__ after parameter list, but hcvc seems to silently ignore it. */ +# define VCOS_WEAK_ALIAS(ret_type, alias_name, param_list, target_name) \ + __attribute__ ((weak, alias(#target_name))) ret_type alias_name param_list +#else +# define VCOS_WEAK_ALIAS(ret_type, alias, params, target) VCOS_CASSERT(0) +#endif + +/** Define a function as a weak alias to another function, specified as a string. + * @param ret_type Function return type. + * @param alias_name Name of the alias. + * @param param_list Function parameter list, including the parentheses. + * @param target_name Target function name as a string. + * @note Prefer the use of VCOS_WEAK_ALIAS - it is likely to be more portable. + * Only use VCOS_WEAK_ALIAS_STR if you need to do pre-processor mangling of the target + * symbol. + */ +#if defined(__GNUC__) || defined(_VCOS_METAWARE) + /* N.B. gcc allows __attribute__ after parameter list, but hcvc seems to silently ignore it. */ +# define VCOS_WEAK_ALIAS_STR(ret_type, alias_name, param_list, target_name) \ + __attribute__ ((weak, alias(target_name))) ret_type alias_name param_list +#else +# define VCOS_WEAK_ALIAS_STR(ret_type, alias, params, target) VCOS_CASSERT(0) +#endif + +#endif diff --git a/opt/vc/include/interface/vctypes/vc_display_types.h b/opt/vc/include/interface/vctypes/vc_display_types.h new file mode 100644 index 000000000..8ef93e636 --- /dev/null +++ b/opt/vc/include/interface/vctypes/vc_display_types.h @@ -0,0 +1,112 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +Common image types used by the vc_image library. +=============================================================================*/ + +#ifndef INTERFACE_VC_DISPLAY_TYPES_H +#define INTERFACE_VC_DISPLAY_TYPES_H + +//enums of display input format +typedef enum +{ + VCOS_DISPLAY_INPUT_FORMAT_INVALID = 0, + VCOS_DISPLAY_INPUT_FORMAT_RGB888, + VCOS_DISPLAY_INPUT_FORMAT_RGB565 +} +VCOS_DISPLAY_INPUT_FORMAT_T; + +/** For backward compatibility */ +#define DISPLAY_INPUT_FORMAT_INVALID VCOS_DISPLAY_INPUT_FORMAT_INVALID +#define DISPLAY_INPUT_FORMAT_RGB888 VCOS_DISPLAY_INPUT_FORMAT_RGB888 +#define DISPLAY_INPUT_FORMAT_RGB565 VCOS_DISPLAY_INPUT_FORMAT_RGB565 +typedef VCOS_DISPLAY_INPUT_FORMAT_T DISPLAY_INPUT_FORMAT_T; + +// Enum determining how image data for 3D displays has to be supplied +typedef enum +{ + DISPLAY_3D_UNSUPPORTED = 0, // default + DISPLAY_3D_INTERLEAVED, // For autosteroscopic displays + DISPLAY_3D_SBS_FULL_AUTO, // Side-By-Side, Full Width (also used by some autostereoscopic displays) + DISPLAY_3D_SBS_HALF_HORIZ, // Side-By-Side, Half Width, Horizontal Subsampling (see HDMI spec) + DISPLAY_3D_TB_HALF, // Top-bottom 3D + DISPLAY_3D_FORMAT_MAX +} DISPLAY_3D_FORMAT_T; + +//enums of display types +typedef enum +{ + DISPLAY_INTERFACE_MIN, + DISPLAY_INTERFACE_SMI, + DISPLAY_INTERFACE_DPI, + DISPLAY_INTERFACE_DSI, + DISPLAY_INTERFACE_LVDS, + DISPLAY_INTERFACE_MAX + +} DISPLAY_INTERFACE_T; + +/* display dither setting, used on B0 */ +typedef enum { + DISPLAY_DITHER_NONE = 0, /* default if not set */ + DISPLAY_DITHER_RGB666 = 1, + DISPLAY_DITHER_RGB565 = 2, + DISPLAY_DITHER_RGB555 = 3, + DISPLAY_DITHER_MAX +} DISPLAY_DITHER_T; + +//info struct +typedef struct +{ + //type + DISPLAY_INTERFACE_T type; + //width / height + uint32_t width; + uint32_t height; + //output format + DISPLAY_INPUT_FORMAT_T input_format; + //interlaced? + uint32_t interlaced; + /* output dither setting (if required) */ + DISPLAY_DITHER_T output_dither; + /* Pixel frequency */ + uint32_t pixel_freq; + /* Line rate in lines per second */ + uint32_t line_rate; + // Format required for image data for 3D displays + DISPLAY_3D_FORMAT_T format_3d; + // If display requires PV1 (e.g. DSI1), special config is required in HVS + uint32_t use_pixelvalve_1; + // Set for DSI displays which use video mode. + uint32_t dsi_video_mode; + // Select HVS channel (usually 0). + uint32_t hvs_channel; +} DISPLAY_INFO_T; + +#endif /* __VC_INCLUDE_IMAGE_TYPES_H__ */ + + diff --git a/opt/vc/include/interface/vctypes/vc_image_types.h b/opt/vc/include/interface/vctypes/vc_image_types.h new file mode 100644 index 000000000..3072a9ae6 --- /dev/null +++ b/opt/vc/include/interface/vctypes/vc_image_types.h @@ -0,0 +1,167 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Common image types used by the vc_image library + +#ifndef INTERFACE_VC_IMAGE_TYPES_H +#define INTERFACE_VC_IMAGE_TYPES_H + +/* This file gets included by the VCE compiler, which gets confused + * easily by the VCOS headers. So cannot include vcos.h here. + */ +#include "interface/vcos/vcos_stdint.h" + +/* We have so many rectangle types; let's try to introduce a common one. */ +typedef struct tag_VC_RECT_T { + int32_t x; + int32_t y; + int32_t width; + int32_t height; +} VC_RECT_T; + +struct VC_IMAGE_T; +typedef struct VC_IMAGE_T VC_IMAGE_T; + +/* Types of image supported. */ +/* Please add any new types to the *end* of this list. Also update + * case_VC_IMAGE_ANY_xxx macros (below), and the vc_image_type_info table in + * vc_image/vc_image_helper.c. + */ +typedef enum +{ + VC_IMAGE_MIN = 0, //bounds for error checking + + VC_IMAGE_RGB565 = 1, + VC_IMAGE_1BPP, + VC_IMAGE_YUV420, + VC_IMAGE_48BPP, + VC_IMAGE_RGB888, + VC_IMAGE_8BPP, + VC_IMAGE_4BPP, // 4bpp palettised image + VC_IMAGE_3D32, /* A separated format of 16 colour/light shorts followed by 16 z values */ + VC_IMAGE_3D32B, /* 16 colours followed by 16 z values */ + VC_IMAGE_3D32MAT, /* A separated format of 16 material/colour/light shorts followed by 16 z values */ + VC_IMAGE_RGB2X9, /* 32 bit format containing 18 bits of 6.6.6 RGB, 9 bits per short */ + VC_IMAGE_RGB666, /* 32-bit format holding 18 bits of 6.6.6 RGB */ + VC_IMAGE_PAL4_OBSOLETE, // 4bpp palettised image with embedded palette + VC_IMAGE_PAL8_OBSOLETE, // 8bpp palettised image with embedded palette + VC_IMAGE_RGBA32, /* RGB888 with an alpha byte after each pixel */ /* xxx: isn't it BEFORE each pixel? */ + VC_IMAGE_YUV422, /* a line of Y (32-byte padded), a line of U (16-byte padded), and a line of V (16-byte padded) */ + VC_IMAGE_RGBA565, /* RGB565 with a transparent patch */ + VC_IMAGE_RGBA16, /* Compressed (4444) version of RGBA32 */ + VC_IMAGE_YUV_UV, /* VCIII codec format */ + VC_IMAGE_TF_RGBA32, /* VCIII T-format RGBA8888 */ + VC_IMAGE_TF_RGBX32, /* VCIII T-format RGBx8888 */ + VC_IMAGE_TF_FLOAT, /* VCIII T-format float */ + VC_IMAGE_TF_RGBA16, /* VCIII T-format RGBA4444 */ + VC_IMAGE_TF_RGBA5551, /* VCIII T-format RGB5551 */ + VC_IMAGE_TF_RGB565, /* VCIII T-format RGB565 */ + VC_IMAGE_TF_YA88, /* VCIII T-format 8-bit luma and 8-bit alpha */ + VC_IMAGE_TF_BYTE, /* VCIII T-format 8 bit generic sample */ + VC_IMAGE_TF_PAL8, /* VCIII T-format 8-bit palette */ + VC_IMAGE_TF_PAL4, /* VCIII T-format 4-bit palette */ + VC_IMAGE_TF_ETC1, /* VCIII T-format Ericsson Texture Compressed */ + VC_IMAGE_BGR888, /* RGB888 with R & B swapped */ + VC_IMAGE_BGR888_NP, /* RGB888 with R & B swapped, but with no pitch, i.e. no padding after each row of pixels */ + VC_IMAGE_BAYER, /* Bayer image, extra defines which variant is being used */ + VC_IMAGE_CODEC, /* General wrapper for codec images e.g. JPEG from camera */ + VC_IMAGE_YUV_UV32, /* VCIII codec format */ + VC_IMAGE_TF_Y8, /* VCIII T-format 8-bit luma */ + VC_IMAGE_TF_A8, /* VCIII T-format 8-bit alpha */ + VC_IMAGE_TF_SHORT,/* VCIII T-format 16-bit generic sample */ + VC_IMAGE_TF_1BPP, /* VCIII T-format 1bpp black/white */ + VC_IMAGE_OPENGL, + VC_IMAGE_YUV444I, /* VCIII-B0 HVS YUV 4:4:4 interleaved samples */ + VC_IMAGE_YUV422PLANAR, /* Y, U, & V planes separately (VC_IMAGE_YUV422 has them interleaved on a per line basis) */ + VC_IMAGE_ARGB8888, /* 32bpp with 8bit alpha at MS byte, with R, G, B (LS byte) */ + VC_IMAGE_XRGB8888, /* 32bpp with 8bit unused at MS byte, with R, G, B (LS byte) */ + + VC_IMAGE_YUV422YUYV, /* interleaved 8 bit samples of Y, U, Y, V */ + VC_IMAGE_YUV422YVYU, /* interleaved 8 bit samples of Y, V, Y, U */ + VC_IMAGE_YUV422UYVY, /* interleaved 8 bit samples of U, Y, V, Y */ + VC_IMAGE_YUV422VYUY, /* interleaved 8 bit samples of V, Y, U, Y */ + + VC_IMAGE_RGBX32, /* 32bpp like RGBA32 but with unused alpha */ + VC_IMAGE_RGBX8888, /* 32bpp, corresponding to RGBA with unused alpha */ + VC_IMAGE_BGRX8888, /* 32bpp, corresponding to BGRA with unused alpha */ + + VC_IMAGE_YUV420SP, /* Y as a plane, then UV byte interleaved in plane with with same pitch, half height */ + + VC_IMAGE_YUV444PLANAR, /* Y, U, & V planes separately 4:4:4 */ + + VC_IMAGE_MAX, //bounds for error checking + VC_IMAGE_FORCE_ENUM_16BIT = 0xffff, +} VC_IMAGE_TYPE_T; + +/* Image transformations (flips and 90 degree rotations). + These are made out of 3 primitives (transpose is done first). + These must match the DISPMAN and Media Player definitions. */ + +#define TRANSFORM_HFLIP (1<<0) +#define TRANSFORM_VFLIP (1<<1) +#define TRANSFORM_TRANSPOSE (1<<2) + +typedef enum { + VC_IMAGE_ROT0 = 0, + VC_IMAGE_MIRROR_ROT0 = TRANSFORM_HFLIP, + VC_IMAGE_MIRROR_ROT180 = TRANSFORM_VFLIP, + VC_IMAGE_ROT180 = TRANSFORM_HFLIP|TRANSFORM_VFLIP, + VC_IMAGE_MIRROR_ROT90 = TRANSFORM_TRANSPOSE, + VC_IMAGE_ROT270 = TRANSFORM_TRANSPOSE|TRANSFORM_HFLIP, + VC_IMAGE_ROT90 = TRANSFORM_TRANSPOSE|TRANSFORM_VFLIP, + VC_IMAGE_MIRROR_ROT270 = TRANSFORM_TRANSPOSE|TRANSFORM_HFLIP|TRANSFORM_VFLIP, +} VC_IMAGE_TRANSFORM_T; + +typedef enum +{ //defined to be identical to register bits + VC_IMAGE_BAYER_RGGB = 0, + VC_IMAGE_BAYER_GBRG = 1, + VC_IMAGE_BAYER_BGGR = 2, + VC_IMAGE_BAYER_GRBG = 3 +} VC_IMAGE_BAYER_ORDER_T; + +typedef enum +{ //defined to be identical to register bits + VC_IMAGE_BAYER_RAW6 = 0, + VC_IMAGE_BAYER_RAW7 = 1, + VC_IMAGE_BAYER_RAW8 = 2, + VC_IMAGE_BAYER_RAW10 = 3, + VC_IMAGE_BAYER_RAW12 = 4, + VC_IMAGE_BAYER_RAW14 = 5, + VC_IMAGE_BAYER_RAW16 = 6, + VC_IMAGE_BAYER_RAW10_8 = 7, + VC_IMAGE_BAYER_RAW12_8 = 8, + VC_IMAGE_BAYER_RAW14_8 = 9, + VC_IMAGE_BAYER_RAW10L = 11, + VC_IMAGE_BAYER_RAW12L = 12, + VC_IMAGE_BAYER_RAW14L = 13, + VC_IMAGE_BAYER_RAW16_BIG_ENDIAN = 14, + VC_IMAGE_BAYER_RAW4 = 15, +} VC_IMAGE_BAYER_FORMAT_T; + +#endif /* __VC_INCLUDE_IMAGE_TYPES_H__ */ + diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Audio.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Audio.h new file mode 100644 index 000000000..19580b21f --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Audio.h @@ -0,0 +1,1384 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** @file OMX_Audio.h - OpenMax IL version 1.1.2 + * The structures needed by Audio components to exchange + * parameters and configuration data with the componenmilts. + */ + +#ifndef OMX_Audio_h +#define OMX_Audio_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_Core.h" + +/** @defgroup midi MIDI + * @ingroup audio + */ + +/** @defgroup effects Audio effects + * @ingroup audio + */ + +/** @defgroup audio OpenMAX IL Audio Domain + * Structures for OpenMAX IL Audio domain + * @{ + */ + +/** Enumeration used to define the possible audio codings. + * If "OMX_AUDIO_CodingUnused" is selected, the coding selection must + * be done in a vendor specific way. Since this is for an audio + * processing element this enum is relevant. However, for another + * type of component other enums would be in this area. + */ +typedef enum OMX_AUDIO_CODINGTYPE { + OMX_AUDIO_CodingUnused = 0, /**< Placeholder value when coding is N/A */ + OMX_AUDIO_CodingAutoDetect, /**< auto detection of audio format */ + OMX_AUDIO_CodingPCM, /**< Any variant of PCM coding */ + OMX_AUDIO_CodingADPCM, /**< Any variant of ADPCM encoded data */ + OMX_AUDIO_CodingAMR, /**< Any variant of AMR encoded data */ + OMX_AUDIO_CodingGSMFR, /**< Any variant of GSM fullrate (i.e. GSM610) */ + OMX_AUDIO_CodingGSMEFR, /**< Any variant of GSM Enhanced Fullrate encoded data*/ + OMX_AUDIO_CodingGSMHR, /**< Any variant of GSM Halfrate encoded data */ + OMX_AUDIO_CodingPDCFR, /**< Any variant of PDC Fullrate encoded data */ + OMX_AUDIO_CodingPDCEFR, /**< Any variant of PDC Enhanced Fullrate encoded data */ + OMX_AUDIO_CodingPDCHR, /**< Any variant of PDC Halfrate encoded data */ + OMX_AUDIO_CodingTDMAFR, /**< Any variant of TDMA Fullrate encoded data (TIA/EIA-136-420) */ + OMX_AUDIO_CodingTDMAEFR, /**< Any variant of TDMA Enhanced Fullrate encoded data (TIA/EIA-136-410) */ + OMX_AUDIO_CodingQCELP8, /**< Any variant of QCELP 8kbps encoded data */ + OMX_AUDIO_CodingQCELP13, /**< Any variant of QCELP 13kbps encoded data */ + OMX_AUDIO_CodingEVRC, /**< Any variant of EVRC encoded data */ + OMX_AUDIO_CodingSMV, /**< Any variant of SMV encoded data */ + OMX_AUDIO_CodingG711, /**< Any variant of G.711 encoded data */ + OMX_AUDIO_CodingG723, /**< Any variant of G.723 dot 1 encoded data */ + OMX_AUDIO_CodingG726, /**< Any variant of G.726 encoded data */ + OMX_AUDIO_CodingG729, /**< Any variant of G.729 encoded data */ + OMX_AUDIO_CodingAAC, /**< Any variant of AAC encoded data */ + OMX_AUDIO_CodingMP3, /**< Any variant of MP3 encoded data */ + OMX_AUDIO_CodingSBC, /**< Any variant of SBC encoded data */ + OMX_AUDIO_CodingVORBIS, /**< Any variant of VORBIS encoded data */ + OMX_AUDIO_CodingWMA, /**< Any variant of WMA encoded data */ + OMX_AUDIO_CodingRA, /**< Any variant of RA encoded data */ + OMX_AUDIO_CodingMIDI, /**< Any variant of MIDI encoded data */ + OMX_AUDIO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_AUDIO_CodingFLAC, /**< Any variant of FLAC */ + OMX_AUDIO_CodingDDP, /**< Any variant of Dolby Digital Plus */ + OMX_AUDIO_CodingDTS, /**< Any variant of DTS */ + OMX_AUDIO_CodingWMAPRO, /**< Any variant of WMA Professional */ + OMX_AUDIO_CodingATRAC3, /**< Sony ATRAC-3 variants */ + OMX_AUDIO_CodingATRACX, /**< Sony ATRAC-X variants */ + OMX_AUDIO_CodingATRACAAL, /**< Sony ATRAC advanced-lossless variants */ + + OMX_AUDIO_CodingMax = 0x7FFFFFFF +} OMX_AUDIO_CODINGTYPE; + + +/** The PortDefinition structure is used to define all of the parameters + * necessary for the compliant component to setup an input or an output audio + * path. If additional information is needed to define the parameters of the + * port (such as frequency), additional structures must be sent such as the + * OMX_AUDIO_PARAM_PCMMODETYPE structure to supply the extra parameters for the port. + */ +typedef struct OMX_AUDIO_PORTDEFINITIONTYPE { + OMX_STRING cMIMEType; /**< MIME type of data for the port */ + OMX_NATIVE_DEVICETYPE pNativeRender; /** < platform specific reference + for an output device, + otherwise this field is 0 */ + OMX_BOOL bFlagErrorConcealment; /**< Turns on error concealment if it is + supported by the OMX component */ + OMX_AUDIO_CODINGTYPE eEncoding; /**< Type of data expected for this + port (e.g. PCM, AMR, MP3, etc) */ +} OMX_AUDIO_PORTDEFINITIONTYPE; + + +/** Port format parameter. This structure is used to enumerate + * the various data input/output format supported by the port. + */ +typedef struct OMX_AUDIO_PARAM_PORTFORMATTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Indicates which port to set */ + OMX_U32 nIndex; /**< Indicates the enumeration index for the format from 0x0 to N-1 */ + OMX_AUDIO_CODINGTYPE eEncoding; /**< Type of data expected for this port (e.g. PCM, AMR, MP3, etc) */ +} OMX_AUDIO_PARAM_PORTFORMATTYPE; + + +/** PCM mode type */ +typedef enum OMX_AUDIO_PCMMODETYPE { + OMX_AUDIO_PCMModeLinear = 0, /**< Linear PCM encoded data */ + OMX_AUDIO_PCMModeALaw, /**< A law PCM encoded data (G.711) */ + OMX_AUDIO_PCMModeMULaw, /**< Mu law PCM encoded data (G.711) */ + OMX_AUDIO_PCMModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_PCMModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_PCMModeMax = 0x7FFFFFFF +} OMX_AUDIO_PCMMODETYPE; + + +typedef enum OMX_AUDIO_CHANNELTYPE { + OMX_AUDIO_ChannelNone = 0x0, /**< Unused or empty */ + OMX_AUDIO_ChannelLF = 0x1, /**< Left front */ + OMX_AUDIO_ChannelRF = 0x2, /**< Right front */ + OMX_AUDIO_ChannelCF = 0x3, /**< Center front */ + OMX_AUDIO_ChannelLS = 0x4, /**< Left surround */ + OMX_AUDIO_ChannelRS = 0x5, /**< Right surround */ + OMX_AUDIO_ChannelLFE = 0x6, /**< Low frequency effects */ + OMX_AUDIO_ChannelCS = 0x7, /**< Back surround */ + OMX_AUDIO_ChannelLR = 0x8, /**< Left rear. */ + OMX_AUDIO_ChannelRR = 0x9, /**< Right rear. */ + OMX_AUDIO_ChannelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_ChannelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_ChannelMax = 0x7FFFFFFF +} OMX_AUDIO_CHANNELTYPE; + +#define OMX_AUDIO_MAXCHANNELS 16 /**< maximum number distinct audio channels that a buffer may contain */ +#define OMX_MIN_PCMPAYLOAD_MSEC 5 /**< Minimum audio buffer payload size for uncompressed (PCM) audio */ + +/** PCM format description */ +typedef struct OMX_AUDIO_PARAM_PCMMODETYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels (e.g. 2 for stereo) */ + OMX_NUMERICALDATATYPE eNumData; /**< indicates PCM data as signed or unsigned */ + OMX_ENDIANTYPE eEndian; /**< indicates PCM data as little or big endian */ + OMX_BOOL bInterleaved; /**< True for normal interleaved data; false for + non-interleaved data (e.g. block data) */ + OMX_U32 nBitPerSample; /**< Bit per sample */ + OMX_U32 nSamplingRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_AUDIO_PCMMODETYPE ePCMMode; /**< PCM mode enumeration */ + OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS]; /**< Slot i contains channel defined by eChannelMap[i] */ + +} OMX_AUDIO_PARAM_PCMMODETYPE; + + +/** Audio channel mode. This is used by both AAC and MP3, although the names are more appropriate + * for the MP3. For example, JointStereo for MP3 is CouplingChannels for AAC. + */ +typedef enum OMX_AUDIO_CHANNELMODETYPE { + OMX_AUDIO_ChannelModeStereo = 0, /**< 2 channels, the bitrate allocation between those + two channels changes accordingly to each channel information */ + OMX_AUDIO_ChannelModeJointStereo, /**< mode that takes advantage of what is common between + 2 channels for higher compression gain */ + OMX_AUDIO_ChannelModeDual, /**< 2 mono-channels, each channel is encoded with half + the bitrate of the overall bitrate */ + OMX_AUDIO_ChannelModeMono, /**< Mono channel mode */ + OMX_AUDIO_ChannelModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_ChannelModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_ChannelModeMax = 0x7FFFFFFF +} OMX_AUDIO_CHANNELMODETYPE; + + +typedef enum OMX_AUDIO_MP3STREAMFORMATTYPE { + OMX_AUDIO_MP3StreamFormatMP1Layer3 = 0, /**< MP3 Audio MPEG 1 Layer 3 Stream format */ + OMX_AUDIO_MP3StreamFormatMP2Layer3, /**< MP3 Audio MPEG 2 Layer 3 Stream format */ + OMX_AUDIO_MP3StreamFormatMP2_5Layer3, /**< MP3 Audio MPEG2.5 Layer 3 Stream format */ + OMX_AUDIO_MP3StreamFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MP3StreamFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MP3StreamFormatMax = 0x7FFFFFFF +} OMX_AUDIO_MP3STREAMFORMATTYPE; + +/** MP3 params */ +typedef struct OMX_AUDIO_PARAM_MP3TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should + limit the audio signal. Use 0 to let encoder decide */ + OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ + OMX_AUDIO_MP3STREAMFORMATTYPE eFormat; /**< MP3 stream format */ +} OMX_AUDIO_PARAM_MP3TYPE; + +typedef enum OMX_AUDIO_DDPBITSTREAMID { + OMX_AUDIO_DDPBitStreamIdAC3 = 8, + OMX_AUDIO_DDPBitStreamIdEAC3 = 16, + OMX_AUDIO_DDPBitStreamIdKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_DDPBitStreamIdVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_DDPBitStreamIdMax = 0x7FFFFFFF +} OMX_AUDIO_DDPBITSTREAMID; + +typedef enum OMX_AUDIO_DDPBITSTREAMMODE { + OMX_AUDIO_DDPBitStreamModeCM = 0, /**< DDP any main audio service: complete main (CM) */ + OMX_AUDIO_DDPBitStreamModeME, /**< DDP any main audio service: music and effects (ME) */ + OMX_AUDIO_DDPBitStreamModeVI, /**< DDP any associated service: visually impaired (VI) */ + OMX_AUDIO_DDPBitStreamModeHI, /**< DDP any associated service: hearing impaired (HI) */ + OMX_AUDIO_DDPBitStreamModeD, /**< DDP any associated service: dialogue (D) */ + OMX_AUDIO_DDPBitStreamModeC, /**< DDP any associated service: commentary (C) */ + OMX_AUDIO_DDPBitStreamModeE, /**< DDP any associated service: emergency (E) */ + OMX_AUDIO_DDPBitStreamModeVO, /**< DDP associated service: voice over (VO) */ + OMX_AUDIO_DDPBitStreamModeK, /**< DDP main audio service: karaoke */ + OMX_AUDIO_DDPBitStreamModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_DDPBitStreamModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_DDPBitStreamModeMax = 0x7FFFFFFF +} OMX_AUDIO_DDPBITSTREAMMODE; + +typedef enum OMX_AUDIO_DDPDOLBYSURROUNDMODE { + OMX_AUDIO_DDPDolbySurroundModeNotIndicated = 0, /**< Not indicated */ + OMX_AUDIO_DDPDolbySurroundModeNotDolbySurround, /**< Not Dolby Surround */ + OMX_AUDIO_DDPDolbySurroundModeDolbySurroundEncoded, /**< Dolby Surround encoded */ + OMX_AUDIO_DDPDolbySurroundModeReserverd, /**< Reserved */ + OMX_AUDIO_DDPDolbySurroundModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_DDPDolbySurroundModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_DDPDolbySurroundModeMax = 0x7FFFFFFF +} OMX_AUDIO_DDPDOLBYSURROUNDMODE; + +/** DDP params */ +typedef struct OMX_AUDIO_PARAM_DDPTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_AUDIO_DDPBITSTREAMID eBitStreamId; + OMX_AUDIO_DDPBITSTREAMMODE eBitStreamMode; + OMX_AUDIO_DDPDOLBYSURROUNDMODE eDolbySurroundMode; + OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS]; /**< Slot i contains channel defined by eChannelMapping[i] */ +} OMX_AUDIO_PARAM_DDPTYPE; + +/** DTS params */ +typedef struct OMX_AUDIO_PARAM_DTSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nDtsType; /** DTS type 1, 2, or 3. */ + OMX_U32 nFormat; /** DTS stream is either big/little endian and 16/14 bit packing */ + OMX_U32 nDtsFrameSizeBytes; /** DTS frame size in bytes */ + OMX_AUDIO_CHANNELTYPE eChannelMapping[OMX_AUDIO_MAXCHANNELS]; /**< Slot i contains channel defined by eChannelMapping[i] */ +} OMX_AUDIO_PARAM_DTSTYPE; + +typedef enum OMX_AUDIO_AACSTREAMFORMATTYPE { + OMX_AUDIO_AACStreamFormatMP2ADTS = 0, /**< AAC Audio Data Transport Stream 2 format */ + OMX_AUDIO_AACStreamFormatMP4ADTS, /**< AAC Audio Data Transport Stream 4 format */ + OMX_AUDIO_AACStreamFormatMP4LOAS, /**< AAC Low Overhead Audio Stream format */ + OMX_AUDIO_AACStreamFormatMP4LATM, /**< AAC Low overhead Audio Transport Multiplex */ + OMX_AUDIO_AACStreamFormatADIF, /**< AAC Audio Data Interchange Format */ + OMX_AUDIO_AACStreamFormatMP4FF, /**< AAC inside MPEG-4/ISO File Format */ + OMX_AUDIO_AACStreamFormatRAW, /**< AAC Raw Format */ + OMX_AUDIO_AACStreamFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AACStreamFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AACStreamFormatMax = 0x7FFFFFFF +} OMX_AUDIO_AACSTREAMFORMATTYPE; + + +/** AAC mode type. Note that the term profile is used with the MPEG-2 + * standard and the term object type and profile is used with MPEG-4 */ +typedef enum OMX_AUDIO_AACPROFILETYPE{ + OMX_AUDIO_AACObjectNull = 0, /**< Null, not used */ + OMX_AUDIO_AACObjectMain = 1, /**< AAC Main object */ + OMX_AUDIO_AACObjectLC, /**< AAC Low Complexity object (AAC profile) */ + OMX_AUDIO_AACObjectSSR, /**< AAC Scalable Sample Rate object */ + OMX_AUDIO_AACObjectLTP, /**< AAC Long Term Prediction object */ + OMX_AUDIO_AACObjectHE, /**< AAC High Efficiency (object type SBR, HE-AAC profile) */ + OMX_AUDIO_AACObjectScalable, /**< AAC Scalable object */ + OMX_AUDIO_AACObjectERLC = 17, /**< ER AAC Low Complexity object (Error Resilient AAC-LC) */ + OMX_AUDIO_AACObjectLD = 23, /**< AAC Low Delay object (Error Resilient) */ + OMX_AUDIO_AACObjectHE_PS = 29, /**< AAC High Efficiency with Parametric Stereo coding (HE-AAC v2, object type PS) */ + OMX_AUDIO_AACObjectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AACObjectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AACObjectMax = 0x7FFFFFFF +} OMX_AUDIO_AACPROFILETYPE; + + +/** AAC tool usage (for nAACtools in OMX_AUDIO_PARAM_AACPROFILETYPE). + * Required for encoder configuration and optional as decoder info output. + * For MP3, OMX_AUDIO_CHANNELMODETYPE is sufficient. */ +#define OMX_AUDIO_AACToolNone 0x00000000 /**< no AAC tools allowed (encoder config) or active (decoder info output) */ +#define OMX_AUDIO_AACToolMS 0x00000001 /**< MS: Mid/side joint coding tool allowed or active */ +#define OMX_AUDIO_AACToolIS 0x00000002 /**< IS: Intensity stereo tool allowed or active */ +#define OMX_AUDIO_AACToolTNS 0x00000004 /**< TNS: Temporal Noise Shaping tool allowed or active */ +#define OMX_AUDIO_AACToolPNS 0x00000008 /**< PNS: MPEG-4 Perceptual Noise substitution tool allowed or active */ +#define OMX_AUDIO_AACToolLTP 0x00000010 /**< LTP: MPEG-4 Long Term Prediction tool allowed or active */ +#define OMX_AUDIO_AACToolAll 0x7FFFFFFF /**< all AAC tools allowed or active (*/ + +/** MPEG-4 AAC error resilience (ER) tool usage (for nAACERtools in OMX_AUDIO_PARAM_AACPROFILETYPE). + * Required for ER encoder configuration and optional as decoder info output */ +#define OMX_AUDIO_AACERNone 0x00000000 /**< no AAC ER tools allowed/used */ +#define OMX_AUDIO_AACERVCB11 0x00000001 /**< VCB11: Virtual Code Books for AAC section data */ +#define OMX_AUDIO_AACERRVLC 0x00000002 /**< RVLC: Reversible Variable Length Coding */ +#define OMX_AUDIO_AACERHCR 0x00000004 /**< HCR: Huffman Codeword Reordering */ +#define OMX_AUDIO_AACERAll 0x7FFFFFFF /**< all AAC ER tools allowed/used */ + + +/** AAC params */ +typedef struct OMX_AUDIO_PARAM_AACPROFILETYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should + limit the audio signal. Use 0 to let encoder decide */ + OMX_U32 nFrameLength; /**< Frame length (in audio samples per channel) of the codec. + Can be 1024 or 960 (AAC-LC), 2048 (HE-AAC), 480 or 512 (AAC-LD). + Use 0 to let encoder decide */ + OMX_U32 nAACtools; /**< AAC tool usage */ + OMX_U32 nAACERtools; /**< MPEG-4 AAC error resilience tool usage */ + OMX_AUDIO_AACPROFILETYPE eAACProfile; /**< AAC profile enumeration */ + OMX_AUDIO_AACSTREAMFORMATTYPE eAACStreamFormat; /**< AAC stream format enumeration */ + OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ +} OMX_AUDIO_PARAM_AACPROFILETYPE; + + +/** VORBIS params */ +typedef struct OMX_AUDIO_PARAM_VORBISTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the encoded data data. Use 0 for variable + rate or unknown bit rates. Encoding is set to the + bitrate closest to specified value (in bps) */ + OMX_U32 nMinBitRate; /**< Sets minimum bitrate (in bps). */ + OMX_U32 nMaxBitRate; /**< Sets maximum bitrate (in bps). */ + + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nAudioBandWidth; /**< Audio band width (in Hz) to which an encoder should + limit the audio signal. Use 0 to let encoder decide */ + OMX_S32 nQuality; /**< Sets encoding quality to n, between -1 (low) and 10 (high). + In the default mode of operation, teh quality level is 3. + Normal quality range is 0 - 10. */ + OMX_BOOL bManaged; /**< Set bitrate management mode. This turns off the + normal VBR encoding, but allows hard or soft bitrate + constraints to be enforced by the encoder. This mode can + be slower, and may also be lower quality. It is + primarily useful for streaming. */ + OMX_BOOL bDownmix; /**< Downmix input from stereo to mono (has no effect on + non-stereo streams). Useful for lower-bitrate encoding. */ +} OMX_AUDIO_PARAM_VORBISTYPE; + + +/** WMA Version */ +typedef enum OMX_AUDIO_WMAFORMATTYPE { + OMX_AUDIO_WMAFormatUnused = 0, /**< format unused or unknown */ + OMX_AUDIO_WMAFormat7, /**< Windows Media Audio format 7 */ + OMX_AUDIO_WMAFormat8, /**< Windows Media Audio format 8 */ + OMX_AUDIO_WMAFormat9, /**< Windows Media Audio format 9 */ + OMX_AUDIO_WMAFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_WMAFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_WMAFormatMax = 0x7FFFFFFF +} OMX_AUDIO_WMAFORMATTYPE; + + +/** WMA Profile */ +typedef enum OMX_AUDIO_WMAPROFILETYPE { + OMX_AUDIO_WMAProfileUnused = 0, /**< profile unused or unknown */ + OMX_AUDIO_WMAProfileL1, /**< Windows Media audio version 9 profile L1 */ + OMX_AUDIO_WMAProfileL2, /**< Windows Media audio version 9 profile L2 */ + OMX_AUDIO_WMAProfileL3, /**< Windows Media audio version 9 profile L3 */ + OMX_AUDIO_WMAProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_WMAProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_WMAProfileMax = 0x7FFFFFFF +} OMX_AUDIO_WMAPROFILETYPE; + + +/** WMA params */ +typedef struct OMX_AUDIO_PARAM_WMATYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U16 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_AUDIO_WMAFORMATTYPE eFormat; /**< Version of WMA stream / data */ + OMX_AUDIO_WMAPROFILETYPE eProfile; /**< Profile of WMA stream / data */ + OMX_U32 nSamplingRate; /**< Sampling rate of the source data */ + OMX_U16 nBlockAlign; /**< is the block alignment, or block size, in bytes of the audio codec */ + OMX_U16 nEncodeOptions; /**< WMA Type-specific data */ + OMX_U32 nSuperBlockAlign; /**< WMA Type-specific data */ +} OMX_AUDIO_PARAM_WMATYPE; + +/** + * RealAudio format + */ +typedef enum OMX_AUDIO_RAFORMATTYPE { + OMX_AUDIO_RAFormatUnused = 0, /**< Format unused or unknown */ + OMX_AUDIO_RA8, /**< RealAudio 8 codec */ + OMX_AUDIO_RA9, /**< RealAudio 9 codec */ + OMX_AUDIO_RA10_AAC, /**< MPEG-4 AAC codec for bitrates of more than 128kbps */ + OMX_AUDIO_RA10_CODEC, /**< RealAudio codec for bitrates less than 128 kbps */ + OMX_AUDIO_RA10_LOSSLESS, /**< RealAudio Lossless */ + OMX_AUDIO_RA10_MULTICHANNEL, /**< RealAudio Multichannel */ + OMX_AUDIO_RA10_VOICE, /**< RealAudio Voice for bitrates below 15 kbps */ + OMX_AUDIO_RAFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_RAFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_RAFormatMax = 0x7FFFFFFF +} OMX_AUDIO_RAFORMATTYPE; + +/** RA (Real Audio) params */ +typedef struct OMX_AUDIO_PARAM_RATYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nSamplingRate; /**< is the sampling rate of the source data */ + OMX_U32 nBitsPerFrame; /**< is the value for bits per frame */ + OMX_U32 nSamplePerFrame; /**< is the value for samples per frame */ + OMX_U32 nCouplingQuantBits; /**< is the number of coupling quantization bits in the stream */ + OMX_U32 nCouplingStartRegion; /**< is the coupling start region in the stream */ + OMX_U32 nNumRegions; /**< is the number of regions value */ + OMX_AUDIO_RAFORMATTYPE eFormat; /**< is the RealAudio audio format */ +} OMX_AUDIO_PARAM_RATYPE; + + +/** SBC Allocation Method Type */ +typedef enum OMX_AUDIO_SBCALLOCMETHODTYPE { + OMX_AUDIO_SBCAllocMethodLoudness, /**< Loudness allocation method */ + OMX_AUDIO_SBCAllocMethodSNR, /**< SNR allocation method */ + OMX_AUDIO_SBCAllocMethodKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_SBCAllocMethodVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_SBCAllocMethodMax = 0x7FFFFFFF +} OMX_AUDIO_SBCALLOCMETHODTYPE; + + +/** SBC params */ +typedef struct OMX_AUDIO_PARAM_SBCTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ + OMX_U32 nBlocks; /**< Number of blocks */ + OMX_U32 nSubbands; /**< Number of subbands */ + OMX_U32 nBitPool; /**< Bitpool value */ + OMX_BOOL bEnableBitrate; /**< Use bitrate value instead of bitpool */ + OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */ + OMX_AUDIO_SBCALLOCMETHODTYPE eSBCAllocType; /**< SBC Allocation method type */ +} OMX_AUDIO_PARAM_SBCTYPE; + + +/** ADPCM stream format parameters */ +typedef struct OMX_AUDIO_PARAM_ADPCMTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_U32 nBitsPerSample; /**< Number of bits in each sample */ + OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for + variable or unknown sampling rate. */ +} OMX_AUDIO_PARAM_ADPCMTYPE; + + +/** G723 rate */ +typedef enum OMX_AUDIO_G723RATE { + OMX_AUDIO_G723ModeUnused = 0, /**< AMRNB Mode unused / unknown */ + OMX_AUDIO_G723ModeLow, /**< 5300 bps */ + OMX_AUDIO_G723ModeHigh, /**< 6300 bps */ + OMX_AUDIO_G723ModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_G723ModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_G723ModeMax = 0x7FFFFFFF +} OMX_AUDIO_G723RATE; + + +/** G723 - Sample rate must be 8 KHz */ +typedef struct OMX_AUDIO_PARAM_G723TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_AUDIO_G723RATE eBitRate; /**< todo: Should this be moved to a config? */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ + OMX_BOOL bPostFilter; /**< Enable Post Filter */ +} OMX_AUDIO_PARAM_G723TYPE; + + +/** ITU G726 (ADPCM) rate */ +typedef enum OMX_AUDIO_G726MODE { + OMX_AUDIO_G726ModeUnused = 0, /**< G726 Mode unused / unknown */ + OMX_AUDIO_G726Mode16, /**< 16 kbps */ + OMX_AUDIO_G726Mode24, /**< 24 kbps */ + OMX_AUDIO_G726Mode32, /**< 32 kbps, most common rate, also G721 */ + OMX_AUDIO_G726Mode40, /**< 40 kbps */ + OMX_AUDIO_G726ModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_G726ModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_G726ModeMax = 0x7FFFFFFF +} OMX_AUDIO_G726MODE; + + +/** G.726 stream format parameters - must be at 8KHz */ +typedef struct OMX_AUDIO_PARAM_G726TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_AUDIO_G726MODE eG726Mode; +} OMX_AUDIO_PARAM_G726TYPE; + + +/** G729 coder type */ +typedef enum OMX_AUDIO_G729TYPE { + OMX_AUDIO_G729 = 0, /**< ITU G.729 encoded data */ + OMX_AUDIO_G729A, /**< ITU G.729 annex A encoded data */ + OMX_AUDIO_G729B, /**< ITU G.729 with annex B encoded data */ + OMX_AUDIO_G729AB, /**< ITU G.729 annexes A and B encoded data */ + OMX_AUDIO_G729KhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_G729VendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_G729Max = 0x7FFFFFFF +} OMX_AUDIO_G729TYPE; + + +/** G729 stream format parameters - fixed 6KHz sample rate */ +typedef struct OMX_AUDIO_PARAM_G729TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_AUDIO_G729TYPE eBitType; +} OMX_AUDIO_PARAM_G729TYPE; + + +/** AMR Frame format */ +typedef enum OMX_AUDIO_AMRFRAMEFORMATTYPE { + OMX_AUDIO_AMRFrameFormatConformance = 0, /**< Frame Format is AMR Conformance + (Standard) Format */ + OMX_AUDIO_AMRFrameFormatIF1, /**< Frame Format is AMR Interface + Format 1 */ + OMX_AUDIO_AMRFrameFormatIF2, /**< Frame Format is AMR Interface + Format 2*/ + OMX_AUDIO_AMRFrameFormatFSF, /**< Frame Format is AMR File Storage + Format */ + OMX_AUDIO_AMRFrameFormatRTPPayload, /**< Frame Format is AMR Real-Time + Transport Protocol Payload Format */ + OMX_AUDIO_AMRFrameFormatITU, /**< Frame Format is ITU Format (added at Motorola request) */ + OMX_AUDIO_AMRFrameFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AMRFrameFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AMRFrameFormatMax = 0x7FFFFFFF +} OMX_AUDIO_AMRFRAMEFORMATTYPE; + + +/** AMR band mode */ +typedef enum OMX_AUDIO_AMRBANDMODETYPE { + OMX_AUDIO_AMRBandModeUnused = 0, /**< AMRNB Mode unused / unknown */ + OMX_AUDIO_AMRBandModeNB0, /**< AMRNB Mode 0 = 4750 bps */ + OMX_AUDIO_AMRBandModeNB1, /**< AMRNB Mode 1 = 5150 bps */ + OMX_AUDIO_AMRBandModeNB2, /**< AMRNB Mode 2 = 5900 bps */ + OMX_AUDIO_AMRBandModeNB3, /**< AMRNB Mode 3 = 6700 bps */ + OMX_AUDIO_AMRBandModeNB4, /**< AMRNB Mode 4 = 7400 bps */ + OMX_AUDIO_AMRBandModeNB5, /**< AMRNB Mode 5 = 7950 bps */ + OMX_AUDIO_AMRBandModeNB6, /**< AMRNB Mode 6 = 10200 bps */ + OMX_AUDIO_AMRBandModeNB7, /**< AMRNB Mode 7 = 12200 bps */ + OMX_AUDIO_AMRBandModeWB0, /**< AMRWB Mode 0 = 6600 bps */ + OMX_AUDIO_AMRBandModeWB1, /**< AMRWB Mode 1 = 8850 bps */ + OMX_AUDIO_AMRBandModeWB2, /**< AMRWB Mode 2 = 12650 bps */ + OMX_AUDIO_AMRBandModeWB3, /**< AMRWB Mode 3 = 14250 bps */ + OMX_AUDIO_AMRBandModeWB4, /**< AMRWB Mode 4 = 15850 bps */ + OMX_AUDIO_AMRBandModeWB5, /**< AMRWB Mode 5 = 18250 bps */ + OMX_AUDIO_AMRBandModeWB6, /**< AMRWB Mode 6 = 19850 bps */ + OMX_AUDIO_AMRBandModeWB7, /**< AMRWB Mode 7 = 23050 bps */ + OMX_AUDIO_AMRBandModeWB8, /**< AMRWB Mode 8 = 23850 bps */ + OMX_AUDIO_AMRBandModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AMRBandModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AMRBandModeMax = 0x7FFFFFFF +} OMX_AUDIO_AMRBANDMODETYPE; + + +/** AMR Discontinuous Transmission mode */ +typedef enum OMX_AUDIO_AMRDTXMODETYPE { + OMX_AUDIO_AMRDTXModeOff = 0, /**< AMR Discontinuous Transmission Mode is disabled */ + OMX_AUDIO_AMRDTXModeOnVAD1, /**< AMR Discontinuous Transmission Mode using + Voice Activity Detector 1 (VAD1) is enabled */ + OMX_AUDIO_AMRDTXModeOnVAD2, /**< AMR Discontinuous Transmission Mode using + Voice Activity Detector 2 (VAD2) is enabled */ + OMX_AUDIO_AMRDTXModeOnAuto, /**< The codec will automatically select between + Off, VAD1 or VAD2 modes */ + + OMX_AUDIO_AMRDTXasEFR, /**< DTX as EFR instead of AMR standard (3GPP 26.101, frame type =8,9,10) */ + + OMX_AUDIO_AMRDTXModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_AMRDTXModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_AMRDTXModeMax = 0x7FFFFFFF +} OMX_AUDIO_AMRDTXMODETYPE; + + +/** AMR params */ +typedef struct OMX_AUDIO_PARAM_AMRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels */ + OMX_U32 nBitRate; /**< Bit rate read only field */ + OMX_AUDIO_AMRBANDMODETYPE eAMRBandMode; /**< AMR Band Mode enumeration */ + OMX_AUDIO_AMRDTXMODETYPE eAMRDTXMode; /**< AMR DTX Mode enumeration */ + OMX_AUDIO_AMRFRAMEFORMATTYPE eAMRFrameFormat; /**< AMR frame format enumeration */ +} OMX_AUDIO_PARAM_AMRTYPE; + + +/** GSM_FR (ETSI 06.10, 3GPP 46.010) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_GSMFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_GSMFRTYPE; + + +/** GSM-HR (ETSI 06.20, 3GPP 46.020) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_GSMHRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_GSMHRTYPE; + + +/** GSM-EFR (ETSI 06.60, 3GPP 46.060) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_GSMEFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_GSMEFRTYPE; + + +/** TDMA FR (TIA/EIA-136-420, VSELP 7.95kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_TDMAFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_TDMAFRTYPE; + + +/** TDMA EFR (TIA/EIA-136-410, ACELP 7.4kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_TDMAEFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_TDMAEFRTYPE; + + +/** PDC FR ( RCR-27, VSELP 6.7kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_PDCFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_PDCFRTYPE; + + +/** PDC EFR ( RCR-27, ACELP 6.7kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_PDCEFRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_PDCEFRTYPE; + +/** PDC HR ( RCR-27, PSI-CELP 3.45kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_PDCHRTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_BOOL bDTX; /**< Enable Discontinuous Transmisssion */ + OMX_BOOL bHiPassFilter; /**< Enable High Pass Filter */ +} OMX_AUDIO_PARAM_PDCHRTYPE; + + +/** CDMA Rate types */ +typedef enum OMX_AUDIO_CDMARATETYPE { + OMX_AUDIO_CDMARateBlank = 0, /**< CDMA encoded frame is blank */ + OMX_AUDIO_CDMARateFull, /**< CDMA encoded frame in full rate */ + OMX_AUDIO_CDMARateHalf, /**< CDMA encoded frame in half rate */ + OMX_AUDIO_CDMARateQuarter, /**< CDMA encoded frame in quarter rate */ + OMX_AUDIO_CDMARateEighth, /**< CDMA encoded frame in eighth rate (DTX)*/ + OMX_AUDIO_CDMARateErasure, /**< CDMA erasure frame */ + OMX_AUDIO_CDMARateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_CDMARateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_CDMARateMax = 0x7FFFFFFF +} OMX_AUDIO_CDMARATETYPE; + + +/** QCELP8 (TIA/EIA-96, up to 8kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_QCELP8TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable + rate or unknown bit rates */ + OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ + OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ + OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ +} OMX_AUDIO_PARAM_QCELP8TYPE; + + +/** QCELP13 ( CDMA, EIA/TIA-733, 13.3kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_QCELP13TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ + OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ + OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ +} OMX_AUDIO_PARAM_QCELP13TYPE; + + +/** EVRC ( CDMA, EIA/TIA-127, RCELP up to 8.55kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_EVRCTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_AUDIO_CDMARATETYPE eCDMARate; /**< actual Frame rate */ + OMX_BOOL bRATE_REDUCon; /**< RATE_REDUCtion is requested for this frame */ + OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 */ + OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 */ + OMX_BOOL bHiPassFilter; /**< Enable encoder's High Pass Filter */ + OMX_BOOL bNoiseSuppressor; /**< Enable encoder's noise suppressor pre-processing */ + OMX_BOOL bPostFilter; /**< Enable decoder's post Filter */ +} OMX_AUDIO_PARAM_EVRCTYPE; + + +/** SMV ( up to 8.55kbps coder) stream format parameters */ +typedef struct OMX_AUDIO_PARAM_SMVTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannels; /**< Number of channels in the data stream (not + necessarily the same as the number of channels + to be rendered. */ + OMX_AUDIO_CDMARATETYPE eCDMARate; /**< Frame rate */ + OMX_BOOL bRATE_REDUCon; /**< RATE_REDUCtion is requested for this frame */ + OMX_U32 nMinBitRate; /**< minmal rate for the encoder = 1,2,3,4, default = 1 ??*/ + OMX_U32 nMaxBitRate; /**< maximal rate for the encoder = 1,2,3,4, default = 4 ??*/ + OMX_BOOL bHiPassFilter; /**< Enable encoder's High Pass Filter ??*/ + OMX_BOOL bNoiseSuppressor; /**< Enable encoder's noise suppressor pre-processing */ + OMX_BOOL bPostFilter; /**< Enable decoder's post Filter ??*/ +} OMX_AUDIO_PARAM_SMVTYPE; + + +/** MIDI Format + * @ingroup midi + */ +typedef enum OMX_AUDIO_MIDIFORMATTYPE +{ + OMX_AUDIO_MIDIFormatUnknown = 0, /**< MIDI Format unknown or don't care */ + OMX_AUDIO_MIDIFormatSMF0, /**< Standard MIDI File Type 0 */ + OMX_AUDIO_MIDIFormatSMF1, /**< Standard MIDI File Type 1 */ + OMX_AUDIO_MIDIFormatSMF2, /**< Standard MIDI File Type 2 */ + OMX_AUDIO_MIDIFormatSPMIDI, /**< SP-MIDI */ + OMX_AUDIO_MIDIFormatXMF0, /**< eXtensible Music Format type 0 */ + OMX_AUDIO_MIDIFormatXMF1, /**< eXtensible Music Format type 1 */ + OMX_AUDIO_MIDIFormatMobileXMF, /**< Mobile XMF (eXtensible Music Format type 2) */ + OMX_AUDIO_MIDIFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MIDIFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MIDIFormatMax = 0x7FFFFFFF +} OMX_AUDIO_MIDIFORMATTYPE; + + +/** MIDI params + * @ingroup midi + */ +typedef struct OMX_AUDIO_PARAM_MIDITYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nFileSize; /**< size of the MIDI file in bytes, where the entire + MIDI file passed in, otherwise if 0x0, the MIDI data + is merged and streamed (instead of passed as an + entire MIDI file) */ + OMX_BU32 sMaxPolyphony; /**< Specifies the maximum simultaneous polyphonic + voices. A value of zero indicates that the default + polyphony of the device is used */ + OMX_BOOL bLoadDefaultSound; /**< Whether to load default sound + bank at initialization */ + OMX_AUDIO_MIDIFORMATTYPE eMidiFormat; /**< Version of the MIDI file */ +} OMX_AUDIO_PARAM_MIDITYPE; + + +/** Type of the MIDI sound bank + * @ingroup midi + */ +typedef enum OMX_AUDIO_MIDISOUNDBANKTYPE { + OMX_AUDIO_MIDISoundBankUnused = 0, /**< unused/unknown soundbank type */ + OMX_AUDIO_MIDISoundBankDLS1, /**< DLS version 1 */ + OMX_AUDIO_MIDISoundBankDLS2, /**< DLS version 2 */ + OMX_AUDIO_MIDISoundBankMobileDLSBase, /**< Mobile DLS, using the base functionality */ + OMX_AUDIO_MIDISoundBankMobileDLSPlusOptions, /**< Mobile DLS, using the specification-defined optional feature set */ + OMX_AUDIO_MIDISoundBankKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MIDISoundBankVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MIDISoundBankMax = 0x7FFFFFFF +} OMX_AUDIO_MIDISOUNDBANKTYPE; + + +/** Bank Layout describes how bank MSB & LSB are used in the DLS instrument definitions sound bank + * @ingroup midi + */ +typedef enum OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE { + OMX_AUDIO_MIDISoundBankLayoutUnused = 0, /**< unused/unknown soundbank type */ + OMX_AUDIO_MIDISoundBankLayoutGM, /**< GS layout (based on bank MSB 0x00) */ + OMX_AUDIO_MIDISoundBankLayoutGM2, /**< General MIDI 2 layout (using MSB 0x78/0x79, LSB 0x00) */ + OMX_AUDIO_MIDISoundBankLayoutUser, /**< Does not conform to any bank numbering standards */ + OMX_AUDIO_MIDISoundBankLayoutKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MIDISoundBankLayoutVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MIDISoundBankLayoutMax = 0x7FFFFFFF +} OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE; + + +/** MIDI params to load/unload user soundbank + * @ingroup midi + */ +typedef struct OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nDLSIndex; /**< DLS file index to be loaded */ + OMX_U32 nDLSSize; /**< Size in bytes */ + OMX_PTR pDLSData; /**< Pointer to DLS file data */ + OMX_AUDIO_MIDISOUNDBANKTYPE eMidiSoundBank; /**< Midi sound bank type enumeration */ + OMX_AUDIO_MIDISOUNDBANKLAYOUTTYPE eMidiSoundBankLayout; /**< Midi sound bank layout enumeration */ +} OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE; + + +/** Structure for Live MIDI events and MIP messages. + * (MIP = Maximum Instantaneous Polyphony; part of the SP-MIDI standard.) + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U32 nMidiEventSize; /**< Size of immediate MIDI events or MIP message in bytes */ + OMX_U8 nMidiEvents[1]; /**< MIDI event array to be rendered immediately, or an + array for the MIP message buffer, where the size is + indicated by nMidiEventSize */ +} OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE; + + +/** MIDI sound bank/ program pair in a given channel + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_U32 nChannel; /**< Valid channel values range from 1 to 16 */ + OMX_U16 nIDProgram; /**< Valid program ID range is 1 to 128 */ + OMX_U16 nIDSoundBank; /**< Sound bank ID */ + OMX_U32 nUserSoundBankIndex;/**< User soundbank index, easier to access soundbanks + by index if multiple banks are present */ +} OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE; + + +/** MIDI control + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDICONTROLTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BS32 sPitchTransposition; /**< Pitch transposition in semitones, stored as Q22.10 + format based on JAVA MMAPI (JSR-135) requirement */ + OMX_BU32 sPlayBackRate; /**< Relative playback rate, stored as Q14.17 fixed-point + number based on JSR-135 requirement */ + OMX_BU32 sTempo ; /**< Tempo in beats per minute (BPM), stored as Q22.10 + fixed-point number based on JSR-135 requirement */ + OMX_U32 nMaxPolyphony; /**< Specifies the maximum simultaneous polyphonic + voices. A value of zero indicates that the default + polyphony of the device is used */ + OMX_U32 nNumRepeat; /**< Number of times to repeat playback */ + OMX_U32 nStopTime; /**< Time in milliseconds to indicate when playback + will stop automatically. Set to zero if not used */ + OMX_U16 nChannelMuteMask; /**< 16 bit mask for channel mute status */ + OMX_U16 nChannelSoloMask; /**< 16 bit mask for channel solo status */ + OMX_U32 nTrack0031MuteMask; /**< 32 bit mask for track mute status. Note: This is for tracks 0-31 */ + OMX_U32 nTrack3263MuteMask; /**< 32 bit mask for track mute status. Note: This is for tracks 32-63 */ + OMX_U32 nTrack0031SoloMask; /**< 32 bit mask for track solo status. Note: This is for tracks 0-31 */ + OMX_U32 nTrack3263SoloMask; /**< 32 bit mask for track solo status. Note: This is for tracks 32-63 */ + +} OMX_AUDIO_CONFIG_MIDICONTROLTYPE; + + +/** MIDI Playback States + * @ingroup midi + */ +typedef enum OMX_AUDIO_MIDIPLAYBACKSTATETYPE { + OMX_AUDIO_MIDIPlayBackStateUnknown = 0, /**< Unknown state or state does not map to + other defined states */ + OMX_AUDIO_MIDIPlayBackStateClosedEngaged, /**< No MIDI resource is currently open. + The MIDI engine is currently processing + MIDI events. */ + OMX_AUDIO_MIDIPlayBackStateParsing, /**< A MIDI resource is open and is being + primed. The MIDI engine is currently + processing MIDI events. */ + OMX_AUDIO_MIDIPlayBackStateOpenEngaged, /**< A MIDI resource is open and primed but + not playing. The MIDI engine is currently + processing MIDI events. The transition to + this state is only possible from the + OMX_AUDIO_MIDIPlayBackStatePlaying state, + when the 'playback head' reaches the end + of media data or the playback stops due + to stop time set.*/ + OMX_AUDIO_MIDIPlayBackStatePlaying, /**< A MIDI resource is open and currently + playing. The MIDI engine is currently + processing MIDI events.*/ + OMX_AUDIO_MIDIPlayBackStatePlayingPartially, /**< Best-effort playback due to SP-MIDI/DLS + resource constraints */ + OMX_AUDIO_MIDIPlayBackStatePlayingSilently, /**< Due to system resource constraints and + SP-MIDI content constraints, there is + no audible MIDI content during playback + currently. The situation may change if + resources are freed later.*/ + OMX_AUDIO_MIDIPlayBackStateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_MIDIPlayBackStateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_MIDIPlayBackStateMax = 0x7FFFFFFF +} OMX_AUDIO_MIDIPLAYBACKSTATETYPE; + + +/** MIDI status + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDISTATUSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U16 nNumTracks; /**< Number of MIDI tracks in the file, read only field. + NOTE: May not return a meaningful value until the entire + file is parsed and buffered. */ + OMX_U32 nDuration; /**< The length of the currently open MIDI resource + in milliseconds. NOTE: May not return a meaningful value + until the entire file is parsed and buffered. */ + OMX_U32 nPosition; /**< Current Position of the MIDI resource being played + in milliseconds */ + OMX_BOOL bVibra; /**< Does Vibra track exist? NOTE: May not return a meaningful + value until the entire file is parsed and buffered. */ + OMX_U32 nNumMetaEvents; /**< Total number of MIDI Meta Events in the currently + open MIDI resource. NOTE: May not return a meaningful value + until the entire file is parsed and buffered. */ + OMX_U32 nNumActiveVoices; /**< Number of active voices in the currently playing + MIDI resource. NOTE: May not return a meaningful value until + the entire file is parsed and buffered. */ + OMX_AUDIO_MIDIPLAYBACKSTATETYPE eMIDIPlayBackState; /**< MIDI playback state enumeration, read only field */ +} OMX_AUDIO_CONFIG_MIDISTATUSTYPE; + + +/** MIDI Meta Event structure one per Meta Event. + * MIDI Meta Events are like audio metadata, except that they are interspersed + * with the MIDI content throughout the file and are not localized in the header. + * As such, it is necessary to retrieve information about these Meta Events from + * the engine, as it encounters these Meta Events within the MIDI content. + * For example, SMF files can have up to 14 types of MIDI Meta Events (copyright, + * author, default tempo, etc.) scattered throughout the file. + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE{ + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nIndex; /**< Index of Meta Event */ + OMX_U8 nMetaEventType; /**< Meta Event Type, 7bits (i.e. 0 - 127) */ + OMX_U32 nMetaEventSize; /**< size of the Meta Event in bytes */ + OMX_U32 nTrack; /**< track number for the meta event */ + OMX_U32 nPosition; /**< Position of the meta-event in milliseconds */ +} OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE; + + +/** MIDI Meta Event Data structure - one per Meta Event. + * @ingroup midi + */ +typedef struct OMX_AUDIO_CONFIG_MIDIMETAEVENTDATATYPE{ + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nIndex; /**< Index of Meta Event */ + OMX_U32 nMetaEventSize; /**< size of the Meta Event in bytes */ + OMX_U8 nData[1]; /**< array of one or more bytes of meta data + as indicated by the nMetaEventSize field */ +} OMX_AUDIO_CONFIG__MIDIMETAEVENTDATATYPE; + + +/** Audio Volume adjustment for a port */ +typedef struct OMX_AUDIO_CONFIG_VOLUMETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port index indicating which port to + set. Select the input port to set + just that port's volume. Select the + output port to adjust the master + volume. */ + OMX_BOOL bLinear; /**< Is the volume to be set in linear (0.100) + or logarithmic scale (mB) */ + OMX_BS32 sVolume; /**< Volume linear setting in the 0..100 range, OR + Volume logarithmic setting for this port. The values + for volume are in mB (millibels = 1/100 dB) relative + to a gain of 1 (e.g. the output is the same as the + input level). Values are in mB from nMax + (maximum volume) to nMin mB (typically negative). + Since the volume is "voltage" + and not a "power", it takes a setting of + -600 mB to decrease the volume by 1/2. If + a component cannot accurately set the + volume to the requested value, it must + set the volume to the closest value BELOW + the requested value. When getting the + volume setting, the current actual volume + must be returned. */ +} OMX_AUDIO_CONFIG_VOLUMETYPE; + + +/** Audio Volume adjustment for a channel */ +typedef struct OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port index indicating which port to + set. Select the input port to set + just that port's volume. Select the + output port to adjust the master + volume. */ + OMX_U32 nChannel; /**< channel to select from 0 to N-1, + using OMX_ALL to apply volume settings + to all channels */ + OMX_BOOL bLinear; /**< Is the volume to be set in linear (0.100) or + logarithmic scale (mB) */ + OMX_BS32 sVolume; /**< Volume linear setting in the 0..100 range, OR + Volume logarithmic setting for this port. + The values for volume are in mB + (millibels = 1/100 dB) relative to a gain + of 1 (e.g. the output is the same as the + input level). Values are in mB from nMax + (maximum volume) to nMin mB (typically negative). + Since the volume is "voltage" + and not a "power", it takes a setting of + -600 mB to decrease the volume by 1/2. If + a component cannot accurately set the + volume to the requested value, it must + set the volume to the closest value BELOW + the requested value. When getting the + volume setting, the current actual volume + must be returned. */ + OMX_BOOL bIsMIDI; /**< TRUE if nChannel refers to a MIDI channel, + FALSE otherwise */ +} OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE; + + +/** Audio balance setting */ +typedef struct OMX_AUDIO_CONFIG_BALANCETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port index indicating which port to + set. Select the input port to set + just that port's balance. Select the + output port to adjust the master + balance. */ + OMX_S32 nBalance; /**< balance setting for this port + (-100 to 100, where -100 indicates + all left, and no right */ +} OMX_AUDIO_CONFIG_BALANCETYPE; + + +/** Audio Port mute */ +typedef struct OMX_AUDIO_CONFIG_MUTETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port index indicating which port to + set. Select the input port to set + just that port's mute. Select the + output port to adjust the master + mute. */ + OMX_BOOL bMute; /**< Mute setting for this port */ +} OMX_AUDIO_CONFIG_MUTETYPE; + + +/** Audio Channel mute */ +typedef struct OMX_AUDIO_CONFIG_CHANNELMUTETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nChannel; /**< channel to select from 0 to N-1, + using OMX_ALL to apply mute settings + to all channels */ + OMX_BOOL bMute; /**< Mute setting for this channel */ + OMX_BOOL bIsMIDI; /**< TRUE if nChannel refers to a MIDI channel, + FALSE otherwise */ +} OMX_AUDIO_CONFIG_CHANNELMUTETYPE; + + + +/** Enable / Disable for loudness control, which boosts bass and to a + * smaller extent high end frequencies to compensate for hearing + * ability at the extreme ends of the audio spectrum + */ +typedef struct OMX_AUDIO_CONFIG_LOUDNESSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bLoudness; /**< Enable/disable for loudness */ +} OMX_AUDIO_CONFIG_LOUDNESSTYPE; + + +/** Enable / Disable for bass, which controls low frequencies + */ +typedef struct OMX_AUDIO_CONFIG_BASSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for bass control */ + OMX_S32 nBass; /**< bass setting for the port, as a + continuous value from -100 to 100 + (0 means no change in bass level)*/ +} OMX_AUDIO_CONFIG_BASSTYPE; + + +/** Enable / Disable for treble, which controls high frequencies tones + */ +typedef struct OMX_AUDIO_CONFIG_TREBLETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for treble control */ + OMX_S32 nTreble; /**< treble setting for the port, as a + continuous value from -100 to 100 + (0 means no change in treble level) */ +} OMX_AUDIO_CONFIG_TREBLETYPE; + + +/** An equalizer is typically used for two reasons: to compensate for an + * sub-optimal frequency response of a system to make it sound more natural + * or to create intentionally some unnatural coloring to the sound to create + * an effect. + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_EQUALIZERTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for equalizer */ + OMX_BU32 sBandIndex; /**< Band number to be set. Upper Limit is + N-1, where N is the number of bands, lower limit is 0 */ + OMX_BU32 sCenterFreq; /**< Center frequecies in Hz. This is a + read only element and is used to determine + the lower, center and upper frequency of + this band. */ + OMX_BS32 sBandLevel; /**< band level in millibels */ +} OMX_AUDIO_CONFIG_EQUALIZERTYPE; + + +/** Stereo widening mode type + * @ingroup effects + */ +typedef enum OMX_AUDIO_STEREOWIDENINGTYPE { + OMX_AUDIO_StereoWideningHeadphones, /**< Stereo widening for loudspeakers */ + OMX_AUDIO_StereoWideningLoudspeakers, /**< Stereo widening for closely spaced loudspeakers */ + OMX_AUDIO_StereoWideningKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_StereoWideningVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_StereoWideningMax = 0x7FFFFFFF +} OMX_AUDIO_STEREOWIDENINGTYPE; + + +/** Control for stereo widening, which is a special 2-channel + * case of the audio virtualizer effect. For example, for 5.1-channel + * output, it translates to virtual surround sound. + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for stereo widening control */ + OMX_AUDIO_STEREOWIDENINGTYPE eWideningType; /**< Stereo widening algorithm type */ + OMX_U32 nStereoWidening; /**< stereo widening setting for the port, + as a continuous value from 0 to 100 */ +} OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE; + + +/** The chorus effect (or ``choralizer'') is any signal processor which makes + * one sound source (such as a voice) sound like many such sources singing + * (or playing) in unison. Since performance in unison is never exact, chorus + * effects simulate this by making independently modified copies of the input + * signal. Modifications may include (1) delay, (2) frequency shift, and + * (3) amplitude modulation. + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_CHORUSTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for chorus */ + OMX_BU32 sDelay; /**< average delay in milliseconds */ + OMX_BU32 sModulationRate; /**< rate of modulation in millihertz */ + OMX_U32 nModulationDepth; /**< depth of modulation as a percentage of + delay (i.e. 0 to 100) */ + OMX_BU32 nFeedback; /**< Feedback from chorus output to input in percentage */ +} OMX_AUDIO_CONFIG_CHORUSTYPE; + + +/** Reverberation is part of the reflected sound that follows the early + * reflections. In a typical room, this consists of a dense succession of + * echoes whose energy decays exponentially. The reverberation effect structure + * as defined here includes both (early) reflections as well as (late) reverberations. + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_REVERBERATIONTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bEnable; /**< Enable/disable for reverberation control */ + OMX_BS32 sRoomLevel; /**< Intensity level for the whole room effect + (i.e. both early reflections and late + reverberation) in millibels */ + OMX_BS32 sRoomHighFreqLevel; /**< Attenuation at high frequencies + relative to the intensity at low + frequencies in millibels */ + OMX_BS32 sReflectionsLevel; /**< Intensity level of early reflections + (relative to room value), in millibels */ + OMX_BU32 sReflectionsDelay; /**< Delay time of the first reflection relative + to the direct path, in milliseconds */ + OMX_BS32 sReverbLevel; /**< Intensity level of late reverberation + relative to room level, in millibels */ + OMX_BU32 sReverbDelay; /**< Time delay from the first early reflection + to the beginning of the late reverberation + section, in milliseconds */ + OMX_BU32 sDecayTime; /**< Late reverberation decay time at low + frequencies, in milliseconds */ + OMX_BU32 nDecayHighFreqRatio; /**< Ratio of high frequency decay time relative + to low frequency decay time in percent */ + OMX_U32 nDensity; /**< Modal density in the late reverberation decay, + in percent (i.e. 0 - 100) */ + OMX_U32 nDiffusion; /**< Echo density in the late reverberation decay, + in percent (i.e. 0 - 100) */ + OMX_BU32 sReferenceHighFreq; /**< Reference high frequency in Hertz. This is + the frequency used as the reference for all + the high-frequency settings above */ + +} OMX_AUDIO_CONFIG_REVERBERATIONTYPE; + + +/** Possible settings for the Echo Cancelation structure to use + * @ingroup effects + */ +typedef enum OMX_AUDIO_ECHOCANTYPE { + OMX_AUDIO_EchoCanOff = 0, /**< Echo Cancellation is disabled */ + OMX_AUDIO_EchoCanNormal, /**< Echo Cancellation normal operation - + echo from plastics and face */ + OMX_AUDIO_EchoCanHFree, /**< Echo Cancellation optimized for + Hands Free operation */ + OMX_AUDIO_EchoCanCarKit, /**< Echo Cancellation optimized for + Car Kit (longer echo) */ + OMX_AUDIO_EchoCanKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_AUDIO_EchoCanVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_AUDIO_EchoCanMax = 0x7FFFFFFF +} OMX_AUDIO_ECHOCANTYPE; + + +/** Enable / Disable for echo cancelation, which removes undesired echo's + * from the audio + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_AUDIO_ECHOCANTYPE eEchoCancelation; /**< Echo cancelation settings */ +} OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE; + + +/** Enable / Disable for noise reduction, which undesired noise from + * the audio + * @ingroup effects + */ +typedef struct OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BOOL bNoiseReduction; /**< Enable/disable for noise reduction */ +} OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE; + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ + diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Broadcom.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Broadcom.h new file mode 100644 index 000000000..13657b39e --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Broadcom.h @@ -0,0 +1,2302 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// OpenMAX IL - Broadcom specific types + +#ifndef OMX_Broadcom_h +#define OMX_Broadcom_h + +#include "OMX_Component.h" + +// for use in buffer headers - marks the contained data +// as being a codec header +#define OMX_BUFFERFLAG_TIME_UNKNOWN 0x00000100 + +//for use in buffer headers - marks the buffer as being the +//snapshot preview image from a still capture. +//Mainly to be used with the DisplayFunction callback from camera. +#define OMX_BUFFERFLAG_CAPTURE_PREVIEW 0x00000200 + +/* Mark the end of a NAL unit produced by a video encoder. + */ +#define OMX_BUFFERFLAG_ENDOFNAL 0x00000400 + +/* Marks pBuffer in OMX_BUFFERHEADERTYPE as containing a fragment list instead of the actual buffer + */ +#define OMX_BUFFERFLAG_FRAGMENTLIST 0x00000800 + +/* Marks the start of a new sequence of data following any kind of seek operation. + */ +#define OMX_BUFFERFLAG_DISCONTINUITY 0x00001000 + +/** Codec side information Flag: +* OMX_BUFFERFLAG_CODECSIDEINFO is an optional flag that is set by an +* output port when all bytes in the buffer form part or all of a set of +* codec specific side information. For example, distortion information +* estimated by H.264 encoder can be sent using this flag to signal +* the decoder quality +*/ +#define OMX_BUFFERFLAG_CODECSIDEINFO 0x00002000 + +/** + * Macros to convert to OMX_TICKS from a signed 64 bit value and + * vice-versa. These macros don't actually do anything unless OMX_TICKS + * is defined as a two-part structure (instead of a native signed 64-bit type). + **/ +#ifndef OMX_SKIP64BIT + #define omx_ticks_from_s64(s) (s) + #define omx_ticks_to_s64(t) (t) +#else + static inline OMX_TICKS omx_ticks_from_s64(signed long long s) { OMX_TICKS t; t.nLowPart = (OMX_U32)s; t.nHighPart = (OMX_U32)(s>>32); return t; } + #define omx_ticks_to_s64(t) ((t).nLowPart | ((uint64_t)((t).nHighPart) << 32)) +#endif /* OMX_SKIP64BIT */ + +/* Buffer fragment descriptor */ +typedef struct OMX_BUFFERFRAGMENTTYPE { + OMX_PTR pBuffer; /**< Pointer to actual block of memory that is acting as the fragment buffer */ + OMX_U32 nLen; /**< number of bytes in the buffer */ +} OMX_BUFFERFRAGMENTTYPE; + +/* OMX_IndexParamBrcmEnableIJGTableScaling: JPEG Quality Table Setting. */ +typedef struct OMX_PARAM_IJGSCALINGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; +} OMX_PARAM_IJGSCALINGTYPE; +/* +The boolean \code{bEnabled} value determines whether the component uses +the standard IJG quality tables when encoding images. +*/ + + +/* OMX_IndexConfigTimeInvalidStartTime: Invalid Start Times */ +/* +This allows clock clients to supply a start time notification to the +clock whilst indicating that this time is invalid. +*/ + +/* OMX_IndexParamBrcmMaxFrameSkips: Frame timestamp jumps */ +/* +This number represents the number of times a jump in frame timestamps +has been observed that is greater than expected. +*/ + +/* OMX_IndexConfigAsynchronousFailureURI: Asynchronous Failure Filename */ +/* +This allows the client to query for the filename that cause an asynchronous +output error. +*/ + +/* OMX_IndexParamAsynchronousOutput: Asynchronous Output */ +/* +The allows the client to specify to a component that is writing files +that this writing may happen asynchronously, including opening and closing +of files. +*/ + +/* OMX_IndexConfigClockAdjustment: Clock Adjustment */ +/* +This allows the client to read from the clock the total time +adjustment made to the clock whilst running by the reference clock. +If the reference clock sends a time that causes the media time to jump +this difference is added to the total, which can be reported via this +index. When the stream restarts by setting the clock state to +\code{OMX_TIME_ClockStateRunning} or +\code{OMX_TIME_ClockStateWaitingForStartTime} this adjustment total is +set to zero. +*/ + +/* OMX_IndexParamBrcmDataUnit: Data Unit */ +/* +The data unit is an indication to components connected to this +component of the type of data delivery available. +\code{OMX_DataUnitCodedPicture} indicates that we are able to give +framing information, using the \code{OMX_BUFFERFLAG_ENDOFFRAME} flag to +indicate that the data contained finishes a complete +frame. \code{OMX_DataUnitArbitraryStreamSection} indicates that no +end-of-frame markers will be present, and the decoder should perform +the steps necessary to decode the stream. The other enum values are +not used. +*/ + +/* OMX_IndexConfigPresentationOffset: Presentation Offset */ +/* +The value of \code{nTimestamp} is added to the offset requested for +each new input frame. Takes effect for all new input frames, and has +no effect on the offset used for currently-queued frames. A positive +value will make the requested port earlier relative to other streams, +a negative value will make the requested port later relative to other +streams. +*/ + +/* OMX_IndexConfigSingleStep: Single Step */ +/* +When setting this config on a paused clock, where the \code{nU32} +value is non-zero and \code{nPortIndex} is OMX_ALL, the media clock +will advance through the next \code{nU32} next requested media +times. A paused clock is in running state but has a time scale of +0. This will trigger the display of some video frames, so allowing +single-stepping functionality. This config can be set multiple times, +and will buffer up stepping requests until we have media requests to +fulfil, or the clock is stopped or un-paused. + +This config can also be used on some video output ports and, if +\code{nU32} is non-zero, requests that the output port forwards the +next \code{nU32} frames appending an EOS marker on the last frame, and +then ceases to forward data on this port. If \code{nU32} is zero, any +previous request to forward a limited number of frames is cancelled +and the default behaviour of this port will resume. +*/ + +/* OMX_IndexParamCameraCamplusId: Camera Subsystem Identification */ +/* +This parameter allows the configuration of the identifier to be used +to initialise the Broadcom Camplus subsystem that sits beneath the +camera component. If only one instance of the camera component is +used, the default value can be used. If more than one instance is +required, they must each have their own unique values for this +parameter. It is also used to tie the component to the image pool +created with \code{OMX_Set upCamPools}. +*/ + +/* OMX_IndexConfigAudioRenderingLatency: Audio Rendering Latency */ +/* +This config allows the client to query the current latency of audio +rendering. The latency is returned as the number of samples that +an audio rendering component has received but have not been played. +*/ + +/* OMX_IndexConfigBrcmPoolMemAllocSize: Pool memory usage values */ +/* +This config allows the client to query how much memory is being used by +the component for any image pools. +*/ + +/* OMX_IndexConfigDisplayRegion: Display Region */ +typedef enum OMX_DISPLAYTRANSFORMTYPE{ + OMX_DISPLAY_ROT0 = 0, + OMX_DISPLAY_MIRROR_ROT0 = 1, + OMX_DISPLAY_MIRROR_ROT180 = 2, + OMX_DISPLAY_ROT180 = 3, + OMX_DISPLAY_MIRROR_ROT90 = 4, + OMX_DISPLAY_ROT270 = 5, + OMX_DISPLAY_ROT90 = 6, + OMX_DISPLAY_MIRROR_ROT270 = 7, + OMX_DISPLAY_DUMMY = 0x7FFFFFFF +} OMX_DISPLAYTRANSFORMTYPE; + +typedef struct OMX_DISPLAYRECTTYPE { + OMX_S16 x_offset; + OMX_S16 y_offset; + OMX_S16 width; + OMX_S16 height; +} OMX_DISPLAYRECTTYPE; + +typedef enum OMX_DISPLAYMODETYPE { + OMX_DISPLAY_MODE_FILL = 0, + OMX_DISPLAY_MODE_LETTERBOX = 1, + OMX_DISPLAY_MODE_DUMMY = 0x7FFFFFFF +} OMX_DISPLAYMODETYPE; + +typedef enum OMX_DISPLAYSETTYPE { + OMX_DISPLAY_SET_NONE = 0, + OMX_DISPLAY_SET_NUM = 1, + OMX_DISPLAY_SET_FULLSCREEN = 2, + OMX_DISPLAY_SET_TRANSFORM = 4, + OMX_DISPLAY_SET_DEST_RECT = 8, + OMX_DISPLAY_SET_SRC_RECT = 0x10, + OMX_DISPLAY_SET_MODE = 0x20, + OMX_DISPLAY_SET_PIXEL = 0x40, + OMX_DISPLAY_SET_NOASPECT = 0x80, + OMX_DISPLAY_SET_LAYER = 0x100, + OMX_DISPLAY_SET_COPYPROTECT = 0x200, + OMX_DISPLAY_SET_ALPHA = 0x400, + OMX_DISPLAY_SET_DUMMY = 0x7FFFFFFF +} OMX_DISPLAYSETTYPE; + +typedef struct OMX_CONFIG_DISPLAYREGIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_DISPLAYSETTYPE set; + OMX_U32 num; + OMX_BOOL fullscreen; + OMX_DISPLAYTRANSFORMTYPE transform; + OMX_DISPLAYRECTTYPE dest_rect; + OMX_DISPLAYRECTTYPE src_rect; + OMX_BOOL noaspect; + OMX_DISPLAYMODETYPE mode; + OMX_U32 pixel_x; + OMX_U32 pixel_y; + OMX_S32 layer; + OMX_BOOL copyprotect_required; + OMX_U32 alpha; + OMX_U32 wfc_context_width; + OMX_U32 wfc_context_height; +} OMX_CONFIG_DISPLAYREGIONTYPE; +/* +This config sets the output display device, as well as the region used +on the output display, any display transformation, and some flags to +indicate how to scale the image. + +The structure uses a bitfield, \code{set}, to indicate which fields are set +and should be used. All other fields will maintain their current +value. + +\code{num} describes the display output device, with 0 typically being +a directly connected LCD display. + +\code{fullscreen} indicates that we are using the full device screen +area, rather than a window of the display. If fullscreen is false, +then dest_rect is used to specify a region of the display to use. + +\code{transform} indicates any rotation or flipping used to map frames +onto the natural display orientation. + +The \code{src_rect} indicates which area of the frame to display. If +all values are zero, the whole frame will be used. + +The \code{noaspect} flag, if set, indicates that any display scaling +should disregard the aspect ratio of the frame region being displayed. + +\code{mode} indicates how the image should be scaled to fit the +display. \code{OMX_DISPLAY_MODE_FILL} indicates that the image should +fill the screen by potentially cropping the frames. Setting +\code{mode} to \code{OMX_DISPLAY_MODE_LETTERBOX} indicates that all +the source region should be displayed and black bars added if +necessary. + +The \code{pixel_x} and \code{pixel_y} values, if non-zero, are used to +describe the size of a source pixel. If values are zero, then pixels +default to being square. + +Set the \code{layer} that the image will appear on with the +\code{layer} field. +*/ + + + +/* OMX_IndexParamSource: Source Image Configuration */ +typedef enum OMX_SOURCETYPE { + OMX_SOURCE_WHITE = 0, // all white images + OMX_SOURCE_BLACK = 1, // all black images + OMX_SOURCE_DIAGONAL = 2, // greyscale diagonal stripes + OMX_SOURCE_NOISE = 3, // random pixel values + OMX_SOURCE_RANDOM = 4, // a shaded random pattern of colours + OMX_SOURCE_COLOUR = 5, // a solid colour determined by nParam + OMX_SOURCE_BLOCKS = 6, // random coloured blocks of 16x16 size + OMX_SOURCE_SWIRLY, // a swirly pattern used for encode testing + OMX_SOURCE_DUMMY = 0x7FFFFFFF +} OMX_SOURCETYPE; + +typedef struct OMX_PARAM_SOURCETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_SOURCETYPE eType; + OMX_U32 nParam; + OMX_U32 nFrameCount; + OMX_U32 xFrameRate; +} OMX_PARAM_SOURCETYPE; +/* +The source type determines the kind of image that is produced. Not all +combinations of source type and image type are supported. The +\code{OMX_SOURCE_SWIRLY} setting can only be used with YUV420 packed +planar image formats. When producing RGB565 image format, the +\code{OMX_SOURCE_DIAGONAL} and \code{OMX_SOURCE_RANDOM} modes are +treated as \code{OMX_SOURCE_NOISE}. + +The \code{nParam} field is used to specify the colour for the source +colour mode, and the offset of the diagonal pattern for diagonal mode. +For the blocks mode, \code{nParam} is used as the seed for the random +colour generator. + +The \code{nFrameCount} parameter determines how many frames to send. +If it is zero, then frames are sent continuously. For any other value, +it counts down until it has sent that many frames, and then stops, +sending out an EOS. The \code{xFrameRate} setting is used to determine +the timestamp for each frame produced, or can be set to zero if +timestamps should all remain at zero. +*/ + +/* OMX_IndexParamSourceSeed: Source Random Seed */ +typedef struct OMX_PARAM_SOURCESEEDTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U16 nData[16]; +} OMX_PARAM_SOURCESEEDTYPE; +/* +This structure sets the current state of the random number generator +used for \code{OMX_SOURCE_RANDOM} source type, allowing repeatable +random image creation. +*/ + +/* OMX_IndexParamResize: Resize Control */ +typedef enum OMX_RESIZEMODETYPE { + OMX_RESIZE_NONE, + OMX_RESIZE_CROP, + OMX_RESIZE_BOX, + OMX_RESIZE_BYTES, + OMX_RESIZE_DUMMY = 0x7FFFFFFF +} OMX_RESIZEMODETYPE; + +typedef struct OMX_PARAM_RESIZETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_RESIZEMODETYPE eMode; + OMX_U32 nMaxWidth; + OMX_U32 nMaxHeight; + OMX_U32 nMaxBytes; + OMX_BOOL bPreserveAspectRatio; + OMX_BOOL bAllowUpscaling; +} OMX_PARAM_RESIZETYPE; +/* +The mode determines the kind of resize. \code{OMX_RESIZE_BOX} allow +the \code{nMaxWidth} and \code{nMaxHeight} to set a bounding box into +which the output must fit. \code{OMX_RESIZE_BYTES} allows +\code{nMaxBytes} to set the maximum number of bytes into which the +full output frame must fit. Two flags aid the setting of the output +size. \code{bPreseveAspectRatio} sets whether the resize should +preserve the aspect ratio of the incoming +image. \code{bAllowUpscaling} sets whether the resize is allowed to +increase the size of the output image compared to the size of the +input image. +*/ + +typedef struct OMX_PARAM_TESTINTERFACETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bTest; + OMX_BOOL bSetExtra; + OMX_U32 nExtra; + OMX_BOOL bSetError; + OMX_BOOL stateError[2]; +} OMX_PARAM_TESTINTERFACETYPE; + +/* OMX_IndexConfigVisualisation: Visualisation Mode */ +typedef struct OMX_CONFIG_VISUALISATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U8 name[16]; + OMX_U8 property[64]; +} OMX_CONFIG_VISUALISATIONTYPE; + +/* +\code{name} is a string of characters specifying the type of +visualization. The component appends \code{"_vis.vll"} to the name +provided, and attempts to load a visualisation library contained in +this VLL. \code{property} contains configuration parameters and +values, which is interpreted by the visualisation library. Typically +all visualisations will accept a property string containing +\code{'mode='}, where \code{} may be a random 32 bit +integer in decimal format. If provided, this may select a random mode +from that visualisation library. +*/ + +/* +This parameter is used when creating proprietary communication with +the display component, and provides the display function for passing +images to be displayed, together with a function used to flush all +pending image updates and release all images. +*/ + +/* OMX_IndexConfigBrcmAudioDestination: Audio Destination */ +typedef struct OMX_CONFIG_BRCMAUDIODESTINATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 sName[16]; +} OMX_CONFIG_BRCMAUDIODESTINATIONTYPE; +/* +This config sets the platform-specific audio destination or output +device for audio sink components (e.g. audio_render). + +\code{sName} describes the audio destination, with \code{"local"} +typically being directly connected to headphones. +*/ + +/* OMX_IndexConfigBrcmAudioSource: Audio Source */ +typedef struct OMX_CONFIG_BRCMAUDIOSOURCETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 sName[16]; +} OMX_CONFIG_BRCMAUDIOSOURCETYPE; +/* +This config sets the platform-specific audio source or input device +for audio source components (e.g. audio_capture). + +\code{sName} describes the audio source, with \code{"local"} +typically being directly connected to microphone. +*/ + +/* OMX_IndexConfigBrcmAudioDownmixCoefficients: Audio Downmix Coefficients */ +typedef struct OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 coeff[16]; +} OMX_CONFIG_BRCMAUDIODOWNMIXCOEFFICIENTS; +/* +This config sets the platform-specific audio downmixing coefficients for the +audio mixer component. The coefficients are 16.16 fixed point. +The even coefficients contribute to the left channel. +The odd coefficients contribute to the right channel. +L' = coeff[0] * sample[N] + coeff[2] * sample[N+1] + coeff[4] * sample[N+2] + coeff[6] * sample[N+3] + + coeff[8] * sample[N+4] + coeff[10] * sample[N+5] + coeff[12] * sample[N+6] + coeff[14] * sample[N+7] +R' = coeff[1] * sample[N] + coeff[3] * sample[N+1] + coeff[5] * sample[N+2] + coeff[7] * sample[N+3] + + coeff[9] * sample[N+4] + coeff[11] * sample[N+5] + coeff[13] * sample[N+6] + coeff[15] * sample[N+7] + +\code{coeff} describes the downmixing coefficients +*/ + +/* OMX_IndexConfigPlayMode: Play Mode */ +typedef enum OMX_PLAYMODETYPE { + OMX_PLAYMODE_NORMAL, + OMX_PLAYMODE_FF, + OMX_PLAYMODE_REW, + OMX_PLAYMODE_DUMMY = 0x7FFFFFFF +} OMX_PLAYMODETYPE; + +typedef struct OMX_CONFIG_PLAYMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_PLAYMODETYPE eMode; +} OMX_CONFIG_PLAYMODETYPE; +/* +The playmode affects which frames are extracted from the media file +and passed on the output ports. \code{OMX_PLAYMODE_NORMAL} will +extract all frames, \code{OMX_PLAYMODE_FF} extracts only IDR frames +when video is present, or only occasional packets of audio if no video +is present. \code{OMX_PLAYMODE_REW} is similar to +\code{OMX_PLAYMODE_FF} but extracts packets in reverse time +order. +*/ + +typedef enum OMX_DELIVERYFORMATTYPE { + OMX_DELIVERYFORMAT_STREAM, // no framing information is known + OMX_DELIVERYFORMAT_SINGLE_PACKET, // packetised, at most one frame per buffer + OMX_DELIVERYFORMAT_DUMMY = 0x7FFFFFFF +} OMX_DELIVERYFORMATTYPE; + +typedef struct OMX_PARAM_DELIVERYFORMATTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_DELIVERYFORMATTYPE eFormat; +} OMX_PARAM_DELIVERYFORMATTYPE; + +/* OMX_IndexParamCodecConfig: Codec Configuration */ + +typedef struct OMX_PARAM_CODECCONFIGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 bCodecConfigIsComplete; + OMX_U8 nData[1]; +} OMX_PARAM_CODECCONFIGTYPE; + +/* +This parameter contains opaque data in a format specified by Broadcom +and allows out-of-band information such as cropping rectangles, aspect +ratio information, codec-specific header bytes, and other essential +information to be passed between connected components. + +\code{bCodecConfigIsCompete} specifies if the codec config is fully +contained in here and there is no need to wait for OMX_BUFFERFLAG_CODECCONFIG +buffers +*/ + +typedef struct OMX_PARAM_STILLSFUNCTIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bBuffer; + OMX_PTR (*pOpenFunc)(void); + OMX_PTR (*pCloseFunc)(void); + OMX_PTR (*pReadFunc)(void); + OMX_PTR (*pSeekFunc)(void); + OMX_PTR (*pWriteFunc)(void); +} OMX_PARAM_STILLSFUNCTIONTYPE; + +typedef void* OMX_BUFFERADDRESSHANDLETYPE; + +typedef struct OMX_PARAM_BUFFERADDRESSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nAllocLen; + OMX_BUFFERADDRESSHANDLETYPE handle; +} OMX_PARAM_BUFFERADDRESSTYPE; + +typedef struct OMX_PARAM_TUNNELSETUPTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_TUNNELSETUPTYPE sSetup; +} OMX_PARAM_TUNNELSETUPTYPE; + +/* OMX_IndexParamBrcmPortEGL: Used for querying whether a port is an EGL port or not. */ +typedef struct OMX_PARAM_BRCMPORTEGLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bPortIsEGL; +} OMX_PARAM_BRCMPORTEGLTYPE; +/* +*/ + +/* OMX_IndexConfigCommonImageFilterParameters: Parameterized Image Filter */ +typedef struct OMX_CONFIG_IMAGEFILTERPARAMSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGEFILTERTYPE eImageFilter; + OMX_U32 nNumParams; + OMX_U32 nParams[5]; +} OMX_CONFIG_IMAGEFILTERPARAMSTYPE; +/* +This structure contains optional parameters for some image +filters. The following table lists all image filters that support +parameters. + + +
FilterParametersNotes + +
\code{OMX_ImageFilterSolarize} +\code{[x0 y0 y1 y2]} +Linear mapping of \code{[0,x0]} to \code{[0,y0>]} +and \code{[x0,255]} to \code{[y1,y2]}. +Default is \code{"128 128 128 0"}. + +
\code{OMX_ImageFilterSharpen} +\code{[sz [str [th]]} +\code{sz} size of filter, either 1 or 2. +\code{str} strength of filter. +\code{th} threshold of filter. +Default is \code{"1 40 20"}. + +
\code{OMX_ImageFilterFilm} +\code{[[str] [u v]]} +\code{str} strength of effect. +\code{u} sets u to constant value. +\code{v} sets v to constant value. +Default is \code{"24"}. + +
\code{OMX_ImageFilterBlur} +\code{[sz]} +\code{sz} size of filter, either 1 or 2. +Default is \code{"2"}. + +
\code{OMX_ImageFilterSaturation} +\code{[str]} +\code{str} strength of effect, in 8.8 fixed point format. u/v value +differences from 128 are multiplied by \code{str}. +Default is \code{"272"}. +
+*/ + + +/* OMX_IndexConfigTransitionControl: Transition Control */ +typedef struct OMX_CONFIG_TRANSITIONCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nPosStart; + OMX_U32 nPosEnd; + OMX_S32 nPosIncrement; + OMX_TICKS nFrameIncrement; + OMX_BOOL bSwapInputs; + OMX_U8 name[16]; + OMX_U8 property[64]; +} OMX_CONFIG_TRANSITIONCONTROLTYPE; +/* +This structure represents the internal configuration of the +transition. Transitions are generated by a loadable plug-in described +by the \code{name} field. The component appends \code{"_tran.vll"} to +the name provided, and attempts to load a transition library contained +in this VLL. The exact type of transition is configured in a +plug-in-dependent manner with the \code{property} field. All plug-ins +should accept a \code{property} field equal to +\code{"flags="}, where \code{} can be a random 32 bit +number. If \code{bSwapInputs} is false, then the start image is on +port 210, the stop image on port 211. These are reversed if +\code{bSwapInputs} is true. + +Transition frames are generated from the plug-in by referencing a +frame position in [0,65536], where position 0 is the start image, +position 65536 is the stop image. The first frame position generated +is \code{nPosStart}. The last frame position generated is +\code{nPosEnd}. Each frame will increment the position by +\code{nPosIncrement}. The timestamp attached to each frame will +increment by \code{nFrameIncrement}. +*/ + + +/* +This parameter is used to provide a callback function pointer for +release events. It is used for internal clients on VideoCore. +*/ + + +/* OMX_IndexConfigAudioMonoTrackControl: Dual Mono Control */ +typedef enum OMX_AUDIOMONOTRACKOPERATIONSTYPE { + OMX_AUDIOMONOTRACKOPERATIONS_NOP, + OMX_AUDIOMONOTRACKOPERATIONS_L_TO_R, + OMX_AUDIOMONOTRACKOPERATIONS_R_TO_L, + OMX_AUDIOMONOTRACKOPERATIONS_DUMMY = 0x7FFFFFFF +} OMX_AUDIOMONOTRACKOPERATIONSTYPE ; + +typedef struct OMX_CONFIG_AUDIOMONOTRACKCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_AUDIOMONOTRACKOPERATIONSTYPE eMode; +} OMX_CONFIG_AUDIOMONOTRACKCONTROLTYPE; +/* +This config controls the options to support dual mono audio +streams. The output can be unchanged, or the left channel copied over +the right channel, or the right channel copied over the left +channel. This config can be applied at any time with stereo +16-bit-per-sample data. Since audio output is typically buffered, any +change will not be audible until that buffering has been played out. +*/ + +/* OMX_IndexParamCameraImagePool: Camera Image Pools */ +typedef enum OMX_CAMERAIMAGEPOOLINPUTMODETYPE { + OMX_CAMERAIMAGEPOOLINPUTMODE_ONEPOOL, /*All input images are allocated from one pool + Works for simple stills capture use cases + Can not be used with parallel stills capture + and video encode, as the pool will be sized for + capture or viewfinder, not both simultaneously. + The pool wouldn't divide sensibly in this mode + anyway. + */ + OMX_CAMERAIMAGEPOOLINPUTMODE_TWOPOOLS, /*All stills & video input images are allocated + from two seperate pools. + This ensures that parallel capture can work, but + would consume more memory if used on a simple + stills capture use case. + */ +} OMX_CAMERAIMAGEPOOLINPUTMODETYPE; + +typedef struct OMX_PARAM_CAMERAIMAGEPOOLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nNumHiResVideoFrames; + OMX_U32 nHiResVideoWidth; + OMX_U32 nHiResVideoHeight; + OMX_COLOR_FORMATTYPE eHiResVideoType; + OMX_U32 nNumHiResStillsFrames; + OMX_U32 nHiResStillsWidth; + OMX_U32 nHiResStillsHeight; + OMX_COLOR_FORMATTYPE eHiResStillsType; + OMX_U32 nNumLoResFrames; + OMX_U32 nLoResWidth; + OMX_U32 nLoResHeight; + OMX_COLOR_FORMATTYPE eLoResType; + OMX_U32 nNumSnapshotFrames; + OMX_COLOR_FORMATTYPE eSnapshotType; + OMX_CAMERAIMAGEPOOLINPUTMODETYPE eInputPoolMode; + OMX_U32 nNumInputVideoFrames; + OMX_U32 nInputVideoWidth; + OMX_U32 nInputVideoHeight; + OMX_COLOR_FORMATTYPE eInputVideoType; + OMX_U32 nNumInputStillsFrames; + OMX_U32 nInputStillsWidth; + OMX_U32 nInputStillsHeight; + OMX_COLOR_FORMATTYPE eInputStillsType; +} OMX_PARAM_CAMERAIMAGEPOOLTYPE; +/* +\sloppy This parameter specifies the size, type, and number, of images to +allow in the images pools required by Camplus. Supported types are +\code{OMX_COLOR_FormatYUV420PackedPlanar}, +\code{OMX_COLOR_FormatYUV422PackedPlanar}, +\code{OMX_COLOR_FormatRawBayer8bit}, +\code{OMX_COLOR_FormatRawBayer10bit}, +\code{OMX_COLOR_FormatRawBayer8bitcompressed}, and 0 (reserved for the +Broadcom-specific format required by the video encoder). The input +pool width, height, and type can be set as 0 to make the component +query Camplus for the sensor mode that would correspond to the largest +of the viewfinder port definition, the capture port definition, or the +high resolution image pool. +*/ + +/* OMX_IndexParamImagePoolSize: Specifying Image Pool Properties */ +typedef struct OMX_PARAM_IMAGEPOOLSIZETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 width; + OMX_U32 height; + OMX_U32 num_pages; +} OMX_PARAM_IMAGEPOOLSIZETYPE; +/* +This parameter is used to control the size of pool that the component +will allocate in the absence of setting an external pool. The default +can be reset by setting this parameter with all three fields set to +zero. +*/ + + +/* OMX_IndexParamImagePoolExternal: Client Allocated Image Pools */ +struct opaque_vc_pool_s; +typedef struct opaque_vc_pool_s OMX_BRCM_POOL_T; + +typedef struct OMX_PARAM_IMAGEPOOLEXTERNALTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BRCM_POOL_T *image_pool; + OMX_BRCM_POOL_T *image_pool2; + OMX_BRCM_POOL_T *image_pool3; + OMX_BRCM_POOL_T *image_pool4; + OMX_BRCM_POOL_T *image_pool5; +} OMX_PARAM_IMAGEPOOLEXTERNALTYPE; +/* +This config allows the client to pass in handles to pre-allocated +image pools for use within the component. +*/ + + +struct _IL_FIFO_T; +typedef struct OMX_PARAM_RUTILFIFOINFOTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + struct _IL_FIFO_T *pILFifo; +} OMX_PARAM_RUTILFIFOINFOTYPE; + +/* OMX_IndexParamILFifoConfig: Allows configuration of the FIFO settings. */ +typedef struct OMX_PARAM_ILFIFOCONFIG { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nDataSize; /**< The size of the FIFO's data area */ + OMX_U32 nHeaderCount; /**< The number of headers allocated */ +} OMX_PARAM_ILFIFOCONFIG; +/** + * Allows configuring the size of the ILFIFO used in a component. + */ + +/* OMX_IndexConfigCameraSensorModes: Camera Sensor Mode */ +typedef struct OMX_CONFIG_CAMERASENSORMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nModeIndex; + OMX_U32 nNumModes; + OMX_U32 nWidth; + OMX_U32 nHeight; + OMX_U32 nPaddingRight; + OMX_U32 nPaddingDown; + OMX_COLOR_FORMATTYPE eColorFormat; + OMX_U32 nFrameRateMax; + OMX_U32 nFrameRateMin; +} OMX_CONFIG_CAMERASENSORMODETYPE; +/* +This parameter is used by clients to determine the sensor mode, and +hence the memory usage, of the camera module. This is primarily used +for determining the size of the input image pool. + +It can be used in two ways dependent on \code{nPortIndex}. If +\code{nPortIndex} is \code{OMX_ALL}, it returns the sensor mode +corresponding to \code{nModeIndex}, and the number of modes in +\code{nNumModes}. If \code{nModeIndex} is greater than or equal to +\code{nNumModes} only \code{nNumModes} is returned. If +\code{nPortIndex} is equal to a camera video output port index, it +returns the sensor mode that would be selected for the values +currently in \code{OMX_IndexParamPortDefinition} for that port. + +The \code{nPaddingRight} and \code{nPaddingDown} values determine the +extra padding the sensor adds to the image. These values must be added +to \code{nWidth} and \code{nHeight} respectively if the client is +specifying the input image pool size. +*/ + +typedef struct OMX_BRCMBUFFERSTATSTYPE { + OMX_U32 nOrdinal; + OMX_TICKS nTimeStamp; + OMX_U32 nFilledLen; + OMX_U32 nFlags; + union + { + OMX_U32 nU32; + struct + { + OMX_U32 nYpart; + OMX_U32 nUVpart; + } image; + } crc; +} OMX_BRCMBUFFERSTATSTYPE; + +/* +Ports that gather statistics for debugging and diagnostics +might also collect information about buffer header fields +and data. + +Note that: + +The \code{nOrdinal} field increases monotonically whenever +a new buffer is received or emitted and shall not be reset +upon a port flush. + +The \code{nFilledLen} might indicate the size of a data area +larger than the data area that actually contributed to the +checksums (e.g. when image data is provided with cropping +information). +*/ + +/* OMX_IndexConfigBrcmPortBufferStats: Query port buffer stats history */ +typedef struct OMX_CONFIG_BRCMPORTBUFFERSTATSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nCount; + OMX_BRCMBUFFERSTATSTYPE sData[1]; +} OMX_CONFIG_BRCMPORTBUFFERSTATSTYPE; +/* +Ports that gather statistics for debugging and diagnostics +might also collect information about buffer header fields +and data. + +The \code{sStatsData} field is a variable length array and +the number of items is denoted by \code{nStatsCount}. +*/ + +/* OMX_IndexConfigBrcmPortStats: Query port statistics */ +typedef struct OMX_CONFIG_BRCMPORTSTATSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nImageCount; + OMX_U32 nBufferCount; + OMX_U32 nFrameCount; + OMX_U32 nFrameSkips; + OMX_U32 nDiscards; + OMX_U32 nEOS; + OMX_U32 nMaxFrameSize; + + OMX_TICKS nByteCount; + OMX_TICKS nMaxTimeDelta; + OMX_U32 nCorruptMBs; /**< Number of corrupt macroblocks in the stream */ +} OMX_CONFIG_BRCMPORTSTATSTYPE; +/* +Some ports gather various statistics that can be used by clients for +debugging purposes. This structure is the set of all statistics that +are gathered. + +The \code{nFrameSkips} field indicates the number of frames that did +not have an expected PTS value based on the port frame rate. + +The \code{nByteCount} field is a 64 bit value, that will either use a +64 bit type or two 32 bit types, similarly to \code{OMX_TICKS}. +*/ + +/* OMX_IndexConfigBrcmClockMissCount: Missed clock request accounting */ +/* +For each port on the clock component, requests for media times may be +made. These are typically done one per video frame to allow for +scheduling the display of that frame at the correct time. If a +request is made after the time has occured, then that frame will be +displayed late, and the clock component keeps a per-port record of the +number of times this occurs. This record can be read using this +index. +*/ + +typedef struct OMX_CONFIG_BRCMCAMERASTATSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nOutFrameCount; + OMX_U32 nDroppedFrameCount; +} OMX_CONFIG_BRCMCAMERASTATSTYPE; + +// for backward compatibility +typedef struct OMX_CONFIG_BRCMCAMERASTATSTYPE OMX_CONFIG_BRCMCAMERASTATS; + + +#define OMX_BRCM_MAXIOPERFBANDS 10 +typedef struct { + OMX_U32 count[OMX_BRCM_MAXIOPERFBANDS]; + OMX_U32 num[OMX_BRCM_MAXIOPERFBANDS]; +} OMX_BRCM_PERFSTATS; + +/* OMX_IndexConfigBrcmIOPerfStats: Query I/O performance statistics */ +typedef struct OMX_CONFIG_BRCMIOPERFSTATSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnabled; /**< Enable/disable I/O performance statistics */ + OMX_BRCM_PERFSTATS write; /**< count:bytes num:microseconds */ + OMX_BRCM_PERFSTATS flush; /**< count:frequency num:microseconds waiting to flush data */ + OMX_BRCM_PERFSTATS wait; /**< count:frequency num:microseconds waiting in calling function */ +} OMX_CONFIG_BRCMIOPERFSTATSTYPE; +/* +A sink component can gather various statistics about I/O (eg. file media) performance that can be used by +clients for debugging purposes. The \code{bEnabled} field is used to turn the gathering of statistics +on/off. +*/ + +typedef struct OMX_CONFIG_SHARPNESSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nSharpness; +} OMX_CONFIG_SHARPNESSTYPE; + +/* OMX_IndexConfigCommonFlickerCancellation: Flicker cancellation */ +typedef enum OMX_COMMONFLICKERCANCELTYPE { + OMX_COMMONFLICKERCANCEL_OFF, + OMX_COMMONFLICKERCANCEL_AUTO, + OMX_COMMONFLICKERCANCEL_50, + OMX_COMMONFLICKERCANCEL_60, + OMX_COMMONFLICKERCANCEL_DUMMY = 0x7FFFFFFF +} OMX_COMMONFLICKERCANCELTYPE; + +typedef struct OMX_CONFIG_FLICKERCANCELTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_COMMONFLICKERCANCELTYPE eFlickerCancel; +} OMX_CONFIG_FLICKERCANCELTYPE; +/* +Query / set the flicker cancellation frequency. Values are defined for Off, +50Hz, 60Hz, or auto. The method for auto detecting the flicker frequency is +not defined, and currently results in the feature being turned off. +*/ + +/* OMX_IndexConfigCommonRedEyeRemoval: Red eye removal/reduction */ +typedef enum OMX_REDEYEREMOVALTYPE { + OMX_RedEyeRemovalNone, /**< No red eye removal */ + OMX_RedEyeRemovalOn, /**< Red eye removal on */ + OMX_RedEyeRemovalAuto, /**< Red eye removal will be done automatically when detected */ + OMX_RedEyeRemovalKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_RedEyeRemovalVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_RedEyeRemovalSimple, /**< Use simple red eye reduction mechanism if supported by algorithm */ + OMX_RedEyeRemovalMax = 0x7FFFFFFF +} OMX_REDEYEREMOVALTYPE; + +typedef struct OMX_CONFIG_REDEYEREMOVALTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_REDEYEREMOVALTYPE eMode; +} OMX_CONFIG_REDEYEREMOVALTYPE; +/* + Configures the red eye reduction algorithm in the camera processing + pipeline. The stage is only enabled if the flash mode is not FlashOff. + The OMX_RedEyeRemovalSimple mode requests that the algorithm uses a + reduced complexity algorithm to reduce the processing time. +*/ + + +typedef enum OMX_FACEDETECTIONCONTROLTYPE { + OMX_FaceDetectionControlNone, /**< Disables face detection */ + OMX_FaceDetectionControlOn, /**< Enables face detection */ + OMX_FaceDetectionControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_FaceDetectionControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_FaceDetectionControlMax = 0x7FFFFFFF +} OMX_FACEDETECTIONCONTROLTYPE; + +typedef struct OMX_CONFIG_FACEDETECTIONCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_FACEDETECTIONCONTROLTYPE eMode; + OMX_U32 nFrames; /**< number of frames to apply this setting for, + 0 for unlimited */ + OMX_U32 nMaxRegions; /**< maximum number of regions to detect, 0 for unlimited */ + OMX_U32 nQuality; /**< hint for algorithmic complexity, range is 0-100. + 0 for simplest algorithm, 100 for best quality */ +} OMX_CONFIG_FACEDETECTIONCONTROLTYPE; + +typedef enum OMX_FACEREGIONFLAGSTYPE { + OMX_FaceRegionFlagsNone = 0, + OMX_FaceRegionFlagsBlink = 1, + OMX_FaceRegionFlagsSmile = 2, + OMX_FaceRegionFlagsKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_FaceRegionFlagsVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_FaceRegionFlagsMax = 0x7FFFFFFF +} OMX_FACEREGIONFLAGSTYPE; + +typedef struct OMX_FACEREGIONTYPE { + OMX_S16 nLeft; /**< X Coordinate of the top left corner of the rectangle */ + OMX_S16 nTop; /**< Y Coordinate of the top left corner of the rectangle */ + OMX_U16 nWidth; /**< Width of the rectangle */ + OMX_U16 nHeight; /**< Height of the rectangle */ + OMX_FACEREGIONFLAGSTYPE nFlags; /**< Flags for the region */ +#ifndef OMX_SKIP64BIT + OMX_U64 nFaceRecognitionId; /**< ID returned by face recognition for this face */ +#else + struct + { + OMX_U32 nLowPart; /**< low bits of the signed 64 bit value */ + OMX_U32 nHighPart; /**< high bits of the signed 64 bit value */ + } nFaceRecognitionId; +#endif +} OMX_FACEREGIONTYPE; + +typedef struct OMX_CONFIG_FACEDETECTIONREGIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; /**< index of port with face detection enabled */ + OMX_U32 nIndex; /**< first requested region number, allowing retrieval of many regions + over several requests */ + OMX_U32 nDetectedRegions; /**< total number of detected regions */ + OMX_S32 nValidRegions; /**< number of valid regions in sRegion array + When getting, the client sets this to the number of regions available. + The component writes region data and updates this field with how many + regions have been written to. */ + OMX_U32 nImageWidth; /**< Width of the image, hence reference for the face coordinates */ + OMX_U32 nImageHeight; /**< Height of the image, hence reference for the face coordinates */ + OMX_FACEREGIONTYPE sRegion[1]; /**< variable length array of face regions */ +} OMX_CONFIG_FACEDETECTIONREGIONTYPE; + +typedef enum OMX_INTERLACETYPE { + OMX_InterlaceProgressive, /**< The data is not interlaced, it is progressive scan */ + OMX_InterlaceFieldSingleUpperFirst, /**< The data is interlaced, fields sent + separately in temporal order, with upper field first */ + OMX_InterlaceFieldSingleLowerFirst, /**< The data is interlaced, fields sent + separately in temporal order, with lower field first */ + OMX_InterlaceFieldsInterleavedUpperFirst, /**< The data is interlaced, two fields sent together line + interleaved, with the upper field temporally earlier */ + OMX_InterlaceFieldsInterleavedLowerFirst, /**< The data is interlaced, two fields sent together line + interleaved, with the lower field temporally earlier */ + OMX_InterlaceMixed, /**< The stream may contain a mixture of progressive + and interlaced frames */ + OMX_InterlaceKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_InterlaceVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_InterlaceMax = 0x7FFFFFFF +} OMX_INTERLACETYPE; + +typedef struct OMX_CONFIG_INTERLACETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; /**< index of port emitting or accepting the content */ + OMX_INTERLACETYPE eMode; /**< The interlace type of the content */ + OMX_BOOL bRepeatFirstField; /**< Whether to repeat the first field */ +} OMX_CONFIG_INTERLACETYPE; + +/* OMX_IndexParamIspTuner: Custom ISP tuner */ +typedef struct OMX_PARAM_CAMERAISPTUNERTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 tuner_name[64]; +} OMX_PARAM_CAMERAISPTUNERTYPE; +/* +This parameter allows a custom ISP tuner to be loaded instead of +the default one specified for the camera module. Setting an empty +string uses the default value. +*/ + +/* OMX_IndexConfigCameraInputFrame: Pointer to the raw input image */ +typedef struct OMX_CONFIG_IMAGEPTRTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_PTR pImage; +} OMX_CONFIG_IMAGEPTRTYPE; +/* +This parameter parameter allows the return of a pointer to a +VideoCore image resource. +*/ + +/* OMX_IndexConfigAFAssistLight: Autofocus assist light mode selection */ +typedef enum OMX_AFASSISTTYPE { + OMX_AFAssistAuto, + OMX_AFAssistOn, + OMX_AFAssistOff, + OMX_AFAssistTorch, + OMX_AFAssistKhronosExtensions = 0x6F000000, + OMX_AFAssistVendorStartUnused = 0x7F000000, + OMX_AFAssistMax = 0x7FFFFFFF +} OMX_AFASSISTTYPE; + +typedef struct OMX_CONFIG_AFASSISTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_AFASSISTTYPE eMode; +} OMX_CONFIG_AFASSISTTYPE; +/* +Set the mode to adopt for the autofocus assist light. +\code{OMX_AFAssistTorch} will turn the AF assist light on permanently, allowing +it to be used as a torch. +*/ + +/* OMX_IndexConfigInputCropPercentage: Specify input crop as a percentage */ +typedef struct OMX_CONFIG_INPUTCROPTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 xLeft; /**< Fraction of the width for the top left corner of the rectangle */ + OMX_U32 xTop; /**< Fraction of the height for the top left corner of the rectangle */ + OMX_U32 xWidth; /**< Fraction of the image width desired */ + OMX_U32 xHeight; /**< Fraction of the image height desired */ +} OMX_CONFIG_INPUTCROPTYPE; +/* +This parameter allows the input cropping to be specified as a +percentage of the current width/height. Required for the camera +component where the output resolution varies dependent on the port. +All percentage values are as 16p16 fixed point numbers (0x10000 = +100\%) +*/ + +/* OMX_IndexParamCodecRequirements: Advanced codec requirements */ +typedef struct OMX_PARAM_CODECREQUIREMENTSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nCallbackID; + OMX_BOOL bTryHWCodec; +} OMX_PARAM_CODECREQUIREMENTSTYPE; +/* +This parameter allows internal users of RIL components controlling +video codecs to request that the component loads the component and +queries for requirements. The component will perform a callback with +the given nCallbackID value passing a pointer to the requirements +structure as the data field. +*/ + +/* OMX_IndexConfigBrcmEGLImageMemHandle: Mapping from an EGLImage to a VideoCore mem handle */ +typedef struct OMX_CONFIG_BRCMEGLIMAGEMEMHANDLETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_PTR eglImage; + OMX_PTR memHandle; +} OMX_CONFIG_BRCMEGLIMAGEMEMHANDLETYPE; +/* +This config allows the EGL server to notify a RIL component that an +EGLImage is available for rendering into and to provide a mapping from +an EGLImage to a mem handle. +*/ + +/* OMX_IndexConfigPrivacyIndicator: Privacy indicator control */ +typedef enum OMX_PRIVACYINDICATORTYPE { + OMX_PrivacyIndicatorOff, + OMX_PrivacyIndicatorOn, + OMX_PrivacyIndicatorForceOn, + OMX_PrivacyIndicatorKhronosExtensions = 0x6F000000, + OMX_PrivacyIndicatorVendorStartUnused = 0x7F000000, + OMX_PrivacyIndicatorMax = 0x7FFFFFFF +} OMX_PRIVACYINDICATORTYPE; + +typedef struct OMX_CONFIG_PRIVACYINDICATORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_PRIVACYINDICATORTYPE ePrivacyIndicatorMode; +} OMX_CONFIG_PRIVACYINDICATORTYPE; +/* +This config allows control over the privacy indicator light. This +light indicates when a capture is in progress. + +\code{OMX_PrivacyIndicatorOff} indicator is disabled. + +\code{OMX_PrivacyIndicatorOn} indicator will be +turned on whenever an image is being captured as determined by the +capturing bit. Minimum on duration of approx 200ms. + +\code{OMX_PrivacyIndicatorForceOn} results in turning the indicator on +immediately, whether an image is being captured or not. The mode will +automatically revert to \code{OMX_PrivacyIndicatorOff} once the +indicator has been turned on, so \code{OMX_PrivacyIndicatorForceOn} +must be requested at least every 200ms if the indicator is to remain +on. +*/ + + +/* OMX_IndexParamCameraFlashType: Select flash type */ +typedef enum OMX_CAMERAFLASHTYPE { + OMX_CameraFlashDefault, + OMX_CameraFlashXenon, + OMX_CameraFlashLED, + OMX_CameraFlashNone, + OMX_CameraFlashKhronosExtensions = 0x6F000000, + OMX_CameraFlashVendorStartUnused = 0x7F000000, + OMX_CameraFlashMax = 0x7FFFFFFF +} OMX_CAMERAFLASHTYPE; + +typedef struct OMX_PARAM_CAMERAFLASHTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_CAMERAFLASHTYPE eFlashType; + OMX_BOOL bRedEyeUsesTorchMode; +} OMX_PARAM_CAMERAFLASHTYPE; +/* +This parameter allows the selection of xenon or LED flash devices +to be used with the currently selected camera. If that device is not +available, then the component will revert back to whatever flash +device is available for that camera. +\code{bRedEyeUsesTorchMode} allows the blinking for red eye reduction to +be switched between using the indicator mode, and the torch mode for the +flash driver. +*/ + +/* OMX_IndexConfigCameraFlashConfig: Flash cycle configuration */ +typedef enum OMX_CAMERAFLASHCONFIGSYNCTYPE { + OMX_CameraFlashConfigSyncFrontSlow, + OMX_CameraFlashConfigSyncRearSlow, + OMX_CameraFlashConfigSyncFrontFast, + OMX_CameraFlashConfigSyncKhronosExtensions = 0x6F000000, + OMX_CameraFlashConfigSyncVendorStartUnused = 0x7F000000, + OMX_CameraFlashConfigSyncMax = 0x7FFFFFFF +} OMX_CAMERAFLASHCONFIGSYNCTYPE; + +typedef struct OMX_CONFIG_CAMERAFLASHCONFIGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bUsePreFlash; + OMX_BOOL bUseFocusDistanceInfo; + OMX_CAMERAFLASHCONFIGSYNCTYPE eFlashSync; + OMX_BOOL bIgnoreChargeState; +} OMX_CONFIG_CAMERAFLASHCONFIGTYPE; +/* +This parameter allows the configuration of various parameters relating to +the flash cycle. Some of the options are only applicable to xenon flash. + +\code{bUsePreFlash} uses a low intensity pre-flash to determine flash intensity. This setting +is recommended for almost all flash situations. + +\code{bUseFocusDistanceInfo} uses the distance of the subject, as measured by the AF algorithm +to set the intensity of the flash. + +\code{eFlashSync} configures which edge of the shutter is used to synchronise the flash, and +the duration of the exposure. + +\code{eIgnoreChargeState} will make the flash fire, even if it is not fully charged. +*/ + +/* OMX_IndexConfigBrcmAudioTrackGaplessPlayback: Encoder/decoder delay and padding information for gapless playback. */ +typedef struct OMX_CONFIG_BRCMAUDIOTRACKGAPLESSPLAYBACKTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nDelay; /**< number of samples delay added by the codec */ + OMX_U32 nPadding; /**< number of silent samples added to the end */ +} OMX_CONFIG_BRCMAUDIOTRACKGAPLESSPLAYBACKTYPE; +/* +This config allows communication between components to facilitate gapless playback. +*/ + + +/* OMX_IndexConfigBrcmAudioTrackChangeControl: Configure gapless/crossfaded audio track change. */ +typedef struct OMX_CONFIG_BRCMAUDIOTRACKCHANGECONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nSrcPortIndex; + OMX_U32 nDstPortIndex; + OMX_U32 nXFade; +} OMX_CONFIG_BRCMAUDIOTRACKCHANGECONTROLTYPE; +/* +This config allows the client to specify the gapless or crossfade +parameters to be used on a track change. If \code{nXFade} is 0, then +a normal or gapless track change will result, otherwise a crossfade of +\code{nXFade} ms is used. +*/ + +/* OMX_IndexParamBrcmPixelValueRange: Describing the pixel value range */ +typedef enum OMX_BRCMPIXELVALUERANGETYPE +{ + OMX_PixelValueRangeUnspecified = 0, + OMX_PixelValueRangeITU_R_BT601, + OMX_PixelValueRangeFull8Bit, + OMX_PixelValueRangeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_PixelValueRangeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_PixelValueRangeMax = 0x7FFFFFFF +} OMX_BRCMPIXELVALUERANGETYPE; + +typedef struct OMX_PARAM_BRCMPIXELVALUERANGETYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BRCMPIXELVALUERANGETYPE ePixelValueRange; +} OMX_PARAM_BRCMPIXELVALUERANGETYPE; +/* +This structure allows a description of the range that pixel values may +have. This is typically useful since some standards use the full 8 +bit range, whereas others introduce pedastals which reduce the range +at the top and bottom end. +*/ + +/* OMX_IndexParamCameraDisableAlgorithm: Disabling camera processing stages. */ +typedef enum OMX_CAMERADISABLEALGORITHMTYPE { + OMX_CameraDisableAlgorithmFacetracking, + OMX_CameraDisableAlgorithmRedEyeReduction, + OMX_CameraDisableAlgorithmVideoStabilisation, + OMX_CameraDisableAlgorithmWriteRaw, + OMX_CameraDisableAlgorithmVideoDenoise, + OMX_CameraDisableAlgorithmStillsDenoise, + OMX_CameraDisableAlgorithmAntiShake, + OMX_CameraDisableAlgorithmImageEffects, + OMX_CameraDisableAlgorithmDarkSubtract, + OMX_CameraDisableAlgorithmDynamicRangeExpansion, + OMX_CameraDisableAlgorithmFaceRecognition, + OMX_CameraDisableAlgorithmFaceBeautification, + OMX_CameraDisableAlgorithmSceneDetection, + OMX_CameraDisableAlgorithmHighDynamicRange, + OMX_CameraDisableAlgorithmKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_CameraDisableAlgorithmVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_CameraDisableAlgorithmMax = 0x7FFFFFFF +} OMX_CAMERADISABLEALGORITHMTYPE; + +typedef struct OMX_PARAM_CAMERADISABLEALGORITHMTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_CAMERADISABLEALGORITHMTYPE eAlgorithm; + OMX_BOOL bDisabled; +} OMX_PARAM_CAMERADISABLEALGORITHMTYPE; +/* +Allows plugin algorithms to be disabled to save memory +within the camera component +*/ + +/* OMX_IndexConfigBrcmAudioEffectControl: Audio Effect Control */ +typedef struct OMX_CONFIG_BRCMAUDIOEFFECTCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnable; + OMX_U8 name[16]; + OMX_U8 property[256]; +} OMX_CONFIG_BRCMAUDIOEFFECTCONTROLTYPE; +/* +This structure represents the internal configuration of an audio effect. +The audio effect is provided by a loadable plug-in described +in the \code{name} field and is configured in a plug-in-dependent +manner with the \code{property} field. The \code{bEnable} field is used to +turn the effect on/off. +*/ + +/* OMX_IndexConfigBrcmMinimumProcessingLatency: Processing Latency Bound */ +typedef struct OMX_CONFIG_BRCMMINIMUMPROCESSINGLATENCY { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_TICKS nOffset; +} OMX_CONFIG_BRCMMINIMUMPROCESSINGLATENCY; +/* +Query/set the difference between the actual media time and when the +component receives request fulfillments for media time requests. This +can be used with e.g. splitter/mixer components to control when the +component stops waiting for input or output packets from active +streams and continues with processing (to maintain a constant +processing rate). +*/ + +/** Enable or disable Supplemental Enhancment Information (SEI) messages to be inserted in + * the H.264 bitstream. + */ +typedef struct OMX_PARAM_BRCMVIDEOAVCSEIENABLETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnable; +} OMX_PARAM_BRCMVIDEOAVCSEIENABLETYPE; + +/* OMX_IndexParamBrcmAllowMemChange: Allowing changing memory allocation on state transition */ +typedef struct OMX_PARAM_BRCMALLOWMEMCHANGETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnable; +} OMX_PARAM_BRCMALLOWMEMCHANGETYPE; +/* +Let the component change the amount of memory it has allocated when +going from LOADED to IDLE. By default this is enabled, but if it is +disabled the component will fail to transition to IDLE if the +component requires more memory than has already been allocated. This +might occur if (for example) the component was configured, taken to +IDLE, then taken back to LOADED, the profile increased and the +component taken back to IDLE. +*/ + +typedef enum OMX_CONFIG_CAMERAUSECASE { + OMX_CameraUseCaseAuto, + OMX_CameraUseCaseVideo, + OMX_CameraUseCaseStills, + OMX_CameraUseCaseKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_CameraUseCaseVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_CameraUseCaseMax = 0x7FFFFFFF +} OMX_CONFIG_CAMERAUSECASE; + +typedef struct OMX_CONFIG_CAMERAUSECASETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_CONFIG_CAMERAUSECASE eUseCase; +} OMX_CONFIG_CAMERAUSECASETYPE; + +/* OMX_IndexParamBrcmDisableProprietaryTunnels: Disabling proprietary tunnelling */ +typedef struct OMX_PARAM_BRCMDISABLEPROPRIETARYTUNNELSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bUseBuffers; +} OMX_PARAM_BRCMDISABLEPROPRIETARYTUNNELSTYPE; +/* +Tell a source component to refuse to support proprietary tunnelling. Buffers will be used instead. +*/ + + +// +// Control for memory allocation and component-internal buffering +// + +/* OMX_IndexParamBrcmRetainMemory: Controlling memory use on state transition */ +typedef struct OMX_PARAM_BRCMRETAINMEMORYTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnable; +} OMX_PARAM_BRCMRETAINMEMORYTYPE; +/* +Ask a component to retain its memory when going from IDLE to LOADED, if possible. +This has the benefit that you are then guaranteed that the transition to IDLE cannot +fail due to lack of memory, but has the disadvantage that you cannot leave the component +lying around in LOADED, unused, since it is using significant amounts of memory. +*/ + +/** Tell write media how large the output buffer should be. This is a hint, and + * may be ignored. A good size is bandwidth*, which works out at + * around 1Mbyte for up to 16Mbit/s. Sizes may (and probably will) be rounded down + * to the nearest power of 2. + */ +typedef struct OMX_PARAM_BRCMOUTPUTBUFFERSIZETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nBufferSize; +} OMX_PARAM_BRCMOUTPUTBUFFERSIZETYPE; + +/* OMX_IndexConfigCameraInfo: Camera device driver information */ +#define OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN 16 +typedef struct OMX_CONFIG_LENSCALIBRATIONVALUETYPE +{ + OMX_U16 nShutterDelayTime; + OMX_U16 nNdTransparency; + OMX_U16 nPwmPulseNearEnd; /**< Num pulses to move lens 1um at near end */ + OMX_U16 nPwmPulseFarEnd; /**< Num pulses to move lens 1um at far end */ + OMX_U16 nVoltagePIOutNearEnd[3]; + OMX_U16 nVoltagePIOut10cm[3]; + OMX_U16 nVoltagePIOutInfinity[3]; + OMX_U16 nVoltagePIOutFarEnd[3]; + OMX_U32 nAdcConversionNearEnd; + OMX_U32 nAdcConversionFarEnd; +} OMX_CONFIG_LENSCALIBRATIONVALUETYPE; +/* +Ask the camera component for the driver info on the current camera device +*/ + +#define OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN 16 +#define OMX_CONFIG_CAMERAINFOTYPE_SERIALNUM_LEN 20 +#define OMX_CONFIG_CAMERAINFOTYPE_EPROMVER_LEN 8 +typedef struct OMX_CONFIG_CAMERAINFOTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 cameraname[OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN]; + OMX_U8 lensname[OMX_CONFIG_CAMERAINFOTYPE_NAME_LEN]; + OMX_U16 nModelId; + OMX_U8 nManufacturerId; + OMX_U8 nRevNum; + OMX_U8 sSerialNumber[OMX_CONFIG_CAMERAINFOTYPE_SERIALNUM_LEN]; + OMX_U8 sEpromVersion[OMX_CONFIG_CAMERAINFOTYPE_EPROMVER_LEN]; + OMX_CONFIG_LENSCALIBRATIONVALUETYPE sLensCalibration; + OMX_U32 xFNumber; + OMX_U32 xFocalLength; +} OMX_CONFIG_CAMERAINFOTYPE; + + +typedef enum OMX_CONFIG_CAMERAFEATURESSHUTTER { + OMX_CameraFeaturesShutterUnknown, + OMX_CameraFeaturesShutterNotPresent, + OMX_CameraFeaturesShutterPresent, + OMX_CameraFeaturesShutterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_CameraFeaturesShutterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_CameraFeaturesShutterMax = 0x7FFFFFFF +} OMX_CONFIG_CAMERAFEATURESSHUTTER; + +typedef struct OMX_CONFIG_CAMERAFEATURESTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_CONFIG_CAMERAFEATURESSHUTTER eHasMechanicalShutter; + OMX_BOOL bHasLens; +} OMX_CONFIG_CAMERAFEATURESTYPE; + + +//Should be added to the spec as part of IL416c +/* OMX_IndexConfigRequestCallback: Enable config change notifications. */ +typedef struct OMX_CONFIG_REQUESTCALLBACKTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_INDEXTYPE nIndex; + OMX_BOOL bEnable; +} OMX_CONFIG_REQUESTCALLBACKTYPE; +/* +This config implements IL416c to allow clients to request notification +of when a config or parameter is changed. When the parameter specified +in \code{nIndex} for port \code{nPortIndex} changes, an +\code{OMX_EventParamOrConfigChanged} event is generated for the client. +*/ + +/* OMX_IndexConfigCommonFocusRegionXY: Define focus regions */ +typedef enum OMX_FOCUSREGIONTYPE { + OMX_FocusRegionNormal, + OMX_FocusRegionFace, + OMX_FocusRegionMax +} OMX_FOCUSREGIONTYPE; + +typedef struct OMX_FOCUSREGIONXY { + OMX_U32 xLeft; + OMX_U32 xTop; + OMX_U32 xWidth; + OMX_U32 xHeight; + OMX_U32 nWeight; + OMX_U32 nMask; + OMX_FOCUSREGIONTYPE eType; +} OMX_FOCUSREGIONXY; + +typedef struct OMX_CONFIG_FOCUSREGIONXYTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIndex; + OMX_U32 nTotalRegions; + OMX_S32 nValidRegions; + OMX_BOOL bLockToFaces; + OMX_U32 xFaceTolerance; + OMX_FOCUSREGIONXY sRegion[1]; +} OMX_CONFIG_FOCUSREGIONXYTYPE; +/* +Query / set the focus regions to use as a set of x/y/width/height boxes relative +to the overall image. + +\code{nIndex} - first region number being set/read, allowing retrieval/setting +of many regions over several requests. + +\code{nTotalRegions} - total number of regions currently defined. + +\code{nValidRegions} - number of valid regions in the \code{sRegion} array. +When getting, the client sets this to the number of regions available. +The component writes region data and updates this field with how many +regions have been written to. +When setting, this is the number of regions defined with this structure + +\code{bLockToFaces} - compare the region(s) given to the latest face tracking results. +If a face is found within xFaceTolerance of the defined region, then amend the +region to correspond to the face. + +\code{xFaceTolerance} - 0p16 value to define the max difference between the region centre +and face tracking result centre to take the FT results + +\code{sRegions} - variable length array of focus regions. +*/ + +typedef struct OMX_CONFIG_U8TYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U8 nU8; /**< U8 value */ +} OMX_PARAM_U8TYPE; + +typedef struct OMX_CONFIG_CAMERASETTINGSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nExposure; + OMX_U32 nAnalogGain; + OMX_U32 nDigitalGain; + OMX_U32 nLux; + OMX_U32 nRedGain; + OMX_U32 nBlueGain; + OMX_U32 nFocusPosition; +} OMX_CONFIG_CAMERASETTINGSTYPE; + +/* OMX_IndexConfigDrawBoxLineParams: Face box style parameters. */ +typedef struct OMX_YUVCOLOUR { + OMX_U8 nY; + OMX_U8 nU; + OMX_U8 nV; +} OMX_YUVCOLOUR; + +typedef struct OMX_CONFIG_DRAWBOXLINEPARAMS { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port to which this config applies */ + OMX_U32 xCornerSize; /**< Size of the corners as a fraction of the complete side */ + OMX_U32 nPrimaryFaceLineWidth; /**< Width of the box line for the primary face in pixels */ + OMX_U32 nOtherFaceLineWidth; /**< Width of the box line for other faces in pixels */ + OMX_U32 nFocusRegionLineWidth; /**< Width of the box line for focus regions in pixels */ + OMX_YUVCOLOUR sPrimaryFaceColour; /**< YUV colour for the primary face */ + OMX_YUVCOLOUR sPrimaryFaceSmileColour; /**< YUV colour for the primary face if smiling */ + OMX_YUVCOLOUR sPrimaryFaceBlinkColour; /**< YUV colour for the primary face if blinking */ + OMX_YUVCOLOUR sOtherFaceColour; /**< YUV colour for the all other faces */ + OMX_YUVCOLOUR sOtherFaceSmileColour; /**< YUV colour for the all other faces if smiling */ + OMX_YUVCOLOUR sOtherFaceBlinkColour; /**< YUV colour for the all other faces if blinking */ + OMX_BOOL bShowFocusRegionsWhenIdle; /**< Are focus regions displayed when just in viewfinder/AF idle */ + OMX_YUVCOLOUR sFocusRegionColour; /**< YUV colour for focus regions */ + OMX_BOOL bShowAfState; /**< Change to the colours specified below if AF cycle has run */ + OMX_BOOL bShowOnlyPrimaryAfState; /**< Only show the primary face when displaying the AF status */ + OMX_BOOL bCombineNonFaceRegions; /**< Combine all regions not defined as faces into one single box covering them all */ + OMX_YUVCOLOUR sAfLockPrimaryFaceColour; /**< YUV colour for the primary face */ + OMX_YUVCOLOUR sAfLockOtherFaceColour; /**< YUV colour for the all other faces */ + OMX_YUVCOLOUR sAfLockFocusRegionColour; /**< YUV colour for focus regions */ + OMX_YUVCOLOUR sAfFailPrimaryFaceColour; /**< YUV colour for the primary face */ + OMX_YUVCOLOUR sAfFailOtherFaceColour; /**< YUV colour for the all other faces */ + OMX_YUVCOLOUR sAfFailFocusRegionColour; /**< YUV colour for focus regions */ + } OMX_CONFIG_DRAWBOXLINEPARAMS; +/* +Query / set the parameters for the box to be drawn around faces/focus regions. +*/ + + #define OMX_PARAM_CAMERARMITYPE_RMINAME_LEN 16 + //OMX_IndexParamCameraRmiControl + typedef struct OMX_PARAM_CAMERARMITYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnabled; + OMX_U8 sRmiName[OMX_PARAM_CAMERARMITYPE_RMINAME_LEN]; + OMX_U32 nInputBufferHeight; + OMX_U32 nRmiBufferSize; + OMX_BRCM_POOL_T *pImagePool; + } OMX_PARAM_CAMERARMITYPE; + +/* OMX_IndexConfigBrcmSyncOutput: Forcing a write sync */ +typedef struct OMX_CONFIG_BRCMSYNCOUTPUTTYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ +} OMX_CONFIG_BRCMSYNCOUTPUTTYPE; +/* +Setting this config forces a sync of data to the filesystem. +*/ + +/* OMX_IndexConfigDrmView: View information for DRM rental files */ +typedef struct OMX_CONFIG_DRMVIEWTYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nCurrentView; /**< Current view count */ + OMX_U32 nMaxView; /**< Max. no. of view allowed */ +} OMX_CONFIG_DRMVIEWTYPE; +/* +This structure contains information about the number of available +views in the selected DRM rental file, which typically have a given +maximum view count. It allows the user to explicitly agree to playing +the file, which will increment the number of current views the file +has had. +*/ + +typedef struct OMX_PARAM_BRCMU64TYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nLowPart; /**< low bits of the unsigned 64 bit value */ + OMX_U32 nHighPart; /**< high bits of the unsigned 64 bit value */ +} OMX_PARAM_BRCMU64TYPE; + +/* OMX_IndexParamBrcmDisableEXIF: Disable generation of EXIF data */ +/* +This parameter is used by clients to control the generation of exif +data in JPEG images. +*/ + +/* OMX_IndexParamBrcmThumbnail: Control generation of thumbnail */ +typedef struct OMX_PARAM_BRCMTHUMBNAILTYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_BOOL bEnable; /**< Enable generation of thumbnails during still capture */ + OMX_BOOL bUsePreview; /**< Use the preview image (as is) as thumbnail */ + OMX_U32 nWidth; /**< Desired width of the thumbnail */ + OMX_U32 nHeight; /**< Desired height of the thumbnail */ +} OMX_PARAM_BRCMTHUMBNAILTYPE; +/* +This parameter is used by clients to control how thumbnails are +generated when creating still images. + +Thumbnail generation will be turned on or off depending on the +\code{bEnable} field. + +The \code{bUsePreview} field will let the component know whether it +should use the low resolution preview image (if the component has one +available) as is for the thumbnail. When this is set to true, it should +make the generation of thumbnails faster (if a preview image is available) +and should use less memory as well. + +The \code{nWidth} and \code{nHeight} fields allow the client to +specify the dimensions of the thumbnail. If both \code{nWidth} and +\code{nHeight} are 0, we will calculate a sensible size for the +thumbnail. +*/ + +typedef struct OMX_PARAM_BRCMASPECTRATIOTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nWidth; + OMX_U32 nHeight; +} OMX_PARAM_BRCMASPECTRATIOTYPE; + +/* OMX_IndexParamBrcmVideoDecodeErrorConcealment: Control error concealment for video decode */ +typedef struct OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bStartWithValidFrame; /**< Decoder will only start emitting frames from a non-corrupted frame */ +} OMX_PARAM_BRCMVIDEODECODEERRORCONCEALMENTTYPE; +/* + This parameter is used by clients to control the type of error concealment + that will be done by the video decoder. + */ + +#define OMX_CONFIG_FLASHINFOTYPE_NAME_LEN 16 +typedef struct OMX_CONFIG_FLASHINFOTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U8 sFlashName[OMX_CONFIG_FLASHINFOTYPE_NAME_LEN]; + OMX_CAMERAFLASHTYPE eFlashType; + OMX_U8 nDeviceId; + OMX_U8 nDeviceVersion; +} OMX_CONFIG_FLASHINFOTYPE; + +/* OMX_IndexParamBrcmInterpolateMissingTimestamps: Configure component to interpolate missing timestamps */ +/* +Configures a component so that it tries to timestamp all the buffers it outputs. +If the timestamp information is missing from the original buffer, the +component will try its best to interpolate a value for the missing timestamp. + */ + +/* OMX_IndexParamBrcmSetCodecPerformanceMonitoring: Configure component to output performance statistics */ +/* +Configures a codec component so that it outputs performance statistics to +the given DECODE_PROGRESS_REPORT_T structure (passed as a pointer). +This structure can then be read by the client to find out where the codec is +at in its processing. + */ + +/* OMX_IndexConfigDynamicRangeExpansion: Configure image dynamic range expansion processing */ +typedef enum OMX_DYNAMICRANGEEXPANSIONMODETYPE { + OMX_DynRangeExpOff, + OMX_DynRangeExpLow, + OMX_DynRangeExpMedium, + OMX_DynRangeExpHigh, + OMX_DynRangeExpKhronosExtensions = 0x6F000000, + OMX_DynRangeExpVendorStartUnused = 0x7F000000, + OMX_DynRangeExpMax = 0x7FFFFFFF +} OMX_DYNAMICRANGEEXPANSIONMODETYPE; + +typedef struct OMX_CONFIG_DYNAMICRANGEEXPANSIONTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_DYNAMICRANGEEXPANSIONMODETYPE eMode; +} OMX_CONFIG_DYNAMICRANGEEXPANSIONTYPE; +/* +Configures the intensity of an image dynamic range expansion processing stage +*/ + +/* OMX_IndexParamBrcmTransposeBufferCount: Configure the number of pre-allocated transpose buffers */ +/* +This config allows the client to explicitly set the number of destination buffers pre-allocated for +ports that support 90/270 degree rotation (e.g. in video_render). The buffers will be pre-allocated during +a state transition from LOADED to IDLE (the transition will fail if there is not enough memory available +for the buffers). +. +*/ + + +/* OMX_IndexParamBrcmThreadAffinity: Control the CPU affinity of component thread(s) */ +typedef enum OMX_BRCMTHREADAFFINITYTYPE { + OMX_BrcmThreadAffinityCPU0, + OMX_BrcmThreadAffinityCPU1, + OMX_BrcmThreadAffinityMax = 0x7FFFFFFF +} OMX_BRCMTHREADAFFINITYTYPE; + +typedef struct OMX_PARAM_BRCMTHREADAFFINITYTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BRCMTHREADAFFINITYTYPE eAffinity; /**< Thread CPU affinity */ +} OMX_PARAM_BRCMTHREADAFFINITYTYPE; +/* + This parameter is used by clients to hint the CPU that a component thread should run on. + */ + + /* OMX_IndexConfigCommonSceneDetected: Reports the scene type detected by a scene detection algorithm. */ +typedef enum OMX_SCENEDETECTTYPE { + OMX_SceneDetectUnknown, + OMX_SceneDetectLandscape, + OMX_SceneDetectPortrait, + OMX_SceneDetectMacro, + OMX_SceneDetectNight, + OMX_SceneDetectPortraitNight, + OMX_SceneDetectBacklit, + OMX_SceneDetectPortraitBacklit, + OMX_SceneDetectSunset, + OMX_SceneDetectBeach, + OMX_SceneDetectSnow, + OMX_SceneDetectFireworks, + OMX_SceneDetectMax = 0x7FFFFFFF +} OMX_SCENEDETECTTYPE; + +/* OMX_IndexConfigCommonSceneDetected: Reports the scene type detected by a scene detection algorithm. */ +typedef struct OMX_CONFIG_SCENEDETECTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_SCENEDETECTTYPE eScene; /**< Scene type detected */ +} OMX_CONFIG_SCENEDETECTTYPE; +/* + This config is used to report to clients the scene type that has been detected. + */ + +/* OMX_IndexParamNalStreamFormat: Control the NAL unit packaging. This is a Khronos extension. */ +typedef enum OMX_INDEXEXTTYPE { + /* Video parameters and configurations */ + OMX_IndexExtVideoStartUnused = OMX_IndexKhronosExtensions + 0x00600000, + OMX_IndexParamNalStreamFormatSupported, /**< reference: OMX_NALSTREAMFORMATTYPE */ + OMX_IndexParamNalStreamFormat, /**< reference: OMX_NALSTREAMFORMATTYPE */ + OMX_IndexParamNalStreamFormatSelect, /**< reference: OMX_NALSTREAMFORMATTYPE */ + + OMX_IndexExtMax = 0x7FFFFFFF +} OMX_INDEXEXTTYPE; + +/* OMX_IndexParamNalStreamFormat: Control the NAL unit packaging. This is a Khronos extension. */ +typedef enum OMX_NALUFORMATSTYPE { + OMX_NaluFormatStartCodes = 1, + OMX_NaluFormatOneNaluPerBuffer = 2, + OMX_NaluFormatOneByteInterleaveLength = 4, + OMX_NaluFormatTwoByteInterleaveLength = 8, + OMX_NaluFormatFourByteInterleaveLength = 16, + OMX_NaluFormatCodingMax = 0x7FFFFFFF +} OMX_NALUFORMATSTYPE; + +/* OMX_IndexParamNalStreamFormat: Control the NAL unit packaging. This is a Khronos extension. */ +typedef struct OMX_NALSTREAMFORMATTYPE{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_NALUFORMATSTYPE eNaluFormat; +} OMX_NALSTREAMFORMATTYPE; +/* + This parameter is used to control the NAL unit packaging of an H264 video port. + */ + +/* OMX_IndexParamVideoMvc: MVC codec parameters */ +typedef struct OMX_VIDEO_PARAM_AVCTYPE OMX_VIDEO_PARAM_MVCTYPE; +/* +This parameter is currently identical to the AVC parameter type. +*/ + + /* OMX_IndexConfigBrcmDrawStaticBox: Define static box to be drawn */ +typedef enum OMX_STATICBOXTYPE { + OMX_StaticBoxNormal, + OMX_StaticBoxPrimaryFaceAfIdle, + OMX_StaticBoxNonPrimaryFaceAfIdle, + OMX_StaticBoxFocusRegionAfIdle, + OMX_StaticBoxPrimaryFaceAfSuccess, + OMX_StaticBoxNonPrimaryFaceAfSuccess, + OMX_StaticBoxFocusRegionAfSuccess, + OMX_StaticBoxPrimaryFaceAfFail, + OMX_StaticBoxNonPrimaryFaceAfFail, + OMX_StaticBoxFocusRegionAfFail, + OMX_StaticBoxMax +} OMX_STATICBOXTYPE; + +typedef struct OMX_STATICBOX { + OMX_U32 xLeft; + OMX_U32 xTop; + OMX_U32 xWidth; + OMX_U32 xHeight; + OMX_STATICBOXTYPE eType; +} OMX_STATICBOX; + +typedef struct OMX_CONFIG_STATICBOXTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIndex; + OMX_U32 nTotalBoxes; + OMX_S32 nValidBoxes; + OMX_BOOL bDrawOtherBoxes; + OMX_STATICBOX sBoxes[1]; +} OMX_CONFIG_STATICBOXTYPE; +/* +Query / set the parameters for a box to always be drawn on viewfinder images +The x/y/width/height values for the boxes are relative to the overall image. + +\code{nIndex} - first box number being set/read, allowing retrieval/setting +of many boxes over several requests. + +\code{nValidBoxes} - total number of boxes currently defined. + +\code{nValidBoxes} - number of valid boxes in the \code{sBoxes} array. +When getting, the client sets this to the number of boxes available. +The component writes box data and updates this field with how many +boxes have been written to. +When setting, this is the number of boxes defined with this structure + +\code{sBoxes} - variable length array of static boxes. +*/ + +/* OMX_IndexConfigPortCapturing: Per-port capturing state */ +typedef struct OMX_CONFIG_PORTBOOLEANTYPE{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; +} OMX_CONFIG_PORTBOOLEANTYPE; +/* +This is proposed in IL533f for controlling +which ports of a multi-port camera component are capturing frames. +*/ + +/* OMX_IndexConfigCaptureMode: Capturing mode type */ +typedef enum OMX_CAMERACAPTUREMODETYPE { + OMX_CameraCaptureModeWaitForCaptureEnd, + OMX_CameraCaptureModeWaitForCaptureEndAndUsePreviousInputImage, + OMX_CameraCaptureModeResumeViewfinderImmediately, + OMX_CameraCaptureModeMax, +} OMX_CAMERACAPTUREMODETYPE; + +typedef struct OMX_PARAM_CAMERACAPTUREMODETYPE{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_CAMERACAPTUREMODETYPE eMode; +} OMX_PARAM_CAMERACAPTUREMODETYPE; +/* +This controls the mode of operation for +still image capture in the camera component. +*/ + +/* OMX_IndexParamBrcmDrmEncryption: Set DRM encryption scheme */ +typedef enum OMX_BRCMDRMENCRYPTIONTYPE +{ + OMX_DrmEncryptionNone = 0, + OMX_DrmEncryptionHdcp2, + OMX_DrmEncryptionKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_DrmEncryptionVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_DrmEncryptionRangeMax = 0x7FFFFFFF +} OMX_BRCMDRMENCRYPTIONTYPE; + +typedef struct OMX_PARAM_BRCMDRMENCRYPTIONTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BRCMDRMENCRYPTIONTYPE eEncryption; + OMX_U32 nConfigDataLen; + OMX_U8 configData[1]; +} OMX_PARAM_BRCMDRMENCRYPTIONTYPE; +/* +Query/set the DRM encryption scheme used by a port writing out data. +*/ + + +/* OMX_IndexConfigBufferStall: Advertise buffer stall state */ +typedef struct OMX_CONFIG_BUFFERSTALLTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bStalled; /**< Whether we are stalled */ + OMX_U32 nDelay; /**< Delay in real time (us) from last buffer to current time */ +} OMX_CONFIG_BUFFERSTALLTYPE; +/* +Query/set the buffer stall threashold. When set the \code{nDelay} +parameter specifies a time to class whether buffer output is stalled. +When get, the \code{nDelay} parameter indicates the current buffer +delay, and the {bStalled} parameter indicates whether this time is +over a previously set threashold. When +\code{OMX_IndexConfigRequestCallback} is used with this index, a +notification is given when \code{bStalled} changes. +*/ + +/* OMX_IndexConfigLatencyTarget: Maintain target latency by adjusting clock speed */ +typedef struct OMX_CONFIG_LATENCYTARGETTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; /**< whether this mode is enabled */ + OMX_U32 nFilter; /**< number of latency samples to filter on, good value: 1 */ + OMX_U32 nTarget; /**< target latency, us */ + OMX_U32 nShift; /**< shift for storing latency values, good value: 7 */ + OMX_S32 nSpeedFactor; /**< multiplier for speed changes, in 24.8 format, good value: 256-512 */ + OMX_S32 nInterFactor; /**< divider for comparing latency versus gradiant, good value: 300 */ + OMX_S32 nAdjCap; /**< limit for speed change before nSpeedFactor is applied, good value: 100 */ +} OMX_CONFIG_LATENCYTARGETTYPE; +/* +Query/set parameters used when adjusting clock speed to match the +measured latency to a specified value. +*/ + +/* OMX_IndexConfigBrcmUseProprietaryCallback: Force use of proprietary callback */ +typedef struct OMX_CONFIG_BRCMUSEPROPRIETARYCALLBACKTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnable; +} OMX_CONFIG_BRCMUSEPROPRIETARYCALLBACKTYPE; +/* +Disable/enable the use of proprietary callbacks rather than OpenMAX IL buffer handling. +*/ + +/* OMX_IndexParamCommonUseStcTimestamps: Select timestamp mode */ +typedef enum OMX_TIMESTAMPMODETYPE +{ + OMX_TimestampModeZero = 0, /**< Use a timestamp of 0 */ + OMX_TimestampModeRawStc, /**< Use the raw STC as the timestamp */ + OMX_TimestampModeResetStc, /**< Store the STC when video capture port goes active, and subtract that from STC for the timestamp */ + OMX_TimestampModeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_TimestampModeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_TimestampModeMax = 0x7FFFFFFF +} OMX_TIMESTAMPMODETYPE; + +typedef struct OMX_PARAM_TIMESTAMPMODETYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_TIMESTAMPMODETYPE eTimestampMode; +} OMX_PARAM_TIMESTAMPMODETYPE; +/* + Specifies what to use as timestamps in the abscence of a clock component. +*/ + +/* EGL image buffer for passing to video port. + * Used when port color format is OMX_COLOR_FormatBRCMEGL. + */ +typedef struct OMX_BRCMVEGLIMAGETYPE +{ + /* Passed between ARM + VC; use fixed width types. */ + OMX_U32 nWidth; + OMX_U32 nHeight; + OMX_U32 nStride; + OMX_U32 nUmemHandle; + OMX_U32 nUmemOffset; + OMX_U32 nFlipped; /* Non-zero -> vertically flipped image */ +} OMX_BRCMVEGLIMAGETYPE; + +/* Provides field of view + */ +typedef struct OMX_CONFIG_BRCMFOVTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 xFieldOfViewHorizontal; /**< Horizontal field of view in degrees. 16p16 value */ + OMX_U32 xFieldOfViewVertical; /**< Vertical field of view in degrees. 16p16 value */ +} OMX_CONFIG_BRCMFOVTYPE; + +/* OMX_IndexConfigBrcmDecoderPassThrough: Enabling Audio Passthrough */ +/* +This allows an audio decoder to disable decoding the stream and pass through correctly framed +data to enable playback of compressed audio to supported output devices. +*/ + +/* OMX_IndexConfigBrcmClockReferenceSource: Select Clock Reference Source */ +/* +This control allows communicating directly to an audio renderer component whether it should +act as a clock reference source or act as a slave. +*/ + +/* OMX_IndexConfigEncLevelExtension: AVC Override encode capabilities */ +typedef struct OMX_VIDEO_CONFIG_LEVEL_EXTEND { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nCustomMaxMBPS; /**< Specifies maximum macro-blocks per second */ + OMX_U32 nCustomMaxFS; /**< Specifies maximum frame size (macro-blocks per frame) */ + OMX_U32 nCustomMaxBRandCPB; /**< Specifies maximum bitrate in units of 1000 bits/s and Codec Picture Buffer (CPB derived from bitrate) */ +} OMX_VIDEO_CONFIG_LEVEL_EXTEND; +/* +This allows finer control of the H264 encode internal parameters. +*/ + +/* OMX_IndexParamBrcmEEDEEnable: Enable/Disable end to end distortion estimator */ +typedef struct OMX_VIDEO_EEDE_ENABLE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 enable; +} OMX_VIDEO_EEDE_ENABLE; +/* +This enables or disables the use of end to end distortion estimation. +*/ + +/* OMX_IndexParamBrcmEEDELossRate: Loss rate configuration for end to end distortion */ +typedef struct OMX_VIDEO_EEDE_LOSSRATE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 loss_rate; /**< loss rate, 5 means 5% */ +} OMX_VIDEO_EEDE_LOSSRATE; +/* +Set the packet loss rate used by the end to end distortion estimator. +*/ + +/* OMX_IndexParamColorSpace: Colour space information */ +typedef enum OMX_COLORSPACETYPE +{ + OMX_COLORSPACE_UNKNOWN, + OMX_COLORSPACE_JPEG_JFIF, + OMX_COLORSPACE_ITU_R_BT601, + OMX_COLORSPACE_ITU_R_BT709, + OMX_COLORSPACE_FCC, + OMX_COLORSPACE_SMPTE240M, + OMX_COLORSPACE_BT470_2_M, + OMX_COLORSPACE_BT470_2_BG, + OMX_COLORSPACE_JFIF_Y16_255, + OMX_COLORSPACE_MAX = 0x7FFFFFFF +} OMX_COLORSPACETYPE; + +typedef struct OMX_PARAM_COLORSPACETYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_COLORSPACETYPE eColorSpace; +} OMX_PARAM_COLORSPACETYPE; + +typedef enum OMX_CAPTURESTATETYPE +{ + OMX_NotCapturing, + OMX_CaptureStarted, + OMX_CaptureComplete, + OMX_CaptureMax = 0x7FFFFFFF +} OMX_CAPTURESTATETYPE; + +typedef struct OMX_PARAM_CAPTURESTATETYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_CAPTURESTATETYPE eCaptureState; +} OMX_PARAM_CAPTURESTATETYPE; + +/* +Provides information on the colour space that's in use during image/video processing. +*/ + +/* OMX_IndexConfigMinimiseFragmentation: Minimising Fragmentation */ +/* +This control can be supported to enable the client to request that the component works +to minimise fragmentation of output buffers. +*/ + +/* OMX_IndexConfigBrcmBufferFlagFilter: Filters buffers based on flags */ +/* +This control can be set to request that buffers are conditionally forwarded on +output ports based on matching flags set on that buffer. +*/ + +/* OMX_IndexParamPortMaxFrameSize: Specifying maximum frame size */ +/* +This control can be used to control the maximum frame size allowed on an output port. +*/ + +/* OMX_IndexConfigBrcmCameraRnDPreprocess: Enable use of development ISP software stage */ +/* +This control can be used to enable a developmental software stage to be inserted into +the preprocessor stage of the ISP. +*/ + +/* OMX_IndexConfigBrcmCameraRnDPostprocess: Enable use of development ISP software stage */ +/* +This control can be used to enable a developmental software stage to be inserted into +the postprocessor stage of the ISP. +*/ + +/* OMX_IndexParamDisableVllPool: Controlling use of memory for loadable modules */ +/* +This control can be used to control whether loadable modules used a dedicated memory +pool or use heap allocated memory. +*/ + +typedef struct OMX_PARAM_BRCMCONFIGFILETYPE { + OMX_U32 nSize; /**< size of the structure in bytes, including + actual URI name */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 fileSize; /**< Size of complete file data */ +} OMX_PARAM_BRCMCONFIGFILETYPE; + +typedef struct OMX_PARAM_BRCMCONFIGFILECHUNKTYPE { + OMX_U32 nSize; /**< size of the structure in bytes, including + actual chunk data */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 size; /**< Number of bytes being transferred in this chunk */ + OMX_U32 offset; /**< Offset of this chunk in the file */ + OMX_U8 data[1]; /**< Chunk data */ +} OMX_PARAM_BRCMCONFIGFILECHUNKTYPE; + +typedef struct OMX_PARAM_BRCMFRAMERATERANGETYPE { + OMX_U32 nSize; /**< size of the structure in bytes, including + actual chunk data */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; + OMX_U32 xFramerateLow; /**< Low end of framerate range. Q16 format */ + OMX_U32 xFramerateHigh; /**< High end of framerate range. Q16 format */ +} OMX_PARAM_BRCMFRAMERATERANGETYPE; + +typedef struct OMX_PARAM_S32TYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_S32 nS32; /**< S32 value */ +} OMX_PARAM_S32TYPE; + +typedef struct OMX_PARAM_BRCMVIDEODRMPROTECTBUFFERTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + + OMX_U32 size_wanted; /**< Input. Zero size means internal video decoder buffer, + mem_handle and phys_addr not returned in this case */ + OMX_U32 protect; /**< Input. 1 = protect, 0 = unprotect */ + + OMX_U32 mem_handle; /**< Output. Handle for protected buffer */ + OMX_PTR phys_addr; /**< Output. Physical memory address of protected buffer */ +} OMX_PARAM_BRCMVIDEODRMPROTECTBUFFERTYPE; + +typedef struct OMX_CONFIG_ZEROSHUTTERLAGTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + + OMX_U32 bZeroShutterMode; /**< Select ZSL mode from the camera. */ + OMX_U32 bConcurrentCapture; /**< Perform concurrent captures for full ZSL. */ + +} OMX_CONFIG_ZEROSHUTTERLAGTYPE; + +typedef struct OMX_PARAM_BRCMVIDEODECODECONFIGVD3TYPE { + OMX_U32 nSize; /**< size of the structure in bytes, including + configuration data */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U8 config[1]; /**< Configuration data (a VD3_CONFIGURE_T) */ +} OMX_PARAM_BRCMVIDEODECODECONFIGVD3TYPE; + +#endif +/* File EOF */ diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Component.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Component.h new file mode 100644 index 000000000..b0b9b817c --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Component.h @@ -0,0 +1,579 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** OMX_Component.h - OpenMax IL version 1.1.2 + * The OMX_Component header file contains the definitions used to define + * the public interface of a component. This header file is intended to + * be used by both the application and the component. + */ + +#ifndef OMX_Component_h +#define OMX_Component_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_Audio.h" +#include "OMX_Video.h" +#include "OMX_Image.h" +#include "OMX_Other.h" + +/** @ingroup comp */ +typedef enum OMX_PORTDOMAINTYPE { + OMX_PortDomainAudio, + OMX_PortDomainVideo, + OMX_PortDomainImage, + OMX_PortDomainOther, + OMX_PortDomainKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_PortDomainVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_PortDomainMax = 0x7ffffff +} OMX_PORTDOMAINTYPE; + +/** @ingroup comp */ +typedef struct OMX_PARAM_PORTDEFINITIONTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port number the structure applies to */ + OMX_DIRTYPE eDir; /**< Direction (input or output) of this port */ + OMX_U32 nBufferCountActual; /**< The actual number of buffers allocated on this port */ + OMX_U32 nBufferCountMin; /**< The minimum number of buffers this port requires */ + OMX_U32 nBufferSize; /**< Size, in bytes, for buffers to be used for this channel */ + OMX_BOOL bEnabled; /**< Ports default to enabled and are enabled/disabled by + OMX_CommandPortEnable/OMX_CommandPortDisable. + When disabled a port is unpopulated. A disabled port + is not populated with buffers on a transition to IDLE. */ + OMX_BOOL bPopulated; /**< Port is populated with all of its buffers as indicated by + nBufferCountActual. A disabled port is always unpopulated. + An enabled port is populated on a transition to OMX_StateIdle + and unpopulated on a transition to loaded. */ + OMX_PORTDOMAINTYPE eDomain; /**< Domain of the port. Determines the contents of metadata below. */ + union { + OMX_AUDIO_PORTDEFINITIONTYPE audio; + OMX_VIDEO_PORTDEFINITIONTYPE video; + OMX_IMAGE_PORTDEFINITIONTYPE image; + OMX_OTHER_PORTDEFINITIONTYPE other; + } format; + OMX_BOOL bBuffersContiguous; + OMX_U32 nBufferAlignment; +} OMX_PARAM_PORTDEFINITIONTYPE; + +/** @ingroup comp */ +typedef struct OMX_PARAM_U32TYPE { + OMX_U32 nSize; /**< Size of this structure, in Bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_U32 nU32; /**< U32 value */ +} OMX_PARAM_U32TYPE; + +/** @ingroup rpm */ +typedef enum OMX_SUSPENSIONPOLICYTYPE { + OMX_SuspensionDisabled, /**< No suspension; v1.0 behavior */ + OMX_SuspensionEnabled, /**< Suspension allowed */ + OMX_SuspensionPolicyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_SuspensionPolicyStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_SuspensionPolicyMax = 0x7fffffff +} OMX_SUSPENSIONPOLICYTYPE; + +/** @ingroup rpm */ +typedef struct OMX_PARAM_SUSPENSIONPOLICYTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_SUSPENSIONPOLICYTYPE ePolicy; +} OMX_PARAM_SUSPENSIONPOLICYTYPE; + +/** @ingroup rpm */ +typedef enum OMX_SUSPENSIONTYPE { + OMX_NotSuspended, /**< component is not suspended */ + OMX_Suspended, /**< component is suspended */ + OMX_SuspensionKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_SuspensionVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_SuspendMax = 0x7FFFFFFF +} OMX_SUSPENSIONTYPE; + +/** @ingroup rpm */ +typedef struct OMX_PARAM_SUSPENSIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_SUSPENSIONTYPE eType; +} OMX_PARAM_SUSPENSIONTYPE ; + +typedef struct OMX_CONFIG_BOOLEANTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bEnabled; +} OMX_CONFIG_BOOLEANTYPE; + +/* Parameter specifying the content uri to use. */ +/** @ingroup cp */ +typedef struct OMX_PARAM_CONTENTURITYPE +{ + OMX_U32 nSize; /**< size of the structure in bytes, including + actual URI name */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U8 contentURI[1]; /**< The URI name */ +} OMX_PARAM_CONTENTURITYPE; + +/* Parameter specifying the pipe to use. */ +/** @ingroup cp */ +typedef struct OMX_PARAM_CONTENTPIPETYPE +{ + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_HANDLETYPE hPipe; /**< The pipe handle*/ +} OMX_PARAM_CONTENTPIPETYPE; + +/** @ingroup rpm */ +typedef struct OMX_RESOURCECONCEALMENTTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_BOOL bResourceConcealmentForbidden; /**< disallow the use of resource concealment + methods (like degrading algorithm quality to + lower resource consumption or functional bypass) + on a component as a resolution to resource conflicts. */ +} OMX_RESOURCECONCEALMENTTYPE; + + +/** @ingroup metadata */ +typedef enum OMX_METADATACHARSETTYPE { + OMX_MetadataCharsetUnknown = 0, + OMX_MetadataCharsetASCII, + OMX_MetadataCharsetBinary, + OMX_MetadataCharsetCodePage1252, + OMX_MetadataCharsetUTF8, + OMX_MetadataCharsetJavaConformantUTF8, + OMX_MetadataCharsetUTF7, + OMX_MetadataCharsetImapUTF7, + OMX_MetadataCharsetUTF16LE, + OMX_MetadataCharsetUTF16BE, + OMX_MetadataCharsetGB12345, + OMX_MetadataCharsetHZGB2312, + OMX_MetadataCharsetGB2312, + OMX_MetadataCharsetGB18030, + OMX_MetadataCharsetGBK, + OMX_MetadataCharsetBig5, + OMX_MetadataCharsetISO88591, + OMX_MetadataCharsetISO88592, + OMX_MetadataCharsetISO88593, + OMX_MetadataCharsetISO88594, + OMX_MetadataCharsetISO88595, + OMX_MetadataCharsetISO88596, + OMX_MetadataCharsetISO88597, + OMX_MetadataCharsetISO88598, + OMX_MetadataCharsetISO88599, + OMX_MetadataCharsetISO885910, + OMX_MetadataCharsetISO885913, + OMX_MetadataCharsetISO885914, + OMX_MetadataCharsetISO885915, + OMX_MetadataCharsetShiftJIS, + OMX_MetadataCharsetISO2022JP, + OMX_MetadataCharsetISO2022JP1, + OMX_MetadataCharsetISOEUCJP, + OMX_MetadataCharsetSMS7Bit, + OMX_MetadataCharsetKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MetadataCharsetVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MetadataCharsetTypeMax= 0x7FFFFFFF +} OMX_METADATACHARSETTYPE; + +/** @ingroup metadata */ +typedef enum OMX_METADATASCOPETYPE +{ + OMX_MetadataScopeAllLevels, + OMX_MetadataScopeTopLevel, + OMX_MetadataScopePortLevel, + OMX_MetadataScopeNodeLevel, + OMX_MetadataScopeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MetadataScopeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MetadataScopeTypeMax = 0x7fffffff +} OMX_METADATASCOPETYPE; + +/** @ingroup metadata */ +typedef enum OMX_METADATASEARCHMODETYPE +{ + OMX_MetadataSearchValueSizeByIndex, + OMX_MetadataSearchItemByIndex, + OMX_MetadataSearchNextItemByKey, + OMX_MetadataSearchKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MetadataSearchVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MetadataSearchTypeMax = 0x7fffffff +} OMX_METADATASEARCHMODETYPE; +/** @ingroup metadata */ +typedef struct OMX_CONFIG_METADATAITEMCOUNTTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_METADATASCOPETYPE eScopeMode; + OMX_U32 nScopeSpecifier; + OMX_U32 nMetadataItemCount; +} OMX_CONFIG_METADATAITEMCOUNTTYPE; + +/** @ingroup metadata */ +typedef struct OMX_CONFIG_METADATAITEMTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_METADATASCOPETYPE eScopeMode; + OMX_U32 nScopeSpecifier; + OMX_U32 nMetadataItemIndex; + OMX_METADATASEARCHMODETYPE eSearchMode; + OMX_METADATACHARSETTYPE eKeyCharset; + OMX_U8 nKeySizeUsed; + OMX_U8 nKey[128]; + OMX_METADATACHARSETTYPE eValueCharset; + OMX_STRING sLanguageCountry; + OMX_U32 nValueMaxSize; + OMX_U32 nValueSizeUsed; + OMX_U8 nValue[1]; +} OMX_CONFIG_METADATAITEMTYPE; + +/* @ingroup metadata */ +typedef struct OMX_CONFIG_CONTAINERNODECOUNTTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bAllKeys; + OMX_U32 nParentNodeID; + OMX_U32 nNumNodes; +} OMX_CONFIG_CONTAINERNODECOUNTTYPE; + +/** @ingroup metadata */ +typedef struct OMX_CONFIG_CONTAINERNODEIDTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bAllKeys; + OMX_U32 nParentNodeID; + OMX_U32 nNodeIndex; + OMX_U32 nNodeID; + OMX_STRING cNodeName; + OMX_BOOL bIsLeafType; +} OMX_CONFIG_CONTAINERNODEIDTYPE; + +/** @ingroup metadata */ +typedef struct OMX_PARAM_METADATAFILTERTYPE +{ + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_BOOL bAllKeys; /* if true then this structure refers to all keys and + * the three key fields below are ignored */ + OMX_METADATACHARSETTYPE eKeyCharset; + OMX_U32 nKeySizeUsed; + OMX_U8 nKey [128]; + OMX_U32 nLanguageCountrySizeUsed; + OMX_U8 nLanguageCountry[128]; + OMX_BOOL bEnabled; /* if true then key is part of filter (e.g. + * retained for query later). If false then + * key is not part of filter */ +} OMX_PARAM_METADATAFILTERTYPE; + +/** The OMX_HANDLETYPE structure defines the component handle. The component + * handle is used to access all of the component's public methods and also + * contains pointers to the component's private data area. The component + * handle is initialized by the OMX core (with help from the component) + * during the process of loading the component. After the component is + * successfully loaded, the application can safely access any of the + * component's public functions (although some may return an error because + * the state is inappropriate for the access). + * + * @ingroup comp + */ +typedef struct OMX_COMPONENTTYPE +{ + /** The size of this structure, in bytes. It is the responsibility + of the allocator of this structure to fill in this value. Since + this structure is allocated by the GetHandle function, this + function will fill in this value. */ + OMX_U32 nSize; + + /** nVersion is the version of the OMX specification that the structure + is built against. It is the responsibility of the creator of this + structure to initialize this value and every user of this structure + should verify that it knows how to use the exact version of + this structure found herein. */ + OMX_VERSIONTYPE nVersion; + + /** pComponentPrivate is a pointer to the component private data area. + This member is allocated and initialized by the component when the + component is first loaded. The application should not access this + data area. */ + OMX_PTR pComponentPrivate; + + /** pApplicationPrivate is a pointer that is a parameter to the + OMX_GetHandle method, and contains an application private value + provided by the IL client. This application private data is + returned to the IL Client by OMX in all callbacks */ + OMX_PTR pApplicationPrivate; + + /** refer to OMX_GetComponentVersion in OMX_core.h or the OMX IL + specification for details on the GetComponentVersion method. + */ + OMX_ERRORTYPE (*GetComponentVersion)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_OUT OMX_STRING pComponentName, + OMX_OUT OMX_VERSIONTYPE* pComponentVersion, + OMX_OUT OMX_VERSIONTYPE* pSpecVersion, + OMX_OUT OMX_UUIDTYPE* pComponentUUID); + + /** refer to OMX_SendCommand in OMX_core.h or the OMX IL + specification for details on the SendCommand method. + */ + OMX_ERRORTYPE (*SendCommand)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_COMMANDTYPE Cmd, + OMX_IN OMX_U32 nParam1, + OMX_IN OMX_PTR pCmdData); + + /** refer to OMX_GetParameter in OMX_core.h or the OMX IL + specification for details on the GetParameter method. + */ + OMX_ERRORTYPE (*GetParameter)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_INDEXTYPE nParamIndex, + OMX_INOUT OMX_PTR pComponentParameterStructure); + + + /** refer to OMX_SetParameter in OMX_core.h or the OMX IL + specification for details on the SetParameter method. + */ + OMX_ERRORTYPE (*SetParameter)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_INDEXTYPE nIndex, + OMX_IN OMX_PTR pComponentParameterStructure); + + + /** refer to OMX_GetConfig in OMX_core.h or the OMX IL + specification for details on the GetConfig method. + */ + OMX_ERRORTYPE (*GetConfig)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_INDEXTYPE nIndex, + OMX_INOUT OMX_PTR pComponentConfigStructure); + + + /** refer to OMX_SetConfig in OMX_core.h or the OMX IL + specification for details on the SetConfig method. + */ + OMX_ERRORTYPE (*SetConfig)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_INDEXTYPE nIndex, + OMX_IN OMX_PTR pComponentConfigStructure); + + + /** refer to OMX_GetExtensionIndex in OMX_core.h or the OMX IL + specification for details on the GetExtensionIndex method. + */ + OMX_ERRORTYPE (*GetExtensionIndex)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_STRING cParameterName, + OMX_OUT OMX_INDEXTYPE* pIndexType); + + + /** refer to OMX_GetState in OMX_core.h or the OMX IL + specification for details on the GetState method. + */ + OMX_ERRORTYPE (*GetState)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_OUT OMX_STATETYPE* pState); + + + /** The ComponentTunnelRequest method will interact with another OMX + component to determine if tunneling is possible and to setup the + tunneling. The return codes for this method can be used to + determine if tunneling is not possible, or if tunneling is not + supported. + + Base profile components (i.e. non-interop) do not support this + method and should return OMX_ErrorNotImplemented + + The interop profile component MUST support tunneling to another + interop profile component with a compatible port parameters. + A component may also support proprietary communication. + + If proprietary communication is supported the negotiation of + proprietary communication is done outside of OMX in a vendor + specific way. It is only required that the proper result be + returned and the details of how the setup is done is left + to the component implementation. + + When this method is invoked when nPort in an output port, the + component will: + 1. Populate the pTunnelSetup structure with the output port's + requirements and constraints for the tunnel. + + When this method is invoked when nPort in an input port, the + component will: + 1. Query the necessary parameters from the output port to + determine if the ports are compatible for tunneling + 2. If the ports are compatible, the component should store + the tunnel step provided by the output port + 3. Determine which port (either input or output) is the buffer + supplier, and call OMX_SetParameter on the output port to + indicate this selection. + + The component will return from this call within 5 msec. + + @param [in] hComp + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle method. + @param [in] nPort + nPort is used to select the port on the component to be used + for tunneling. + @param [in] hTunneledComp + Handle of the component to tunnel with. This is the component + handle returned by the call to the OMX_GetHandle method. When + this parameter is 0x0 the component should setup the port for + communication with the application / IL Client. + @param [in] nPortOutput + nPortOutput is used indicate the port the component should + tunnel with. + @param [in] pTunnelSetup + Pointer to the tunnel setup structure. When nPort is an output port + the component should populate the fields of this structure. When + When nPort is an input port the component should review the setup + provided by the component with the output port. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup tun + */ + + OMX_ERRORTYPE (*ComponentTunnelRequest)( + OMX_IN OMX_HANDLETYPE hComp, + OMX_IN OMX_U32 nPort, + OMX_IN OMX_HANDLETYPE hTunneledComp, + OMX_IN OMX_U32 nTunneledPort, + OMX_INOUT OMX_TUNNELSETUPTYPE* pTunnelSetup); + + /** refer to OMX_UseBuffer in OMX_core.h or the OMX IL + specification for details on the UseBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*UseBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr, + OMX_IN OMX_U32 nPortIndex, + OMX_IN OMX_PTR pAppPrivate, + OMX_IN OMX_U32 nSizeBytes, + OMX_IN OMX_U8* pBuffer); + + /** refer to OMX_AllocateBuffer in OMX_core.h or the OMX IL + specification for details on the AllocateBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*AllocateBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_INOUT OMX_BUFFERHEADERTYPE** ppBuffer, + OMX_IN OMX_U32 nPortIndex, + OMX_IN OMX_PTR pAppPrivate, + OMX_IN OMX_U32 nSizeBytes); + + /** refer to OMX_FreeBuffer in OMX_core.h or the OMX IL + specification for details on the FreeBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*FreeBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_U32 nPortIndex, + OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); + + /** refer to OMX_EmptyThisBuffer in OMX_core.h or the OMX IL + specification for details on the EmptyThisBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*EmptyThisBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); + + /** refer to OMX_FillThisBuffer in OMX_core.h or the OMX IL + specification for details on the FillThisBuffer method. + @ingroup buf + */ + OMX_ERRORTYPE (*FillThisBuffer)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); + + /** The SetCallbacks method is used by the core to specify the callback + structure from the application to the component. This is a blocking + call. The component will return from this call within 5 msec. + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the GetHandle function. + @param [in] pCallbacks + pointer to an OMX_CALLBACKTYPE structure used to provide the + callback information to the component + @param [in] pAppData + pointer to an application defined value. It is anticipated that + the application will pass a pointer to a data structure or a "this + pointer" in this area to allow the callback (in the application) + to determine the context of the call + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + */ + OMX_ERRORTYPE (*SetCallbacks)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_CALLBACKTYPE* pCallbacks, + OMX_IN OMX_PTR pAppData); + + /** ComponentDeInit method is used to deinitialize the component + providing a means to free any resources allocated at component + initialization. NOTE: After this call the component handle is + not valid for further use. + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the GetHandle function. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + */ + OMX_ERRORTYPE (*ComponentDeInit)( + OMX_IN OMX_HANDLETYPE hComponent); + + /** @ingroup buf */ + OMX_ERRORTYPE (*UseEGLImage)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr, + OMX_IN OMX_U32 nPortIndex, + OMX_IN OMX_PTR pAppPrivate, + OMX_IN void* eglImage); + + OMX_ERRORTYPE (*ComponentRoleEnum)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_OUT OMX_U8 *cRole, + OMX_IN OMX_U32 nIndex); + +} OMX_COMPONENTTYPE; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Core.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Core.h new file mode 100644 index 000000000..e491a0c81 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Core.h @@ -0,0 +1,1456 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** OMX_Core.h - OpenMax IL version 1.1.2 + * The OMX_Core header file contains the definitions used by both the + * application and the component to access common items. + */ + +#ifndef OMX_Core_h +#define OMX_Core_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/* Each OMX header shall include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_Index.h" + + +/** The OMX_COMMANDTYPE enumeration is used to specify the action in the + * OMX_SendCommand macro. + * @ingroup core + */ +typedef enum OMX_COMMANDTYPE +{ + OMX_CommandStateSet, /**< Change the component state */ + OMX_CommandFlush, /**< Flush the data queue(s) of a component */ + OMX_CommandPortDisable, /**< Disable a port on a component. */ + OMX_CommandPortEnable, /**< Enable a port on a component. */ + OMX_CommandMarkBuffer, /**< Mark a component/buffer for observation */ + OMX_CommandKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_CommandVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_CommandMax = 0X7FFFFFFF +} OMX_COMMANDTYPE; + + + +/** The OMX_STATETYPE enumeration is used to indicate or change the component + * state. This enumeration reflects the current state of the component when + * used with the OMX_GetState macro or becomes the parameter in a state change + * command when used with the OMX_SendCommand macro. + * + * The component will be in the Loaded state after the component is initially + * loaded into memory. In the Loaded state, the component is not allowed to + * allocate or hold resources other than to build it's internal parameter + * and configuration tables. The application will send one or more + * SetParameters/GetParameters and SetConfig/GetConfig commands to the + * component and the component will record each of these parameter and + * configuration changes for use later. When the application sends the + * Idle command, the component will acquire the resources needed for the + * specified configuration and will transition to the idle state if the + * allocation is successful. If the component cannot successfully + * transition to the idle state for any reason, the state of the component + * shall be fully rolled back to the Loaded state (e.g. all allocated + * resources shall be released). When the component receives the command + * to go to the Executing state, it shall begin processing buffers by + * sending all input buffers it holds to the application. While + * the component is in the Idle state, the application may also send the + * Pause command. If the component receives the pause command while in the + * Idle state, the component shall send all input buffers it holds to the + * application, but shall not begin processing buffers. This will allow the + * application to prefill buffers. + * + * @ingroup comp + */ + +typedef enum OMX_STATETYPE +{ + OMX_StateInvalid, /**< component has detected that it's internal data + structures are corrupted to the point that + it cannot determine it's state properly */ + OMX_StateLoaded, /**< component has been loaded but has not completed + initialization. The OMX_SetParameter macro + and the OMX_GetParameter macro are the only + valid macros allowed to be sent to the + component in this state. */ + OMX_StateIdle, /**< component initialization has been completed + successfully and the component is ready to + to start. */ + OMX_StateExecuting, /**< component has accepted the start command and + is processing data (if data is available) */ + OMX_StatePause, /**< component has received pause command */ + OMX_StateWaitForResources, /**< component is waiting for resources, either after + preemption or before it gets the resources requested. + See specification for complete details. */ + OMX_StateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_StateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_StateMax = 0X7FFFFFFF +} OMX_STATETYPE; + +/** The OMX_ERRORTYPE enumeration defines the standard OMX Errors. These + * errors should cover most of the common failure cases. However, + * vendors are free to add additional error messages of their own as + * long as they follow these rules: + * 1. Vendor error messages shall be in the range of 0x90000000 to + * 0x9000FFFF. + * 2. Vendor error messages shall be defined in a header file provided + * with the component. No error messages are allowed that are + * not defined. + */ +typedef enum OMX_ERRORTYPE +{ + OMX_ErrorNone = 0, + + /** There were insufficient resources to perform the requested operation */ + OMX_ErrorInsufficientResources = (OMX_S32) 0x80001000, + + /** There was an error, but the cause of the error could not be determined */ + OMX_ErrorUndefined = (OMX_S32) 0x80001001, + + /** The component name string was not valid */ + OMX_ErrorInvalidComponentName = (OMX_S32) 0x80001002, + + /** No component with the specified name string was found */ + OMX_ErrorComponentNotFound = (OMX_S32) 0x80001003, + + /** The component specified did not have a "OMX_ComponentInit" or + "OMX_ComponentDeInit entry point */ + OMX_ErrorInvalidComponent = (OMX_S32) 0x80001004, + + /** One or more parameters were not valid */ + OMX_ErrorBadParameter = (OMX_S32) 0x80001005, + + /** The requested function is not implemented */ + OMX_ErrorNotImplemented = (OMX_S32) 0x80001006, + + /** The buffer was emptied before the next buffer was ready */ + OMX_ErrorUnderflow = (OMX_S32) 0x80001007, + + /** The buffer was not available when it was needed */ + OMX_ErrorOverflow = (OMX_S32) 0x80001008, + + /** The hardware failed to respond as expected */ + OMX_ErrorHardware = (OMX_S32) 0x80001009, + + /** The component is in the state OMX_StateInvalid */ + OMX_ErrorInvalidState = (OMX_S32) 0x8000100A, + + /** Stream is found to be corrupt */ + OMX_ErrorStreamCorrupt = (OMX_S32) 0x8000100B, + + /** Ports being connected are not compatible */ + OMX_ErrorPortsNotCompatible = (OMX_S32) 0x8000100C, + + /** Resources allocated to an idle component have been + lost resulting in the component returning to the loaded state */ + OMX_ErrorResourcesLost = (OMX_S32) 0x8000100D, + + /** No more indicies can be enumerated */ + OMX_ErrorNoMore = (OMX_S32) 0x8000100E, + + /** The component detected a version mismatch */ + OMX_ErrorVersionMismatch = (OMX_S32) 0x8000100F, + + /** The component is not ready to return data at this time */ + OMX_ErrorNotReady = (OMX_S32) 0x80001010, + + /** There was a timeout that occurred */ + OMX_ErrorTimeout = (OMX_S32) 0x80001011, + + /** This error occurs when trying to transition into the state you are already in */ + OMX_ErrorSameState = (OMX_S32) 0x80001012, + + /** Resources allocated to an executing or paused component have been + preempted, causing the component to return to the idle state */ + OMX_ErrorResourcesPreempted = (OMX_S32) 0x80001013, + + /** A non-supplier port sends this error to the IL client (via the EventHandler callback) + during the allocation of buffers (on a transition from the LOADED to the IDLE state or + on a port restart) when it deems that it has waited an unusually long time for the supplier + to send it an allocated buffer via a UseBuffer call. */ + OMX_ErrorPortUnresponsiveDuringAllocation = (OMX_S32) 0x80001014, + + /** A non-supplier port sends this error to the IL client (via the EventHandler callback) + during the deallocation of buffers (on a transition from the IDLE to LOADED state or + on a port stop) when it deems that it has waited an unusually long time for the supplier + to request the deallocation of a buffer header via a FreeBuffer call. */ + OMX_ErrorPortUnresponsiveDuringDeallocation = (OMX_S32) 0x80001015, + + /** A supplier port sends this error to the IL client (via the EventHandler callback) + during the stopping of a port (either on a transition from the IDLE to LOADED + state or a port stop) when it deems that it has waited an unusually long time for + the non-supplier to return a buffer via an EmptyThisBuffer or FillThisBuffer call. */ + OMX_ErrorPortUnresponsiveDuringStop = (OMX_S32) 0x80001016, + + /** Attempting a state transtion that is not allowed */ + OMX_ErrorIncorrectStateTransition = (OMX_S32) 0x80001017, + + /* Attempting a command that is not allowed during the present state. */ + OMX_ErrorIncorrectStateOperation = (OMX_S32) 0x80001018, + + /** The values encapsulated in the parameter or config structure are not supported. */ + OMX_ErrorUnsupportedSetting = (OMX_S32) 0x80001019, + + /** The parameter or config indicated by the given index is not supported. */ + OMX_ErrorUnsupportedIndex = (OMX_S32) 0x8000101A, + + /** The port index supplied is incorrect. */ + OMX_ErrorBadPortIndex = (OMX_S32) 0x8000101B, + + /** The port has lost one or more of its buffers and it thus unpopulated. */ + OMX_ErrorPortUnpopulated = (OMX_S32) 0x8000101C, + + /** Component suspended due to temporary loss of resources */ + OMX_ErrorComponentSuspended = (OMX_S32) 0x8000101D, + + /** Component suspended due to an inability to acquire dynamic resources */ + OMX_ErrorDynamicResourcesUnavailable = (OMX_S32) 0x8000101E, + + /** When the macroblock error reporting is enabled the component returns new error + for every frame that has errors */ + OMX_ErrorMbErrorsInFrame = (OMX_S32) 0x8000101F, + + /** A component reports this error when it cannot parse or determine the format of an input stream. */ + OMX_ErrorFormatNotDetected = (OMX_S32) 0x80001020, + + /** The content open operation failed. */ + OMX_ErrorContentPipeOpenFailed = (OMX_S32) 0x80001021, + + /** The content creation operation failed. */ + OMX_ErrorContentPipeCreationFailed = (OMX_S32) 0x80001022, + + /** Separate table information is being used */ + OMX_ErrorSeperateTablesUsed = (OMX_S32) 0x80001023, + + /** Tunneling is unsupported by the component*/ + OMX_ErrorTunnelingUnsupported = (OMX_S32) 0x80001024, + + OMX_ErrorKhronosExtensions = (OMX_S32)0x8F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ErrorVendorStartUnused = (OMX_S32)0x90000000, /**< Reserved region for introducing Vendor Extensions */ + + /** Disk Full error */ + OMX_ErrorDiskFull = (OMX_S32) 0x90000001, + + /** Max file size is reached */ + OMX_ErrorMaxFileSize = (OMX_S32) 0x90000002, + + /** Unauthorised to play a DRM protected file */ + OMX_ErrorDrmUnauthorised = (OMX_S32) 0x90000003, + + /** The DRM protected file has expired */ + OMX_ErrorDrmExpired = (OMX_S32) 0x90000004, + + /** Some other DRM library error */ + OMX_ErrorDrmGeneral = (OMX_S32) 0x90000005, + + OMX_ErrorMax = 0x7FFFFFFF +} OMX_ERRORTYPE; + +/** @ingroup core */ +typedef OMX_ERRORTYPE (* OMX_COMPONENTINITTYPE)(OMX_IN OMX_HANDLETYPE hComponent); + +/** @ingroup core */ +typedef struct OMX_COMPONENTREGISTERTYPE +{ + const char * pName; /* Component name, 128 byte limit (including '\0') applies */ + OMX_COMPONENTINITTYPE pInitialize; /* Component instance initialization function */ +} OMX_COMPONENTREGISTERTYPE; + +/** @ingroup core */ +extern OMX_COMPONENTREGISTERTYPE OMX_ComponentRegistered[]; + +/** @ingroup rpm */ +typedef struct OMX_PRIORITYMGMTTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nGroupPriority; /**< Priority of the component group */ + OMX_U32 nGroupID; /**< ID of the component group */ +} OMX_PRIORITYMGMTTYPE; + +/* Component name and Role names are limited to 128 characters including the terminating '\0'. */ +#define OMX_MAX_STRINGNAME_SIZE 128 + +/** @ingroup comp */ +typedef struct OMX_PARAM_COMPONENTROLETYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U8 cRole[OMX_MAX_STRINGNAME_SIZE]; /**< name of standard component which defines component role */ +} OMX_PARAM_COMPONENTROLETYPE; + +/** End of Stream Buffer Flag: + * + * A component sets EOS when it has no more data to emit on a particular + * output port. Thus an output port shall set EOS on the last buffer it + * emits. A component's determination of when an output port should + * cease sending data is implemenation specific. + * @ingroup buf + */ + +#define OMX_BUFFERFLAG_EOS 0x00000001 + +/** Start Time Buffer Flag: + * + * The source of a stream (e.g. a demux component) sets the STARTTIME + * flag on the buffer that contains the starting timestamp for the + * stream. The starting timestamp corresponds to the first data that + * should be displayed at startup or after a seek. + * The first timestamp of the stream is not necessarily the start time. + * For instance, in the case of a seek to a particular video frame, + * the target frame may be an interframe. Thus the first buffer of + * the stream will be the intra-frame preceding the target frame and + * the starttime will occur with the target frame (with any other + * required frames required to reconstruct the target intervening). + * + * The STARTTIME flag is directly associated with the buffer's + * timestamp ' thus its association to buffer data and its + * propagation is identical to the timestamp's. + * + * When a Sync Component client receives a buffer with the + * STARTTIME flag it shall perform a SetConfig on its sync port + * using OMX_ConfigTimeClientStartTime and passing the buffer's + * timestamp. + * + * @ingroup buf + */ + +#define OMX_BUFFERFLAG_STARTTIME 0x00000002 + + + +/** Decode Only Buffer Flag: + * + * The source of a stream (e.g. a demux component) sets the DECODEONLY + * flag on any buffer that should shall be decoded but should not be + * displayed. This flag is used, for instance, when a source seeks to + * a target interframe that requires the decode of frames preceding the + * target to facilitate the target's reconstruction. In this case the + * source would emit the frames preceding the target downstream + * but mark them as decode only. + * + * The DECODEONLY is associated with buffer data and propagated in a + * manner identical to the buffer timestamp. + * + * A component that renders data should ignore all buffers with + * the DECODEONLY flag set. + * + * @ingroup buf + */ + +#define OMX_BUFFERFLAG_DECODEONLY 0x00000004 + + +/* Data Corrupt Flag: This flag is set when the IL client believes the data in the associated buffer is corrupt + * @ingroup buf + */ + +#define OMX_BUFFERFLAG_DATACORRUPT 0x00000008 + +/* End of Frame: The buffer contains exactly one end of frame and no data + * occurs after the end of frame. This flag is an optional hint. The absence + * of this flag does not imply the absence of an end of frame within the buffer. + * @ingroup buf +*/ +#define OMX_BUFFERFLAG_ENDOFFRAME 0x00000010 + +/* Sync Frame Flag: This flag is set when the buffer content contains a coded sync frame ' + * a frame that has no dependency on any other frame information + * @ingroup buf + */ +#define OMX_BUFFERFLAG_SYNCFRAME 0x00000020 + +/* Extra data present flag: there is extra data appended to the data stream + * residing in the buffer + * @ingroup buf + */ +#define OMX_BUFFERFLAG_EXTRADATA 0x00000040 + +/** Codec Config Buffer Flag: +* OMX_BUFFERFLAG_CODECCONFIG is an optional flag that is set by an +* output port when all bytes in the buffer form part or all of a set of +* codec specific configuration data. Examples include SPS/PPS nal units +* for OMX_VIDEO_CodingAVC or AudioSpecificConfig data for +* OMX_AUDIO_CodingAAC. Any component that for a given stream sets +* OMX_BUFFERFLAG_CODECCONFIG shall not mix codec configuration bytes +* with frame data in the same buffer, and shall send all buffers +* containing codec configuration bytes before any buffers containing +* frame data that those configurations bytes describe. +* If the stream format for a particular codec has a frame specific +* header at the start of each frame, for example OMX_AUDIO_CodingMP3 or +* OMX_AUDIO_CodingAAC in ADTS mode, then these shall be presented as +* normal without setting OMX_BUFFERFLAG_CODECCONFIG. + * @ingroup buf + */ +#define OMX_BUFFERFLAG_CODECCONFIG 0x00000080 + + + +/** @ingroup buf */ +typedef struct OMX_BUFFERHEADERTYPE +{ + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U8* pBuffer; /**< Pointer to actual block of memory + that is acting as the buffer */ + OMX_U32 nAllocLen; /**< size of the buffer allocated, in bytes */ + OMX_U32 nFilledLen; /**< number of bytes currently in the + buffer */ + OMX_U32 nOffset; /**< start offset of valid data in bytes from + the start of the buffer */ + OMX_PTR pAppPrivate; /**< pointer to any data the application + wants to associate with this buffer */ + OMX_PTR pPlatformPrivate; /**< pointer to any data the platform + wants to associate with this buffer */ + OMX_PTR pInputPortPrivate; /**< pointer to any data the input port + wants to associate with this buffer */ + OMX_PTR pOutputPortPrivate; /**< pointer to any data the output port + wants to associate with this buffer */ + OMX_HANDLETYPE hMarkTargetComponent; /**< The component that will generate a + mark event upon processing this buffer. */ + OMX_PTR pMarkData; /**< Application specific data associated with + the mark sent on a mark event to disambiguate + this mark from others. */ + OMX_U32 nTickCount; /**< Optional entry that the component and + application can update with a tick count + when they access the component. This + value should be in microseconds. Since + this is a value relative to an arbitrary + starting point, this value cannot be used + to determine absolute time. This is an + optional entry and not all components + will update it.*/ + OMX_TICKS nTimeStamp; /**< Timestamp corresponding to the sample + starting at the first logical sample + boundary in the buffer. Timestamps of + successive samples within the buffer may + be inferred by adding the duration of the + of the preceding buffer to the timestamp + of the preceding buffer.*/ + OMX_U32 nFlags; /**< buffer specific flags */ + OMX_U32 nOutputPortIndex; /**< The index of the output port (if any) using + this buffer */ + OMX_U32 nInputPortIndex; /**< The index of the input port (if any) using + this buffer */ +} OMX_BUFFERHEADERTYPE; + +/** The OMX_EXTRADATATYPE enumeration is used to define the + * possible extra data payload types. + * NB: this enum is binary backwards compatible with the previous + * OMX_EXTRADATA_QUANT define. This should be replaced with + * OMX_ExtraDataQuantization. + */ +typedef enum OMX_EXTRADATATYPE +{ + OMX_ExtraDataNone = 0, /**< Indicates that no more extra data sections follow */ + OMX_ExtraDataQuantization, /**< The data payload contains quantization data */ + OMX_ExtraDataKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ExtraDataVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_ExtraDataSequenceGap, /**< Indicates a gap in sequence numbers, data is uint32_t + saying how many frames were lost */ + OMX_ExtraDataDecodeOnlyUntil, /**< Indicates a timestamp until which all data should be + decoded only, and the first packets after should generate + a client start time flag. data is int32_t of seek time + in milliseconds */ + + OMX_ExtraDataMax = 0x7FFFFFFF +} OMX_EXTRADATATYPE; + + +typedef struct OMX_OTHER_EXTRADATATYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_EXTRADATATYPE eType; /* Extra Data type */ + OMX_U32 nDataSize; /* Size of the supporting data to follow */ + OMX_U8 data[1]; /* Supporting data hint */ +} OMX_OTHER_EXTRADATATYPE; + +/** @ingroup comp */ +typedef struct OMX_PORT_PARAM_TYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPorts; /**< The number of ports for this component */ + OMX_U32 nStartPortNumber; /** first port number for this type of port */ +} OMX_PORT_PARAM_TYPE; + +/** @ingroup comp */ +typedef enum OMX_EVENTTYPE +{ + OMX_EventCmdComplete, /**< component has sucessfully completed a command */ + OMX_EventError, /**< component has detected an error condition */ + OMX_EventMark, /**< component has detected a buffer mark */ + OMX_EventPortSettingsChanged, /**< component is reported a port settings change */ + OMX_EventBufferFlag, /**< component has detected an EOS */ + OMX_EventResourcesAcquired, /**< component has been granted resources and is + automatically starting the state change from + OMX_StateWaitForResources to OMX_StateIdle. */ + OMX_EventComponentResumed, /**< Component resumed due to reacquisition of resources */ + OMX_EventDynamicResourcesAvailable, /**< Component has acquired previously unavailable dynamic resources */ + OMX_EventPortFormatDetected, /**< Component has detected a supported format. */ + OMX_EventKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_EventVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_EventParamOrConfigChanged, /* Should be added to the main spec as part of IL416c */ + OMX_EventMax = 0x7FFFFFFF +} OMX_EVENTTYPE; + +typedef struct OMX_CALLBACKTYPE +{ + /** The EventHandler method is used to notify the application when an + event of interest occurs. Events are defined in the OMX_EVENTTYPE + enumeration. Please see that enumeration for details of what will + be returned for each type of event. Callbacks should not return + an error to the component, so if an error occurs, the application + shall handle it internally. This is a blocking call. + + The application should return from this call within 5 msec to avoid + blocking the component for an excessively long period of time. + + @param hComponent + handle of the component to access. This is the component + handle returned by the call to the GetHandle function. + @param pAppData + pointer to an application defined value that was provided in the + pAppData parameter to the OMX_GetHandle method for the component. + This application defined value is provided so that the application + can have a component specific context when receiving the callback. + @param eEvent + Event that the component wants to notify the application about. + @param nData1 + nData will be the OMX_ERRORTYPE for an error event and will be + an OMX_COMMANDTYPE for a command complete event and OMX_INDEXTYPE for a OMX_PortSettingsChanged event. + @param nData2 + nData2 will hold further information related to the event. Can be OMX_STATETYPE for + a OMX_CommandStateSet command or port index for a OMX_PortSettingsChanged event. + Default value is 0 if not used. ) + @param pEventData + Pointer to additional event-specific data (see spec for meaning). + */ + + OMX_ERRORTYPE (*EventHandler)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_PTR pAppData, + OMX_IN OMX_EVENTTYPE eEvent, + OMX_IN OMX_U32 nData1, + OMX_IN OMX_U32 nData2, + OMX_IN OMX_PTR pEventData); + + /** The EmptyBufferDone method is used to return emptied buffers from an + input port back to the application for reuse. This is a blocking call + so the application should not attempt to refill the buffers during this + call, but should queue them and refill them in another thread. There + is no error return, so the application shall handle any errors generated + internally. + + The application should return from this call within 5 msec. + + @param hComponent + handle of the component to access. This is the component + handle returned by the call to the GetHandle function. + @param pAppData + pointer to an application defined value that was provided in the + pAppData parameter to the OMX_GetHandle method for the component. + This application defined value is provided so that the application + can have a component specific context when receiving the callback. + @param pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer indicating the buffer that was emptied. + @ingroup buf + */ + OMX_ERRORTYPE (*EmptyBufferDone)( + OMX_IN OMX_HANDLETYPE hComponent, + OMX_IN OMX_PTR pAppData, + OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); + + /** The FillBufferDone method is used to return filled buffers from an + output port back to the application for emptying and then reuse. + This is a blocking call so the application should not attempt to + empty the buffers during this call, but should queue the buffers + and empty them in another thread. There is no error return, so + the application shall handle any errors generated internally. The + application shall also update the buffer header to indicate the + number of bytes placed into the buffer. + + The application should return from this call within 5 msec. + + @param hComponent + handle of the component to access. This is the component + handle returned by the call to the GetHandle function. + @param pAppData + pointer to an application defined value that was provided in the + pAppData parameter to the OMX_GetHandle method for the component. + This application defined value is provided so that the application + can have a component specific context when receiving the callback. + @param pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer indicating the buffer that was filled. + @ingroup buf + */ + OMX_ERRORTYPE (*FillBufferDone)( + OMX_OUT OMX_HANDLETYPE hComponent, + OMX_OUT OMX_PTR pAppData, + OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); + +} OMX_CALLBACKTYPE; + +/** The OMX_BUFFERSUPPLIERTYPE enumeration is used to dictate port supplier + preference when tunneling between two ports. + @ingroup tun buf +*/ +typedef enum OMX_BUFFERSUPPLIERTYPE +{ + OMX_BufferSupplyUnspecified = 0x0, /**< port supplying the buffers is unspecified, + or don't care */ + OMX_BufferSupplyInput, /**< input port supplies the buffers */ + OMX_BufferSupplyOutput, /**< output port supplies the buffers */ + OMX_BufferSupplyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_BufferSupplyVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_BufferSupplyMax = 0x7FFFFFFF +} OMX_BUFFERSUPPLIERTYPE; + + +/** buffer supplier parameter + * @ingroup tun + */ +typedef struct OMX_PARAM_BUFFERSUPPLIERTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + OMX_BUFFERSUPPLIERTYPE eBufferSupplier; /**< buffer supplier */ +} OMX_PARAM_BUFFERSUPPLIERTYPE; + + +/**< indicates that buffers received by an input port of a tunnel + may not modify the data in the buffers + @ingroup tun + */ +#define OMX_PORTTUNNELFLAG_READONLY 0x00000001 + + +/** The OMX_TUNNELSETUPTYPE structure is used to pass data from an output + port to an input port as part the two ComponentTunnelRequest calls + resulting from a OMX_SetupTunnel call from the IL Client. + @ingroup tun + */ +typedef struct OMX_TUNNELSETUPTYPE +{ + OMX_U32 nTunnelFlags; /**< bit flags for tunneling */ + OMX_BUFFERSUPPLIERTYPE eSupplier; /**< supplier preference */ +} OMX_TUNNELSETUPTYPE; + +/* OMX Component headers is included to enable the core to use + macros for functions into the component for OMX release 1.0. + Developers should not access any structures or data from within + the component header directly */ +/* TO BE REMOVED - #include */ + +/** GetComponentVersion will return information about the component. + This is a blocking call. This macro will go directly from the + application to the component (via a core macro). The + component will return from this call within 5 msec. + @param [in] hComponent + handle of component to execute the command + @param [out] pComponentName + pointer to an empty string of length 128 bytes. The component + will write its name into this string. The name will be + terminated by a single zero byte. The name of a component will + be 127 bytes or less to leave room for the trailing zero byte. + An example of a valid component name is "OMX.ABC.ChannelMixer\0". + @param [out] pComponentVersion + pointer to an OMX Version structure that the component will fill + in. The component will fill in a value that indicates the + component version. NOTE: the component version is NOT the same + as the OMX Specification version (found in all structures). The + component version is defined by the vendor of the component and + its value is entirely up to the component vendor. + @param [out] pSpecVersion + pointer to an OMX Version structure that the component will fill + in. The SpecVersion is the version of the specification that the + component was built against. Please note that this value may or + may not match the structure's version. For example, if the + component was built against the 2.0 specification, but the + application (which creates the structure is built against the + 1.0 specification the versions would be different. + @param [out] pComponentUUID + pointer to the UUID of the component which will be filled in by + the component. The UUID is a unique identifier that is set at + RUN time for the component and is unique to each instantion of + the component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_GetComponentVersion( \ + hComponent, \ + pComponentName, \ + pComponentVersion, \ + pSpecVersion, \ + pComponentUUID) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetComponentVersion( \ + hComponent, \ + pComponentName, \ + pComponentVersion, \ + pSpecVersion, \ + pComponentUUID) /* Macro End */ + + +/** Send a command to the component. This call is a non-blocking call. + The component should check the parameters and then queue the command + to the component thread to be executed. The component thread shall + send the EventHandler() callback at the conclusion of the command. + This macro will go directly from the application to the component (via + a core macro). The component will return from this call within 5 msec. + + When the command is "OMX_CommandStateSet" the component will queue a + state transition to the new state idenfied in nParam. + + When the command is "OMX_CommandFlush", to flush a port's buffer queues, + the command will force the component to return all buffers NOT CURRENTLY + BEING PROCESSED to the application, in the order in which the buffers + were received. + + When the command is "OMX_CommandPortDisable" or + "OMX_CommandPortEnable", the component's port (given by the value of + nParam) will be stopped or restarted. + + When the command "OMX_CommandMarkBuffer" is used to mark a buffer, the + pCmdData will point to a OMX_MARKTYPE structure containing the component + handle of the component to examine the buffer chain for the mark. nParam1 + contains the index of the port on which the buffer mark is applied. + + Specification text for more details. + + @param [in] hComponent + handle of component to execute the command + @param [in] Cmd + Command for the component to execute + @param [in] nParam + Parameter for the command to be executed. When Cmd has the value + OMX_CommandStateSet, value is a member of OMX_STATETYPE. When Cmd has + the value OMX_CommandFlush, value of nParam indicates which port(s) + to flush. -1 is used to flush all ports a single port index will + only flush that port. When Cmd has the value "OMX_CommandPortDisable" + or "OMX_CommandPortEnable", the component's port is given by + the value of nParam. When Cmd has the value "OMX_CommandMarkBuffer" + the components pot is given by the value of nParam. + @param [in] pCmdData + Parameter pointing to the OMX_MARKTYPE structure when Cmd has the value + "OMX_CommandMarkBuffer". + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_SendCommand( \ + hComponent, \ + Cmd, \ + nParam, \ + pCmdData) \ + ((OMX_COMPONENTTYPE*)hComponent)->SendCommand( \ + hComponent, \ + Cmd, \ + nParam, \ + pCmdData) /* Macro End */ + + +/** The OMX_GetParameter macro will get one of the current parameter + settings from the component. This macro cannot only be invoked when + the component is in the OMX_StateInvalid state. The nParamIndex + parameter is used to indicate which structure is being requested from + the component. The application shall allocate the correct structure + and shall fill in the structure size and version information before + invoking this macro. When the parameter applies to a port, the + caller shall fill in the appropriate nPortIndex value indicating the + port on which the parameter applies. If the component has not had + any settings changed, then the component should return a set of + valid DEFAULT parameters for the component. This is a blocking + call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nParamIndex + Index of the structure to be filled. This value is from the + OMX_INDEXTYPE enumeration. + @param [in,out] pComponentParameterStructure + Pointer to application allocated structure to be filled by the + component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_GetParameter( \ + hComponent, \ + nParamIndex, \ + pComponentParameterStructure) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetParameter( \ + hComponent, \ + nParamIndex, \ + pComponentParameterStructure) /* Macro End */ + + +/** The OMX_SetParameter macro will send an initialization parameter + structure to a component. Each structure shall be sent one at a time, + in a separate invocation of the macro. This macro can only be + invoked when the component is in the OMX_StateLoaded state, or the + port is disabled (when the parameter applies to a port). The + nParamIndex parameter is used to indicate which structure is being + passed to the component. The application shall allocate the + correct structure and shall fill in the structure size and version + information (as well as the actual data) before invoking this macro. + The application is free to dispose of this structure after the call + as the component is required to copy any data it shall retain. This + is a blocking call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nIndex + Index of the structure to be sent. This value is from the + OMX_INDEXTYPE enumeration. + @param [in] pComponentParameterStructure + pointer to application allocated structure to be used for + initialization by the component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_SetParameter( \ + hComponent, \ + nParamIndex, \ + pComponentParameterStructure) \ + ((OMX_COMPONENTTYPE*)hComponent)->SetParameter( \ + hComponent, \ + nParamIndex, \ + pComponentParameterStructure) /* Macro End */ + + +/** The OMX_GetConfig macro will get one of the configuration structures + from a component. This macro can be invoked anytime after the + component has been loaded. The nParamIndex call parameter is used to + indicate which structure is being requested from the component. The + application shall allocate the correct structure and shall fill in the + structure size and version information before invoking this macro. + If the component has not had this configuration parameter sent before, + then the component should return a set of valid DEFAULT values for the + component. This is a blocking call. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nIndex + Index of the structure to be filled. This value is from the + OMX_INDEXTYPE enumeration. + @param [in,out] pComponentConfigStructure + pointer to application allocated structure to be filled by the + component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp +*/ +#define OMX_GetConfig( \ + hComponent, \ + nConfigIndex, \ + pComponentConfigStructure) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetConfig( \ + hComponent, \ + nConfigIndex, \ + pComponentConfigStructure) /* Macro End */ + + +/** The OMX_SetConfig macro will send one of the configuration + structures to a component. Each structure shall be sent one at a time, + each in a separate invocation of the macro. This macro can be invoked + anytime after the component has been loaded. The application shall + allocate the correct structure and shall fill in the structure size + and version information (as well as the actual data) before invoking + this macro. The application is free to dispose of this structure after + the call as the component is required to copy any data it shall retain. + This is a blocking call. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nConfigIndex + Index of the structure to be sent. This value is from the + OMX_INDEXTYPE enumeration above. + @param [in] pComponentConfigStructure + pointer to application allocated structure to be used for + initialization by the component. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_SetConfig( \ + hComponent, \ + nConfigIndex, \ + pComponentConfigStructure) \ + ((OMX_COMPONENTTYPE*)hComponent)->SetConfig( \ + hComponent, \ + nConfigIndex, \ + pComponentConfigStructure) /* Macro End */ + + +/** The OMX_GetExtensionIndex macro will invoke a component to translate + a vendor specific configuration or parameter string into an OMX + structure index. There is no requirement for the vendor to support + this command for the indexes already found in the OMX_INDEXTYPE + enumeration (this is done to save space in small components). The + component shall support all vendor supplied extension indexes not found + in the master OMX_INDEXTYPE enumeration. This is a blocking call. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the GetHandle function. + @param [in] cParameterName + OMX_STRING that shall be less than 128 characters long including + the trailing null byte. This is the string that will get + translated by the component into a configuration index. + @param [out] pIndexType + a pointer to a OMX_INDEXTYPE to receive the index value. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_GetExtensionIndex( \ + hComponent, \ + cParameterName, \ + pIndexType) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetExtensionIndex( \ + hComponent, \ + cParameterName, \ + pIndexType) /* Macro End */ + + +/** The OMX_GetState macro will invoke the component to get the current + state of the component and place the state value into the location + pointed to by pState. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [out] pState + pointer to the location to receive the state. The value returned + is one of the OMX_STATETYPE members + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp + */ +#define OMX_GetState( \ + hComponent, \ + pState) \ + ((OMX_COMPONENTTYPE*)hComponent)->GetState( \ + hComponent, \ + pState) /* Macro End */ + + +/** The OMX_UseBuffer macro will request that the component use + a buffer (and allocate its own buffer header) already allocated + by another component, or by the IL Client. This is a blocking + call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [out] ppBuffer + pointer to an OMX_BUFFERHEADERTYPE structure used to receive the + pointer to the buffer header + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ + +#define OMX_UseBuffer( \ + hComponent, \ + ppBufferHdr, \ + nPortIndex, \ + pAppPrivate, \ + nSizeBytes, \ + pBuffer) \ + ((OMX_COMPONENTTYPE*)hComponent)->UseBuffer( \ + hComponent, \ + ppBufferHdr, \ + nPortIndex, \ + pAppPrivate, \ + nSizeBytes, \ + pBuffer) + + +/** The OMX_AllocateBuffer macro will request that the component allocate + a new buffer and buffer header. The component will allocate the + buffer and the buffer header and return a pointer to the buffer + header. This is a blocking call. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [out] ppBuffer + pointer to an OMX_BUFFERHEADERTYPE structure used to receive + the pointer to the buffer header + @param [in] nPortIndex + nPortIndex is used to select the port on the component the buffer will + be used with. The port can be found by using the nPortIndex + value as an index into the Port Definition array of the component. + @param [in] pAppPrivate + pAppPrivate is used to initialize the pAppPrivate member of the + buffer header structure. + @param [in] nSizeBytes + size of the buffer to allocate. Used when bAllocateNew is true. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_AllocateBuffer( \ + hComponent, \ + ppBuffer, \ + nPortIndex, \ + pAppPrivate, \ + nSizeBytes) \ + ((OMX_COMPONENTTYPE*)hComponent)->AllocateBuffer( \ + hComponent, \ + ppBuffer, \ + nPortIndex, \ + pAppPrivate, \ + nSizeBytes) /* Macro End */ + + +/** The OMX_FreeBuffer macro will release a buffer header from the component + which was allocated using either OMX_AllocateBuffer or OMX_UseBuffer. If + the component allocated the buffer (see the OMX_UseBuffer macro) then + the component shall free the buffer and buffer header. This is a + blocking call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] nPortIndex + nPortIndex is used to select the port on the component the buffer will + be used with. + @param [in] pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_FreeBuffer( \ + hComponent, \ + nPortIndex, \ + pBuffer) \ + ((OMX_COMPONENTTYPE*)hComponent)->FreeBuffer( \ + hComponent, \ + nPortIndex, \ + pBuffer) /* Macro End */ + + +/** The OMX_EmptyThisBuffer macro will send a buffer full of data to an + input port of a component. The buffer will be emptied by the component + and returned to the application via the EmptyBufferDone call back. + This is a non-blocking call in that the component will record the buffer + and return immediately and then empty the buffer, later, at the proper + time. As expected, this macro may be invoked only while the component + is in the OMX_StateExecuting. If nPortIndex does not specify an input + port, the component shall return an error. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_EmptyThisBuffer( \ + hComponent, \ + pBuffer) \ + ((OMX_COMPONENTTYPE*)hComponent)->EmptyThisBuffer( \ + hComponent, \ + pBuffer) /* Macro End */ + + +/** The OMX_FillThisBuffer macro will send an empty buffer to an + output port of a component. The buffer will be filled by the component + and returned to the application via the FillBufferDone call back. + This is a non-blocking call in that the component will record the buffer + and return immediately and then fill the buffer, later, at the proper + time. As expected, this macro may be invoked only while the component + is in the OMX_ExecutingState. If nPortIndex does not specify an output + port, the component shall return an error. + + The component should return from this call within 5 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [in] pBuffer + pointer to an OMX_BUFFERHEADERTYPE structure allocated with UseBuffer + or AllocateBuffer. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_FillThisBuffer( \ + hComponent, \ + pBuffer) \ + ((OMX_COMPONENTTYPE*)hComponent)->FillThisBuffer( \ + hComponent, \ + pBuffer) /* Macro End */ + + + +/** The OMX_UseEGLImage macro will request that the component use + a EGLImage provided by EGL (and allocate its own buffer header) + This is a blocking call. + + The component should return from this call within 20 msec. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the OMX_GetHandle function. + @param [out] ppBuffer + pointer to an OMX_BUFFERHEADERTYPE structure used to receive the + pointer to the buffer header. Note that the memory location used + for this buffer is NOT visible to the IL Client. + @param [in] nPortIndex + nPortIndex is used to select the port on the component the buffer will + be used with. The port can be found by using the nPortIndex + value as an index into the Port Definition array of the component. + @param [in] pAppPrivate + pAppPrivate is used to initialize the pAppPrivate member of the + buffer header structure. + @param [in] eglImage + eglImage contains the handle of the EGLImage to use as a buffer on the + specified port. The component is expected to validate properties of + the EGLImage against the configuration of the port to ensure the component + can use the EGLImage as a buffer. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup comp buf + */ +#define OMX_UseEGLImage( \ + hComponent, \ + ppBufferHdr, \ + nPortIndex, \ + pAppPrivate, \ + eglImage) \ + ((OMX_COMPONENTTYPE*)hComponent)->UseEGLImage( \ + hComponent, \ + ppBufferHdr, \ + nPortIndex, \ + pAppPrivate, \ + eglImage) + +/** The OMX_Init method is used to initialize the OMX core. It shall be the + first call made into OMX and it should only be executed one time without + an interviening OMX_Deinit call. + + The core should return from this call within 20 msec. + + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Init(void); + + +/** The OMX_Deinit method is used to deinitialize the OMX core. It shall be + the last call made into OMX. In the event that the core determines that + thare are components loaded when this call is made, the core may return + with an error rather than try to unload the components. + + The core should return from this call within 20 msec. + + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Deinit(void); + + +/** The OMX_ComponentNameEnum method will enumerate through all the names of + recognised valid components in the system. This function is provided + as a means to detect all the components in the system run-time. There is + no strict ordering to the enumeration order of component names, although + each name will only be enumerated once. If the OMX core supports run-time + installation of new components, it is only requried to detect newly + installed components when the first call to enumerate component names + is made (i.e. when nIndex is 0x0). + + The core should return from this call in 20 msec. + + @param [out] cComponentName + pointer to a null terminated string with the component name. The + names of the components are strings less than 127 bytes in length + plus the trailing null for a maximum size of 128 bytes. An example + of a valid component name is "OMX.TI.AUDIO.DSP.MIXER\0". Names are + assigned by the vendor, but shall start with "OMX." and then have + the Vendor designation next. + @param [in] nNameLength + number of characters in the cComponentName string. With all + component name strings restricted to less than 128 characters + (including the trailing null) it is recomended that the caller + provide a input string for the cComponentName of 128 characters. + @param [in] nIndex + number containing the enumeration index for the component. + Multiple calls to OMX_ComponentNameEnum with increasing values + of nIndex will enumerate through the component names in the + system until OMX_ErrorNoMore is returned. The value of nIndex + is 0 to (N-1), where N is the number of valid installed components + in the system. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. When the value of nIndex exceeds the number of + components in the system minus 1, OMX_ErrorNoMore will be + returned. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_ComponentNameEnum( + OMX_OUT OMX_STRING cComponentName, + OMX_IN OMX_U32 nNameLength, + OMX_IN OMX_U32 nIndex); + + +/** The OMX_GetHandle method will locate the component specified by the + component name given, load that component into memory and then invoke + the component's methods to create an instance of the component. + + The core should return from this call within 20 msec. + + @param [out] pHandle + pointer to an OMX_HANDLETYPE pointer to be filled in by this method. + @param [in] cComponentName + pointer to a null terminated string with the component name. The + names of the components are strings less than 127 bytes in length + plus the trailing null for a maximum size of 128 bytes. An example + of a valid component name is "OMX.TI.AUDIO.DSP.MIXER\0". Names are + assigned by the vendor, but shall start with "OMX." and then have + the Vendor designation next. + @param [in] pAppData + pointer to an application defined value that will be returned + during callbacks so that the application can identify the source + of the callback. + @param [in] pCallBacks + pointer to a OMX_CALLBACKTYPE structure that will be passed to the + component to initialize it with. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_GetHandle( + OMX_OUT OMX_HANDLETYPE* pHandle, + OMX_IN OMX_STRING cComponentName, + OMX_IN OMX_PTR pAppData, + OMX_IN OMX_CALLBACKTYPE* pCallBacks); + + +/** The OMX_FreeHandle method will free a handle allocated by the OMX_GetHandle + method. If the component reference count goes to zero, the component will + be unloaded from memory. + + The core should return from this call within 20 msec when the component is + in the OMX_StateLoaded state. + + @param [in] hComponent + Handle of the component to be accessed. This is the component + handle returned by the call to the GetHandle function. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_FreeHandle( + OMX_IN OMX_HANDLETYPE hComponent); + + + +/** The OMX_SetupTunnel method will handle the necessary calls to the components + to setup the specified tunnel the two components. NOTE: This is + an actual method (not a #define macro). This method will make calls into + the component ComponentTunnelRequest method to do the actual tunnel + connection. + + The ComponentTunnelRequest method on both components will be called. + This method shall not be called unless the component is in the + OMX_StateLoaded state except when the ports used for the tunnel are + disabled. In this case, the component may be in the OMX_StateExecuting, + OMX_StatePause, or OMX_StateIdle states. + + The core should return from this call within 20 msec. + + @param [in] hOutput + Handle of the component to be accessed. Also this is the handle + of the component whose port, specified in the nPortOutput parameter + will be used the source for the tunnel. This is the component handle + returned by the call to the OMX_GetHandle function. There is a + requirement that hOutput be the source for the data when + tunelling (i.e. nPortOutput is an output port). If 0x0, the component + specified in hInput will have it's port specified in nPortInput + setup for communication with the application / IL client. + @param [in] nPortOutput + nPortOutput is used to select the source port on component to be + used in the tunnel. + @param [in] hInput + This is the component to setup the tunnel with. This is the handle + of the component whose port, specified in the nPortInput parameter + will be used the destination for the tunnel. This is the component handle + returned by the call to the OMX_GetHandle function. There is a + requirement that hInput be the destination for the data when + tunelling (i.e. nPortInut is an input port). If 0x0, the component + specified in hOutput will have it's port specified in nPortPOutput + setup for communication with the application / IL client. + @param [in] nPortInput + nPortInput is used to select the destination port on component to be + used in the tunnel. + @return OMX_ERRORTYPE + If the command successfully executes, the return code will be + OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. + When OMX_ErrorNotImplemented is returned, one or both components is + a non-interop component and does not support tunneling. + + On failure, the ports of both components are setup for communication + with the application / IL Client. + @ingroup core tun + */ +OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_SetupTunnel( + OMX_IN OMX_HANDLETYPE hOutput, + OMX_IN OMX_U32 nPortOutput, + OMX_IN OMX_HANDLETYPE hInput, + OMX_IN OMX_U32 nPortInput); + +/** @ingroup cp */ +OMX_API OMX_ERRORTYPE OMX_GetContentPipe( + OMX_OUT OMX_HANDLETYPE *hPipe, + OMX_IN OMX_STRING szURI); + +/** The OMX_GetComponentsOfRole method will return the number of components that support the given + role and (if the compNames field is non-NULL) the names of those components. The call will fail if + an insufficiently sized array of names is supplied. To ensure the array is sufficiently sized the + client should: + * first call this function with the compNames field NULL to determine the number of component names + * second call this function with the compNames field pointing to an array of names allocated + according to the number returned by the first call. + + The core should return from this call within 5 msec. + + @param [in] role + This is generic standard component name consisting only of component class + name and the type within that class (e.g. 'audio_decoder.aac'). + @param [inout] pNumComps + This is used both as input and output. + + If compNames is NULL, the input is ignored and the output specifies how many components support + the given role. + + If compNames is not NULL, on input it bounds the size of the input structure and + on output, it specifies the number of components string names listed within the compNames parameter. + @param [inout] compNames + If NULL this field is ignored. If non-NULL this points to an array of 128-byte strings which accepts + a list of the names of all physical components that implement the specified standard component name. + Each name is NULL terminated. numComps indicates the number of names. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_GetComponentsOfRole ( + OMX_IN OMX_STRING role, + OMX_INOUT OMX_U32 *pNumComps, + OMX_INOUT OMX_U8 **compNames); + +/** The OMX_GetRolesOfComponent method will return the number of roles supported by the given + component and (if the roles field is non-NULL) the names of those roles. The call will fail if + an insufficiently sized array of names is supplied. To ensure the array is sufficiently sized the + client should: + * first call this function with the roles field NULL to determine the number of role names + * second call this function with the roles field pointing to an array of names allocated + according to the number returned by the first call. + + The core should return from this call within 5 msec. + + @param [in] compName + This is the name of the component being queried about. + @param [inout] pNumRoles + This is used both as input and output. + + If roles is NULL, the input is ignored and the output specifies how many roles the component supports. + + If compNames is not NULL, on input it bounds the size of the input structure and + on output, it specifies the number of roles string names listed within the roles parameter. + @param [out] roles + If NULL this field is ignored. If non-NULL this points to an array of 128-byte strings + which accepts a list of the names of all standard components roles implemented on the + specified component name. numComps indicates the number of names. + @ingroup core + */ +OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent ( + OMX_IN OMX_STRING compName, + OMX_INOUT OMX_U32 *pNumRoles, + OMX_OUT OMX_U8 **roles); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ + diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_ILCS.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_ILCS.h new file mode 100644 index 000000000..434b47105 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_ILCS.h @@ -0,0 +1,65 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// OpenMAX IL - ILCS specific types + +#ifndef OMX_ILCS_h +#define OMX_ILCS_h + +typedef struct OMX_PARAM_PORTSUMMARYTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nNumPorts; /**< Total number of ports */ + OMX_U32 reqSet; /**< Which set of ports is details below, portIndex[0] is port reqSet*32 */ + OMX_U32 portDir; /**< Bitfield, 1 if output port, 0 if input port, max 256 ports */ + OMX_U32 portIndex[32]; /**< Port Indexes */ +} OMX_PARAM_PORTSUMMARYTYPE; + +typedef struct OMX_PARAM_MARKCOMPARISONTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_PTR mark; /**< Pointer to be used for mark comparisons */ +} OMX_PARAM_MARKCOMPARISONTYPE; + +typedef struct OMX_PARAM_BRCMRECURSIONUNSAFETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_S32 (*pRecursionUnsafe)(OMX_PTR param); + OMX_PTR param; +} OMX_PARAM_BRCMRECURSIONUNSAFETYPE; + +typedef struct OMX_PARAM_TUNNELSTATUSTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port being queried */ + OMX_U32 nIndex; /**< Query the nIndex'th port and fill in nPortIndex */ + OMX_BOOL bUseIndex; /**< If OMX_TRUE read nIndex, otherwise read nPortIndex */ + OMX_PTR hTunneledComponent; /**< Component currently tunnelling with */ + OMX_U32 nTunneledPort; /**< Port on tunnelled component */ +} OMX_PARAM_TUNNELSTATUSTYPE; + +#endif diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_IVCommon.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_IVCommon.h new file mode 100644 index 000000000..563ea4e41 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_IVCommon.h @@ -0,0 +1,1082 @@ +/** + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** + * @file OMX_IVCommon.h - OpenMax IL version 1.1.2 + * The structures needed by Video and Image components to exchange + * parameters and configuration data with the components. + */ +#ifndef OMX_IVCommon_h +#define OMX_IVCommon_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * Each OMX header must include all required header files to allow the header + * to compile without errors. The includes below are required for this header + * file to compile successfully + */ + +#include "OMX_Core.h" + +/** @defgroup iv OpenMAX IL Imaging and Video Domain + * Common structures for OpenMAX IL Imaging and Video domains + * @{ + */ + + +/** + * Enumeration defining possible uncompressed image/video formats. + * + * ENUMS: + * Unused : Placeholder value when format is N/A + * Monochrome : black and white + * 8bitRGB332 : Red 7:5, Green 4:2, Blue 1:0 + * 12bitRGB444 : Red 11:8, Green 7:4, Blue 3:0 + * 16bitARGB4444 : Alpha 15:12, Red 11:8, Green 7:4, Blue 3:0 + * 16bitARGB1555 : Alpha 15, Red 14:10, Green 9:5, Blue 4:0 + * 16bitRGB565 : Red 15:11, Green 10:5, Blue 4:0 + * 16bitBGR565 : Blue 15:11, Green 10:5, Red 4:0 + * 18bitRGB666 : Red 17:12, Green 11:6, Blue 5:0 + * 18bitARGB1665 : Alpha 17, Red 16:11, Green 10:5, Blue 4:0 + * 19bitARGB1666 : Alpha 18, Red 17:12, Green 11:6, Blue 5:0 + * 24bitRGB888 : Red 24:16, Green 15:8, Blue 7:0 + * 24bitBGR888 : Blue 24:16, Green 15:8, Red 7:0 + * 24bitARGB1887 : Alpha 23, Red 22:15, Green 14:7, Blue 6:0 + * 25bitARGB1888 : Alpha 24, Red 23:16, Green 15:8, Blue 7:0 + * 32bitBGRA8888 : Blue 31:24, Green 23:16, Red 15:8, Alpha 7:0 + * 32bitARGB8888 : Alpha 31:24, Red 23:16, Green 15:8, Blue 7:0 + * YUV411Planar : U,Y are subsampled by a factor of 4 horizontally + * YUV411PackedPlanar : packed per payload in planar slices + * YUV420Planar : Three arrays Y,U,V. + * YUV420PackedPlanar : packed per payload in planar slices + * YUV420SemiPlanar : Two arrays, one is all Y, the other is U and V + * YUV422Planar : Three arrays Y,U,V. + * YUV422PackedPlanar : packed per payload in planar slices + * YUV422SemiPlanar : Two arrays, one is all Y, the other is U and V + * YCbYCr : Organized as 16bit YUYV (i.e. YCbYCr) + * YCrYCb : Organized as 16bit YVYU (i.e. YCrYCb) + * CbYCrY : Organized as 16bit UYVY (i.e. CbYCrY) + * CrYCbY : Organized as 16bit VYUY (i.e. CrYCbY) + * YUV444Interleaved : Each pixel contains equal parts YUV + * RawBayer8bit : SMIA camera output format + * RawBayer10bit : SMIA camera output format + * RawBayer8bitcompressed : SMIA camera output format + Vendor extensions + * 32bitABGR888 : Alpha 31:24, Blue 23:16, Green 15:8, Red 7:0 + */ +typedef enum OMX_COLOR_FORMATTYPE { + OMX_COLOR_FormatUnused, + OMX_COLOR_FormatMonochrome, + OMX_COLOR_Format8bitRGB332, + OMX_COLOR_Format12bitRGB444, + OMX_COLOR_Format16bitARGB4444, + OMX_COLOR_Format16bitARGB1555, + OMX_COLOR_Format16bitRGB565, + OMX_COLOR_Format16bitBGR565, + OMX_COLOR_Format18bitRGB666, + OMX_COLOR_Format18bitARGB1665, + OMX_COLOR_Format19bitARGB1666, + OMX_COLOR_Format24bitRGB888, + OMX_COLOR_Format24bitBGR888, + OMX_COLOR_Format24bitARGB1887, + OMX_COLOR_Format25bitARGB1888, + OMX_COLOR_Format32bitBGRA8888, + OMX_COLOR_Format32bitARGB8888, + OMX_COLOR_FormatYUV411Planar, + OMX_COLOR_FormatYUV411PackedPlanar, + OMX_COLOR_FormatYUV420Planar, + OMX_COLOR_FormatYUV420PackedPlanar, + OMX_COLOR_FormatYUV420SemiPlanar, + OMX_COLOR_FormatYUV422Planar, + OMX_COLOR_FormatYUV422PackedPlanar, + OMX_COLOR_FormatYUV422SemiPlanar, + OMX_COLOR_FormatYCbYCr, + OMX_COLOR_FormatYCrYCb, + OMX_COLOR_FormatCbYCrY, + OMX_COLOR_FormatCrYCbY, + OMX_COLOR_FormatYUV444Interleaved, + OMX_COLOR_FormatRawBayer8bit, + OMX_COLOR_FormatRawBayer10bit, + OMX_COLOR_FormatRawBayer8bitcompressed, + OMX_COLOR_FormatL2, + OMX_COLOR_FormatL4, + OMX_COLOR_FormatL8, + OMX_COLOR_FormatL16, + OMX_COLOR_FormatL24, + OMX_COLOR_FormatL32, + OMX_COLOR_FormatYUV420PackedSemiPlanar, + OMX_COLOR_FormatYUV422PackedSemiPlanar, + OMX_COLOR_Format18BitBGR666, + OMX_COLOR_Format24BitARGB6666, + OMX_COLOR_Format24BitABGR6666, + OMX_COLOR_FormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_COLOR_FormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_COLOR_Format32bitABGR8888, + OMX_COLOR_Format8bitPalette, + OMX_COLOR_FormatYUVUV128, + OMX_COLOR_FormatRawBayer12bit, + OMX_COLOR_FormatBRCMEGL, + OMX_COLOR_FormatBRCMOpaque, + OMX_COLOR_FormatYVU420PackedPlanar, + OMX_COLOR_FormatYVU420PackedSemiPlanar, + OMX_COLOR_FormatMax = 0x7FFFFFFF +} OMX_COLOR_FORMATTYPE; + + +/** + * Defines the matrix for conversion from RGB to YUV or vice versa. + * iColorMatrix should be initialized with the fixed point values + * used in converting between formats. + */ +typedef struct OMX_CONFIG_COLORCONVERSIONTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ + OMX_U32 nPortIndex; /**< Port that this struct applies to */ + OMX_S32 xColorMatrix[3][3]; /**< Stored in signed Q16 format */ + OMX_S32 xColorOffset[4]; /**< Stored in signed Q16 format */ +}OMX_CONFIG_COLORCONVERSIONTYPE; + + +/** + * Structure defining percent to scale each frame dimension. For example: + * To make the width 50% larger, use fWidth = 1.5 and to make the width + * 1/2 the original size, use fWidth = 0.5 + */ +typedef struct OMX_CONFIG_SCALEFACTORTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version info */ + OMX_U32 nPortIndex; /**< Port that this struct applies to */ + OMX_S32 xWidth; /**< Fixed point value stored as Q16 */ + OMX_S32 xHeight; /**< Fixed point value stored as Q16 */ +}OMX_CONFIG_SCALEFACTORTYPE; + + +/** + * Enumeration of possible image filter types + */ +typedef enum OMX_IMAGEFILTERTYPE { + OMX_ImageFilterNone, + OMX_ImageFilterNoise, + OMX_ImageFilterEmboss, + OMX_ImageFilterNegative, + OMX_ImageFilterSketch, + OMX_ImageFilterOilPaint, + OMX_ImageFilterHatch, + OMX_ImageFilterGpen, + OMX_ImageFilterAntialias, + OMX_ImageFilterDeRing, + OMX_ImageFilterSolarize, + OMX_ImageFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ImageFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + /* Broadcom specific image filters */ + OMX_ImageFilterWatercolor, + OMX_ImageFilterPastel, + OMX_ImageFilterSharpen, + OMX_ImageFilterFilm, + OMX_ImageFilterBlur, + OMX_ImageFilterSaturation, + + OMX_ImageFilterDeInterlaceLineDouble, + OMX_ImageFilterDeInterlaceAdvanced, + + OMX_ImageFilterColourSwap, + OMX_ImageFilterWashedOut, + OMX_ImageFilterColourPoint, + OMX_ImageFilterPosterise, + OMX_ImageFilterColourBalance, + OMX_ImageFilterCartoon, + + OMX_ImageFilterMax = 0x7FFFFFFF +} OMX_IMAGEFILTERTYPE; + + +/** + * Image filter configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eImageFilter : Image filter type enumeration + */ +typedef struct OMX_CONFIG_IMAGEFILTERTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGEFILTERTYPE eImageFilter; +} OMX_CONFIG_IMAGEFILTERTYPE; + + +/** + * Customized U and V for color enhancement + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bColorEnhancement : Enable/disable color enhancement + * nCustomizedU : Practical values: 16-240, range: 0-255, value set for + * U component + * nCustomizedV : Practical values: 16-240, range: 0-255, value set for + * V component + */ +typedef struct OMX_CONFIG_COLORENHANCEMENTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bColorEnhancement; + OMX_U8 nCustomizedU; + OMX_U8 nCustomizedV; +} OMX_CONFIG_COLORENHANCEMENTTYPE; + + +/** + * Define color key and color key mask + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nARGBColor : 32bit Alpha, Red, Green, Blue Color + * nARGBMask : 32bit Mask for Alpha, Red, Green, Blue channels + */ +typedef struct OMX_CONFIG_COLORKEYTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nARGBColor; + OMX_U32 nARGBMask; +} OMX_CONFIG_COLORKEYTYPE; + + +/** + * List of color blend types for pre/post processing + * + * ENUMS: + * None : No color blending present + * AlphaConstant : Function is (alpha_constant * src) + + * (1 - alpha_constant) * dst) + * AlphaPerPixel : Function is (alpha * src) + (1 - alpha) * dst) + * Alternate : Function is alternating pixels from src and dst + * And : Function is (src & dst) + * Or : Function is (src | dst) + * Invert : Function is ~src + */ +typedef enum OMX_COLORBLENDTYPE { + OMX_ColorBlendNone, + OMX_ColorBlendAlphaConstant, + OMX_ColorBlendAlphaPerPixel, + OMX_ColorBlendAlternate, + OMX_ColorBlendAnd, + OMX_ColorBlendOr, + OMX_ColorBlendInvert, + OMX_ColorBlendKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ColorBlendVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_ColorBlendMax = 0x7FFFFFFF +} OMX_COLORBLENDTYPE; + + +/** + * Color blend configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nRGBAlphaConstant : Constant global alpha values when global alpha is used + * eColorBlend : Color blend type enumeration + */ +typedef struct OMX_CONFIG_COLORBLENDTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nRGBAlphaConstant; + OMX_COLORBLENDTYPE eColorBlend; +} OMX_CONFIG_COLORBLENDTYPE; + + +/** + * Hold frame dimension + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nWidth : Frame width in pixels + * nHeight : Frame height in pixels + */ +typedef struct OMX_FRAMESIZETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nWidth; + OMX_U32 nHeight; +} OMX_FRAMESIZETYPE; + + +/** + * Rotation configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nRotation : +/- integer rotation value + */ +typedef struct OMX_CONFIG_ROTATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nRotation; +} OMX_CONFIG_ROTATIONTYPE; + + +/** + * Possible mirroring directions for pre/post processing + * + * ENUMS: + * None : No mirroring + * Vertical : Vertical mirroring, flip on X axis + * Horizontal : Horizontal mirroring, flip on Y axis + * Both : Both vertical and horizontal mirroring + */ +typedef enum OMX_MIRRORTYPE { + OMX_MirrorNone = 0, + OMX_MirrorVertical, + OMX_MirrorHorizontal, + OMX_MirrorBoth, + OMX_MirrorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MirrorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MirrorMax = 0x7FFFFFFF +} OMX_MIRRORTYPE; + + +/** + * Mirroring configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eMirror : Mirror type enumeration + */ +typedef struct OMX_CONFIG_MIRRORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_MIRRORTYPE eMirror; +} OMX_CONFIG_MIRRORTYPE; + + +/** + * Position information only + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nX : X coordinate for the point + * nY : Y coordinate for the point + */ +typedef struct OMX_CONFIG_POINTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nX; + OMX_S32 nY; +} OMX_CONFIG_POINTTYPE; + + +/** + * Frame size plus position + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nLeft : X Coordinate of the top left corner of the rectangle + * nTop : Y Coordinate of the top left corner of the rectangle + * nWidth : Width of the rectangle + * nHeight : Height of the rectangle + */ +typedef struct OMX_CONFIG_RECTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nLeft; + OMX_S32 nTop; + OMX_U32 nWidth; + OMX_U32 nHeight; +} OMX_CONFIG_RECTTYPE; + + +/** + * Deblocking state; it is required to be set up before starting the codec + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bDeblocking : Enable/disable deblocking mode + */ +typedef struct OMX_PARAM_DEBLOCKINGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bDeblocking; +} OMX_PARAM_DEBLOCKINGTYPE; + + +/** + * Stabilization state + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bStab : Enable/disable frame stabilization state + */ +typedef struct OMX_CONFIG_FRAMESTABTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bStab; +} OMX_CONFIG_FRAMESTABTYPE; + + +/** + * White Balance control type + * + * STRUCT MEMBERS: + * SunLight : Referenced in JSR-234 + * Flash : Optimal for device's integrated flash + */ +typedef enum OMX_WHITEBALCONTROLTYPE { + OMX_WhiteBalControlOff = 0, + OMX_WhiteBalControlAuto, + OMX_WhiteBalControlSunLight, + OMX_WhiteBalControlCloudy, + OMX_WhiteBalControlShade, + OMX_WhiteBalControlTungsten, + OMX_WhiteBalControlFluorescent, + OMX_WhiteBalControlIncandescent, + OMX_WhiteBalControlFlash, + OMX_WhiteBalControlHorizon, + OMX_WhiteBalControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_WhiteBalControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_WhiteBalControlMax = 0x7FFFFFFF +} OMX_WHITEBALCONTROLTYPE; + + +/** + * White Balance control configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eWhiteBalControl : White balance enumeration + */ +typedef struct OMX_CONFIG_WHITEBALCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_WHITEBALCONTROLTYPE eWhiteBalControl; +} OMX_CONFIG_WHITEBALCONTROLTYPE; + + +/** + * Exposure control type + */ +typedef enum OMX_EXPOSURECONTROLTYPE { + OMX_ExposureControlOff = 0, + OMX_ExposureControlAuto, + OMX_ExposureControlNight, + OMX_ExposureControlBackLight, + OMX_ExposureControlSpotLight, + OMX_ExposureControlSports, + OMX_ExposureControlSnow, + OMX_ExposureControlBeach, + OMX_ExposureControlLargeAperture, + OMX_ExposureControlSmallAperture, + OMX_ExposureControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_ExposureControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_ExposureControlVeryLong, + OMX_ExposureControlFixedFps, + OMX_ExposureControlNightWithPreview, + OMX_ExposureControlAntishake, + OMX_ExposureControlFireworks, + OMX_ExposureControlMax = 0x7FFFFFFF +} OMX_EXPOSURECONTROLTYPE; + + +/** + * White Balance control configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eExposureControl : Exposure control enumeration + */ +typedef struct OMX_CONFIG_EXPOSURECONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_EXPOSURECONTROLTYPE eExposureControl; +} OMX_CONFIG_EXPOSURECONTROLTYPE; + + +/** + * Defines sensor supported mode. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nFrameRate : Single shot mode is indicated by a 0 + * bOneShot : Enable for single shot, disable for streaming + * sFrameSize : Framesize + */ +typedef struct OMX_PARAM_SENSORMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nFrameRate; + OMX_BOOL bOneShot; + OMX_FRAMESIZETYPE sFrameSize; +} OMX_PARAM_SENSORMODETYPE; + + +/** + * Defines contrast level + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nContrast : Values allowed for contrast -100 to 100, zero means no change + */ +typedef struct OMX_CONFIG_CONTRASTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nContrast; +} OMX_CONFIG_CONTRASTTYPE; + + +/** + * Defines brightness level + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nBrightness : 0-100% + */ +typedef struct OMX_CONFIG_BRIGHTNESSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nBrightness; +} OMX_CONFIG_BRIGHTNESSTYPE; + + +/** + * Defines backlight level configuration for a video sink, e.g. LCD panel + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nBacklight : Values allowed for backlight 0-100% + * nTimeout : Number of milliseconds before backlight automatically turns + * off. A value of 0x0 disables backight timeout + */ +typedef struct OMX_CONFIG_BACKLIGHTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nBacklight; + OMX_U32 nTimeout; +} OMX_CONFIG_BACKLIGHTTYPE; + + +/** + * Defines setting for Gamma + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nGamma : Values allowed for gamma -100 to 100, zero means no change + */ +typedef struct OMX_CONFIG_GAMMATYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nGamma; +} OMX_CONFIG_GAMMATYPE; + + +/** + * Define for setting saturation + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nSaturation : Values allowed for saturation -100 to 100, zero means + * no change + */ +typedef struct OMX_CONFIG_SATURATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nSaturation; +} OMX_CONFIG_SATURATIONTYPE; + + +/** + * Define for setting Lightness + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nLightness : Values allowed for lightness -100 to 100, zero means no + * change + */ +typedef struct OMX_CONFIG_LIGHTNESSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nLightness; +} OMX_CONFIG_LIGHTNESSTYPE; + + +/** + * Plane blend configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Index of input port associated with the plane. + * nDepth : Depth of the plane in relation to the screen. Higher + * numbered depths are "behind" lower number depths. + * This number defaults to the Port Index number. + * nAlpha : Transparency blending component for the entire plane. + * See blending modes for more detail. + */ +typedef struct OMX_CONFIG_PLANEBLENDTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nDepth; + OMX_U32 nAlpha; +} OMX_CONFIG_PLANEBLENDTYPE; + + +/** + * Define interlace type + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bEnable : Enable control variable for this functionality + * (see below) + * nInterleavePortIndex : Index of input or output port associated with + * the interleaved plane. + * pPlanarPortIndexes[4] : Index of input or output planar ports. + */ +typedef struct OMX_PARAM_INTERLEAVETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnable; + OMX_U32 nInterleavePortIndex; +} OMX_PARAM_INTERLEAVETYPE; + + +/** + * Defines the picture effect used for an input picture + */ +typedef enum OMX_TRANSITIONEFFECTTYPE { + OMX_EffectNone, + OMX_EffectFadeFromBlack, + OMX_EffectFadeToBlack, + OMX_EffectUnspecifiedThroughConstantColor, + OMX_EffectDissolve, + OMX_EffectWipe, + OMX_EffectUnspecifiedMixOfTwoScenes, + OMX_EffectKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_EffectVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_EffectReverseUnspecifiedMixOfTwoScenes, + +#ifndef __VIDEOCORE4__ + OMX_EffectDiagonalWipe, + OMX_EffectDiagonalWipeRotate, + OMX_EffectEllipticalWipe, + OMX_EffectEllipticalWipeRotate, + OMX_EffectInverseEllipticalWipe, + OMX_EffectInverseEllipticalWipeRotate, + OMX_EffectGlassWipe, + OMX_EffectGlassWipeRotate, + OMX_EffectWavyWipe, + OMX_EffectWavyWipeRotate, + OMX_EffectMunchingSquares, + OMX_EffectStripeWipe, + OMX_EffectStripeWipeRotate, + + OMX_EffectRotozoomUnmatched, + OMX_EffectRotozoomMatched, + OMX_EffectRotozoomGentle, +#endif + + OMX_EffectMunchRandom, + OMX_EffectMunchVRandom, + OMX_EffectMunchHRandom, + OMX_EffectMunchWipe, + OMX_EffectMunchMunch, + OMX_EffectMunchStripe, + OMX_EffectFadeRandom, + OMX_EffectFadeVRandom, + OMX_EffectFadeHRandom, + OMX_EffectFadeWipe, + OMX_EffectFadeMunch, + OMX_EffectFadeStripe, + OMX_EffectColourBlockRandom, + OMX_EffectColourBlockVRandom, + OMX_EffectColourBlockHRandom, + OMX_EffectColourBlockWipe, + OMX_EffectColourBlockMunch, + OMX_EffectColourBlockStripe, + OMX_EffectColourBlock2Random, + OMX_EffectColourBlock2VRandom, + OMX_EffectColourBlock2HRandom, + OMX_EffectColourBlock2Wipe, + OMX_EffectColourBlock2Munch, + OMX_EffectColourBlock2Stripe, + OMX_EffectShadeRandom, + OMX_EffectShadeVRandom, + OMX_EffectShadeHRandom, + OMX_EffectShadeWipe, + OMX_EffectShadeMunch, + OMX_EffectShadeStripe, + OMX_EffectBitmaskRandom, + OMX_EffectBitmaskVRandom, + OMX_EffectBitmaskHRandom, + OMX_EffectBitmaskWipe, + OMX_EffectBitmaskMunch, + OMX_EffectBitmaskStripe, + OMX_EffectBitmask2Random, + OMX_EffectBitmask2VRandom, + OMX_EffectBitmask2HRandom, + OMX_EffectBitmask2Wipe, + OMX_EffectBitmask2Munch, + OMX_EffectBitmask2Stripe, + OMX_EffectBitmask2ColourRandom, + OMX_EffectBitmask2ColourVRandom, + OMX_EffectBitmask2ColourHRandom, + OMX_EffectBitmask2ColourWipe, + OMX_EffectBitmask2ColourMunch, + OMX_EffectBitmask2ColourStripe, + + OMX_EffectPushRight, + OMX_EffectPushLeft, + OMX_EffectPushDown, + OMX_EffectPushUp, + OMX_EffectCoverRight, + OMX_EffectCoverLeft, + OMX_EffectCoverDown, + OMX_EffectCoverUp, + OMX_EffectRevealRight, + OMX_EffectRevealLeft, + OMX_EffectRevealDown, + OMX_EffectRevealUp, + OMX_EffectWipeRight, + OMX_EffectWipeLeft, + OMX_EffectWipeDown, + OMX_EffectWipeUp, + OMX_EffectSpeckle, + OMX_EffectCircle, + OMX_EffectSpiral, + OMX_EffectDiamond, + OMX_EffectVert, + OMX_EffectPlus, + OMX_EffectClock, + OMX_EffectPlasma, + OMX_EffectDisplace, + OMX_EffectGenie, + OMX_EffectSide, + OMX_EffectMaze, + OMX_EffectRipple, + OMX_EffectStar, + OMX_EffectAlpha, + OMX_EffectIntense, + OMX_EffectIntenseU, + OMX_EffectIntenseV, + OMX_EffectInverseIntense, + OMX_EffectInverseIntenseU, + OMX_EffectInverseIntenseV, + + OMX_EffectPageTurn, + + OMX_EffectFlipPlaneDown, + OMX_EffectFlipPlaneDownMid, + OMX_EffectFlipPlaneDownHigh, + OMX_EffectFlipPlaneLeft, + OMX_EffectFlipPlaneLeftMid, + OMX_EffectFlipPlaneLeftHigh, + OMX_EffectFlipCubeDown, + OMX_EffectFlipCubeDownMid, + OMX_EffectFlipCubeDownHigh, + OMX_EffectFlipCubeLeft, + OMX_EffectFlipCubeLeftMid, + OMX_EffectFlipCubeLeftHigh, + + OMX_EffectMax = 0x7FFFFFFF +} OMX_TRANSITIONEFFECTTYPE; + + +/** + * Structure used to configure current transition effect + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eEffect : Effect to enable + */ +typedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_TRANSITIONEFFECTTYPE eEffect; +} OMX_CONFIG_TRANSITIONEFFECTTYPE; + + +/** + * Defines possible data unit types for encoded video data. The data unit + * types are used both for encoded video input for playback as well as + * encoded video output from recording. + */ +typedef enum OMX_DATAUNITTYPE { + OMX_DataUnitCodedPicture, + OMX_DataUnitVideoSegment, + OMX_DataUnitSeveralSegments, + OMX_DataUnitArbitraryStreamSection, + OMX_DataUnitKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_DataUnitVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_DataUnitMax = 0x7FFFFFFF +} OMX_DATAUNITTYPE; + + +/** + * Defines possible encapsulation types for coded video data unit. The + * encapsulation information is used both for encoded video input for + * playback as well as encoded video output from recording. + */ +typedef enum OMX_DATAUNITENCAPSULATIONTYPE { + OMX_DataEncapsulationElementaryStream, + OMX_DataEncapsulationGenericPayload, + OMX_DataEncapsulationRtpPayload, + OMX_DataEncapsulationKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_DataEncapsulationVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_DataEncapsulationMax = 0x7FFFFFFF +} OMX_DATAUNITENCAPSULATIONTYPE; + + +/** + * Structure used to configure the type of being decoded/encoded + */ +typedef struct OMX_PARAM_DATAUNITTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_DATAUNITTYPE eUnitType; + OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType; +} OMX_PARAM_DATAUNITTYPE; + + +/** + * Defines dither types + */ +typedef enum OMX_DITHERTYPE { + OMX_DitherNone, + OMX_DitherOrdered, + OMX_DitherErrorDiffusion, + OMX_DitherOther, + OMX_DitherKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_DitherVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_DitherMax = 0x7FFFFFFF +} OMX_DITHERTYPE; + + +/** + * Structure used to configure current type of dithering + */ +typedef struct OMX_CONFIG_DITHERTYPE { + OMX_U32 nSize; /**< Size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_DITHERTYPE eDither; /**< Type of dithering to use */ +} OMX_CONFIG_DITHERTYPE; + +typedef struct OMX_CONFIG_CAPTUREMODETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; /**< Port that this structure applies to */ + OMX_BOOL bContinuous; /**< If true then ignore frame rate and emit capture + * data as fast as possible (otherwise obey port's frame rate). */ + OMX_BOOL bFrameLimited; /**< If true then terminate capture after the port emits the + * specified number of frames (otherwise the port does not + * terminate the capture until instructed to do so by the client). + * Even if set, the client may manually terminate the capture prior + * to reaching the limit. */ + OMX_U32 nFrameLimit; /**< Limit on number of frames emitted during a capture (only + * valid if bFrameLimited is set). */ +} OMX_CONFIG_CAPTUREMODETYPE; + +typedef enum OMX_METERINGTYPE { + + OMX_MeteringModeAverage, /**< Center-weighted average metering. */ + OMX_MeteringModeSpot, /**< Spot (partial) metering. */ + OMX_MeteringModeMatrix, /**< Matrix or evaluative metering. */ + + OMX_MeteringKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_MeteringVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_MeteringModeBacklit, + OMX_EVModeMax = 0x7fffffff +} OMX_METERINGTYPE; + +typedef struct OMX_CONFIG_EXPOSUREVALUETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_METERINGTYPE eMetering; + OMX_S32 xEVCompensation; /**< Fixed point value stored as Q16 */ + OMX_U32 nApertureFNumber; /**< e.g. nApertureFNumber = 2 implies "f/2" - Q16 format */ + OMX_BOOL bAutoAperture; /**< Whether aperture number is defined automatically */ + OMX_U32 nShutterSpeedMsec; /**< Shutterspeed in milliseconds */ + OMX_BOOL bAutoShutterSpeed; /**< Whether shutter speed is defined automatically */ + OMX_U32 nSensitivity; /**< e.g. nSensitivity = 100 implies "ISO 100" */ + OMX_BOOL bAutoSensitivity; /**< Whether sensitivity is defined automatically */ +} OMX_CONFIG_EXPOSUREVALUETYPE; + +/** + * Focus region configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bCenter : Use center region as focus region of interest + * bLeft : Use left region as focus region of interest + * bRight : Use right region as focus region of interest + * bTop : Use top region as focus region of interest + * bBottom : Use bottom region as focus region of interest + * bTopLeft : Use top left region as focus region of interest + * bTopRight : Use top right region as focus region of interest + * bBottomLeft : Use bottom left region as focus region of interest + * bBottomRight : Use bottom right region as focus region of interest + */ +typedef struct OMX_CONFIG_FOCUSREGIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bCenter; + OMX_BOOL bLeft; + OMX_BOOL bRight; + OMX_BOOL bTop; + OMX_BOOL bBottom; + OMX_BOOL bTopLeft; + OMX_BOOL bTopRight; + OMX_BOOL bBottomLeft; + OMX_BOOL bBottomRight; +} OMX_CONFIG_FOCUSREGIONTYPE; + +/** + * Focus Status type + */ +typedef enum OMX_FOCUSSTATUSTYPE { + OMX_FocusStatusOff = 0, + OMX_FocusStatusRequest, + OMX_FocusStatusReached, + OMX_FocusStatusUnableToReach, + OMX_FocusStatusLost, + OMX_FocusStatusKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_FocusStatusVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_FocusStatusCafWatching, + OMX_FocusStatusCafSceneChanged, + OMX_FocusStatusMax = 0x7FFFFFFF +} OMX_FOCUSSTATUSTYPE; + +/** + * Focus status configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFocusStatus : Specifies the focus status + * bCenterStatus : Use center region as focus region of interest + * bLeftStatus : Use left region as focus region of interest + * bRightStatus : Use right region as focus region of interest + * bTopStatus : Use top region as focus region of interest + * bBottomStatus : Use bottom region as focus region of interest + * bTopLeftStatus : Use top left region as focus region of interest + * bTopRightStatus : Use top right region as focus region of interest + * bBottomLeftStatus : Use bottom left region as focus region of interest + * bBottomRightStatus : Use bottom right region as focus region of interest + */ +typedef struct OMX_PARAM_FOCUSSTATUSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_FOCUSSTATUSTYPE eFocusStatus; + OMX_BOOL bCenterStatus; + OMX_BOOL bLeftStatus; + OMX_BOOL bRightStatus; + OMX_BOOL bTopStatus; + OMX_BOOL bBottomStatus; + OMX_BOOL bTopLeftStatus; + OMX_BOOL bTopRightStatus; + OMX_BOOL bBottomLeftStatus; + OMX_BOOL bBottomRightStatus; +} OMX_PARAM_FOCUSSTATUSTYPE; + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Image.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Image.h new file mode 100644 index 000000000..4bf5b262a --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Image.h @@ -0,0 +1,347 @@ +/** + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * @file OMX_Image.h - OpenMax IL version 1.1.2 + * The structures needed by Image components to exchange parameters and + * configuration data with the components. + */ +#ifndef OMX_Image_h +#define OMX_Image_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/** + * Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_IVCommon.h" + +/** @defgroup imaging OpenMAX IL Imaging Domain + * @ingroup iv + * Structures for OpenMAX IL Imaging domain + * @{ + */ + +/** + * Enumeration used to define the possible image compression coding. + */ +typedef enum OMX_IMAGE_CODINGTYPE { + OMX_IMAGE_CodingUnused, /**< Value when format is N/A */ + OMX_IMAGE_CodingAutoDetect, /**< Auto detection of image format */ + OMX_IMAGE_CodingJPEG, /**< JPEG/JFIF image format */ + OMX_IMAGE_CodingJPEG2K, /**< JPEG 2000 image format */ + OMX_IMAGE_CodingEXIF, /**< EXIF image format */ + OMX_IMAGE_CodingTIFF, /**< TIFF image format */ + OMX_IMAGE_CodingGIF, /**< Graphics image format */ + OMX_IMAGE_CodingPNG, /**< PNG image format */ + OMX_IMAGE_CodingLZW, /**< LZW image format */ + OMX_IMAGE_CodingBMP, /**< Windows Bitmap format */ + OMX_IMAGE_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_IMAGE_CodingTGA, + OMX_IMAGE_CodingPPM, + + OMX_IMAGE_CodingMax = 0x7FFFFFFF +} OMX_IMAGE_CODINGTYPE; + + +/** + * Data structure used to define an image path. The number of image paths + * for input and output will vary by type of the image component. + * + * Input (aka Source) : Zero Inputs, one Output, + * Splitter : One Input, 2 or more Outputs, + * Processing Element : One Input, one output, + * Mixer : 2 or more inputs, one output, + * Output (aka Sink) : One Input, zero outputs. + * + * The PortDefinition structure is used to define all of the parameters + * necessary for the compliant component to setup an input or an output + * image path. If additional vendor specific data is required, it should + * be transmitted to the component using the CustomCommand function. + * Compliant components will prepopulate this structure with optimal + * values during the OMX_GetParameter() command. + * + * STRUCT MEMBERS: + * cMIMEType : MIME type of data for the port + * pNativeRender : Platform specific reference for a display if a + * sync, otherwise this field is 0 + * nFrameWidth : Width of frame to be used on port if + * uncompressed format is used. Use 0 for + * unknown, don't care or variable + * nFrameHeight : Height of frame to be used on port if + * uncompressed format is used. Use 0 for + * unknown, don't care or variable + * nStride : Number of bytes per span of an image (i.e. + * indicates the number of bytes to get from + * span N to span N+1, where negative stride + * indicates the image is bottom up + * nSliceHeight : Height used when encoding in slices + * bFlagErrorConcealment : Turns on error concealment if it is supported by + * the OMX component + * eCompressionFormat : Compression format used in this instance of + * the component. When OMX_IMAGE_CodingUnused is + * specified, eColorFormat is valid + * eColorFormat : Decompressed format used by this component + * pNativeWindow : Platform specific reference for a window object if a + * display sink , otherwise this field is 0x0. + */ +typedef struct OMX_IMAGE_PORTDEFINITIONTYPE { + OMX_STRING cMIMEType; + OMX_NATIVE_DEVICETYPE pNativeRender; + OMX_U32 nFrameWidth; + OMX_U32 nFrameHeight; + OMX_S32 nStride; + OMX_U32 nSliceHeight; + OMX_BOOL bFlagErrorConcealment; + OMX_IMAGE_CODINGTYPE eCompressionFormat; + OMX_COLOR_FORMATTYPE eColorFormat; + OMX_NATIVE_WINDOWTYPE pNativeWindow; +} OMX_IMAGE_PORTDEFINITIONTYPE; + + +/** + * Port format parameter. This structure is used to enumerate the various + * data input/output format supported by the port. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Indicates which port to set + * nIndex : Indicates the enumeration index for the format from + * 0x0 to N-1 + * eCompressionFormat : Compression format used in this instance of the + * component. When OMX_IMAGE_CodingUnused is specified, + * eColorFormat is valid + * eColorFormat : Decompressed format used by this component + */ +typedef struct OMX_IMAGE_PARAM_PORTFORMATTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIndex; + OMX_IMAGE_CODINGTYPE eCompressionFormat; + OMX_COLOR_FORMATTYPE eColorFormat; +} OMX_IMAGE_PARAM_PORTFORMATTYPE; + + +/** + * Flash control type + * + * ENUMS + * Torch : Flash forced constantly on + */ +typedef enum OMX_IMAGE_FLASHCONTROLTYPE { + OMX_IMAGE_FlashControlOn = 0, + OMX_IMAGE_FlashControlOff, + OMX_IMAGE_FlashControlAuto, + OMX_IMAGE_FlashControlRedEyeReduction, + OMX_IMAGE_FlashControlFillin, + OMX_IMAGE_FlashControlTorch, + OMX_IMAGE_FlashControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_FlashControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_IMAGE_FlashControlMax = 0x7FFFFFFF +} OMX_IMAGE_FLASHCONTROLTYPE; + + +/** + * Flash control configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFlashControl : Flash control type + */ +typedef struct OMX_IMAGE_PARAM_FLASHCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGE_FLASHCONTROLTYPE eFlashControl; +} OMX_IMAGE_PARAM_FLASHCONTROLTYPE; + + +/** + * Focus control type + */ +typedef enum OMX_IMAGE_FOCUSCONTROLTYPE { + OMX_IMAGE_FocusControlOn = 0, + OMX_IMAGE_FocusControlOff, + OMX_IMAGE_FocusControlAuto, + OMX_IMAGE_FocusControlAutoLock, + OMX_IMAGE_FocusControlKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_FocusControlVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_IMAGE_FocusControlHyperfocal, /* Focus at the hyperfocal point of the lens. */ + OMX_IMAGE_FocusControlAutoMacro, /* CF over a macro range (eg 0-50cm) */ + OMX_IMAGE_FocusControlAutoInfinity, /* CF over distant range (eg 50cm to infinity) */ + OMX_IMAGE_FocusControlAutoLockMacro, /* AF over a macro range (eg 0-50cm) */ + OMX_IMAGE_FocusControlAutoLockInfinity, /* AF over distant range (eg 50cm to infinity) */ + OMX_IMAGE_FocusControlNearFixed, /* Focus at a fixed near focus point - (50cm-1m) */ + OMX_IMAGE_FocusControlAutoNear, /* CF over a near range (eg 0-200cm) */ + OMX_IMAGE_FocusControlAutoLockNear, /* AF over a near range (eg 0-200cm) */ + OMX_IMAGE_FocusControlInfinityFixed, /* Focus at infinity */ + OMX_IMAGE_FocusControlMacroFixed, /* Focus at a macro distance */ + OMX_IMAGE_FocusControlAutoFast, /* CF over a full range with fast response */ + OMX_IMAGE_FocusControlAutoMacroFast, /* CF over a macro range (eg 0-50cm) with fast response */ + OMX_IMAGE_FocusControlAutoNearFast, /* CF over a near range (eg 0-200cm) */ + OMX_IMAGE_FocusControlAutoInfinityFast, /* CF over distant range (eg 50cm to infinity) with fast response */ + OMX_IMAGE_FocusControlCurrentFixed, /* Stop the lens at the current position */ + OMX_IMAGE_FocusControlMax = 0x7FFFFFFF +} OMX_IMAGE_FOCUSCONTROLTYPE; + + +/** + * Focus control configuration + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFocusControl : Focus control + * nFocusSteps : Focus can take on values from 0 mm to infinity. + * Interest is only in number of steps over this range. + * nFocusStepIndex : Current focus step index + */ +typedef struct OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGE_FOCUSCONTROLTYPE eFocusControl; + OMX_U32 nFocusSteps; + OMX_U32 nFocusStepIndex; +} OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE; + + +/** + * Q Factor for JPEG compression, which controls the tradeoff between image + * quality and size. Q Factor provides a more simple means of controlling + * JPEG compression quality, without directly programming Quantization + * tables for chroma and luma + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nQFactor : JPEG Q factor value in the range of 1-100. A factor of 1 + * produces the smallest, worst quality images, and a factor + * of 100 produces the largest, best quality images. A + * typical default is 75 for small good quality images + */ +typedef struct OMX_IMAGE_PARAM_QFACTORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nQFactor; +} OMX_IMAGE_PARAM_QFACTORTYPE; + +/** + * Quantization table type + */ + +typedef enum OMX_IMAGE_QUANTIZATIONTABLETYPE { + OMX_IMAGE_QuantizationTableLuma = 0, + OMX_IMAGE_QuantizationTableChroma, + OMX_IMAGE_QuantizationTableChromaCb, + OMX_IMAGE_QuantizationTableChromaCr, + OMX_IMAGE_QuantizationTableKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_QuantizationTableVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_IMAGE_QuantizationTableMax = 0x7FFFFFFF +} OMX_IMAGE_QUANTIZATIONTABLETYPE; + +/** + * JPEG quantization tables are used to determine DCT compression for + * YUV data, as an alternative to specifying Q factor, providing exact + * control of compression + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eQuantizationTable : Quantization table type + * nQuantizationMatrix[64] : JPEG quantization table of coefficients stored + * in increasing columns then by rows of data (i.e. + * row 1, ... row 8). Quantization values are in + * the range 0-255 and stored in linear order + * (i.e. the component will zig-zag the + * quantization table data if required internally) + */ +typedef struct OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGE_QUANTIZATIONTABLETYPE eQuantizationTable; + OMX_U8 nQuantizationMatrix[64]; +} OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE; + + +/** + * Huffman table type, the same Huffman table is applied for chroma and + * luma component + */ +typedef enum OMX_IMAGE_HUFFMANTABLETYPE { + OMX_IMAGE_HuffmanTableAC = 0, + OMX_IMAGE_HuffmanTableDC, + OMX_IMAGE_HuffmanTableACLuma, + OMX_IMAGE_HuffmanTableACChroma, + OMX_IMAGE_HuffmanTableDCLuma, + OMX_IMAGE_HuffmanTableDCChroma, + OMX_IMAGE_HuffmanTableKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_IMAGE_HuffmanTableVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_IMAGE_HuffmanTableMax = 0x7FFFFFFF +} OMX_IMAGE_HUFFMANTABLETYPE; + +/** + * JPEG Huffman table + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eHuffmanTable : Huffman table type + * nNumberOfHuffmanCodeOfLength[16] : 0-16, number of Huffman codes of each + * possible length + * nHuffmanTable[256] : 0-255, the size used for AC and DC + * HuffmanTable are 16 and 162 + */ +typedef struct OMX_IMAGE_PARAM_HUFFMANTTABLETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_IMAGE_HUFFMANTABLETYPE eHuffmanTable; + OMX_U8 nNumberOfHuffmanCodeOfLength[16]; + OMX_U8 nHuffmanTable[256]; +}OMX_IMAGE_PARAM_HUFFMANTTABLETYPE; + +/** @} */ +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Index.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Index.h new file mode 100644 index 000000000..0f35e2345 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Index.h @@ -0,0 +1,514 @@ +/* + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** @file OMX_Index.h - OpenMax IL version 1.1.2 + * The OMX_Index header file contains the definitions for both applications + * and components . + */ + + +#ifndef OMX_Index_h +#define OMX_Index_h + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/* Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ +#include "OMX_Types.h" + + +/** The OMX_INDEXTYPE enumeration is used to select a structure when either + * getting or setting parameters and/or configuration data. Each entry in + * this enumeration maps to an OMX specified structure. When the + * OMX_GetParameter, OMX_SetParameter, OMX_GetConfig or OMX_SetConfig methods + * are used, the second parameter will always be an entry from this enumeration + * and the third entry will be the structure shown in the comments for the entry. + * For example, if the application is initializing a cropping function, the + * OMX_SetConfig command would have OMX_IndexConfigCommonInputCrop as the second parameter + * and would send a pointer to an initialized OMX_RECTTYPE structure as the + * third parameter. + * + * The enumeration entries named with the OMX_Config prefix are sent using + * the OMX_SetConfig command and the enumeration entries named with the + * OMX_PARAM_ prefix are sent using the OMX_SetParameter command. + */ +typedef enum OMX_INDEXTYPE { + + OMX_IndexComponentStartUnused = 0x01000000, + OMX_IndexParamPriorityMgmt, /**< reference: OMX_PRIORITYMGMTTYPE */ + OMX_IndexParamAudioInit, /**< reference: OMX_PORT_PARAM_TYPE */ + OMX_IndexParamImageInit, /**< reference: OMX_PORT_PARAM_TYPE */ + OMX_IndexParamVideoInit, /**< reference: OMX_PORT_PARAM_TYPE */ + OMX_IndexParamOtherInit, /**< reference: OMX_PORT_PARAM_TYPE */ + OMX_IndexParamNumAvailableStreams, /**< reference: OMX_PARAM_U32TYPE */ + OMX_IndexParamActiveStream, /**< reference: OMX_PARAM_U32TYPE */ + OMX_IndexParamSuspensionPolicy, /**< reference: OMX_PARAM_SUSPENSIONPOLICYTYPE */ + OMX_IndexParamComponentSuspended, /**< reference: OMX_PARAM_SUSPENSIONTYPE */ + OMX_IndexConfigCapturing, /**< reference: OMX_CONFIG_BOOLEANTYPE */ + OMX_IndexConfigCaptureMode, /**< reference: OMX_CONFIG_CAPTUREMODETYPE */ + OMX_IndexAutoPauseAfterCapture, /**< reference: OMX_CONFIG_BOOLEANTYPE */ + OMX_IndexParamContentURI, /**< reference: OMX_PARAM_CONTENTURITYPE */ + OMX_IndexParamCustomContentPipe, /**< reference: OMX_PARAM_CONTENTPIPETYPE */ + OMX_IndexParamDisableResourceConcealment, /**< reference: OMX_RESOURCECONCEALMENTTYPE */ + OMX_IndexConfigMetadataItemCount, /**< reference: OMX_CONFIG_METADATAITEMCOUNTTYPE */ + OMX_IndexConfigContainerNodeCount, /**< reference: OMX_CONFIG_CONTAINERNODECOUNTTYPE */ + OMX_IndexConfigMetadataItem, /**< reference: OMX_CONFIG_METADATAITEMTYPE */ + OMX_IndexConfigCounterNodeID, /**< reference: OMX_CONFIG_CONTAINERNODEIDTYPE */ + OMX_IndexParamMetadataFilterType, /**< reference: OMX_PARAM_METADATAFILTERTYPE */ + OMX_IndexParamMetadataKeyFilter, /**< reference: OMX_PARAM_METADATAFILTERTYPE */ + OMX_IndexConfigPriorityMgmt, /**< reference: OMX_PRIORITYMGMTTYPE */ + OMX_IndexParamStandardComponentRole, /**< reference: OMX_PARAM_COMPONENTROLETYPE */ + + OMX_IndexPortStartUnused = 0x02000000, + OMX_IndexParamPortDefinition, /**< reference: OMX_PARAM_PORTDEFINITIONTYPE */ + OMX_IndexParamCompBufferSupplier, /**< reference: OMX_PARAM_BUFFERSUPPLIERTYPE */ + OMX_IndexReservedStartUnused = 0x03000000, + + /* Audio parameters and configurations */ + OMX_IndexAudioStartUnused = 0x04000000, + OMX_IndexParamAudioPortFormat, /**< reference: OMX_AUDIO_PARAM_PORTFORMATTYPE */ + OMX_IndexParamAudioPcm, /**< reference: OMX_AUDIO_PARAM_PCMMODETYPE */ + OMX_IndexParamAudioAac, /**< reference: OMX_AUDIO_PARAM_AACPROFILETYPE */ + OMX_IndexParamAudioRa, /**< reference: OMX_AUDIO_PARAM_RATYPE */ + OMX_IndexParamAudioMp3, /**< reference: OMX_AUDIO_PARAM_MP3TYPE */ + OMX_IndexParamAudioAdpcm, /**< reference: OMX_AUDIO_PARAM_ADPCMTYPE */ + OMX_IndexParamAudioG723, /**< reference: OMX_AUDIO_PARAM_G723TYPE */ + OMX_IndexParamAudioG729, /**< reference: OMX_AUDIO_PARAM_G729TYPE */ + OMX_IndexParamAudioAmr, /**< reference: OMX_AUDIO_PARAM_AMRTYPE */ + OMX_IndexParamAudioWma, /**< reference: OMX_AUDIO_PARAM_WMATYPE */ + OMX_IndexParamAudioSbc, /**< reference: OMX_AUDIO_PARAM_SBCTYPE */ + OMX_IndexParamAudioMidi, /**< reference: OMX_AUDIO_PARAM_MIDITYPE */ + OMX_IndexParamAudioGsm_FR, /**< reference: OMX_AUDIO_PARAM_GSMFRTYPE */ + OMX_IndexParamAudioMidiLoadUserSound, /**< reference: OMX_AUDIO_PARAM_MIDILOADUSERSOUNDTYPE */ + OMX_IndexParamAudioG726, /**< reference: OMX_AUDIO_PARAM_G726TYPE */ + OMX_IndexParamAudioGsm_EFR, /**< reference: OMX_AUDIO_PARAM_GSMEFRTYPE */ + OMX_IndexParamAudioGsm_HR, /**< reference: OMX_AUDIO_PARAM_GSMHRTYPE */ + OMX_IndexParamAudioPdc_FR, /**< reference: OMX_AUDIO_PARAM_PDCFRTYPE */ + OMX_IndexParamAudioPdc_EFR, /**< reference: OMX_AUDIO_PARAM_PDCEFRTYPE */ + OMX_IndexParamAudioPdc_HR, /**< reference: OMX_AUDIO_PARAM_PDCHRTYPE */ + OMX_IndexParamAudioTdma_FR, /**< reference: OMX_AUDIO_PARAM_TDMAFRTYPE */ + OMX_IndexParamAudioTdma_EFR, /**< reference: OMX_AUDIO_PARAM_TDMAEFRTYPE */ + OMX_IndexParamAudioQcelp8, /**< reference: OMX_AUDIO_PARAM_QCELP8TYPE */ + OMX_IndexParamAudioQcelp13, /**< reference: OMX_AUDIO_PARAM_QCELP13TYPE */ + OMX_IndexParamAudioEvrc, /**< reference: OMX_AUDIO_PARAM_EVRCTYPE */ + OMX_IndexParamAudioSmv, /**< reference: OMX_AUDIO_PARAM_SMVTYPE */ + OMX_IndexParamAudioVorbis, /**< reference: OMX_AUDIO_PARAM_VORBISTYPE */ + + OMX_IndexConfigAudioMidiImmediateEvent, /**< reference: OMX_AUDIO_CONFIG_MIDIIMMEDIATEEVENTTYPE */ + OMX_IndexConfigAudioMidiControl, /**< reference: OMX_AUDIO_CONFIG_MIDICONTROLTYPE */ + OMX_IndexConfigAudioMidiSoundBankProgram, /**< reference: OMX_AUDIO_CONFIG_MIDISOUNDBANKPROGRAMTYPE */ + OMX_IndexConfigAudioMidiStatus, /**< reference: OMX_AUDIO_CONFIG_MIDISTATUSTYPE */ + OMX_IndexConfigAudioMidiMetaEvent, /**< reference: OMX_AUDIO_CONFIG_MIDIMETAEVENTTYPE */ + OMX_IndexConfigAudioMidiMetaEventData, /**< reference: OMX_AUDIO_CONFIG_MIDIMETAEVENTDATATYPE */ + OMX_IndexConfigAudioVolume, /**< reference: OMX_AUDIO_CONFIG_VOLUMETYPE */ + OMX_IndexConfigAudioBalance, /**< reference: OMX_AUDIO_CONFIG_BALANCETYPE */ + OMX_IndexConfigAudioChannelMute, /**< reference: OMX_AUDIO_CONFIG_CHANNELMUTETYPE */ + OMX_IndexConfigAudioMute, /**< reference: OMX_AUDIO_CONFIG_MUTETYPE */ + OMX_IndexConfigAudioLoudness, /**< reference: OMX_AUDIO_CONFIG_LOUDNESSTYPE */ + OMX_IndexConfigAudioEchoCancelation, /**< reference: OMX_AUDIO_CONFIG_ECHOCANCELATIONTYPE */ + OMX_IndexConfigAudioNoiseReduction, /**< reference: OMX_AUDIO_CONFIG_NOISEREDUCTIONTYPE */ + OMX_IndexConfigAudioBass, /**< reference: OMX_AUDIO_CONFIG_BASSTYPE */ + OMX_IndexConfigAudioTreble, /**< reference: OMX_AUDIO_CONFIG_TREBLETYPE */ + OMX_IndexConfigAudioStereoWidening, /**< reference: OMX_AUDIO_CONFIG_STEREOWIDENINGTYPE */ + OMX_IndexConfigAudioChorus, /**< reference: OMX_AUDIO_CONFIG_CHORUSTYPE */ + OMX_IndexConfigAudioEqualizer, /**< reference: OMX_AUDIO_CONFIG_EQUALIZERTYPE */ + OMX_IndexConfigAudioReverberation, /**< reference: OMX_AUDIO_CONFIG_REVERBERATIONTYPE */ + OMX_IndexConfigAudioChannelVolume, /**< reference: OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE */ + + /* Image specific parameters and configurations */ + OMX_IndexImageStartUnused = 0x05000000, + OMX_IndexParamImagePortFormat, /**< reference: OMX_IMAGE_PARAM_PORTFORMATTYPE */ + OMX_IndexParamFlashControl, /**< reference: OMX_IMAGE_PARAM_FLASHCONTROLTYPE */ + OMX_IndexConfigFocusControl, /**< reference: OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE */ + OMX_IndexParamQFactor, /**< reference: OMX_IMAGE_PARAM_QFACTORTYPE */ + OMX_IndexParamQuantizationTable, /**< reference: OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE */ + OMX_IndexParamHuffmanTable, /**< reference: OMX_IMAGE_PARAM_HUFFMANTTABLETYPE */ + OMX_IndexConfigFlashControl, /**< reference: OMX_IMAGE_PARAM_FLASHCONTROLTYPE */ + + /* Video specific parameters and configurations */ + OMX_IndexVideoStartUnused = 0x06000000, + OMX_IndexParamVideoPortFormat, /**< reference: OMX_VIDEO_PARAM_PORTFORMATTYPE */ + OMX_IndexParamVideoQuantization, /**< reference: OMX_VIDEO_PARAM_QUANTIZATIONTYPE */ + OMX_IndexParamVideoFastUpdate, /**< reference: OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE */ + OMX_IndexParamVideoBitrate, /**< reference: OMX_VIDEO_PARAM_BITRATETYPE */ + OMX_IndexParamVideoMotionVector, /**< reference: OMX_VIDEO_PARAM_MOTIONVECTORTYPE */ + OMX_IndexParamVideoIntraRefresh, /**< reference: OMX_VIDEO_PARAM_INTRAREFRESHTYPE */ + OMX_IndexParamVideoErrorCorrection, /**< reference: OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE */ + OMX_IndexParamVideoVBSMC, /**< reference: OMX_VIDEO_PARAM_VBSMCTYPE */ + OMX_IndexParamVideoMpeg2, /**< reference: OMX_VIDEO_PARAM_MPEG2TYPE */ + OMX_IndexParamVideoMpeg4, /**< reference: OMX_VIDEO_PARAM_MPEG4TYPE */ + OMX_IndexParamVideoWmv, /**< reference: OMX_VIDEO_PARAM_WMVTYPE */ + OMX_IndexParamVideoRv, /**< reference: OMX_VIDEO_PARAM_RVTYPE */ + OMX_IndexParamVideoAvc, /**< reference: OMX_VIDEO_PARAM_AVCTYPE */ + OMX_IndexParamVideoH263, /**< reference: OMX_VIDEO_PARAM_H263TYPE */ + OMX_IndexParamVideoProfileLevelQuerySupported, /**< reference: OMX_VIDEO_PARAM_PROFILELEVELTYPE */ + OMX_IndexParamVideoProfileLevelCurrent, /**< reference: OMX_VIDEO_PARAM_PROFILELEVELTYPE */ + OMX_IndexConfigVideoBitrate, /**< reference: OMX_VIDEO_CONFIG_BITRATETYPE */ + OMX_IndexConfigVideoFramerate, /**< reference: OMX_CONFIG_FRAMERATETYPE */ + OMX_IndexConfigVideoIntraVOPRefresh, /**< reference: OMX_CONFIG_INTRAREFRESHVOPTYPE */ + OMX_IndexConfigVideoIntraMBRefresh, /**< reference: OMX_CONFIG_MACROBLOCKERRORMAPTYPE */ + OMX_IndexConfigVideoMBErrorReporting, /**< reference: OMX_CONFIG_MBERRORREPORTINGTYPE */ + OMX_IndexParamVideoMacroblocksPerFrame, /**< reference: OMX_PARAM_MACROBLOCKSTYPE */ + OMX_IndexConfigVideoMacroBlockErrorMap, /**< reference: OMX_CONFIG_MACROBLOCKERRORMAPTYPE */ + OMX_IndexParamVideoSliceFMO, /**< reference: OMX_VIDEO_PARAM_AVCSLICEFMO */ + OMX_IndexConfigVideoAVCIntraPeriod, /**< reference: OMX_VIDEO_CONFIG_AVCINTRAPERIOD */ + OMX_IndexConfigVideoNalSize, /**< reference: OMX_VIDEO_CONFIG_NALSIZE */ + + /* Image & Video common Configurations */ + OMX_IndexCommonStartUnused = 0x07000000, + OMX_IndexParamCommonDeblocking, /**< reference: OMX_PARAM_DEBLOCKINGTYPE */ + OMX_IndexParamCommonSensorMode, /**< reference: OMX_PARAM_SENSORMODETYPE */ + OMX_IndexParamCommonInterleave, /**< reference: OMX_PARAM_INTERLEAVETYPE */ + OMX_IndexConfigCommonColorFormatConversion, /**< reference: OMX_CONFIG_COLORCONVERSIONTYPE */ + OMX_IndexConfigCommonScale, /**< reference: OMX_CONFIG_SCALEFACTORTYPE */ + OMX_IndexConfigCommonImageFilter, /**< reference: OMX_CONFIG_IMAGEFILTERTYPE */ + OMX_IndexConfigCommonColorEnhancement, /**< reference: OMX_CONFIG_COLORENHANCEMENTTYPE */ + OMX_IndexConfigCommonColorKey, /**< reference: OMX_CONFIG_COLORKEYTYPE */ + OMX_IndexConfigCommonColorBlend, /**< reference: OMX_CONFIG_COLORBLENDTYPE */ + OMX_IndexConfigCommonFrameStabilisation,/**< reference: OMX_CONFIG_FRAMESTABTYPE */ + OMX_IndexConfigCommonRotate, /**< reference: OMX_CONFIG_ROTATIONTYPE */ + OMX_IndexConfigCommonMirror, /**< reference: OMX_CONFIG_MIRRORTYPE */ + OMX_IndexConfigCommonOutputPosition, /**< reference: OMX_CONFIG_POINTTYPE */ + OMX_IndexConfigCommonInputCrop, /**< reference: OMX_CONFIG_RECTTYPE */ + OMX_IndexConfigCommonOutputCrop, /**< reference: OMX_CONFIG_RECTTYPE */ + OMX_IndexConfigCommonDigitalZoom, /**< reference: OMX_CONFIG_SCALEFACTORTYPE */ + OMX_IndexConfigCommonOpticalZoom, /**< reference: OMX_CONFIG_SCALEFACTORTYPE*/ + OMX_IndexConfigCommonWhiteBalance, /**< reference: OMX_CONFIG_WHITEBALCONTROLTYPE */ + OMX_IndexConfigCommonExposure, /**< reference: OMX_CONFIG_EXPOSURECONTROLTYPE */ + OMX_IndexConfigCommonContrast, /**< reference: OMX_CONFIG_CONTRASTTYPE */ + OMX_IndexConfigCommonBrightness, /**< reference: OMX_CONFIG_BRIGHTNESSTYPE */ + OMX_IndexConfigCommonBacklight, /**< reference: OMX_CONFIG_BACKLIGHTTYPE */ + OMX_IndexConfigCommonGamma, /**< reference: OMX_CONFIG_GAMMATYPE */ + OMX_IndexConfigCommonSaturation, /**< reference: OMX_CONFIG_SATURATIONTYPE */ + OMX_IndexConfigCommonLightness, /**< reference: OMX_CONFIG_LIGHTNESSTYPE */ + OMX_IndexConfigCommonExclusionRect, /**< reference: OMX_CONFIG_RECTTYPE */ + OMX_IndexConfigCommonDithering, /**< reference: OMX_CONFIG_DITHERTYPE */ + OMX_IndexConfigCommonPlaneBlend, /**< reference: OMX_CONFIG_PLANEBLENDTYPE */ + OMX_IndexConfigCommonExposureValue, /**< reference: OMX_CONFIG_EXPOSUREVALUETYPE */ + OMX_IndexConfigCommonOutputSize, /**< reference: OMX_FRAMESIZETYPE */ + OMX_IndexParamCommonExtraQuantData, /**< reference: OMX_OTHER_EXTRADATATYPE */ + OMX_IndexConfigCommonFocusRegion, /**< reference: OMX_CONFIG_FOCUSREGIONTYPE */ + OMX_IndexConfigCommonFocusStatus, /**< reference: OMX_PARAM_FOCUSSTATUSTYPE */ + OMX_IndexConfigCommonTransitionEffect, /**< reference: OMX_CONFIG_TRANSITIONEFFECTTYPE */ + + /* Reserved Configuration range */ + OMX_IndexOtherStartUnused = 0x08000000, + OMX_IndexParamOtherPortFormat, /**< reference: OMX_OTHER_PARAM_PORTFORMATTYPE */ + OMX_IndexConfigOtherPower, /**< reference: OMX_OTHER_CONFIG_POWERTYPE */ + OMX_IndexConfigOtherStats, /**< reference: OMX_OTHER_CONFIG_STATSTYPE */ + + + /* Reserved Time range */ + OMX_IndexTimeStartUnused = 0x09000000, + OMX_IndexConfigTimeScale, /**< reference: OMX_TIME_CONFIG_SCALETYPE */ + OMX_IndexConfigTimeClockState, /**< reference: OMX_TIME_CONFIG_CLOCKSTATETYPE */ + OMX_IndexConfigTimeActiveRefClock, /**< reference: OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE */ + OMX_IndexConfigTimeCurrentMediaTime, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (read only) */ + OMX_IndexConfigTimeCurrentWallTime, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (read only) */ + OMX_IndexConfigTimeCurrentAudioReference, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (write only) */ + OMX_IndexConfigTimeCurrentVideoReference, /**< reference: OMX_TIME_CONFIG_TIMESTAMPTYPE (write only) */ + OMX_IndexConfigTimeMediaTimeRequest, /**< reference: OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE (write only) */ + OMX_IndexConfigTimeClientStartTime, /** +#define STDINT_H_AVAILABLE +#endif + +/** OMX_U8 is an 8 bit unsigned quantity that is byte aligned */ +typedef unsigned char OMX_U8; + +/** OMX_S8 is an 8 bit signed quantity that is byte aligned */ +typedef signed char OMX_S8; + +/** OMX_U16 is a 16 bit unsigned quantity that is 16 bit word aligned */ +typedef unsigned short OMX_U16; + +/** OMX_S16 is a 16 bit signed quantity that is 16 bit word aligned */ +typedef signed short OMX_S16; + +/** OMX_U32 is a 32 bit unsigned quantity that is 32 bit word aligned */ +#ifdef STDINT_H_AVAILABLE +typedef uint32_t OMX_U32; +#else +typedef unsigned long OMX_U32; +#endif + +/** OMX_S32 is a 32 bit signed quantity that is 32 bit word aligned */ +#ifdef STDINT_H_AVAILABLE +typedef int32_t OMX_S32; +#else +typedef signed long OMX_S32; +#endif + + +/* Users with compilers that cannot accept the "long long" designation should + define the OMX_SKIP64BIT macro. It should be noted that this may cause + some components to fail to compile if the component was written to require + 64 bit integral types. However, these components would NOT compile anyway + since the compiler does not support the way the component was written. +*/ +#ifndef OMX_SKIP64BIT +#ifdef __SYMBIAN32__ +/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ +typedef unsigned long long OMX_U64; + +/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ +typedef signed long long OMX_S64; + +#elif defined(WIN32) + +/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ +typedef unsigned __int64 OMX_U64; + +/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ +typedef signed __int64 OMX_S64; + +#else /* WIN32 */ + +/** OMX_U64 is a 64 bit unsigned quantity that is 64 bit word aligned */ +typedef unsigned long long OMX_U64; + +/** OMX_S64 is a 64 bit signed quantity that is 64 bit word aligned */ +typedef signed long long OMX_S64; + +#endif /* WIN32 */ +#endif + + +/** The OMX_BOOL type is intended to be used to represent a true or a false + value when passing parameters to and from the OMX core and components. The + OMX_BOOL is a 32 bit quantity and is aligned on a 32 bit word boundary. + */ +typedef enum OMX_BOOL { + OMX_FALSE = 0, + OMX_TRUE = !OMX_FALSE, + OMX_BOOL_MAX = 0x7FFFFFFF +} OMX_BOOL; + +/** The OMX_PTR type is intended to be used to pass pointers between the OMX + applications and the OMX Core and components. This is a 32 bit pointer and + is aligned on a 32 bit boundary. + */ +typedef void* OMX_PTR; + +/** The OMX_STRING type is intended to be used to pass "C" type strings between + the application and the core and component. The OMX_STRING type is a 32 + bit pointer to a zero terminated string. The pointer is word aligned and + the string is byte aligned. + */ +typedef char* OMX_STRING; + +/** The OMX_BYTE type is intended to be used to pass arrays of bytes such as + buffers between the application and the component and core. The OMX_BYTE + type is a 32 bit pointer to a zero terminated string. The pointer is word + aligned and the string is byte aligned. + */ +typedef unsigned char* OMX_BYTE; + +/** OMX_UUIDTYPE is a very long unique identifier to uniquely identify + at runtime. This identifier should be generated by a component in a way + that guarantees that every instance of the identifier running on the system + is unique. */ +typedef unsigned char OMX_UUIDTYPE[128]; + +/** The OMX_DIRTYPE enumeration is used to indicate if a port is an input or + an output port. This enumeration is common across all component types. + */ +typedef enum OMX_DIRTYPE +{ + OMX_DirInput, /**< Port is an input port */ + OMX_DirOutput, /**< Port is an output port */ + OMX_DirMax = 0x7FFFFFFF +} OMX_DIRTYPE; + +/** The OMX_ENDIANTYPE enumeration is used to indicate the bit ordering + for numerical data (i.e. big endian, or little endian). + */ +typedef enum OMX_ENDIANTYPE +{ + OMX_EndianBig, /**< big endian */ + OMX_EndianLittle, /**< little endian */ + OMX_EndianMax = 0x7FFFFFFF +} OMX_ENDIANTYPE; + + +/** The OMX_NUMERICALDATATYPE enumeration is used to indicate if data + is signed or unsigned + */ +typedef enum OMX_NUMERICALDATATYPE +{ + OMX_NumericalDataSigned, /**< signed data */ + OMX_NumericalDataUnsigned, /**< unsigned data */ + OMX_NumercialDataMax = 0x7FFFFFFF +} OMX_NUMERICALDATATYPE; + + +/** Unsigned bounded value type */ +typedef struct OMX_BU32 { + OMX_U32 nValue; /**< actual value */ + OMX_U32 nMin; /**< minimum for value (i.e. nValue >= nMin) */ + OMX_U32 nMax; /**< maximum for value (i.e. nValue <= nMax) */ +} OMX_BU32; + + +/** Signed bounded value type */ +typedef struct OMX_BS32 { + OMX_S32 nValue; /**< actual value */ + OMX_S32 nMin; /**< minimum for value (i.e. nValue >= nMin) */ + OMX_S32 nMax; /**< maximum for value (i.e. nValue <= nMax) */ +} OMX_BS32; + + +/** Structure representing some time or duration in microseconds. This structure + * must be interpreted as a signed 64 bit value. The quantity is signed to accommodate + * negative deltas and preroll scenarios. The quantity is represented in microseconds + * to accomodate high resolution timestamps (e.g. DVD presentation timestamps based + * on a 90kHz clock) and to allow more accurate and synchronized delivery (e.g. + * individual audio samples delivered at 192 kHz). The quantity is 64 bit to + * accommodate a large dynamic range (signed 32 bit values would allow only for plus + * or minus 35 minutes). + * + * Implementations with limited precision may convert the signed 64 bit value to + * a signed 32 bit value internally but risk loss of precision. + */ +#ifndef OMX_SKIP64BIT +typedef OMX_S64 OMX_TICKS; +#else +typedef struct OMX_TICKS +{ + OMX_U32 nLowPart; /** low bits of the signed 64 bit tick value */ + OMX_U32 nHighPart; /** high bits of the signed 64 bit tick value */ +} OMX_TICKS; +#endif +#define OMX_TICKS_PER_SECOND 1000000 + +/** Define the public interface for the OMX Handle. The core will not use + this value internally, but the application should only use this value. + */ +typedef void* OMX_HANDLETYPE; + +typedef struct OMX_MARKTYPE +{ + OMX_HANDLETYPE hMarkTargetComponent; /**< The component that will + generate a mark event upon + processing the mark. */ + OMX_PTR pMarkData; /**< Application specific data associated with + the mark sent on a mark event to disambiguate + this mark from others. */ +} OMX_MARKTYPE; + + +/** OMX_NATIVE_DEVICETYPE is used to map a OMX video port to the + * platform & operating specific object used to reference the display + * or can be used by a audio port for native audio rendering */ +typedef void* OMX_NATIVE_DEVICETYPE; + +/** OMX_NATIVE_WINDOWTYPE is used to map a OMX video port to the + * platform & operating specific object used to reference the window */ +typedef void* OMX_NATIVE_WINDOWTYPE; + + +/** Define the OMX IL version that corresponds to this set of header files. + * We also define a combined version that can be used to write or compare + * values of the 32bit nVersion field, assuming a little endian architecture */ +#define OMX_VERSION_MAJOR 1 +#define OMX_VERSION_MINOR 1 +#define OMX_VERSION_REVISION 2 +#define OMX_VERSION_STEP 0 + +#define OMX_VERSION ((OMX_VERSION_STEP<<24) | (OMX_VERSION_REVISION<<16) | (OMX_VERSION_MINOR<<8) | OMX_VERSION_MAJOR) + + +/** The OMX_VERSIONTYPE union is used to specify the version for + a structure or component. For a component, the version is entirely + specified by the component vendor. Components doing the same function + from different vendors may or may not have the same version. For + structures, the version shall be set by the entity that allocates the + structure. For structures specified in the OMX 1.1 specification, the + value of the version shall be set to 1.1.0.0 in all cases. Access to the + OMX_VERSIONTYPE can be by a single 32 bit access (e.g. by nVersion) or + by accessing one of the structure elements to, for example, check only + the Major revision. + */ +typedef union OMX_VERSIONTYPE +{ + struct + { + OMX_U8 nVersionMajor; /**< Major version accessor element */ + OMX_U8 nVersionMinor; /**< Minor version accessor element */ + OMX_U8 nRevision; /**< Revision version accessor element */ + OMX_U8 nStep; /**< Step version accessor element */ + } s; + OMX_U32 nVersion; /**< 32 bit value to make accessing the + version easily done in a single word + size copy/compare operation */ +} OMX_VERSIONTYPE; + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ diff --git a/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Video.h b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Video.h new file mode 100644 index 000000000..ec53ee6ec --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/khronos/IL/OMX_Video.h @@ -0,0 +1,1075 @@ +/** + * Copyright (c) 2008 The Khronos Group Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +/** + * @file OMX_Video.h - OpenMax IL version 1.1.2 + * The structures is needed by Video components to exchange parameters + * and configuration data with OMX components. + */ +#ifndef OMX_Video_h +#define OMX_Video_h + +/** @defgroup video OpenMAX IL Video Domain + * @ingroup iv + * Structures for OpenMAX IL Video domain + * @{ + */ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +/** + * Each OMX header must include all required header files to allow the + * header to compile without errors. The includes below are required + * for this header file to compile successfully + */ + +#include "OMX_IVCommon.h" + + +/** + * Enumeration used to define the possible video compression codings. + * NOTE: This essentially refers to file extensions. If the coding is + * being used to specify the ENCODE type, then additional work + * must be done to configure the exact flavor of the compression + * to be used. For decode cases where the user application can + * not differentiate between MPEG-4 and H.264 bit streams, it is + * up to the codec to handle this. + */ +typedef enum OMX_VIDEO_CODINGTYPE { + OMX_VIDEO_CodingUnused, /**< Value when coding is N/A */ + OMX_VIDEO_CodingAutoDetect, /**< Autodetection of coding type */ + OMX_VIDEO_CodingMPEG2, /**< AKA: H.262 */ + OMX_VIDEO_CodingH263, /**< H.263 */ + OMX_VIDEO_CodingMPEG4, /**< MPEG-4 */ + OMX_VIDEO_CodingWMV, /**< all versions of Windows Media Video */ + OMX_VIDEO_CodingRV, /**< all versions of Real Video */ + OMX_VIDEO_CodingAVC, /**< H.264/AVC */ + OMX_VIDEO_CodingMJPEG, /**< Motion JPEG */ + OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + + OMX_VIDEO_CodingVP6, /**< On2 VP6 */ + OMX_VIDEO_CodingVP7, /**< On2 VP7 */ + OMX_VIDEO_CodingVP8, /**< On2 VP8 */ + OMX_VIDEO_CodingYUV, /* raw YUV video */ + OMX_VIDEO_CodingSorenson, /**< Sorenson */ + OMX_VIDEO_CodingTheora, /**< Theora */ + OMX_VIDEO_CodingMVC, /**< H.264/MVC */ + + OMX_VIDEO_CodingMax = 0x7FFFFFFF +} OMX_VIDEO_CODINGTYPE; + + +/** + * Data structure used to define a video path. The number of Video paths for + * input and output will vary by type of the Video component. + * + * Input (aka Source) : zero Inputs, one Output, + * Splitter : one Input, 2 or more Outputs, + * Processing Element : one Input, one output, + * Mixer : 2 or more inputs, one output, + * Output (aka Sink) : one Input, zero outputs. + * + * The PortDefinition structure is used to define all of the parameters + * necessary for the compliant component to setup an input or an output video + * path. If additional vendor specific data is required, it should be + * transmitted to the component using the CustomCommand function. Compliant + * components will prepopulate this structure with optimal values during the + * GetDefaultInitParams command. + * + * STRUCT MEMBERS: + * cMIMEType : MIME type of data for the port + * pNativeRender : Platform specific reference for a display if a + * sync, otherwise this field is 0 + * nFrameWidth : Width of frame to be used on channel if + * uncompressed format is used. Use 0 for unknown, + * don't care or variable + * nFrameHeight : Height of frame to be used on channel if + * uncompressed format is used. Use 0 for unknown, + * don't care or variable + * nStride : Number of bytes per span of an image + * (i.e. indicates the number of bytes to get + * from span N to span N+1, where negative stride + * indicates the image is bottom up + * nSliceHeight : Height used when encoding in slices + * nBitrate : Bit rate of frame to be used on channel if + * compressed format is used. Use 0 for unknown, + * don't care or variable + * xFramerate : Frame rate to be used on channel if uncompressed + * format is used. Use 0 for unknown, don't care or + * variable. Units are Q16 frames per second. + * bFlagErrorConcealment : Turns on error concealment if it is supported by + * the OMX component + * eCompressionFormat : Compression format used in this instance of the + * component. When OMX_VIDEO_CodingUnused is + * specified, eColorFormat is used + * eColorFormat : Decompressed format used by this component + * pNativeWindow : Platform specific reference for a window object if a + * display sink , otherwise this field is 0x0. + */ +typedef struct OMX_VIDEO_PORTDEFINITIONTYPE { + OMX_STRING cMIMEType; + OMX_NATIVE_DEVICETYPE pNativeRender; + OMX_U32 nFrameWidth; + OMX_U32 nFrameHeight; + OMX_S32 nStride; + OMX_U32 nSliceHeight; + OMX_U32 nBitrate; + OMX_U32 xFramerate; + OMX_BOOL bFlagErrorConcealment; + OMX_VIDEO_CODINGTYPE eCompressionFormat; + OMX_COLOR_FORMATTYPE eColorFormat; + OMX_NATIVE_WINDOWTYPE pNativeWindow; +} OMX_VIDEO_PORTDEFINITIONTYPE; + +/** + * Port format parameter. This structure is used to enumerate the various + * data input/output format supported by the port. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Indicates which port to set + * nIndex : Indicates the enumeration index for the format from + * 0x0 to N-1 + * eCompressionFormat : Compression format used in this instance of the + * component. When OMX_VIDEO_CodingUnused is specified, + * eColorFormat is used + * eColorFormat : Decompressed format used by this component + * xFrameRate : Indicates the video frame rate in Q16 format + */ +typedef struct OMX_VIDEO_PARAM_PORTFORMATTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIndex; + OMX_VIDEO_CODINGTYPE eCompressionFormat; + OMX_COLOR_FORMATTYPE eColorFormat; + OMX_U32 xFramerate; +} OMX_VIDEO_PARAM_PORTFORMATTYPE; + + +/** + * This is a structure for configuring video compression quantization + * parameter values. Codecs may support different QP values for different + * frame types. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version info + * nPortIndex : Port that this structure applies to + * nQpI : QP value to use for index frames + * nQpP : QP value to use for P frames + * nQpB : QP values to use for bidirectional frames + */ +typedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nQpI; + OMX_U32 nQpP; + OMX_U32 nQpB; +} OMX_VIDEO_PARAM_QUANTIZATIONTYPE; + + +/** + * Structure for configuration of video fast update parameters. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version info + * nPortIndex : Port that this structure applies to + * bEnableVFU : Enable/Disable video fast update + * nFirstGOB : Specifies the number of the first macroblock row + * nFirstMB : specifies the first MB relative to the specified first GOB + * nNumMBs : Specifies the number of MBs to be refreshed from nFirstGOB + * and nFirstMB + */ +typedef struct OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnableVFU; + OMX_U32 nFirstGOB; + OMX_U32 nFirstMB; + OMX_U32 nNumMBs; +} OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE; + + +/** + * Enumeration of possible bitrate control types + */ +typedef enum OMX_VIDEO_CONTROLRATETYPE { + OMX_Video_ControlRateDisable, + OMX_Video_ControlRateVariable, + OMX_Video_ControlRateConstant, + OMX_Video_ControlRateVariableSkipFrames, + OMX_Video_ControlRateConstantSkipFrames, + OMX_Video_ControlRateKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_Video_ControlRateVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_Video_ControlRateMax = 0x7FFFFFFF +} OMX_VIDEO_CONTROLRATETYPE; + + +/** + * Structure for configuring bitrate mode of a codec. + * + * STRUCT MEMBERS: + * nSize : Size of the struct in bytes + * nVersion : OMX spec version info + * nPortIndex : Port that this struct applies to + * eControlRate : Control rate type enum + * nTargetBitrate : Target bitrate to encode with + */ +typedef struct OMX_VIDEO_PARAM_BITRATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_CONTROLRATETYPE eControlRate; + OMX_U32 nTargetBitrate; +} OMX_VIDEO_PARAM_BITRATETYPE; + + +/** + * Enumeration of possible motion vector (MV) types + */ +typedef enum OMX_VIDEO_MOTIONVECTORTYPE { + OMX_Video_MotionVectorPixel, + OMX_Video_MotionVectorHalfPel, + OMX_Video_MotionVectorQuarterPel, + OMX_Video_MotionVectorEighthPel, + OMX_Video_MotionVectorKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_Video_MotionVectorVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_Video_MotionVectorMax = 0x7FFFFFFF +} OMX_VIDEO_MOTIONVECTORTYPE; + + +/** + * Structure for configuring the number of motion vectors used as well + * as their accuracy. + * + * STRUCT MEMBERS: + * nSize : Size of the struct in bytes + * nVersion : OMX spec version info + * nPortIndex : port that this structure applies to + * eAccuracy : Enumerated MV accuracy + * bUnrestrictedMVs : Allow unrestricted MVs + * bFourMV : Allow use of 4 MVs + * sXSearchRange : Search range in horizontal direction for MVs + * sYSearchRange : Search range in vertical direction for MVs + */ +typedef struct OMX_VIDEO_PARAM_MOTIONVECTORTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_MOTIONVECTORTYPE eAccuracy; + OMX_BOOL bUnrestrictedMVs; + OMX_BOOL bFourMV; + OMX_S32 sXSearchRange; + OMX_S32 sYSearchRange; +} OMX_VIDEO_PARAM_MOTIONVECTORTYPE; + + +/** + * Enumeration of possible methods to use for Intra Refresh + */ +typedef enum OMX_VIDEO_INTRAREFRESHTYPE { + OMX_VIDEO_IntraRefreshCyclic, /**< Cyclic intra refresh, bit 0 is set*/ + OMX_VIDEO_IntraRefreshAdaptive, /**< Adaptive intra refresh, bit 1 is set*/ + OMX_VIDEO_IntraRefreshBoth, /**< Cyclic + Adaptive intra refresh (no mrows since bit 2 is off)*/ + OMX_VIDEO_IntraRefreshKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_IntraRefreshVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_IntraRefreshCyclicMrows, /**< Cyclic intra refresh, multiple rows at a time bits 0 and 2 are set*/ + OMX_VIDEO_IntraRefreshPseudoRand, /**< Psuedo random intra refresh, uses bit 3*/ + OMX_VIDEO_IntraRefreshMax = 0x7FFFFFFF +} OMX_VIDEO_INTRAREFRESHTYPE; + + +/** + * Structure for configuring intra refresh mode + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eRefreshMode : Cyclic, Adaptive, or Both + * nAirMBs : Number of intra macroblocks to refresh in a frame when + * AIR is enabled + * nAirRef : Number of times a motion marked macroblock has to be + * intra coded + * nCirMBs : Number of consecutive macroblocks to be coded as "intra" + * when CIR is enabled + */ +typedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_INTRAREFRESHTYPE eRefreshMode; + OMX_U32 nAirMBs; + OMX_U32 nAirRef; + OMX_U32 nCirMBs; + OMX_U32 nPirMBs; +} OMX_VIDEO_PARAM_INTRAREFRESHTYPE; + + +/** + * Structure for enabling various error correction methods for video + * compression. + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * bEnableHEC : Enable/disable header extension codes (HEC) + * bEnableResync : Enable/disable resynchronization markers + * nResynchMarkerSpacing : Resynch markers interval (in bits) to be + * applied in the stream + * bEnableDataPartitioning : Enable/disable data partitioning + * bEnableRVLC : Enable/disable reversible variable length + * coding + */ +typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnableHEC; + OMX_BOOL bEnableResync; + OMX_U32 nResynchMarkerSpacing; + OMX_BOOL bEnableDataPartitioning; + OMX_BOOL bEnableRVLC; +} OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE; + + +/** + * Configuration of variable block-size motion compensation (VBSMC) + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * b16x16 : Enable inter block search 16x16 + * b16x8 : Enable inter block search 16x8 + * b8x16 : Enable inter block search 8x16 + * b8x8 : Enable inter block search 8x8 + * b8x4 : Enable inter block search 8x4 + * b4x8 : Enable inter block search 4x8 + * b4x4 : Enable inter block search 4x4 + */ +typedef struct OMX_VIDEO_PARAM_VBSMCTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL b16x16; + OMX_BOOL b16x8; + OMX_BOOL b8x16; + OMX_BOOL b8x8; + OMX_BOOL b8x4; + OMX_BOOL b4x8; + OMX_BOOL b4x4; +} OMX_VIDEO_PARAM_VBSMCTYPE; + + +/** + * H.263 profile types, each profile indicates support for various + * performance bounds and different annexes. + * + * ENUMS: + * Baseline : Baseline Profile: H.263 (V1), no optional modes + * H320 Coding : H.320 Coding Efficiency Backward Compatibility + * Profile: H.263+ (V2), includes annexes I, J, L.4 + * and T + * BackwardCompatible : Backward Compatibility Profile: H.263 (V1), + * includes annex F + * ISWV2 : Interactive Streaming Wireless Profile: H.263+ + * (V2), includes annexes I, J, K and T + * ISWV3 : Interactive Streaming Wireless Profile: H.263++ + * (V3), includes profile 3 and annexes V and W.6.3.8 + * HighCompression : Conversational High Compression Profile: H.263++ + * (V3), includes profiles 1 & 2 and annexes D and U + * Internet : Conversational Internet Profile: H.263++ (V3), + * includes profile 5 and annex K + * Interlace : Conversational Interlace Profile: H.263++ (V3), + * includes profile 5 and annex W.6.3.11 + * HighLatency : High Latency Profile: H.263++ (V3), includes + * profile 6 and annexes O.1 and P.5 + */ +typedef enum OMX_VIDEO_H263PROFILETYPE { + OMX_VIDEO_H263ProfileBaseline = 0x01, + OMX_VIDEO_H263ProfileH320Coding = 0x02, + OMX_VIDEO_H263ProfileBackwardCompatible = 0x04, + OMX_VIDEO_H263ProfileISWV2 = 0x08, + OMX_VIDEO_H263ProfileISWV3 = 0x10, + OMX_VIDEO_H263ProfileHighCompression = 0x20, + OMX_VIDEO_H263ProfileInternet = 0x40, + OMX_VIDEO_H263ProfileInterlace = 0x80, + OMX_VIDEO_H263ProfileHighLatency = 0x100, + OMX_VIDEO_H263ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_H263ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_H263ProfileMax = 0x7FFFFFFF +} OMX_VIDEO_H263PROFILETYPE; + + +/** + * H.263 level types, each level indicates support for various frame sizes, + * bit rates, decoder frame rates. + */ +typedef enum OMX_VIDEO_H263LEVELTYPE { + OMX_VIDEO_H263Level10 = 0x01, + OMX_VIDEO_H263Level20 = 0x02, + OMX_VIDEO_H263Level30 = 0x04, + OMX_VIDEO_H263Level40 = 0x08, + OMX_VIDEO_H263Level45 = 0x10, + OMX_VIDEO_H263Level50 = 0x20, + OMX_VIDEO_H263Level60 = 0x40, + OMX_VIDEO_H263Level70 = 0x80, + OMX_VIDEO_H263LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_H263LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_H263LevelMax = 0x7FFFFFFF +} OMX_VIDEO_H263LEVELTYPE; + + +/** + * Specifies the picture type. These values should be OR'd to signal all + * pictures types which are allowed. + * + * ENUMS: + * Generic Picture Types: I, P and B + * H.263 Specific Picture Types: SI and SP + * H.264 Specific Picture Types: EI and EP + * MPEG-4 Specific Picture Types: S + */ +typedef enum OMX_VIDEO_PICTURETYPE { + OMX_VIDEO_PictureTypeI = 0x01, + OMX_VIDEO_PictureTypeP = 0x02, + OMX_VIDEO_PictureTypeB = 0x04, + OMX_VIDEO_PictureTypeSI = 0x08, + OMX_VIDEO_PictureTypeSP = 0x10, + OMX_VIDEO_PictureTypeEI = 0x11, + OMX_VIDEO_PictureTypeEP = 0x12, + OMX_VIDEO_PictureTypeS = 0x14, + OMX_VIDEO_PictureTypeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_PictureTypeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_PictureTypeMax = 0x7FFFFFFF +} OMX_VIDEO_PICTURETYPE; + + +/** + * H.263 Params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nPFrames : Number of P frames between each I frame + * nBFrames : Number of B frames between each I frame + * eProfile : H.263 profile(s) to use + * eLevel : H.263 level(s) to use + * bPLUSPTYPEAllowed : Indicating that it is allowed to use PLUSPTYPE + * (specified in the 1998 version of H.263) to + * indicate custom picture sizes or clock + * frequencies + * nAllowedPictureTypes : Specifies the picture types allowed in the + * bitstream + * bForceRoundingTypeToZero : value of the RTYPE bit (bit 6 of MPPTYPE) is + * not constrained. It is recommended to change + * the value of the RTYPE bit for each reference + * picture in error-free communication + * nPictureHeaderRepetition : Specifies the frequency of picture header + * repetition + * nGOBHeaderInterval : Specifies the interval of non-empty GOB + * headers in units of GOBs + */ +typedef struct OMX_VIDEO_PARAM_H263TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nPFrames; + OMX_U32 nBFrames; + OMX_VIDEO_H263PROFILETYPE eProfile; + OMX_VIDEO_H263LEVELTYPE eLevel; + OMX_BOOL bPLUSPTYPEAllowed; + OMX_U32 nAllowedPictureTypes; + OMX_BOOL bForceRoundingTypeToZero; + OMX_U32 nPictureHeaderRepetition; + OMX_U32 nGOBHeaderInterval; +} OMX_VIDEO_PARAM_H263TYPE; + + +/** + * MPEG-2 profile types, each profile indicates support for various + * performance bounds and different annexes. + */ +typedef enum OMX_VIDEO_MPEG2PROFILETYPE { + OMX_VIDEO_MPEG2ProfileSimple = 0, /**< Simple Profile */ + OMX_VIDEO_MPEG2ProfileMain, /**< Main Profile */ + OMX_VIDEO_MPEG2Profile422, /**< 4:2:2 Profile */ + OMX_VIDEO_MPEG2ProfileSNR, /**< SNR Profile */ + OMX_VIDEO_MPEG2ProfileSpatial, /**< Spatial Profile */ + OMX_VIDEO_MPEG2ProfileHigh, /**< High Profile */ + OMX_VIDEO_MPEG2ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_MPEG2ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_MPEG2ProfileMax = 0x7FFFFFFF +} OMX_VIDEO_MPEG2PROFILETYPE; + + +/** + * MPEG-2 level types, each level indicates support for various frame + * sizes, bit rates, decoder frame rates. No need + */ +typedef enum OMX_VIDEO_MPEG2LEVELTYPE { + OMX_VIDEO_MPEG2LevelLL = 0, /**< Low Level */ + OMX_VIDEO_MPEG2LevelML, /**< Main Level */ + OMX_VIDEO_MPEG2LevelH14, /**< High 1440 */ + OMX_VIDEO_MPEG2LevelHL, /**< High Level */ + OMX_VIDEO_MPEG2LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_MPEG2LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_MPEG2LevelMax = 0x7FFFFFFF +} OMX_VIDEO_MPEG2LEVELTYPE; + + +/** + * MPEG-2 params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nPFrames : Number of P frames between each I frame + * nBFrames : Number of B frames between each I frame + * eProfile : MPEG-2 profile(s) to use + * eLevel : MPEG-2 levels(s) to use + */ +typedef struct OMX_VIDEO_PARAM_MPEG2TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nPFrames; + OMX_U32 nBFrames; + OMX_VIDEO_MPEG2PROFILETYPE eProfile; + OMX_VIDEO_MPEG2LEVELTYPE eLevel; +} OMX_VIDEO_PARAM_MPEG2TYPE; + + +/** + * MPEG-4 profile types, each profile indicates support for various + * performance bounds and different annexes. + * + * ENUMS: + * - Simple Profile, Levels 1-3 + * - Simple Scalable Profile, Levels 1-2 + * - Core Profile, Levels 1-2 + * - Main Profile, Levels 2-4 + * - N-bit Profile, Level 2 + * - Scalable Texture Profile, Level 1 + * - Simple Face Animation Profile, Levels 1-2 + * - Simple Face and Body Animation (FBA) Profile, Levels 1-2 + * - Basic Animated Texture Profile, Levels 1-2 + * - Hybrid Profile, Levels 1-2 + * - Advanced Real Time Simple Profiles, Levels 1-4 + * - Core Scalable Profile, Levels 1-3 + * - Advanced Coding Efficiency Profile, Levels 1-4 + * - Advanced Core Profile, Levels 1-2 + * - Advanced Scalable Texture, Levels 2-3 + */ +typedef enum OMX_VIDEO_MPEG4PROFILETYPE { + OMX_VIDEO_MPEG4ProfileSimple = 0x01, + OMX_VIDEO_MPEG4ProfileSimpleScalable = 0x02, + OMX_VIDEO_MPEG4ProfileCore = 0x04, + OMX_VIDEO_MPEG4ProfileMain = 0x08, + OMX_VIDEO_MPEG4ProfileNbit = 0x10, + OMX_VIDEO_MPEG4ProfileScalableTexture = 0x20, + OMX_VIDEO_MPEG4ProfileSimpleFace = 0x40, + OMX_VIDEO_MPEG4ProfileSimpleFBA = 0x80, + OMX_VIDEO_MPEG4ProfileBasicAnimated = 0x100, + OMX_VIDEO_MPEG4ProfileHybrid = 0x200, + OMX_VIDEO_MPEG4ProfileAdvancedRealTime = 0x400, + OMX_VIDEO_MPEG4ProfileCoreScalable = 0x800, + OMX_VIDEO_MPEG4ProfileAdvancedCoding = 0x1000, + OMX_VIDEO_MPEG4ProfileAdvancedCore = 0x2000, + OMX_VIDEO_MPEG4ProfileAdvancedScalable = 0x4000, + OMX_VIDEO_MPEG4ProfileAdvancedSimple = 0x8000, + OMX_VIDEO_MPEG4ProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_MPEG4ProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_MPEG4ProfileMax = 0x7FFFFFFF +} OMX_VIDEO_MPEG4PROFILETYPE; + + +/** + * MPEG-4 level types, each level indicates support for various frame + * sizes, bit rates, decoder frame rates. No need + */ +typedef enum OMX_VIDEO_MPEG4LEVELTYPE { + OMX_VIDEO_MPEG4Level0 = 0x01, /**< Level 0 */ + OMX_VIDEO_MPEG4Level0b = 0x02, /**< Level 0b */ + OMX_VIDEO_MPEG4Level1 = 0x04, /**< Level 1 */ + OMX_VIDEO_MPEG4Level2 = 0x08, /**< Level 2 */ + OMX_VIDEO_MPEG4Level3 = 0x10, /**< Level 3 */ + OMX_VIDEO_MPEG4Level4 = 0x20, /**< Level 4 */ + OMX_VIDEO_MPEG4Level4a = 0x40, /**< Level 4a */ + OMX_VIDEO_MPEG4Level5 = 0x80, /**< Level 5 */ + OMX_VIDEO_MPEG4Level6 = 0x100, /**< Level 5 */ + OMX_VIDEO_MPEG4LevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_MPEG4LevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_MPEG4LevelMax = 0x7FFFFFFF +} OMX_VIDEO_MPEG4LEVELTYPE; + + +/** + * MPEG-4 configuration. This structure handles configuration options + * which are specific to MPEG4 algorithms + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nSliceHeaderSpacing : Number of macroblocks between slice header (H263+ + * Annex K). Put zero if not used + * bSVH : Enable Short Video Header mode + * bGov : Flag to enable GOV + * nPFrames : Number of P frames between each I frame (also called + * GOV period) + * nBFrames : Number of B frames between each I frame + * nIDCVLCThreshold : Value of intra DC VLC threshold + * bACPred : Flag to use ac prediction + * nMaxPacketSize : Maximum size of packet in bytes. + * nTimeIncRes : Used to pass VOP time increment resolution for MPEG4. + * Interpreted as described in MPEG4 standard. + * eProfile : MPEG-4 profile(s) to use. + * eLevel : MPEG-4 level(s) to use. + * nAllowedPictureTypes : Specifies the picture types allowed in the bitstream + * nHeaderExtension : Specifies the number of consecutive video packet + * headers within a VOP + * bReversibleVLC : Specifies whether reversible variable length coding + * is in use + */ +typedef struct OMX_VIDEO_PARAM_MPEG4TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nSliceHeaderSpacing; + OMX_BOOL bSVH; + OMX_BOOL bGov; + OMX_U32 nPFrames; + OMX_U32 nBFrames; + OMX_U32 nIDCVLCThreshold; + OMX_BOOL bACPred; + OMX_U32 nMaxPacketSize; + OMX_U32 nTimeIncRes; + OMX_VIDEO_MPEG4PROFILETYPE eProfile; + OMX_VIDEO_MPEG4LEVELTYPE eLevel; + OMX_U32 nAllowedPictureTypes; + OMX_U32 nHeaderExtension; + OMX_BOOL bReversibleVLC; +} OMX_VIDEO_PARAM_MPEG4TYPE; + + +/** + * WMV Versions + */ +typedef enum OMX_VIDEO_WMVFORMATTYPE { + OMX_VIDEO_WMVFormatUnused = 0x01, /**< Format unused or unknown */ + OMX_VIDEO_WMVFormat7 = 0x02, /**< Windows Media Video format 7 */ + OMX_VIDEO_WMVFormat8 = 0x04, /**< Windows Media Video format 8 */ + OMX_VIDEO_WMVFormat9 = 0x08, /**< Windows Media Video format 9 */ + OMX_VIDEO_WMFFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_WMFFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_WMVFormatMax = 0x7FFFFFFF +} OMX_VIDEO_WMVFORMATTYPE; + + +/** + * WMV Params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFormat : Version of WMV stream / data + */ +typedef struct OMX_VIDEO_PARAM_WMVTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_WMVFORMATTYPE eFormat; +} OMX_VIDEO_PARAM_WMVTYPE; + + +/** + * Real Video Version + */ +typedef enum OMX_VIDEO_RVFORMATTYPE { + OMX_VIDEO_RVFormatUnused = 0, /**< Format unused or unknown */ + OMX_VIDEO_RVFormat8, /**< Real Video format 8 */ + OMX_VIDEO_RVFormat9, /**< Real Video format 9 */ + OMX_VIDEO_RVFormatG2, /**< Real Video Format G2 */ + OMX_VIDEO_RVFormatKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_RVFormatVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_RVFormatMax = 0x7FFFFFFF +} OMX_VIDEO_RVFORMATTYPE; + + +/** + * Real Video Params + * + * STUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * eFormat : Version of RV stream / data + * nBitsPerPixel : Bits per pixel coded in the frame + * nPaddedWidth : Padded width in pixel of a video frame + * nPaddedHeight : Padded Height in pixels of a video frame + * nFrameRate : Rate of video in frames per second + * nBitstreamFlags : Flags which internal information about the bitstream + * nBitstreamVersion : Bitstream version + * nMaxEncodeFrameSize: Max encoded frame size + * bEnablePostFilter : Turn on/off post filter + * bEnableTemporalInterpolation : Turn on/off temporal interpolation + * bEnableLatencyMode : When enabled, the decoder does not display a decoded + * frame until it has detected that no enhancement layer + * frames or dependent B frames will be coming. This + * detection usually occurs when a subsequent non-B + * frame is encountered + */ +typedef struct OMX_VIDEO_PARAM_RVTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_VIDEO_RVFORMATTYPE eFormat; + OMX_U16 nBitsPerPixel; + OMX_U16 nPaddedWidth; + OMX_U16 nPaddedHeight; + OMX_U32 nFrameRate; + OMX_U32 nBitstreamFlags; + OMX_U32 nBitstreamVersion; + OMX_U32 nMaxEncodeFrameSize; + OMX_BOOL bEnablePostFilter; + OMX_BOOL bEnableTemporalInterpolation; + OMX_BOOL bEnableLatencyMode; +} OMX_VIDEO_PARAM_RVTYPE; + + +/** + * AVC profile types, each profile indicates support for various + * performance bounds and different annexes. + */ +typedef enum OMX_VIDEO_AVCPROFILETYPE { + OMX_VIDEO_AVCProfileBaseline = 0x01, /**< Baseline profile */ + OMX_VIDEO_AVCProfileMain = 0x02, /**< Main profile */ + OMX_VIDEO_AVCProfileExtended = 0x04, /**< Extended profile */ + OMX_VIDEO_AVCProfileHigh = 0x08, /**< High profile */ + OMX_VIDEO_AVCProfileHigh10 = 0x10, /**< High 10 profile */ + OMX_VIDEO_AVCProfileHigh422 = 0x20, /**< High 4:2:2 profile */ + OMX_VIDEO_AVCProfileHigh444 = 0x40, /**< High 4:4:4 profile */ + OMX_VIDEO_AVCProfileConstrainedBaseline = 0x80, /**< Constrained Baseline Profile */ + OMX_VIDEO_AVCProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_AVCProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_AVCProfileMax = 0x7FFFFFFF +} OMX_VIDEO_AVCPROFILETYPE; + + +/** + * AVC level types, each level indicates support for various frame sizes, + * bit rates, decoder frame rates. No need + */ +typedef enum OMX_VIDEO_AVCLEVELTYPE { + OMX_VIDEO_AVCLevel1 = 0x01, /**< Level 1 */ + OMX_VIDEO_AVCLevel1b = 0x02, /**< Level 1b */ + OMX_VIDEO_AVCLevel11 = 0x04, /**< Level 1.1 */ + OMX_VIDEO_AVCLevel12 = 0x08, /**< Level 1.2 */ + OMX_VIDEO_AVCLevel13 = 0x10, /**< Level 1.3 */ + OMX_VIDEO_AVCLevel2 = 0x20, /**< Level 2 */ + OMX_VIDEO_AVCLevel21 = 0x40, /**< Level 2.1 */ + OMX_VIDEO_AVCLevel22 = 0x80, /**< Level 2.2 */ + OMX_VIDEO_AVCLevel3 = 0x100, /**< Level 3 */ + OMX_VIDEO_AVCLevel31 = 0x200, /**< Level 3.1 */ + OMX_VIDEO_AVCLevel32 = 0x400, /**< Level 3.2 */ + OMX_VIDEO_AVCLevel4 = 0x800, /**< Level 4 */ + OMX_VIDEO_AVCLevel41 = 0x1000, /**< Level 4.1 */ + OMX_VIDEO_AVCLevel42 = 0x2000, /**< Level 4.2 */ + OMX_VIDEO_AVCLevel5 = 0x4000, /**< Level 5 */ + OMX_VIDEO_AVCLevel51 = 0x8000, /**< Level 5.1 */ + OMX_VIDEO_AVCLevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_AVCLevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_AVCLevelMax = 0x7FFFFFFF +} OMX_VIDEO_AVCLEVELTYPE; + + +/** + * AVC loop filter modes + * + * OMX_VIDEO_AVCLoopFilterEnable : Enable + * OMX_VIDEO_AVCLoopFilterDisable : Disable + * OMX_VIDEO_AVCLoopFilterDisableSliceBoundary : Disabled on slice boundaries + */ +typedef enum OMX_VIDEO_AVCLOOPFILTERTYPE { + OMX_VIDEO_AVCLoopFilterEnable = 0, + OMX_VIDEO_AVCLoopFilterDisable, + OMX_VIDEO_AVCLoopFilterDisableSliceBoundary, + OMX_VIDEO_AVCLoopFilterKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_AVCLoopFilterVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_AVCLoopFilterMax = 0x7FFFFFFF +} OMX_VIDEO_AVCLOOPFILTERTYPE; + + +/** + * AVC params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nSliceHeaderSpacing : Number of macroblocks between slice header, put + * zero if not used + * nPFrames : Number of P frames between each I frame + * nBFrames : Number of B frames between each I frame + * bUseHadamard : Enable/disable Hadamard transform + * nRefFrames : Max number of reference frames to use for inter + * motion search (1-16) + * nRefIdxTrailing : Pic param set ref frame index (index into ref + * frame buffer of trailing frames list), B frame + * support + * nRefIdxForward : Pic param set ref frame index (index into ref + * frame buffer of forward frames list), B frame + * support + * bEnableUEP : Enable/disable unequal error protection. This + * is only valid of data partitioning is enabled. + * bEnableFMO : Enable/disable flexible macroblock ordering + * bEnableASO : Enable/disable arbitrary slice ordering + * bEnableRS : Enable/disable sending of redundant slices + * eProfile : AVC profile(s) to use + * eLevel : AVC level(s) to use + * nAllowedPictureTypes : Specifies the picture types allowed in the + * bitstream + * bFrameMBsOnly : specifies that every coded picture of the + * coded video sequence is a coded frame + * containing only frame macroblocks + * bMBAFF : Enable/disable switching between frame and + * field macroblocks within a picture + * bEntropyCodingCABAC : Entropy decoding method to be applied for the + * syntax elements for which two descriptors appear + * in the syntax tables + * bWeightedPPrediction : Enable/disable weighted prediction shall not + * be applied to P and SP slices + * nWeightedBipredicitonMode : Default weighted prediction is applied to B + * slices + * bconstIpred : Enable/disable intra prediction + * bDirect8x8Inference : Specifies the method used in the derivation + * process for luma motion vectors for B_Skip, + * B_Direct_16x16 and B_Direct_8x8 as specified + * in subclause 8.4.1.2 of the AVC spec + * bDirectSpatialTemporal : Flag indicating spatial or temporal direct + * mode used in B slice coding (related to + * bDirect8x8Inference) . Spatial direct mode is + * more common and should be the default. + * nCabacInitIdx : Index used to init CABAC contexts + * eLoopFilterMode : Enable/disable loop filter + */ +typedef struct OMX_VIDEO_PARAM_AVCTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nSliceHeaderSpacing; + OMX_U32 nPFrames; + OMX_U32 nBFrames; + OMX_BOOL bUseHadamard; + OMX_U32 nRefFrames; + OMX_U32 nRefIdx10ActiveMinus1; + OMX_U32 nRefIdx11ActiveMinus1; + OMX_BOOL bEnableUEP; + OMX_BOOL bEnableFMO; + OMX_BOOL bEnableASO; + OMX_BOOL bEnableRS; + OMX_VIDEO_AVCPROFILETYPE eProfile; + OMX_VIDEO_AVCLEVELTYPE eLevel; + OMX_U32 nAllowedPictureTypes; + OMX_BOOL bFrameMBsOnly; + OMX_BOOL bMBAFF; + OMX_BOOL bEntropyCodingCABAC; + OMX_BOOL bWeightedPPrediction; + OMX_U32 nWeightedBipredicitonMode; + OMX_BOOL bconstIpred ; + OMX_BOOL bDirect8x8Inference; + OMX_BOOL bDirectSpatialTemporal; + OMX_U32 nCabacInitIdc; + OMX_VIDEO_AVCLOOPFILTERTYPE eLoopFilterMode; +} OMX_VIDEO_PARAM_AVCTYPE; + +typedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 eProfile; /**< type is OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263PROFILETYPE, + or OMX_VIDEO_MPEG4PROFILETYPE depending on context */ + OMX_U32 eLevel; /**< type is OMX_VIDEO_AVCLEVELTYPE, OMX_VIDEO_H263LEVELTYPE, + or OMX_VIDEO_MPEG4PROFILETYPE depending on context */ + OMX_U32 nProfileIndex; /**< Used to query for individual profile support information, + This parameter is valid only for + OMX_IndexParamVideoProfileLevelQuerySupported index, + For all other indices this parameter is to be ignored. */ +} OMX_VIDEO_PARAM_PROFILELEVELTYPE; + +/** + * Structure for dynamically configuring bitrate mode of a codec. + * + * STRUCT MEMBERS: + * nSize : Size of the struct in bytes + * nVersion : OMX spec version info + * nPortIndex : Port that this struct applies to + * nEncodeBitrate : Target average bitrate to be generated in bps + */ +typedef struct OMX_VIDEO_CONFIG_BITRATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nEncodeBitrate; +} OMX_VIDEO_CONFIG_BITRATETYPE; + +/** + * Defines Encoder Frame Rate setting + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * xEncodeFramerate : Encoding framerate represented in Q16 format + */ +typedef struct OMX_CONFIG_FRAMERATETYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 xEncodeFramerate; /* Q16 format */ +} OMX_CONFIG_FRAMERATETYPE; + +typedef struct OMX_CONFIG_INTRAREFRESHVOPTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL IntraRefreshVOP; +} OMX_CONFIG_INTRAREFRESHVOPTYPE; + +typedef struct OMX_CONFIG_MACROBLOCKERRORMAPTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nErrMapSize; /* Size of the Error Map in bytes */ + OMX_U8 ErrMap[1]; /* Error map hint */ +} OMX_CONFIG_MACROBLOCKERRORMAPTYPE; + +typedef struct OMX_CONFIG_MBERRORREPORTINGTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bEnabled; +} OMX_CONFIG_MBERRORREPORTINGTYPE; + +typedef struct OMX_PARAM_MACROBLOCKSTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nMacroblocks; +} OMX_PARAM_MACROBLOCKSTYPE; + +/** + * AVC Slice Mode modes + * + * OMX_VIDEO_SLICEMODE_AVCDefault : Normal frame encoding, one slice per frame + * OMX_VIDEO_SLICEMODE_AVCMBSlice : NAL mode, number of MBs per frame + * OMX_VIDEO_SLICEMODE_AVCByteSlice : NAL mode, number of bytes per frame + */ +typedef enum OMX_VIDEO_AVCSLICEMODETYPE { + OMX_VIDEO_SLICEMODE_AVCDefault = 0, + OMX_VIDEO_SLICEMODE_AVCMBSlice, + OMX_VIDEO_SLICEMODE_AVCByteSlice, + OMX_VIDEO_SLICEMODE_AVCKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ + OMX_VIDEO_SLICEMODE_AVCVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ + OMX_VIDEO_SLICEMODE_AVCLevelMax = 0x7FFFFFFF +} OMX_VIDEO_AVCSLICEMODETYPE; + +/** + * AVC FMO Slice Mode Params + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nNumSliceGroups : Specifies the number of slice groups + * nSliceGroupMapType : Specifies the type of slice groups + * eSliceMode : Specifies the type of slice + */ +typedef struct OMX_VIDEO_PARAM_AVCSLICEFMO { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U8 nNumSliceGroups; + OMX_U8 nSliceGroupMapType; + OMX_VIDEO_AVCSLICEMODETYPE eSliceMode; +} OMX_VIDEO_PARAM_AVCSLICEFMO; + +/** + * AVC IDR Period Configs + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nIDRPeriod : Specifies periodicity of IDR frames + * nPFrames : Specifies internal of coding Intra frames + */ +typedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIOD { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nIDRPeriod; + OMX_U32 nPFrames; +} OMX_VIDEO_CONFIG_AVCINTRAPERIOD; + +/** + * AVC NAL Size Configs + * + * STRUCT MEMBERS: + * nSize : Size of the structure in bytes + * nVersion : OMX specification version information + * nPortIndex : Port that this structure applies to + * nNaluBytes : Specifies the NAL unit size + */ +typedef struct OMX_VIDEO_CONFIG_NALSIZE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nNaluBytes; +} OMX_VIDEO_CONFIG_NALSIZE; + + +/** @} */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif +/* File EOF */ + diff --git a/opt/vc/include/interface/vmcs_host/linux/vcfiled/vcfiled_check.h b/opt/vc/include/interface/vmcs_host/linux/vcfiled/vcfiled_check.h new file mode 100644 index 000000000..360f50a90 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/linux/vcfiled/vcfiled_check.h @@ -0,0 +1,48 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCFILED_CHECK_H +#define VCFILED_CHECK_H + +#ifdef ANDROID +#define VCFILED_LOCKDIR "/tmp/vcfiled/vcfiled.pid" +#define VCFILED_LOCKFILE "/tmp/vcfiled" +#endif + +#ifndef VCFILED_LOCKFILE +#define VCFILED_LOCKDIR "/var/run/vcfiled" +#define VCFILED_LOCKFILE VCFILED_LOCKDIR "/vcfiled" +#endif + +typedef void (*VCFILED_LOGMSG_T)(int level, const char *fmt, ...); +int vcfiled_lock(const char *filename, VCFILED_LOGMSG_T logmsg); +extern int vcfiled_is_running(const char *lockfile); + + +#endif + + diff --git a/opt/vc/include/interface/vmcs_host/linux/vchost_config.h b/opt/vc/include/interface/vmcs_host/linux/vchost_config.h new file mode 100644 index 000000000..4207ec807 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/linux/vchost_config.h @@ -0,0 +1,61 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHOST_CONFIG_H +#define VCHOST_CONFIG_H + +#include "interface/vcos/vcos.h" + +#if 0 +/* Types that map onto VideoCore's types of the same name. */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef short int16_t; +typedef long int32_t; +typedef unsigned long uint32_t; +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#ifndef vc_assert +#define vc_assert(cond) vcos_assert(cond) +#endif +#endif + +/* On this platform we need to be able to release the host-side software resources. */ +extern void vc_os_close(void); + +#ifndef VCHPRE_ +#define VCHPRE_ extern +#endif +#ifndef VCHPOST_ +#define VCHPOST_ +#endif +#ifndef VCCPRE_ +#define VCCPRE_ +#endif + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_cec.h b/opt/vc/include/interface/vmcs_host/vc_cec.h new file mode 100644 index 000000000..f7fe24e25 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_cec.h @@ -0,0 +1,513 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * CEC related constants - shared by both host and vc. + */ + +#ifndef _VC_CEC_H_ +#define _VC_CEC_H_ + +#ifndef STRINGIFY +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY(x) +#endif + +//Broadcast address and TV logical address +#define CEC_BROADCAST_ADDR 0x0F +#define CEC_TV_ADDRESS 0x00 + +//Maximum transmit length excluding the header byte */ +#define CEC_MAX_XMIT_LENGTH 15 /* +1 for CEC Header Length */ +//Invalid physical address +#define CEC_CLEAR_ADDR 0xFFFF /* packed 16 bits of F.F.F.F */ + +/* ---------------------------------------------------------------------- + * general CEC defines + * -------------------------------------------------------------------- */ +//Maximum transmission length and invalid physical address are now in vc_cec.h +#define CEC_VERSION 0x04 /* HDMI 1.3a */ +//This OUI ID is registered at the current HQ address in Irvine +#define CEC_VENDOR_ID_BROADCOM (0x18C086L) // 24 bit OUI company id from IEEE. = Broadcom +//These three OUI IDs are registered with the old address of Irvine office in case you need them +//#define CEC_VENDOR_ID_BROADCOM (0x000AF7L) +//#define CEC_VENDOR_ID_BROADCOM (0x001018L) +//#define CEC_VENDOR_ID_BROADCOM (0x001BE9L) +#define CEC_VENDOR_ID_ONKYO (0x0009B0L) +#define CEC_VENDOR_ID_PANASONIC_EUROPE (0x000F12L) + +//If we want to "pretend" to be somebody else use a different company id +#define CEC_VENDOR_ID (0x000000L) //We should set the vendor id + +#define CEC_BLOCKING 1 +#define CEC_NONBLOCKING 0 + +/** + * These are the logical addresses for all possible attached devices + */ +typedef enum CEC_AllDevices { + CEC_AllDevices_eTV = 0, /** + */ +typedef enum CEC_DeviceTypes{ + CEC_DeviceType_TV = 0, /** + */ +typedef enum { + CEC_Abort_Reason_Unrecognised_Opcode = 0, + CEC_Abort_Reason_Wrong_Mode = 1, + CEC_Abort_Reason_Cannot_Provide_Source = 2, + CEC_Abort_Reason_Invalid_Operand = 3, + CEC_Abort_Reason_Refused = 4, + CEC_Abort_Reason_Undetermined = 5 +} CEC_ABORT_REASON_T; + +/** + * Display control parameter for + */ +typedef enum { + CEC_DISPLAY_CONTROL_DEFAULT_TIME = 0, + CEC_DISPLAY_CONTROL_UNTIL_CLEARED = (1<<6), + CEC_DISPLAY_CONTROL_CLEAR_PREV_MSG = (1<<7) +} CEC_DISPLAY_CONTROL_T; + +/** + * Power status parameter for + */ +typedef enum { + CEC_POWER_STATUS_ON = 0, + CEC_POWER_STATUS_STANDBY = 1, + CEC_POWER_STATUS_ON_PENDING = 2, + CEC_POWER_STATUS_STANDBY_PENDING = 3 +} CEC_POWER_STATUS_T; + +/** + * Menu state parameter for + */ +typedef enum { + CEC_MENU_STATE_ACTIVATED = 0, + CEC_MENU_STATE_DEACTIVATED = 1, + CEC_MENU_STATE_QUERY = 2 +} CEC_MENU_STATE_T; + +/** + * Deck status parameter for + */ +typedef enum { + CEC_DECK_INFO_PLAY = 0x11, + CEC_DECK_INFO_RECORD = 0x12, + CEC_DECK_INFO_PLAY_REVERSE = 0x13, + CEC_DECK_INFO_STILL = 0x14, + CEC_DECK_INFO_SLOW = 0x15, + CEC_DECK_INFO_SLOW_REVERSE = 0x16, + CEC_DECK_INFO_SEARCH_FORWARD = 0x17, + CEC_DECK_INFO_SEARCH_REVERSE = 0x18, + CEC_DECK_INFO_NO_MEDIA = 0x19, + CEC_DECK_INFO_STOP = 0x1A, + CEC_DECK_INFO_WIND = 0x1B, + CEC_DECK_INFO_REWIND = 0x1C, + CEC_DECK_IDX_SEARCH_FORWARD = 0x1D, + CEC_DECK_IDX_SEARCH_REVERSE = 0x1E, + CEC_DECK_OTHER_STATUS = 0x1F +} CEC_DECK_INFO_T; + +/** + * Deck control mode for + */ +typedef enum { + CEC_DECK_CTRL_FORWARD = 1, + CEC_DECK_CTRL_BACKWARD = 2, + CEC_DECK_CTRL_STOP = 3, + CEC_DECK_CTRL_EJECT = 4 +} CEC_DECK_CTRL_MODE_T; + +/** + * Play mode for + */ +typedef enum { + CEC_PLAY_FORWARD = 0x24, + CEC_PLAY_REVERSE = 0x20, + CEC_PLAY_STILL = 0x25, + CEC_PLAY_SCAN_FORWARD_MIN_SPEED = 0x05, + CEC_PLAY_SCAN_FORWARD_MED_SPEED = 0x06, + CEC_PLAY_SCAN_FORWARD_MAX_SPEED = 0x07, + CEC_PLAY_SCAN_REVERSE_MIN_SPEED = 0x09, + CEC_PLAY_SCAN_REVERSE_MED_SPEED = 0x0A, + CEC_PLAY_SCAN_REVERSE_MAX_SPEED = 0x0B, + CEC_PLAY_SLOW_FORWARD_MIN_SPEED = 0x15, + CEC_PLAY_SLOW_FORWARD_MED_SPEED = 0x16, + CEC_PLAY_SLOW_FORWARD_MAX_SPEED = 0x17, + CEC_PLAY_SLOW_REVERSE_MIN_SPEED = 0x19, + CEC_PLAY_SLOW_REVERSE_MED_SPEED = 0x1A, + CEC_PLAY_SLOW_REVERSE_MAX_SPEED = 0x1B +} CEC_PLAY_MODE_T; + +/** + * Status request for + */ +typedef enum { + CEC_DECK_STATUS_ON = 1, + CEC_DECK_STATUS_OFF = 2, + CEC_DECK_STATUS_ONCE = 3 +} CEC_DECK_STATUS_REQUEST_T; + +/** + * Button code for + */ +typedef enum { + CEC_User_Control_Select = 0x00, + CEC_User_Control_Up = 0x01, + CEC_User_Control_Down = 0x02, + CEC_User_Control_Left = 0x03, + CEC_User_Control_Right = 0x04, + CEC_User_Control_RightUp = 0x05, + CEC_User_Control_RightDown = 0x06, + CEC_User_Control_LeftUp = 0x07, + CEC_User_Control_LeftDown = 0x08, + CEC_User_Control_RootMenu = 0x09, + CEC_User_Control_SetupMenu = 0x0A, + CEC_User_Control_ContentsMenu = 0x0B, + CEC_User_Control_FavoriteMenu = 0x0C, + CEC_User_Control_Exit = 0x0D, + CEC_User_Control_Number0 = 0x20, + CEC_User_Control_Number1 = 0x21, + CEC_User_Control_Number2 = 0x22, + CEC_User_Control_Number3 = 0x23, + CEC_User_Control_Number4 = 0x24, + CEC_User_Control_Number5 = 0x25, + CEC_User_Control_Number6 = 0x26, + CEC_User_Control_Number7 = 0x27, + CEC_User_Control_Number8 = 0x28, + CEC_User_Control_Number9 = 0x29, + CEC_User_Control_Dot = 0x2A, + CEC_User_Control_Enter = 0x2B, + CEC_User_Control_Clear = 0x2C, + CEC_User_Control_ChannelUp = 0x30, + CEC_User_Control_ChannelDown = 0x31, + CEC_User_Control_PreviousChannel = 0x32, + CEC_User_Control_SoundSelect = 0x33, + CEC_User_Control_InputSelect = 0x34, + CEC_User_Control_DisplayInformation = 0x35, + CEC_User_Control_Help = 0x36, + CEC_User_Control_PageUp = 0x37, + CEC_User_Control_PageDown = 0x38, + CEC_User_Control_Power = 0x40, + CEC_User_Control_VolumeUp = 0x41, + CEC_User_Control_VolumeDown = 0x42, + CEC_User_Control_Mute = 0x43, + CEC_User_Control_Play = 0x44, + CEC_User_Control_Stop = 0x45, + CEC_User_Control_Pause = 0x46, + CEC_User_Control_Record = 0x47, + CEC_User_Control_Rewind = 0x48, + CEC_User_Control_FastForward = 0x49, + CEC_User_Control_Eject = 0x4A, + CEC_User_Control_Forward = 0x4B, + CEC_User_Control_Backward = 0x4C, + CEC_User_Control_Angle = 0x50, + CEC_User_Control_Subpicture = 0x51, + CEC_User_Control_VideoOnDemand = 0x52, + CEC_User_Control_EPG = 0x53, + CEC_User_Control_TimerProgramming = 0x54, + CEC_User_Control_InitialConfig = 0x55, + CEC_User_Control_PlayFunction = 0x60, + CEC_User_Control_PausePlayFunction = 0x61, + CEC_User_Control_RecordFunction = 0x62, + CEC_User_Control_PauseRecordFunction = 0x63, + CEC_User_Control_StopFunction = 0x64, + CEC_User_Control_MuteFunction = 0x65, + CEC_User_Control_RestoreVolumeFunction = 0x66, + CEC_User_Control_TuneFunction = 0x67, + CEC_User_Control_SelectDiskFunction = 0x68, + CEC_User_Control_SelectAVInputFunction = 0x69, + CEC_User_Control_SelectAudioInputFunction = 0x6A, + CEC_User_Control_F1Blue = 0x71, + CEC_User_Control_F2Red = 0x72, + CEC_User_Control_F3Green = 0x73, + CEC_User_Control_F4Yellow = 0x74, + CEC_User_Control_F5 = 0x75 +} CEC_USER_CONTROL_T; + +/** + *CEC topology struct + * + * Meaning of device_attr is as follows (one per active logical device) + * bit 3-0 logical address (see CEC_AllDevices_T above) + * bit 7-4 device type (see CEC_DEVICE_TYPE_T above) + * bit 11-8 index to upstream device + * bit 15-12 number of downstream device + * bit 31-16 index of first 4 downstream devices + * + * To keep life simple we only show the first 4 connected downstream devices + * + */ +typedef struct { + uint16_t active_mask; /** */ + VC_CEC_BUTTON_RELEASE = (1 << 3), /**< */ + VC_CEC_REMOTE_PRESSED = (1 << 4), /**< */ + VC_CEC_REMOTE_RELEASE = (1 << 5), /**< */ + VC_CEC_LOGICAL_ADDR = (1 << 6), /** and messages respectively) + * returns the code from the most recent respectively. + * The host application will need to find out the vendor ID of the initiator + * separately in the case if / commands were received. + * will not be longer than 6 bytes (including header) + * + * VC_CEC_LOGICAL_ADDR returns 0xF in param1 whenever no logical address is in used. If physical address is 0xFFFF, + * this means CEC is being disabled. Otherwise physical address is the one read from EDID (and no suitable logical address + * is avaiable to be allocated). Host application should only attempt to send message if both param1 is not 0xF AND param2 + * is not 0xFFFF. + * + * VC_CEC_TOPOLOGY returns a 16-bit mask in param1 where bit n is set if logical address n is present. Host application + * must explicitly retrieve the entire topology if it wants to know how devices are connected. The bit mask includes our + * own logical address. + * + * If CEC is running in passive mode, the host will get a VC_CEC_LOGICAL_ADDR_LOST callback if the logical address is + * lost (e.g. HDMI mode change). In this case the host should try a new logical address. The physical address returned may + * also change, so the host should check this. + */ + +/** + * General callback function for notifications from CEC middleware (and CEC service) + * + * @param client_p is the callback context passed in by user + * + * @param reason is the notification nature (plus message lengths, return code, etc.) + * + * @param param1 is the first parameter of notification (see above) + * + * @param param2 is the second parameter of notification (see above) + * + * @param param3 is the third parameter of notification (see above) + * + * @param param4 is the fourth parameter of notification (see above) + * + * @return void + */ +typedef void (*CEC_CALLBACK_T)(void *client_p, uint32_t reason, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4); + +/** + * Some macros to get some fields from the callback parameters in CEC callback + */ +//Marcos operating on reason +#define CEC_CB_REASON(x) ((x) & 0xFFFF) /** Get callback reason */ +#define CEC_CB_MSG_LENGTH(x) (((x) >> 16) & 0xFF) /** Get callback parameter length (this includes the header byte) */ +#define CEC_CB_RC(x) (((x) >> 24) & 0xFF) /** Get return value (only for TX callbacks for the moment) */ + +//Macros operating on param1 +#define CEC_CB_INITIATOR(x) (((x) >> 4) & 0xF) /** Get the initiator from first parameter */ +#define CEC_CB_FOLLOWER(x) ((x) & 0xF) /** Get the follower from first parameter */ +#define CEC_CB_OPCODE(x) (((x) >> 8) & 0xFF) /** Get the opcode from first parameter */ +#define CEC_CB_OPERAND1(x) (((x) >> 16) & 0xFF) /** Get the button code from or the first operand of the opcode */ +#define CEC_CB_OPERAND2(x) (((x) >> 24) & 0xFF) /** Get the second operand of opcode */ + +//CEC service return code +typedef enum { + VC_CEC_SUCCESS = 0, /** OK */ + VC_CEC_ERROR_NO_ACK = 1, /** No acknowledgement */ + VC_CEC_ERROR_SHUTDOWN = 2, /** In the process of shutting down */ + VC_CEC_ERROR_BUSY = 3, /** block is busy */ + VC_CEC_ERROR_NO_LA = 4, /** No logical address */ + VC_CEC_ERROR_NO_PA = 5, /** No physical address */ + VC_CEC_ERROR_NO_TOPO = 6, /** No topology */ + VC_CEC_ERROR_INVALID_FOLLOWER = 7, /** Invalid follower */ + VC_CEC_ERROR_INVALID_ARGUMENT = 8 /** Invalid arguments */ +} VC_CEC_ERROR_T; + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_cecservice.h b/opt/vc/include/interface/vmcs_host/vc_cecservice.h new file mode 100644 index 000000000..1b24221d3 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_cecservice.h @@ -0,0 +1,515 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * CEC service host API, + * See vc_cec.h and vc_cecservice_defs.h for related constants + */ + +#ifndef _VC_CECSERVICE_H_ +#define _VC_CECSERVICE_H_ + +#include "vcinclude/common.h" +#include "interface/vcos/vcos.h" +#include "interface/vchi/vchi.h" +#include "interface/vmcs_host/vc_cecservice_defs.h" +#include "interface/vmcs_host/vc_cec.h" + +/** + * \file + * This API defines the controls for CEC. HDMI must be powered on before + * CEC is available (subject to CEC support in TV). + * + * In general, a zero return value indicates success; a negative return + * value indicates error in VCHI layer; a positive return value indicates + * alternative return value from the server + */ + +/** + * Callback function for host side notification + * This is the SAME as the callback function type defined in vc_cec.h + * Host applications register a single callback for all CEC related notifications. + * See vc_cec.h for meanings of all parameters + * + * @param callback_data is the context passed in by user in vc_cec_register_callback + * + * @param reason bits 15-0 is VC_CEC_NOTIFY_T in vc_cec.h; + * bits 23-16 is the valid length of message in param1 to param4 (LSB of param1 is the byte0, MSB of param4 is byte15), little endian + * bits 31-24 is the return code (if any) + * + * @param param1 is the first parameter + * + * @param param2 is the second parameter + * + * @param param3 is the third parameter + * + * @param param4 is the fourth parameter + * + * @return void + */ +typedef void (*CECSERVICE_CALLBACK_T)(void *callback_data, uint32_t reason, uint32_t param1, uint32_t param2, uint32_t param3, uint32_t param4); + +//API at application start time +/** + * Call vc_vchi_cec_init to initialise the CEC service for use. + * + * @param initialise_instance is the VCHI instance + * @param connections are array of pointers to VCHI connections + * @param num_connections is the number of connections in array + * @return void + **********************************************************/ +VCHPRE_ void vc_vchi_cec_init(VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections ); + +/** + * Call vc_vchi_cec_stop to stop host side CEC service. + * + * @param none + * @return void + **********************************************************/ +VCHPRE_ void vc_vchi_cec_stop( void ); + +/** + * Host applications use vc_cec_register_callaback to register + * callback to handle all CEC notifications. If more than one applications + * need to use CEC, there should be ONE central application which acts on + * behalf of all clients and handles all communications with CEC services. + * + * @param callback function + * @param context to be passed when function is called + * @return void + ***********************************************************/ +VCHPRE_ void vc_cec_register_callback(CECSERVICE_CALLBACK_T callback, void *callback_data); + +//Service API +/** + * Use vc_cec_register_command to register an opcode to + * to forwarded to the host application. By default + * is always forwarded. Once an opcode is registered, it is left to + * the host application to reply to a CEC message (where appropriate). + * It is recommended NOT to register the following commands as they + * are replied to automatically by CEC middleware: + * , , , + * , , , + * and + * In addition, the following opcodes cannot be registered: + * , , + * , , + * and . + * is always forwarded if it is the reply + * of a command the host sent. + * + * @param opcode to be registered. + * + * @return zero if the command is successful, non-zero otherwise + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_register_command(CEC_OPCODE_T opcode); + +/** + * vc_cec_register_all registers all opcodes except + * to be forwarded as CEC_RX notification. + * Button presses , etc. will still be forwarded + * separately as VC_CEC_BUTTON_PRESSED etc. notification. + * + * @param None + * + * @return zero if the command is successful, non-zero otherwise + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_register_all( void ); + +/** + * Use vc_cec_deregister_command to remove an opcode from + * the filter for forwarding. By default is always forwarded. + * The following opcode cannot be deregistered: + * , , + * , , + * and . + * + * @param opcode to be deregistered + * + * @return zero if the command is successful, non-zero otherwise + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_deregister_command(CEC_OPCODE_T opcode); + +/** + * vc_cec_deregister_all removes all registered opcodes, + * except the ones (e.g. button presses) which are always forwarded. + * + * @param None + * + * @return zero if the command is successful, non-zero otherwise + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_deregister_all( void ); + +/** + * vc_cec_send_message allows a host application to + * send a CEC message to another device. There are several + * built-in functions for sending command messages. The host + * application MUST have a valid logical address (between 1 and + * 14 inclusive) before it can send a message. + * (For poll message set payload to NULL and length to zero). + * + * @param Follower's logical address + * + * @param Message payload WITHOUT the header byte (can be NULL) + * + * @param Payload length WITHOUT the header byte (can be zero) + * + * @param VC_TRUE if the message is a reply to an incoming message + * + * @return zero if the command is successful, non-zero otherwise + * If the command is successful, there will be a Tx callback + * in due course to indicate whether the message has been + * acknowledged by the recipient or not + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_send_message(const uint32_t follower, + const uint8_t *payload, + uint32_t length, + vcos_bool_t is_reply); +/** + * vc_cec_get_logical_address gets the logical address, + * If one is being allocated 0xF (unregistered) will be set. + * A address value of 0xF also means CEC system is not yet ready + * to send or receive any messages. + * + * @param pointer to logical address (set to allocated address) + * + * @return zero if the command is successful, non-zero otherwise + * logical_address is not modified if command failed + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_get_logical_address(CEC_AllDevices_T *logical_address); + +/** + * vc_cec_alloc_logical_address starts the allocation + * of a logical address. Logical address is automatically allocated + * after HDMI power on is complete and AV mute is deassert. + * The host only needs to call this if the + * initial allocation failed (logical address being 0xF and + * physical address is NOT 0xFFFF from VC_CEC_LOGICAL_ADDR + * notification), or if the host explicitly released its logical + * address. + * + * @param none + * + * @return zero if the command is successful, non-zero otherwise + * If successful, there will be a callback notification + * VC_CEC_LOGICAL_ADDR. + * The host should wait for this before calling this + * function again. + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_alloc_logical_address( void ); + +/** + * Normally vc_cec_release_logical_address will not + * be called by the host application. It is used to release + * our logical address. This effectively disables CEC. + * The host will need to allocate a new logical address before + * doing any CEC calls (send/receive message, get topology, etc.). + * + * @param none + * + * @return zero if the command is successful, non-zero otherwise + * The host should get a callback VC_CEC_LOGICAL_ADDR + * with 0xF being the logical address and 0xFFFF + * being the physical address. + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_release_logical_address( void ); + +/** + * Use vc_cec_get_topology to get the topology. + * + * @param pointer to VC_CEC_TOPOLOGY_T + * + * @return zero if the command is successful, non-zero otherwise + * If successful, the topology will be set, otherwise it is unchanged + * A topology with only 1 device (us) means CEC is not supported. + * If there is no topology available, this also returns a failure. + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_get_topology( VC_CEC_TOPOLOGY_T* topology); + +/** + * Use vc_cec_set_vendor_id to + * set the response to + * + * @param 24-bit IEEE vendor id + * + * @return zero if the command is successful, non-zero otherwise + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_set_vendor_id( const uint32_t id ); + +/** + * Use vc_cec_set_osd_name to + * set the response to + * + * @param OSD name (14 byte char array) + * + * @return zero if the command is successful, non-zero otherwise + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_set_osd_name( const char* name ); + +/** + * vc_cec_get_physical_address gets our physical address + * + * @param pointer to physical address (returned as 16-bit packed value) + * + * @return zero if the command is successful, non-zero otherwise + * If failed, physical address argument will not be changed + * A physical address of 0xFFFF means CEC is not supported + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_get_physical_address(uint16_t *physical_address); + +/** + * vc_cec_get_vendor_id( gets the vendor id of a particular logical address + * + * @param logical_address is the logical address of the device [in] + * + * @param vendorid is the pointer to vendor ID (24-bit IEEE OUI value) [out] + * + * @return zero if the command is successful, non-zero otherwise + * If failed, vendor id argument will not be changed + * A vendor ID of 0xFFFFFF means the device does not exist + * A vendor ID of 0x0 means vendor ID is not known and + * the application can send to that device + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_get_vendor_id(const CEC_AllDevices_T logical_address, uint32_t *vendor_id); + +/** + * vc_cec_device_type( returns the default device type of a particular + * logical address, which can be used as the argument to vc_cec_send_ReportPhysicalAddress. + * + * @param logical address + * + * @return the default device type, if there is any error, the return device + * type will be CEC_DeviceType_Invalid + * + ************************************************************/ +VCHPRE_ CEC_DEVICE_TYPE_T VCHPOST_ vc_cec_device_type(const CEC_AllDevices_T logical_address); + +/** + * These couple of functions are provided for host application's convenience: + * If the xmit message is encapsulate in a VC_CEC_MESSAGE_T + * then it can be sent as a normal message (not as a reply) + * and the initiator field is ignored with vc_cec_send_message2 + * and return zero for success + * + * Applications can call vc_cec_param2message to turn the callback parameters + * into a VC_CEC_MESSAGE_T (not for LOGICAL_ADDR and TOPOLOGY callbacks). + * It also returns zero for success. + */ +VCHPRE_ int VCHPOST_ vc_cec_send_message2(const VC_CEC_MESSAGE_T *message); + +VCHPRE_ int VCHPOST_ vc_cec_param2message( const uint32_t reason, const uint32_t param1, + const uint32_t param2, const uint32_t param3, + const uint32_t param4, VC_CEC_MESSAGE_T *message); + +//Extra API if CEC is running in passive mode +//If CEC is not in passive mode the following 3 functions always +//return failure +/** + * vc_cec_poll_address sets and polls a particular address to find out + * its availability in the CEC network. Only available when CEC is running in passive + * mode. The host can only call this function during logical address allocation stage. + * + * @param logical address to try + * + * @return 0 if poll is successful (address is occupied) + * >0 if poll is unsuccessful (Error code is in VC_CEC_ERROR_T in vc_cec.h) + * <0 VCHI errors + */ +VCHPRE_ int VCHPOST_ vc_cec_poll_address(const CEC_AllDevices_T logical_address); + +/** + * vc_cec_set_logical_address sets the logical address, device type + * and vendor ID to be in use. Only available when CEC is running in passive + * mode. It is the responsibility of the host to make sure the logical address + * is actually free to be used. Physical address will be what is read from EDID. + * + * @param logical address + * + * @param device type + * + * @param vendor ID + * + * @return 0 if successful, non-zero otherwise + */ +VCHPRE_ int VCHPOST_ vc_cec_set_logical_address(const CEC_AllDevices_T logical_address, + const CEC_DEVICE_TYPE_T device_type, + const uint32_t vendor_id); + +/** + * vc_cec_add_device adds a new device to topology. + * Only available when CEC is running in passive mode. Device will be + * automatically removed from topology if a failed xmit is detected. + * If last_device is true, it will trigger a topology computation + * (and may trigger a topology callback). + * + * @param logical address + * + * @param physical address + * + * @param device type + * + * @param true if this is the last device, false otherwise + * + * @return 0 if successful, non-zero otherwise + */ +VCHPRE_ int VCHPOST_ vc_cec_add_device(const CEC_AllDevices_T logical_address, + const uint16_t physical_address, + const CEC_DEVICE_TYPE_T device_type, + vcos_bool_t last_device); + +/** + * vc_cec_set_passive enables and disables passive mode. + * Call this function first (with VC_TRUE as the argument) to enable + * passive mode before calling any of the above passive API functions + * + * @param TRUE to enable passive mode, FALSE to disable + * + * @return 0 if successful, non-zero otherwise + */ +VCHPRE_ int VCHPOST_ vc_cec_set_passive(vcos_bool_t enabled); + + +//API for some common CEC messages +/** + * Functions beginning with vc_cec_send_xxx make it easier for the + * host application to send CEC message xxx to other devices + */ +/** + * vc_cec_send_FeatureAbort sends + * for a received command. + * + * @param follower (cannot be 0xF) + * + * @param rejected opcode + * + * @param reject reason CEC_ABORT_REASON_T + * + * @return zero if the command is successful, non-zero otherwise + * Tx callback if successful + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_send_FeatureAbort(uint32_t follower, + CEC_OPCODE_T opcode, + CEC_ABORT_REASON_T reason); + +/** + * vc_cec_send_ActiveSource broadcasts + * to all devices + * + * @param physical address (16-bit packed) + * + * @param reply or not (normally not) + * + * @return zero if the command is successful, non-zero otherwise + * Tx callback if successful + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_send_ActiveSource(uint16_t physical_address, vcos_bool_t is_reply); + +/** + * vc_cec_send_ImageViewOn sends + * + * @param follower + * + * @param reply or not (normally not) + * + * @return zero if the command is successful, non-zero otherwise + * Tx callback if successful + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_send_ImageViewOn(uint32_t follower, vcos_bool_t is_reply); + +/** + * vc_cec_send_SetOSDString sends + * + * @param follower + * + * @param string (char[13]) + * + * @param display control CEC_DISPLAY_CONTROL_T + * + * @param reply or not (normally not) + * + * @return zero if the command is successful, non-zero otherwise + * Tx callback if successful + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_send_SetOSDString(uint32_t follower, + CEC_DISPLAY_CONTROL_T disp_ctrl, + const char* string, + vcos_bool_t is_reply); + +/** + * vc_cec_send_Standby sends . + * This will put any/all devices to standby if they support + * this CEC message. + * + * @param follower (can be 0xF) + * + * @param reply or not (normally not) + * + * @return zero if the command is successful, non-zero otherwise + * Tx callback if successful + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_send_Standby(uint32_t follower, vcos_bool_t is_reply); + +/** + * vc_cec_send_MenuStatus sends + * (response to ) + * + * @param follower + * + * @param menu state CEC_MENU_STATE_T but NOT CEC_MENU_STATE_QUERY + * + * @param reply or not (should always be yes) + * + * @return zero if the command is successful, non-zero otherwise + * Tx callback if successful + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_send_MenuStatus(uint32_t follower, + CEC_MENU_STATE_T menu_state, + vcos_bool_t is_reply); + +/** + * vc_cec_send_ReportPhysicalAddress broadcasts + * to all devices. Note although + * the passed in device type can be override the default one + * associated the allocated logical address, it is not + * recommended to do so. One can use vc_cec_device_type + * to get the default device type associated with the logical + * address returned via VC_CEC_LOGICAL_ADDR callback. + * + * @param physical address (16-bit packed) + * + * @param device type to be broadcasted + * + * @param reply or not (normally not) + * + * @return zero if the command is successful, non-zero otherwise + * Tx callback if successful + ***********************************************************/ +VCHPRE_ int VCHPOST_ vc_cec_send_ReportPhysicalAddress(uint16_t physical_address, + CEC_DEVICE_TYPE_T device_type, + vcos_bool_t is_reply); + +#endif //_VC_CECSERVICE_H_ diff --git a/opt/vc/include/interface/vmcs_host/vc_cecservice_defs.h b/opt/vc/include/interface/vmcs_host/vc_cecservice_defs.h new file mode 100644 index 000000000..01045e328 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_cecservice_defs.h @@ -0,0 +1,182 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * CEC service command enumeration and parameter types. + */ + +/** + * \file + * This file contains definition shared by host side and + * Videocore side CEC service: + * + * In general, a zero return value indicates success of the function + * A non-zero value indicates VCHI error + * A positive value indicates alternative return value (for some functions). + * + */ + + +#ifndef _VC_CECSERVICE_DEFS_H_ +#define _VC_CECSERVICE_DEFS_H_ +#include "vcinclude/common.h" +#include "interface/vcos/vcos.h" +#include "interface/vcos/vcos_logging.h" +#include "interface/vchi/message_drivers/message.h" + +//CEC VCOS logging stuff +#define CECHOST_LOG_CATEGORY (&cechost_log_category) +#define vc_cec_log_trace(...) _VCOS_LOG_X(CECHOST_LOG_CATEGORY, VCOS_LOG_TRACE, __VA_ARGS__) +#define vc_cec_log_warn(...) _VCOS_LOG_X(CECHOST_LOG_CATEGORY, VCOS_LOG_WARN, __VA_ARGS__) +#define vc_cec_log_error(...) _VCOS_LOG_X(CECHOST_LOG_CATEGORY, VCOS_LOG_ERROR, __VA_ARGS__) +#define vc_cec_log_info(...) _VCOS_LOG_X(CECHOST_LOG_CATEGORY, VCOS_LOG_INFO, __VA_ARGS__) +extern VCOS_LOG_CAT_T cechost_log_category; //The actual object lives in CEC host side service code + +#define VC_CECSERVICE_VER 1 +#define CECSERVICE_MSGFIFO_SIZE 1024 +#define CECSERVICE_CLIENT_NAME MAKE_FOURCC("CECS") +#define CECSERVICE_NOTIFY_NAME MAKE_FOURCC("CECN") + +//CEC service commands +typedef enum { + VC_CEC_REGISTER_CMD = 0, + VC_CEC_REGISTER_ALL, + VC_CEC_DEREGISTER_CMD, + VC_CEC_DEREGISTER_ALL, + VC_CEC_SEND_MSG, + VC_CEC_GET_LOGICAL_ADDR, + VC_CEC_ALLOC_LOGICAL_ADDR, + VC_CEC_RELEASE_LOGICAL_ADDR, + VC_CEC_GET_TOPOLOGY, + VC_CEC_SET_VENDOR_ID, + VC_CEC_SET_OSD_NAME, + VC_CEC_GET_PHYSICAL_ADDR, + VC_CEC_GET_VENDOR_ID, + + //The following 3 commands are used when CEC middleware is + //running in passive mode (i.e. it does not allocate + //logical address automatically) + VC_CEC_POLL_ADDR, + VC_CEC_SET_LOGICAL_ADDR, + VC_CEC_ADD_DEVICE, + VC_CEC_SET_PASSIVE, + //Add more commands here + VC_CEC_END_OF_LIST +} VC_CEC_CMD_CODE_T; + +//See vc_cec.h for details +//REGISTER_CMD +//Parameters: opcode to register (CEC_OPCODE_T sent as uint32) +//Reply: none + +//REGISTER_ALL +//Parameters: none +//Reply: none + +//DEREGISTER_CMD +//Parameters: opcode to deregister (CEC_OPCODE_T sent as uint32) +//Reply: none + +//DEREGISTER_ALL +//Parameters: none +//Reply: none + +//SEND_MSG +//Parameters: destination, length, 16 bytes buffer (message can only be at most 15 bytes however) +//Reply: none (callback) +typedef struct { + uint32_t follower; + uint32_t length; + uint8_t payload[16]; //max. 15 bytes padded to 16 + uint32_t is_reply; //non-zero if this is a reply, zero otherwise +} CEC_SEND_MSG_PARAM_T; + +//GET_LOGICAL_ADDR +//Parameters: none +//Reply: logical address (uint8 returned as uint32) + +//ALLOC_LOGICAL_ADDR +//Parameters: none +//Reply: none (callback) + +//GET_TOPOLOGY +//Parameters: none +//Reply: topology (see VC_TOPOLOGY_T) + +//SET_VENDOR_ID +//Parameters: vendor id (uint32) +//Reply: none + +//Set OSD name +//Parameters: 14 byte char +//Reply: none +#define OSD_NAME_LENGTH 14 + +//GET_PHYSICAL_ADDR +//Parameter: none +//Reply: packed physical address returned as uint16 + +//GET_VENDOR_ID +//Parameter: logical address (CEC_AllDevices_T sent as uint32_t) +//Reply: (uint32_t vendor id) + +//POLL_LOGICAL_ADDR (only for passive mode) +//Used by host to test a logical address to see if it is available for use +//Only available if CEC is compiled in passive mode and while the host +//is testing the availability of a logical address +//Parameter: logical address +//Reply: + +//SET_LOGICAL_ADDR [(only for passive mode) This will be changed when we support multiple logical addresses] +//Set the logical address used +//Only available if CEC is compiled in passive mode +//Parameter: logical address, device type, vendor ID +//Reply: (int32_t - zero means success, non-zero otherwise) +//This function will result in a VC_CEC_LOGICAL_ADDR callback +typedef struct { + uint32_t logical_address; + uint32_t device_type; + uint32_t vendor_id; +} CEC_SET_LOGICAL_ADDR_PARAM_T; + +//ADD_DEVICE (only for passive mode) +//Only available if CEC is compiled in passive mode +//Parameter: logical address, physical address, device type, last device? +//Reply: (int32_t - zero means success, non-zero otherwise) +typedef struct { + uint32_t logical_address; /** + +#define VC_CMA_IOC_MAGIC 0xc5 + +#define VC_CMA_IOC_RESERVE _IO(VC_CMA_IOC_MAGIC, 0) + +#endif + +#define VC_CMA_FOURCC VCHIQ_MAKE_FOURCC('C','M','A',' ') +#define VC_CMA_VERSION 2 + +#define VC_CMA_CHUNK_ORDER 6 /* 256K */ +#define VC_CMA_CHUNK_SIZE (4096 << VC_CMA_CHUNK_ORDER) +#define VC_CMA_MAX_PARAMS_PER_MSG ((VCHIQ_MAX_MSG_SIZE - sizeof(unsigned short)) / sizeof(unsigned short)) + +enum +{ + VC_CMA_MSG_QUIT, + VC_CMA_MSG_OPEN, + VC_CMA_MSG_TICK, + VC_CMA_MSG_ALLOC, /* chunk count */ + VC_CMA_MSG_FREE, /* chunk, chunk, ... */ + VC_CMA_MSG_ALLOCATED, /* chunk, chunk, ... */ + VC_CMA_MSG_REQUEST_ALLOC, /* chunk count */ + VC_CMA_MSG_REQUEST_FREE, /* chunk count */ + VC_CMA_MSG_RESERVE, /* bytes lo, bytes hi */ + VC_CMA_MSG_MAX +}; + +typedef struct vc_cma_msg_struct +{ + unsigned short type; + unsigned short params[VC_CMA_MAX_PARAMS_PER_MSG]; +} VC_CMA_MSG_T; + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_dispmanx.h b/opt/vc/include/interface/vmcs_host/vc_dispmanx.h new file mode 100644 index 000000000..6e0f11791 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_dispmanx.h @@ -0,0 +1,133 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Display manager service API + +#ifndef _VC_DISPMANX_H_ +#define _VC_DISPMANX_H_ + +#include "interface/vcos/vcos.h" +#include "interface/vctypes/vc_image_types.h" +#include "vc_dispservice_x_defs.h" +#include "interface/vmcs_host/vc_dispmanx_types.h" +#include "interface/vchi/vchi.h" + +#ifdef __cplusplus +extern "C" { +#endif +// Same function as above, to aid migration of code. +VCHPRE_ int VCHPOST_ vc_dispman_init( void ); +// Stop the service from being used +VCHPRE_ void VCHPOST_ vc_dispmanx_stop( void ); +// Set the entries in the rect structure +VCHPRE_ int VCHPOST_ vc_dispmanx_rect_set( VC_RECT_T *rect, uint32_t x_offset, uint32_t y_offset, uint32_t width, uint32_t height ); +// Resources +// Create a new resource +VCHPRE_ DISPMANX_RESOURCE_HANDLE_T VCHPOST_ vc_dispmanx_resource_create( VC_IMAGE_TYPE_T type, uint32_t width, uint32_t height, uint32_t *native_image_handle ); +// Write the bitmap data to VideoCore memory +VCHPRE_ int VCHPOST_ vc_dispmanx_resource_write_data( DISPMANX_RESOURCE_HANDLE_T res, VC_IMAGE_TYPE_T src_type, int src_pitch, void * src_address, const VC_RECT_T * rect ); +VCHPRE_ int VCHPOST_ vc_dispmanx_resource_write_data_handle( DISPMANX_RESOURCE_HANDLE_T res, VC_IMAGE_TYPE_T src_type, int src_pitch, VCHI_MEM_HANDLE_T handle, uint32_t offset, const VC_RECT_T * rect ); +VCHPRE_ int VCHPOST_ vc_dispmanx_resource_read_data( + DISPMANX_RESOURCE_HANDLE_T handle, + const VC_RECT_T* p_rect, + void * dst_address, + uint32_t dst_pitch ); +// Delete a resource +VCHPRE_ int VCHPOST_ vc_dispmanx_resource_delete( DISPMANX_RESOURCE_HANDLE_T res ); + +// Displays +// Opens a display on the given device +VCHPRE_ DISPMANX_DISPLAY_HANDLE_T VCHPOST_ vc_dispmanx_display_open( uint32_t device ); +// Opens a display on the given device in the request mode +VCHPRE_ DISPMANX_DISPLAY_HANDLE_T VCHPOST_ vc_dispmanx_display_open_mode( uint32_t device, uint32_t mode ); +// Open an offscreen display +VCHPRE_ DISPMANX_DISPLAY_HANDLE_T VCHPOST_ vc_dispmanx_display_open_offscreen( DISPMANX_RESOURCE_HANDLE_T dest, VC_IMAGE_TRANSFORM_T orientation ); +// Change the mode of a display +VCHPRE_ int VCHPOST_ vc_dispmanx_display_reconfigure( DISPMANX_DISPLAY_HANDLE_T display, uint32_t mode ); +// Sets the desstination of the display to be the given resource +VCHPRE_ int VCHPOST_ vc_dispmanx_display_set_destination( DISPMANX_DISPLAY_HANDLE_T display, DISPMANX_RESOURCE_HANDLE_T dest ); +// Set the background colour of the display +VCHPRE_ int VCHPOST_ vc_dispmanx_display_set_background( DISPMANX_UPDATE_HANDLE_T update, DISPMANX_DISPLAY_HANDLE_T display, + uint8_t red, uint8_t green, uint8_t blue ); +// get the width, height, frame rate and aspect ratio of the display +VCHPRE_ int VCHPOST_ vc_dispmanx_display_get_info( DISPMANX_DISPLAY_HANDLE_T display, DISPMANX_MODEINFO_T * pinfo ); +// Closes a display +VCHPRE_ int VCHPOST_ vc_dispmanx_display_close( DISPMANX_DISPLAY_HANDLE_T display ); + +// Updates +// Start a new update, DISPMANX_NO_HANDLE on error +VCHPRE_ DISPMANX_UPDATE_HANDLE_T VCHPOST_ vc_dispmanx_update_start( int32_t priority ); +// Add an elment to a display as part of an update +VCHPRE_ DISPMANX_ELEMENT_HANDLE_T VCHPOST_ vc_dispmanx_element_add ( DISPMANX_UPDATE_HANDLE_T update, DISPMANX_DISPLAY_HANDLE_T display, + int32_t layer, const VC_RECT_T *dest_rect, DISPMANX_RESOURCE_HANDLE_T src, + const VC_RECT_T *src_rect, DISPMANX_PROTECTION_T protection, + VC_DISPMANX_ALPHA_T *alpha, + DISPMANX_CLAMP_T *clamp, DISPMANX_TRANSFORM_T transform ); +// Change the source image of a display element +VCHPRE_ int VCHPOST_ vc_dispmanx_element_change_source( DISPMANX_UPDATE_HANDLE_T update, DISPMANX_ELEMENT_HANDLE_T element, + DISPMANX_RESOURCE_HANDLE_T src ); +// Change the layer number of a display element +VCHPRE_ int VCHPOST_ vc_dispmanx_element_change_layer ( DISPMANX_UPDATE_HANDLE_T update, DISPMANX_ELEMENT_HANDLE_T element, + int32_t layer ); +// Signal that a region of the bitmap has been modified +VCHPRE_ int VCHPOST_ vc_dispmanx_element_modified( DISPMANX_UPDATE_HANDLE_T update, DISPMANX_ELEMENT_HANDLE_T element, const VC_RECT_T * rect ); +// Remove a display element from its display +VCHPRE_ int VCHPOST_ vc_dispmanx_element_remove( DISPMANX_UPDATE_HANDLE_T update, DISPMANX_ELEMENT_HANDLE_T element ); +// Ends an update +VCHPRE_ int VCHPOST_ vc_dispmanx_update_submit( DISPMANX_UPDATE_HANDLE_T update, DISPMANX_CALLBACK_FUNC_T cb_func, void *cb_arg ); +// End an update and wait for it to complete +VCHPRE_ int VCHPOST_ vc_dispmanx_update_submit_sync( DISPMANX_UPDATE_HANDLE_T update ); +// Query the image formats supported in the VMCS build +VCHPRE_ int VCHPOST_ vc_dispmanx_query_image_formats( uint32_t *supported_formats ); + +//New function added to VCHI to change attributes, set_opacity does not work there. +VCHPRE_ int VCHPOST_ vc_dispmanx_element_change_attributes( DISPMANX_UPDATE_HANDLE_T update, + DISPMANX_ELEMENT_HANDLE_T element, + uint32_t change_flags, + int32_t layer, + uint8_t opacity, + const VC_RECT_T *dest_rect, + const VC_RECT_T *src_rect, + DISPMANX_RESOURCE_HANDLE_T mask, + VC_IMAGE_TRANSFORM_T transform ); + +//xxx hack to get the image pointer from a resource handle, will be obsolete real soon +VCHPRE_ uint32_t VCHPOST_ vc_dispmanx_resource_get_image_handle( DISPMANX_RESOURCE_HANDLE_T res); + +//Call this instead of vc_dispman_init +VCHPRE_ void VCHPOST_ vc_vchi_dispmanx_init (VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections ); + +// Take a snapshot of a display in its current state. +// This call may block for a time; when it completes, the snapshot is ready. +VCHPRE_ int VCHPOST_ vc_dispmanx_snapshot( DISPMANX_DISPLAY_HANDLE_T display, + DISPMANX_RESOURCE_HANDLE_T snapshot_resource, + VC_IMAGE_TRANSFORM_T transform ); +#ifdef __cplusplus +} +#endif + +#endif // _VC_DISPMANX_H_ diff --git a/opt/vc/include/interface/vmcs_host/vc_dispmanx_types.h b/opt/vc/include/interface/vmcs_host/vc_dispmanx_types.h new file mode 100644 index 000000000..05b1feced --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_dispmanx_types.h @@ -0,0 +1,208 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Typedefs and enums for the VideoCore III Display Manager + +#ifndef _DISPMANX_TYPES_H +#define _DISPMANX_TYPES_H + +#include "interface/vctypes/vc_image_types.h" +#include "interface/vctypes/vc_display_types.h" + +#define VC_DISPMANX_VERSION 1 + +/* Opaque handles */ +typedef uint32_t DISPMANX_DISPLAY_HANDLE_T; +typedef uint32_t DISPMANX_UPDATE_HANDLE_T; +typedef uint32_t DISPMANX_ELEMENT_HANDLE_T; +typedef uint32_t DISPMANX_RESOURCE_HANDLE_T; + +typedef uint32_t DISPMANX_PROTECTION_T; + +#define DISPMANX_NO_HANDLE 0 + +#define DISPMANX_PROTECTION_MAX 0x0f +#define DISPMANX_PROTECTION_NONE 0 +#define DISPMANX_PROTECTION_HDCP 11 // Derived from the WM DRM levels, 101-300 + + + +/* Default display IDs. + Note: if you overwrite with you own dispmanx_platfrom_init function, you + should use IDs you provided during dispmanx_display_attach. +*/ +#define DISPMANX_ID_MAIN_LCD 0 +#define DISPMANX_ID_AUX_LCD 1 +#define DISPMANX_ID_HDMI 2 +#define DISPMANX_ID_SDTV 3 + +/* Return codes. Nonzero ones indicate failure. */ +typedef enum { + DISPMANX_SUCCESS = 0, + DISPMANX_INVALID = -1 + /* XXX others TBA */ +} DISPMANX_STATUS_T; + +typedef enum { + /* Bottom 2 bits sets the orientation */ + DISPMANX_NO_ROTATE = 0, + DISPMANX_ROTATE_90 = 1, + DISPMANX_ROTATE_180 = 2, + DISPMANX_ROTATE_270 = 3, + + DISPMANX_FLIP_HRIZ = 1 << 16, + DISPMANX_FLIP_VERT = 1 << 17 +} DISPMANX_TRANSFORM_T; + +typedef enum { + /* Bottom 2 bits sets the alpha mode */ + DISPMANX_FLAGS_ALPHA_FROM_SOURCE = 0, + DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS = 1, + DISPMANX_FLAGS_ALPHA_FIXED_NON_ZERO = 2, + DISPMANX_FLAGS_ALPHA_FIXED_EXCEED_0X07 = 3, + + DISPMANX_FLAGS_ALPHA_PREMULT = 1 << 16, + DISPMANX_FLAGS_ALPHA_MIX = 1 << 17 +} DISPMANX_FLAGS_ALPHA_T; + +typedef struct { + DISPMANX_FLAGS_ALPHA_T flags; + uint32_t opacity; + VC_IMAGE_T *mask; +} DISPMANX_ALPHA_T; + +typedef struct { + DISPMANX_FLAGS_ALPHA_T flags; + uint32_t opacity; + DISPMANX_RESOURCE_HANDLE_T mask; +} VC_DISPMANX_ALPHA_T; /* for use with vmcs_host */ + +typedef enum { + DISPMANX_FLAGS_CLAMP_NONE = 0, + DISPMANX_FLAGS_CLAMP_LUMA_TRANSPARENT = 1, +#if __VCCOREVER__ >= 0x04000000 + DISPMANX_FLAGS_CLAMP_TRANSPARENT = 2, + DISPMANX_FLAGS_CLAMP_REPLACE = 3 +#else + DISPMANX_FLAGS_CLAMP_CHROMA_TRANSPARENT = 2, + DISPMANX_FLAGS_CLAMP_TRANSPARENT = 3 +#endif +} DISPMANX_FLAGS_CLAMP_T; + +typedef enum { + DISPMANX_FLAGS_KEYMASK_OVERRIDE = 1, + DISPMANX_FLAGS_KEYMASK_SMOOTH = 1 << 1, + DISPMANX_FLAGS_KEYMASK_CR_INV = 1 << 2, + DISPMANX_FLAGS_KEYMASK_CB_INV = 1 << 3, + DISPMANX_FLAGS_KEYMASK_YY_INV = 1 << 4 +} DISPMANX_FLAGS_KEYMASK_T; + +typedef union { + struct { + uint8_t yy_upper; + uint8_t yy_lower; + uint8_t cr_upper; + uint8_t cr_lower; + uint8_t cb_upper; + uint8_t cb_lower; + } yuv; + struct { + uint8_t red_upper; + uint8_t red_lower; + uint8_t blue_upper; + uint8_t blue_lower; + uint8_t green_upper; + uint8_t green_lower; + } rgb; +} DISPMANX_CLAMP_KEYS_T; + +typedef struct { + DISPMANX_FLAGS_CLAMP_T mode; + DISPMANX_FLAGS_KEYMASK_T key_mask; + DISPMANX_CLAMP_KEYS_T key_value; + uint32_t replace_value; +} DISPMANX_CLAMP_T; + +typedef struct { + int32_t width; + int32_t height; + VC_IMAGE_TRANSFORM_T transform; + DISPLAY_INPUT_FORMAT_T input_format; +} DISPMANX_MODEINFO_T; + +/* Update callback. */ +typedef void (*DISPMANX_CALLBACK_FUNC_T)(DISPMANX_UPDATE_HANDLE_T u, void * arg); + +/* Progress callback */ +typedef void (*DISPMANX_PROGRESS_CALLBACK_FUNC_T)(DISPMANX_UPDATE_HANDLE_T u, + uint32_t line, + void * arg); + +/* Pluggable display interface */ + +typedef struct tag_DISPMANX_DISPLAY_FUNCS_T { + // Get essential HVS configuration to be passed to the HVS driver. Options + // is any combination of the following flags: HVS_ONESHOT, HVS_FIFOREG, + // HVS_FIFO32, HVS_AUTOHSTART, HVS_INTLACE; and if HVS_FIFOREG, one of; + // { HVS_FMT_RGB888, HVS_FMT_RGB565, HVS_FMT_RGB666, HVS_FMT_YUV }. + int32_t (*get_hvs_config)(void *instance, uint32_t *pchan, + uint32_t *poptions, DISPLAY_INFO_T *info, + uint32_t *bg_colour, uint32_t *test_mode); + + // Get optional HVS configuration for gamma tables, OLED matrix and dither controls. + // Set these function pointers to NULL if the relevant features are not required. + int32_t (*get_gamma_params)(void * instance, + int32_t gain[3], int32_t offset[3], int32_t gamma[3]); + int32_t (*get_oled_params)(void * instance, uint32_t * poffsets, + uint32_t coeffs[3]); + int32_t (*get_dither)(void * instance, uint32_t * dither_depth, uint32_t * dither_type); + + // Get mode information, which may be returned to the applications as a courtesy. + // Transform should be set to 0, and {width,height} should be final dimensions. + int32_t (*get_info)(void * instance, DISPMANX_MODEINFO_T * info); + + // Inform driver that the application refcount has become nonzero / zero + // These callbacks might perhaps be used for backlight and power management. + int32_t (*open)(void * instance); + int32_t (*close)(void * instance); + + // Display list updated callback. Primarily of use to a "one-shot" display. + // For convenience of the driver, we pass the register address of the HVS FIFO. + void (*dlist_updated)(void * instance, volatile uint32_t * fifo_reg); + + // End-of-field callback. This may occur in an interrupt context. + void (*eof_callback)(void * instance); + + // Return screen resolution format + DISPLAY_INPUT_FORMAT_T (*get_input_format)(void * instance); + + int32_t (*suspend_resume)(void *instance, int up); + + DISPLAY_3D_FORMAT_T (*get_3d_format)(void * instance); +} DISPMANX_DISPLAY_FUNCS_T; + +#endif /* ifndef _DISPMANX_TYPES_H */ diff --git a/opt/vc/include/interface/vmcs_host/vc_dispservice_defs.h b/opt/vc/include/interface/vmcs_host/vc_dispservice_defs.h new file mode 100644 index 000000000..1240f0e59 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_dispservice_defs.h @@ -0,0 +1,250 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VC_DISPSERVICE_DEFS_H +#define VC_DISPSERVICE_DEFS_H + +#define HOST_PITCH_ALIGNMENT 4 + +//Round up to the nearest multiple of 16 +#define PAD16(x) (((x) + (VC_INTERFACE_BLOCK_SIZE-1)) & ~(VC_INTERFACE_BLOCK_SIZE-1)) + +//The max length for an effect name +#define DISPMAN_MAX_EFFECT_NAME (28) + +typedef enum { + // Values initially chosen to match VC_IMAGE_TYPE_T to aid debugging + // This is now a mandatory constraint + VC_FORMAT_RGB565 = 1, + VC_FORMAT_YUV420 = 3, + VC_FORMAT_RGB888 = 5, + VC_FORMAT_RGBA32 = 15, + VC_FORMAT_RGBA565 = 17, + VC_FORMAT_RGBA16 = 18, + VC_FORMAT_TF_RGBA32 = 20, + VC_FORMAT_TF_RGBA16 = 23, + VC_FORMAT_TF_RGB565 = 25, + VC_FORMAT_BGR888 = 31, + VC_FORMAT_BGR888_NP = 32, + + VC_FORMAT_ARGB8888 = 43, + VC_FORMAT_XRGB8888 = 44, + + /* To force 32-bit storage, enabling use in structures over-the-wire */ + VC_FORMAT_RANGE_MAX = 0x7FFFFFFF +} VC_IMAGE_FORMAT_T; + +// Transforms. +/* Image transformations. These must match the DISPMAN and Media Player versions */ +#define TRANSFORM_HFLIP (1<<0) +#define TRANSFORM_VFLIP (1<<1) +#define TRANSFORM_TRANSPOSE (1<<2) + +typedef enum { + VC_DISPMAN_ROT0 = 0, + VC_DISPMAN_MIRROR_ROT0 = TRANSFORM_HFLIP, + VC_DISPMAN_MIRROR_ROT180 = TRANSFORM_VFLIP, + VC_DISPMAN_ROT180 = TRANSFORM_HFLIP|TRANSFORM_VFLIP, + VC_DISPMAN_MIRROR_ROT90 = TRANSFORM_TRANSPOSE, + VC_DISPMAN_ROT270 = TRANSFORM_TRANSPOSE|TRANSFORM_HFLIP, + VC_DISPMAN_ROT90 = TRANSFORM_TRANSPOSE|TRANSFORM_VFLIP, + VC_DISPMAN_MIRROR_ROT270 = TRANSFORM_TRANSPOSE|TRANSFORM_HFLIP|TRANSFORM_VFLIP, +} VC_DISPMAN_TRANSFORM_T; + +typedef enum { + VC_RESOURCE_TYPE_HOST, + VC_RESOURCE_TYPE_VIDEOCORE, + VC_RESOURCE_TYPE_VIDEOCORE_UNCACHED, +} VC_RESOURCE_TYPE_T; + +typedef struct { + uint8_t type; // VC_IMAGE_FORMAT_T + uint32_t width; // width in pixels + uint32_t height; // height in pixels + uint32_t pitch; // pitch of image_data array in *bytes* + uint32_t size; // number of *bytes* available in the image_data arry + uint32_t pointer; // pointer for image_data - this allows the object to be cast to a VC_IMAGE_T on the VIDEOCORE side +} VC_IMAGE_PARAM_T; + +typedef enum { + VC_DISPMAN_DISPLAY_SET_DESTINATION = 0, + VC_DISPMAN_DISPLAY_UPDATE_START, + VC_DISPMAN_DISPLAY_UPDATE_END, + VC_DISPMAN_DISPLAY_OBJECT_ADD, + VC_DISPMAN_DISPLAY_OBJECT_REMOVE, + VC_DISPMAN_DISPLAY_OBJECT_MODIFY, + VC_DISPMAN_DISPLAY_LOCK, + VC_DISPMAN_DISPLAY_UNLOCK, + VC_DISPMAN_DISPLAY_RESOURCE_CREATE, + VC_DISPMAN_DISPLAY_RESOURCE_DELETE, + VC_DISPMAN_DISPLAY_GET_COMPOSITE, + VC_DISPMAN_DISPLAY_APPLY_EFFECT_INSTANCE, + VC_DISPMAN_DISPLAY_RECONFIGURE, + VC_DISPMAN_DISPLAY_CREATE_EFFECTS_INSTANCE, + VC_DISPMAN_DISPLAY_DELETE_EFFECTS_INSTANCE, + VC_DISPMAN_DISPLAY_SET_EFFECT, + VC_DISPMAN_DISPLAY_RESOURCE_SET_ALPHA, + VC_DISPMAN_DISPLAY_SNAPSHOT, + VC_DISPMAN_DISPLAY_QUERY_IMAGE_FORMATS, + VC_DISPMAN_DISPLAY_GET_DISPLAY_DETAILS, + // new features - add to end of list + VC_DISPMAN_DISPLAY_RESOURCE_CREATE_FROM_IMAGE, + VC_CMD_END_OF_LIST +} VC_CMD_CODE_T; + +/* The table of functions executed for each command. */ + +typedef void (*INTERFACE_EXECUTE_FN_T)(int, int); + +extern INTERFACE_EXECUTE_FN_T interface_execute_fn[]; + +//Parameter sets for dispservice commands +typedef struct { + uint32_t state; + uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMAN_LOCK_PARAM_T; + +typedef struct { + uint32_t display; + uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMAN_GET_DISPLAY_DETAILS_PARAM_T; + +typedef struct { + uint32_t display; + uint32_t resource; + uint32_t dummy[2]; //Pad to multiple of 16 bytes +} DISPMAN_SET_DEST_PARAM_T; + +typedef struct { + uint32_t display; + uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMAN_GET_COMPOSITE_PARAM_T; + +typedef struct +{ + uint32_t display; + uint32_t effects_instance; + + uint32_t dummy[2]; //Pad to multiple of 16 bytes +} DISPMAN_APPLY_EFFECTS_INSTANCE_PARAM_T; + +typedef struct +{ + uint32_t read_response; + uint32_t effects_instance; +} DISPMAN_CREATE_EFFECTS_INSTANCE_RESPONSE_T; + +typedef struct +{ + uint32_t effects_instance; + uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMAN_DELETE_EFFECTS_INSTANCE_PARAM_T; + +typedef struct +{ + uint32_t effects_instance; + char effect_name[ DISPMAN_MAX_EFFECT_NAME ]; + //no need to pad as long as DISPMAN_MAX_EFFECT_NAME +sizeof(uint32) = 32 +} DISPMAN_SET_EFFECT_PARAM_T; + +typedef struct { + uint32_t display; + uint16_t width; + uint16_t height; + uint32_t dummy[2]; //Pad to multiple of 16 bytes +} DISPMAN_RECONFIGURE_PARAM_T; + +typedef struct { + uint32_t display; + uint32_t transparent_colour; + uint32_t dummy[2]; //Pad to multiple of 16 bytes +} DISPMAN_SET_TRANSPARENT_COLOUR_PARAM_T; + +typedef struct { + //uint32_t object; + uint32_t display; + int32_t layer; + uint32_t transform; + uint32_t resource; + uint16_t dest_x; + uint16_t dest_y; + uint16_t dest_width; + uint16_t dest_height; + uint16_t src_x; + uint16_t src_y; + uint16_t src_width; + uint16_t src_height; +} DISPMAN_OBJECT_ADD_PARAM_T; + +typedef struct { + uint32_t object; + uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMAN_OBJECT_REMOVE_PARAM_T; + +typedef struct { + uint32_t object; + uint16_t src_x; + uint16_t src_y; + uint16_t width; + uint16_t height; + uint32_t dummy[1]; // Pad to multiple of 16 bytes +} DISPMAN_OBJECT_MODIFY_PARAM_T; + +typedef struct +{ + uint32_t *resource; + VC_IMAGE_PARAM_T image; + uint8_t type; // VC_RESOURCE_TYPE_T + //Removed padding. VC_IMAGE_T may change in size, so handle the size in the code that sends and receives the commands + //uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMAN_RESOURCE_CREATE_PARAM_T; + +typedef struct +{ + uint32_t native_image_ptr; + uint32_t type; // VC_RESOURCE_TYPE_T + uint32_t dummy[2]; // Pad to multiple of 16 bytes +} DISPMAN_RESOURCE_CREATE_FROM_IMAGE_PARAM_T; + +typedef struct { + uint32_t resource; + uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMAN_RESOURCE_DELETE_PARAM_T; + +typedef struct { + uint32_t resource; + uint32_t alpha; + uint32_t dummy[2]; //Pad to multiple of 16 bytes +} DISPMAN_RESOURCE_SET_ALPHA_PARAM_T; + +typedef struct { + uint32_t display; + uint32_t resource; + uint32_t dummy[2]; //Pad to multiple of 16 bytes +} DISPMAN_DISPLAY_SNAPSHOT_PARAM_T; + +#endif //VC_DISPSERVICE_DEFS_H diff --git a/opt/vc/include/interface/vmcs_host/vc_dispservice_x_defs.h b/opt/vc/include/interface/vmcs_host/vc_dispservice_x_defs.h new file mode 100644 index 000000000..9291eef45 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_dispservice_x_defs.h @@ -0,0 +1,276 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Display service command enumeration. + +#ifndef VC_DISPSERVICEX_DEFS_H +#define VC_DISPSERVICEX_DEFS_H + +#include "interface/vctypes/vc_image_types.h" + +#define HOST_PITCH_ALIGNMENT 4 + +//Round up to the nearest multiple of 16 +#define PAD16(x) (((x) + (VC_INTERFACE_BLOCK_SIZE-1)) & ~(VC_INTERFACE_BLOCK_SIZE-1)) + +//The max length for an effect name +#define DISPMANX_MAX_EFFECT_NAME (28) + +// Should really use the VC_IMAGE_TYPE_T, but this one has been extended +// to force it up to 32-bits... +typedef enum { + // Values initially chosen to match VC_IMAGE_TYPE_T to aid debugging + // This is now a mandatory constraint + VC_FORMAT_RGB565 = VC_IMAGE_RGB565, + VC_FORMAT_YUV420 = VC_IMAGE_YUV420, + VC_FORMAT_RGB888 = VC_IMAGE_RGB888, + VC_FORMAT_RGBA32 = VC_IMAGE_RGBA32, + VC_FORMAT_RGBA565 = VC_IMAGE_RGBA565, + VC_FORMAT_RGBA16 = VC_IMAGE_RGBA16, + VC_FORMAT_TF_RGBA32 = VC_IMAGE_TF_RGBA32, + VC_FORMAT_TF_RGBA16 = VC_IMAGE_TF_RGBA16, + VC_FORMAT_TF_RGB565 = VC_IMAGE_TF_RGB565, + VC_FORMAT_BGR888 = VC_IMAGE_BGR888, + VC_FORMAT_BGR888_NP = VC_IMAGE_BGR888_NP, + + VC_FORMAT_ARGB8888 = VC_IMAGE_ARGB8888, + VC_FORMAT_XRGB8888 = VC_IMAGE_XRGB8888, + + /* To force 32-bit storage, enabling use in structures over-the-wire */ + VC_FORMAT_RANGE_MAX = 0x7FFFFFFF +} VC_IMAGE_FORMAT_T; + +// Transforms. +/* Image transformations. These must match the DISPMAN and Media Player versions */ +#define TRANSFORM_HFLIP (1<<0) +#define TRANSFORM_VFLIP (1<<1) +#define TRANSFORM_TRANSPOSE (1<<2) + +#define VC_DISPMAN_ROT0 VC_IMAGE_ROT0 +#define VC_DISPMAN_ROT90 VC_IMAGE_ROT90 +#define VC_DISPMAN_ROT180 VC_IMAGE_ROT180 +#define VC_DISPMAN_ROT270 VC_IMAGE_ROT270 +#define VC_DISPMAN_MIRROR_ROT0 VC_IMAGE_MIRROR_ROT0 +#define VC_DISPMAN_MIRROR_ROT90 VC_IMAGE_MIRROR_ROT90 +#define VC_DISPMAN_MIRROR_ROT180 VC_IMAGE_MIRROR_ROT180 +#define VC_DISPMAN_MIRROR_ROT270 VC_IMAGE_MIRROR_ROT270 +#define VC_DISPMAN_TRANSFORM_T VC_IMAGE_TRANSFORM_T + +typedef enum { + VC_RESOURCE_TYPE_HOST, + VC_RESOURCE_TYPE_VIDEOCORE, + VC_RESOURCE_TYPE_VIDEOCORE_UNCACHED, +} VC_RESOURCE_TYPE_T; + +typedef struct { + uint8_t type; // VC_IMAGE_FORMAT_T + uint32_t width; // width in pixels + uint32_t height; // height in pixels + uint32_t pitch; // pitch of image_data array in *bytes* + uint32_t size; // number of *bytes* available in the image_data arry + uint32_t pointer; // pointer for image_data - this allows the object to be cast to a VC_IMAGE_T on the VIDEOCORE side +} VC_IMAGE_PARAM_T; + +typedef enum { + VC_DISPMANX_GET_DEVICES = 0, + VC_DISPMANX_GET_DEVICE_NAME, + VC_DISPMANX_GET_MODES, + VC_DISPMANX_GET_MODE_INFO, + VC_DISPMANX_DISPLAY_QUERY_IMAGE_FORMATS, + // Resources + VC_DISPMANX_RESOURCE_CREATE, + VC_DISPMANX_RESOURCE_WRITE_DATA, + VC_DISPMANX_RESOURCE_DELETE, + // Displays + VC_DISPMANX_DISPLAY_OPEN, + VC_DISPMANX_DISPLAY_OPEN_MODE, + VC_DISPMANX_DISPLAY_OPEN_OFFSCREEN, + VC_DISPMANX_DISPLAY_RECONFIGURE, + VC_DISPMANX_DISPLAY_SET_DESTINATION, + VC_DISPMANX_DISPLAY_SET_BACKGROUND, + VC_DISPMANX_DISPLAY_GET_INFO, + VC_DISPMANX_DISPLAY_CLOSE, + // Updates + VC_DISPMANX_UPDATE_START, + VC_DISPMANX_ELEMENT_ADD, + VC_DISPMANX_ELEMENT_CHANGE_SOURCE, + VC_DISPMANX_ELEMENT_MODIFIED, + VC_DISPMANX_ELEMENT_REMOVE, + VC_DISPMANX_UPDATE_SUBMIT, + VC_DISPMANX_UPDATE_SUBMIT_SYNC, + // Miscellaneous + VC_DISPMANX_SNAPSHOT, + // new features - add to end of list + VC_CMD_END_OF_LIST +} VC_CMD_CODE_T; + +/* The table of functions executed for each command. */ + +typedef void (*INTERFACE_EXECUTE_FN_T)(int, int); + +extern INTERFACE_EXECUTE_FN_T interface_execute_fn[]; + +#define DISPMANX_MAX_HOST_DEVICES 8 +#define DISPMANX_MAX_DEVICE_NAME_LEN 16 + +//Parameter sets for dispservice commands + +typedef struct { + int32_t response; + uint32_t ndevices; + uint32_t dummy[2]; + uint8_t names[DISPMANX_MAX_HOST_DEVICES][DISPMANX_MAX_DEVICE_NAME_LEN]; +} DISPMANX_GET_DEVICES_RESP_T; +typedef struct { + uint32_t device; + uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMANX_GET_MODES_PARAM_T; +typedef struct { + uint32_t display; + uint32_t mode; + uint32_t dummy[2]; //Pad to multiple of 16 bytes +} DISPMANX_GET_MODE_INFO_PARAM_T; +typedef struct { + uint32_t type; + uint32_t width; + uint32_t height; + uint32_t dummy[1]; // Pad to multiple of 16 bytes +} DISPMANX_RESOURCE_CREATE_PARAM_T; +typedef struct { + // This will be needed when we change to vchi. + int junk; // empty structure not allowed +} DISPMANX_RESOURCE_WRITE_DATA_PARAM_T; +typedef struct { + uint32_t handle; + uint32_t dummy[3]; //Pad to multiple of 16 bytes +} DISPMANX_RESOURCE_DELETE_PARAM_T; +typedef struct { + uint32_t device; + uint32_t dummy[3]; +} DISPMANX_DISPLAY_OPEN_PARAM_T; +typedef struct { + uint32_t device; + uint32_t mode; + uint32_t dummy[2]; +} DISPMANX_DISPLAY_OPEN_MODE_PARAM_T; +typedef struct { + uint32_t dest; + uint32_t orientation; + uint32_t dummy[2]; +} DISPMANX_DISPLAY_OPEN_OFFSCREEN_PARAM_T; +typedef struct { + uint32_t display; + uint32_t dest; + uint32_t dummy[2]; +} DISPMANX_DISPLAY_SET_DESTINATION_PARAM_T; +typedef struct { + uint32_t display; + uint32_t update; + uint32_t colour; + uint32_t dummy; +} DISPMANX_DISPLAY_SET_BACKGROUND_PARAM_T; +typedef struct { + uint32_t display; + uint32_t dummy[3]; +} DISPMANX_DISPLAY_GET_INFO_PARAM_T; +typedef struct { + uint32_t read_response; + int32_t width; + int32_t height; + int32_t aspect_pixwidth; + int32_t aspect_pixheight; + int32_t fieldrate_num; + int32_t fieldrate_denom; + int32_t fields_per_frame; + uint32_t transform; + uint32_t dummy[3]; +} DISPMANX_DISPLAY_GET_INFO_RESP_T; +typedef struct { + int32_t priority; + uint32_t dummy[3]; +} DISPMANX_UPDATE_START_PARAM_T; +typedef struct { + uint32_t update; + uint32_t display; + int32_t layer; + uint32_t transform; + uint32_t src_resource; + uint16_t dest_x; + uint16_t dest_y; + uint16_t dest_width; + uint16_t dest_height; + uint16_t src_x; + uint16_t src_y; + uint16_t src_width; + uint16_t src_height; + uint32_t flags; + uint32_t opacity; + uint32_t mask_resource; + // already 16 byte aligned +} DISPMANX_ELEMENT_ADD_PARAM_T; +typedef struct { + uint32_t update; + uint32_t element; + uint32_t src_resource; + uint32_t dummy; // pad to 16 bytes +} DISPMANX_ELEMENT_CHANGE_SOURCE_PARAM_T; +typedef struct { + uint32_t update; + uint32_t element; + uint16_t x; + uint16_t y; + uint16_t width; + uint16_t height; +} DISPMANX_ELEMENT_MODIFIED_PARAM_T; +typedef struct { + uint32_t update; + uint32_t element; + uint32_t dummy[2]; +} DISPMANX_ELEMENT_REMOVE_PARAM_T; +typedef struct { + uint32_t update; + uint32_t dummy[3]; +} DISPMANX_UPDATE_SUBMIT_PARAM_T; +typedef struct { + uint32_t update; + uint32_t dummy[3]; +} DISPMANX_UPDATE_SUBMIT_SYNC_PARAM_T; +typedef struct { + uint32_t display; + uint32_t snapshot_resource; + uint32_t transform; + uint32_t dummy[1]; +} DISPMANX_DISPLAY_SNAPSHOT_PARAM_T; + +// for dispmanx + +#define TRANSFORM_HFLIP (1<<0) +#define TRANSFORM_VFLIP (1<<1) +#define TRANSFORM_TRANSPOSE (1<<2) + + +#endif //VC_DISPSERVICEX_DEFS_H diff --git a/opt/vc/include/interface/vmcs_host/vc_fileservice_defs.h b/opt/vc/include/interface/vmcs_host/vc_fileservice_defs.h new file mode 100644 index 000000000..cfcb738ce --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_fileservice_defs.h @@ -0,0 +1,119 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// File service command enumeration. + +#ifndef VC_FILESERVICE_DEFS_H +#define VC_FILESERVICE_DEFS_H + +#define VC_FILESERV_VER 1 +/* Definitions (not used by API) */ +#define FS_MAX_DATA 8192 //4096 + +/* Protocol (not used by API) version 1.2 */ + +enum { + /* Over-the-wire file open flags */ + VC_O_RDONLY = 0x01, + VC_O_WRONLY = 0x02, + VC_O_RDWR = 0x04, + VC_O_APPEND = 0x08, + VC_O_CREAT = 0x10, + VC_O_TRUNC = 0x20, + VC_O_EXCL = 0x40, + + /* Request Commands (VC->Host->VC) */ + + /* These commands don't require a pathname */ + VC_FILESYS_RESET = 64, + VC_FILESYS_CLOSE = 65, + VC_FILESYS_CLOSEDIR = 66, + VC_FILESYS_LSEEK = 67, + VC_FILESYS_READ = 68, + VC_FILESYS_READDIR = 69, + VC_FILESYS_SETEND = 70, + VC_FILESYS_WRITE = 71, + + /* These commands require a pathname */ + VC_FILESYS_FORMAT = 72, + VC_FILESYS_FREESPACE = 73, + VC_FILESYS_GET_ATTR = 74, + VC_FILESYS_MKDIR = 75, + VC_FILESYS_OPEN = 76, + VC_FILESYS_OPENDIR = 77, + VC_FILESYS_REMOVE = 78, + VC_FILESYS_RENAME = 79, + VC_FILESYS_SET_ATTR = 80, + VC_FILESYS_SCANDISK = 81, + VC_FILESYS_TOTALSPACE = 82, + VC_FILESYS_DISKWRITABLE=83, + VC_FILESYS_OPEN_DISK_RAW = 84, + VC_FILESYS_CLOSE_DISK_RAW = 85, + VC_FILESYS_NUMSECTORS = 86, + VC_FILESYS_READ_SECTORS = 87, + VC_FILESYS_WRITE_SECTORS = 88, + + VC_FILESYS_MOUNT = 89, + VC_FILESYS_UMOUNT = 90, + VC_FILESYS_FSTYPE = 91, + + VC_FILESYS_READ_DIRECT = 92, + + VC_FILESYS_LSEEK64 = 93, + VC_FILESYS_FREESPACE64 = 94, + VC_FILESYS_TOTALSPACE64= 95, + VC_FILESYS_OPEN_DISK = 96, + VC_FILESYS_CLOSE_DISK = 97, + + /* extra simple functions for mass storage testing */ + VC_FILESYS_READ_SECTOR = 98, //1sect + VC_FILESYS_STREAM_SECTOR_BEGIN = 99, + VC_FILESYS_STREAM_SECTOR_END = 100, + VC_FILESYS_WRITE_SECTOR = 101, + VC_FILESYS_FSTAT = 102, + VC_FILESYS_DIRSIZE = 103, + VC_FILESYS_LIST_DIRS = 104, + VC_FILESYS_LIST_FILES = 105, + VC_FILESYS_NUM_DIRS = 106, + VC_FILESYS_NUM_FILES = 107, + VC_FILESYS_MAX_FILESIZE = 108, + VC_FILESYS_CHKDSK = 109, +}; + +/* Parameters for lseek */ + +#define VC_FILESYS_SEEK_SET 0 /* Set file pointer to "offset" */ +#define VC_FILESYS_SEEK_CUR 1 /* Set file pointer to current plus "offset" */ +#define VC_FILESYS_SEEK_END 2 /* Set file pointer to EOF plus "offset" */ + +/* Return values of vc_filesys_type */ +#define VC_FILESYS_FS_UNKNOWN 0 +#define VC_FILESYS_FS_FAT12 1 +#define VC_FILESYS_FS_FAT16 2 +#define VC_FILESYS_FS_FAT32 3 + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_gencmd_defs.h b/opt/vc/include/interface/vmcs_host/vc_gencmd_defs.h new file mode 100644 index 000000000..ef9ea6fbf --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_gencmd_defs.h @@ -0,0 +1,36 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VC_GENCMD_DEFS_H +#define VC_GENCMD_DEFS_H + +//Format of reply message is error code followed by a string +#define GENCMDSERVICE_MSGFIFO_SIZE 1024 + +#define VC_GENCMD_VER 1 + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_hdmi.h b/opt/vc/include/interface/vmcs_host/vc_hdmi.h new file mode 100644 index 000000000..4305ff02e --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_hdmi.h @@ -0,0 +1,544 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * HDMI common host header for TV service, defines resolution code which host applications should + * use for power up command for HDMI + */ + +#ifndef _VC_HDMI_H_ +#define _VC_HDMI_H_ + +#include "vc_hdmi_property.h" /**< All HDMI related properties have been moved to here */ + +typedef int VC_HDMI_BOOL_T; + +/** + * HDMI resolution groups. There are two main groups: + * CEA - the conventional HDMI ones like 720p + * DMT - computer monitor resolutions like XGA + */ +typedef enum { + HDMI_RES_GROUP_INVALID = 0, /**< Initialised value */ + HDMI_RES_GROUP_CEA = 1, /**< CEA - HDMI device */ + HDMI_RES_GROUP_DMT = 2, /**< DMT - computer monitors */ + HDMI_RES_GROUP_CEA_3D = 3, /* deprecated */ + +} HDMI_RES_GROUP_T; + +#define HDMI_RES_GROUP_NAME(g) \ + (((g) == HDMI_RES_GROUP_INVALID) ? "Invalid" : \ + (((g) == HDMI_RES_GROUP_CEA) ? "CEA" : \ + (((g) == HDMI_RES_GROUP_DMT) ? "DMT" : \ + "Unknown"))) + +/** + * CEA 861 defined video code and aspect ratios for various HDMI modes + * Not all values are valid for AVI infoframe + */ +typedef enum { + HDMI_ASPECT_UNKNOWN = 0, /**< Unknown aspect ratio, or not one of the values below */ + HDMI_ASPECT_4_3 = 1, /**< 4:3 */ + HDMI_ASPECT_14_9 = 2, /**< 14:9 */ + HDMI_ASPECT_16_9 = 3, /**< 16:9 */ + HDMI_ASPECT_5_4 = 4, /**< 5:4 */ + HDMI_ASPECT_16_10 = 5, /**< 16:10*/ + HDMI_ASPECT_15_9 = 6, /**< 15:9 */ + HDMI_ASPECT_64_27 = 7, /**< 64:27 */ + HDMI_ASPECT_21_9 = HDMI_ASPECT_64_27 /**< 21:9 is jargon, 64:27 is the actual aspect ratio */ + /* More aspect ratio values may be added here if defined by CEA in future */ +} HDMI_ASPECT_T; + +/** + * Display options set the bounding box (only used in CEA mode) + */ +typedef struct { + uint16_t aspect; /**host */ + VC_HOSTREQ_RESET = 64, + VC_HOSTREQ_CAPTUREKEYS, + VC_HOSTREQ_VIBRATORPLAY, + VC_HOSTREQ_VIBRATORSTOP, + VC_HOSTREQ_KEYLIGHT, + VC_HOSTREQ_SETLEDS, + VC_HOSTREQ_TIME, + VC_HOSTREQ_NOTIFY, + VC_HOSTREQ_READMEM, + VC_HOSTREQ_CONFIGTEXT, + VC_HOSTREQ_RENDERTEXT, + VC_HOSTREQ_LINKDATA, + VC_HOSTREQ_MALLOC, + VC_HOSTREQ_FREE, + VC_HOSTREQ_MEMMOVE, + VC_HOSTREQ_WRITEMEM, + VC_HOSTREQ_KEYIN, + VC_HOSTREQ_DISPLAYDEV, + VC_HOSTREQ_ACCESSURL, + VC_HOSTREQ_DMB_FIC, + VC_HOSTREQ_DMB_PAD, + VC_HOSTREQ_DMB_DATA, + VC_HOSTREQ_READMEM_3D, + VC_HOSTREQ_SEND_PCM, + VC_HOSTREQ_AUDIODEVREQUEST, + VC_HOSTREQ_AUDIODEVCONFIG, + VC_HOSTREQ_AUDIODEVRELEASE, + VC_HOSTREQ_PHOTOROW, + VC_HOSTREQ_COPYCONTROL, + VC_HOSTREQ_READPIXELS, /* Batch read of photo data from host */ + VC_HOSTREQ_REPORT_AV_STATS, + VC_HOSTREQ_GPIO, + + /* Host request service key messages */ + VC_HOSTREQ_KEYEVENT = 96, + VC_HOSTREQ_KEYACK +}; + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_ilcs_defs.h b/opt/vc/include/interface/vmcs_host/vc_ilcs_defs.h new file mode 100644 index 000000000..1bfe866d2 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_ilcs_defs.h @@ -0,0 +1,288 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// OpenMAX IL Component Service definitions + +#ifndef VC_ILCS_DEFS_H +#define VC_ILCS_DEFS_H + +#define VC_ILCS_VERSION 1 + +#ifdef USE_VCHIQ_ARM +#include "interface/vchiq_arm/vchiq.h" +#else +#include "interface/vchiq/vchiq.h" +#endif + +typedef enum { + IL_RESPONSE, + IL_CREATE_COMPONENT, + + IL_GET_COMPONENT_VERSION, + IL_SEND_COMMAND, + IL_GET_PARAMETER, + IL_SET_PARAMETER, + IL_GET_CONFIG, + IL_SET_CONFIG, + IL_GET_EXTENSION_INDEX, + IL_GET_STATE, + IL_COMPONENT_TUNNEL_REQUEST, + IL_USE_BUFFER, + IL_USE_EGL_IMAGE, + IL_ALLOCATE_BUFFER, + IL_FREE_BUFFER, + IL_EMPTY_THIS_BUFFER, + IL_FILL_THIS_BUFFER, + IL_SET_CALLBACKS, + IL_COMPONENT_ROLE_ENUM, + + IL_COMPONENT_DEINIT, + + IL_EVENT_HANDLER, + IL_EMPTY_BUFFER_DONE, + IL_FILL_BUFFER_DONE, + + IL_COMPONENT_NAME_ENUM, + IL_GET_DEBUG_INFORMATION, + + IL_SERVICE_QUIT, + IL_FUNCTION_MAX_NUM, + IL_FUNCTION_MAX = 0x7fffffff +} IL_FUNCTION_T; + + +// size of the largest structure passed by get/set +// parameter/config +// this should be calculated at compile time from IL headers +// must be a multiple of VC_INTERFACE_BLOCK_SIZE +#define VC_ILCS_MAX_PARAM_SIZE 288 + +// size of the largest structure below +#define VC_ILCS_MAX_CMD_LENGTH (sizeof(IL_GET_EXECUTE_T)) + +#define VC_ILCS_MAX_INLINE (VCHIQ_SLOT_SIZE-8-16) + +// all structures should be padded to be multiples of +// VC_INTERFACE_BLOCK_SIZE in length (currently 16) +typedef struct { + void *reference; +} IL_EXECUTE_HEADER_T; + +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; +} IL_RESPONSE_HEADER_T; + +// create instance +typedef struct { + OMX_PTR mark; + char name[256]; +} IL_CREATE_COMPONENT_EXECUTE_T; + +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + void *reference; + OMX_U32 numPorts; + OMX_U32 portDir; + OMX_U32 portIndex[32]; +} IL_CREATE_COMPONENT_RESPONSE_T; + +// set callbacks +typedef struct { + void *reference; + void *pAppData; +} IL_SET_CALLBACKS_EXECUTE_T; + +// get state +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + OMX_STATETYPE state; +} IL_GET_STATE_RESPONSE_T; + +// get parameter & get config +#define IL_GET_EXECUTE_HEADER_SIZE 8 +typedef struct { + void *reference; + OMX_INDEXTYPE index; + unsigned char param[VC_ILCS_MAX_PARAM_SIZE]; +} IL_GET_EXECUTE_T; + +#define IL_GET_RESPONSE_HEADER_SIZE 8 +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + unsigned char param[VC_ILCS_MAX_PARAM_SIZE]; +} IL_GET_RESPONSE_T; + +// set parameter & set config +#define IL_SET_EXECUTE_HEADER_SIZE 8 +typedef struct { + void *reference; + OMX_INDEXTYPE index; + unsigned char param[VC_ILCS_MAX_PARAM_SIZE]; +} IL_SET_EXECUTE_T; + +// send command +typedef struct { + void *reference; + OMX_COMMANDTYPE cmd; + OMX_U32 param; + OMX_MARKTYPE mark; +} IL_SEND_COMMAND_EXECUTE_T; + +// event handler callback +typedef struct { + void *reference; + OMX_EVENTTYPE event; + OMX_U32 data1; + OMX_U32 data2; + OMX_PTR eventdata; +} IL_EVENT_HANDLER_EXECUTE_T; + +// use/allocate buffer +typedef struct { + void *reference; + OMX_PTR bufferReference; + OMX_U32 port; + OMX_U32 size; + void *eglImage; +} IL_ADD_BUFFER_EXECUTE_T; + +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + OMX_PTR reference; + OMX_BUFFERHEADERTYPE bufferHeader; +} IL_ADD_BUFFER_RESPONSE_T; + +// free buffer +typedef struct { + void *reference; + OMX_U32 port; + OMX_PTR bufferReference; + IL_FUNCTION_T func; + OMX_PTR inputPrivate; + OMX_PTR outputPrivate; +} IL_FREE_BUFFER_EXECUTE_T; + +// empty/fill this buffer +typedef enum { + IL_BUFFER_NONE, + IL_BUFFER_BULK, + IL_BUFFER_INLINE, + IL_BUFFER_MAX = 0x7fffffff +} IL_BUFFER_METHOD_T; + +#define IL_BUFFER_BULK_UNALIGNED_MAX (32) // This value needs to be the same on voth VC and HOST. + // Here, we just manually set it to the max of VCHI_BULK_ALIGN on VC and HOST. +#if ( VCHI_BULK_ALIGN > IL_BUFFER_BULK_UNALIGNED_MAX ) + #error "VCHI_BULK_ALIGN > IL_BUFFER_BULK_UNALIGNED_MAX. Just set max higher on both VC and HOST so there's space to put the unaligned bytes." +#endif +typedef struct { + OMX_U8 header[IL_BUFFER_BULK_UNALIGNED_MAX-1]; + OMX_U8 headerlen; + OMX_U8 trailer[IL_BUFFER_BULK_UNALIGNED_MAX-1]; + OMX_U8 trailerlen; +} IL_BUFFER_BULK_T; + +typedef struct { + OMX_U8 buffer[1]; +} IL_BUFFER_INLINE_T; + +typedef struct { + void *reference; + OMX_BUFFERHEADERTYPE bufferHeader; + IL_BUFFER_METHOD_T method; + OMX_U32 bufferLen; +} IL_PASS_BUFFER_EXECUTE_T; + +// get component version +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + char name[128]; + OMX_VERSIONTYPE component_version; + OMX_VERSIONTYPE spec_version; + OMX_UUIDTYPE uuid; +} IL_GET_VERSION_RESPONSE_T; + +// get extension index +typedef struct { + void *reference; + char name[128]; +} IL_GET_EXTENSION_EXECUTE_T; + +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + OMX_INDEXTYPE index; +} IL_GET_EXTENSION_RESPONSE_T; + +// component role enum +typedef struct { + void *reference; + OMX_U32 index; +} IL_COMPONENT_ROLE_ENUM_EXECUTE_T; + +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + OMX_U8 role[128]; +} IL_COMPONENT_ROLE_ENUM_RESPONSE_T; + +typedef struct { + void *reference; + OMX_U32 port; + OMX_PTR tunnel_ref; // reference to use in requests - address of host/vc component + OMX_BOOL tunnel_host; // whether tunnel_ref is a host component + OMX_U32 tunnel_port; + OMX_TUNNELSETUPTYPE setup; +} IL_TUNNEL_REQUEST_EXECUTE_T; + +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + OMX_TUNNELSETUPTYPE setup; +} IL_TUNNEL_REQUEST_RESPONSE_T; + +typedef struct { + int index; +} IL_COMPONENT_NAME_ENUM_EXECUTE_T; + +typedef struct { + IL_FUNCTION_T func; + OMX_ERRORTYPE err; + OMX_U8 name[128]; +} IL_COMPONENT_NAME_ENUM_RESPONSE_T; + +typedef struct { + OMX_S32 len; +} IL_GET_DEBUG_INFORMATION_EXECUTE_T; + +#endif // VC_ILCS_DEFS_H diff --git a/opt/vc/include/interface/vmcs_host/vc_imageconv_defs.h b/opt/vc/include/interface/vmcs_host/vc_imageconv_defs.h new file mode 100644 index 000000000..418d758c2 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_imageconv_defs.h @@ -0,0 +1,51 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#ifndef IMAGECONV_DEFS_H +#define IMAGECONV_DEFS_H + +/** Statistics for image conversion to foreign image types + */ +typedef struct +{ + uint32_t magic; + uint32_t size; /**< Size of this structure, in bytes */ + uint32_t conversions; /**< Total conversions so far */ + uint32_t duplicate_conversions; /**< Duplicate conversions (same image twice) */ + uint32_t size_requests; /**< Num calls to get_converted_size */ + uint32_t consumed_count; /**< How many converted images were consumed */ + uint32_t failures; /**< Failed conversions */ + uint32_t time_spent; /**< Time spent converting, us */ + uint32_t max_vrf_delay; /**< The max time waiting for the VRF */ + uint32_t vrf_wait_time; /**< Total time waiting for the VRF */ + uint32_t last_mem_handle; /**< Last mem handle converted */ + uint32_t first_image_ts; /**< Timestamp of first image */ + uint32_t last_image_ts; /**< Timestamp of first image */ + uint32_t max_delay; /**< Jitter */ +} IMAGECONV_STATS_T; + +#define IMAGECONV_STATS_MAGIC 0x494D454C +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_sdtv.h b/opt/vc/include/interface/vmcs_host/vc_sdtv.h new file mode 100644 index 000000000..643213da7 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_sdtv.h @@ -0,0 +1,145 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * SDTV common host header for TV service + */ + +#ifndef _VC_SDTV_H_ +#define _VC_SDTV_H_ + +/** Different SDTV modes */ +/** colour */ +typedef enum SDTV_COLOUR_ +{ + SDTV_COLOUR_UNKNOWN = 0x0, + SDTV_COLOUR_RGB = 0x4, + SDTV_COLOUR_YPRPB = 0x8, + SDTV_COLOUR_FORCE_32BIT = 0x80000000 +} SDTV_COLOUR_T; +/** operation mode */ +typedef enum SDTV_MODE_T_ +{ + SDTV_MODE_NTSC = 0, /**VC_HDMI_NOTIFY_T and VC_SDTV_NOTIFY_T in vc_hdmi.h and vc_sdtv.h + * respectively for list of reasons and respective param1 and param2 + * + * @param callback_data is the context passed in during the call to vc_tv_register_callback + * + * @param reason is the notification reason + * + * @param param1 is the first optional parameter + * + * @param param2 is the second optional parameter + * + * @return void + */ +typedef void (*TVSERVICE_CALLBACK_T)(void *callback_data, uint32_t reason, uint32_t param1, uint32_t param2); + +/* API at application start time */ +/** + * vc_vchi_tv_init is called at the beginning of the application + * to initialise the client to TV service + * + * @param initialise_instance is the VCHI instance + * + * @param array of pointers of connections + * + * @param number of connections (currently this is always 1 + * + * @return Zero is successful A negative return value indicates failure (which may mean it has not been started on VideoCore). + */ +VCHPRE_ int vc_vchi_tv_init(VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections ); + +/** + * vc_vchi_tv_stop is called to stop the host side of TV service. + * + * @param none + * + * @return void + */ +VCHPRE_ void vc_vchi_tv_stop( void ); + +/** + * Host applications should call vc_tv_register_callback at + * the beginning to register a callback function to handle all notifications. + * See TVSERVICE_CALLBACK_T + * + * @param callback function + * + * @param callback_data is the context to be passed when function is called + * + * @return void + */ +VCHPRE_ void vc_tv_register_callback(TVSERVICE_CALLBACK_T callback, void *callback_data); + +/** + * vc_tv_unregister_callback removes a function registered with + * vc_tv_register_callback from the list of callbacks. + * + * @param callback function + * + * @return void + */ +VCHPRE_ void vc_tv_unregister_callback(TVSERVICE_CALLBACK_T callback); + +/** + * In the following API any functions applying to HDMI only will have hdmi_ + * in the name, ditto for SDTV only will have sdtv_ in the name, + * Otherwise the function applies to both SDTV and HDMI (e.g. power off) + */ + +/** + * vc_tv_get_state is used to obtain the current TV state. + * Host applications should call this function right after registering + * a callback in case any notifications are missed. + * + * Now deprecated - use vc_tv_get_display_state instead + * + * @param pointer to TV_GET_STATE_RESP_T + * + * @return zero if the command is sent successfully, non zero otherwise + * If the command fails to be sent, passed in state is unchanged + * + */ +VCHPRE_ int VCHPOST_ vc_tv_get_state(TV_GET_STATE_RESP_T *tvstate); + +/** + * vc_tv_get_display_state is used to obtain the current TV display + * state. This function supersedes vc_tv_get_state (which is only kept for + * backward compatibility. + * Host applications should call this function right after registering + * a callback in case any notifications are missed. + * + * @param pointer to TV_DISPLAY_STATE_T + * + * @return zero if the command is sent successfully, non zero otherwise + * If the command fails to be sent, passed in state is unchanged + * + */ +VCHPRE_ int VCHPOST_ vc_tv_get_display_state(TV_DISPLAY_STATE_T *tvstate); + +/** + * Use vc_tv_hdmi_power_on_preferred if you don't care what resolutions + * a TV supports and just want to turn on its native resolution. Analogue TV will + * be powered down if on (same for the following two HDMI power on functions.) + * If power on is successful, a host application must wait for the power on complete + * callback before attempting to open the display. + * + * @param none + * + * @return single value interpreted as HDMI_RESULT_T (zero means success) + * if successful, there will be a callback when the power on is complete + * + **/ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_power_on_preferred( void ); + +/** + * Same as above, but tell the TV to enter 3D mode. The TV will go to 2D mode + * if the preferred mode doesn't support 3D. + **/ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_power_on_preferred_3d( void ); + +/** + * Use vc_tv_hdmi_power_on_best to power on HDMI at best matched resolution + * based on passed in parameters. Use HDMI_MODE_MATCH_FRAMERATE if you want to + * match the frame rate; use HDMI_MODE_MATCH_RESOLUTION if you want to match on + * screen size; add HDMI_MODE_MATCH_SCANMODE if you want to force + * interlaced/progressive mode. If no matching mode is found, the native resolution + * will be used instead. + * + * @param width is the desired minimum screen width + * + * @param height is the desired minimum screen height + * + * @param rate is the desired frame rate + * + * @param scan_mode (HDMI_NONINTERLACED / HDMI_INTERLACED) is the desired scan mode + * + * @param match flags is the matching flag EDID_MODE_MATCH_FLAG_T + * + * @return same as vc_tv_hdmi_power_on_preferred + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_power_on_best(uint32_t width, uint32_t height, uint32_t frame_rate, + HDMI_INTERLACED_T scan_mode, EDID_MODE_MATCH_FLAG_T match_flags); + +/** + * Same as above, but tell the TV to enter 3D mode. The TV will go to 2D mode + * if no suitable 3D mode can be found. + **/ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_power_on_best_3d(uint32_t width, uint32_t height, uint32_t frame_rate, + HDMI_INTERLACED_T scan_mode, EDID_MODE_MATCH_FLAG_T match_flags); + +/** + * Use vc_tv_hdmi_power_on_explicit if you want full control over what mode + * the TV is driven. This function is used, for example, when the host has the EDID + * and HDMI middleware does not know. If HDMI middleware has knowledge of EDID, the + * passed in mode is still subject to TV's supported modes + * + * @param mode (HDMI_MODE_HDMI/HDMI_MODE_DVI/HDMI_MODE_3D) + * + * @param group (HDMI_RES_GROUP_CEA/HDMI_RES_GROUP_DMT) + * + * @param code either HDMI_CEA_RES_CODE_T or HDMI_DMT_RES_CODE_T + * + * @return same as vc_tv_hdmi_power_on_preferred + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_power_on_explicit_new(HDMI_MODE_T mode, HDMI_RES_GROUP_T group, uint32_t code); + +/** + * vc_tv_sdtv_power_on is used to turn on analogue TV. HDMI will + * automatically be powered off if on. + * + * @param SDTV mode SDTV_MODE_T + * + * @param options SDTV_OPTIONS_T + * + * @return single value (zero means success) if successful, there will be a callback when the power on is complete + * + */ +VCHPRE_ int VCHPOST_ vc_tv_sdtv_power_on(SDTV_MODE_T mode, SDTV_OPTIONS_T *options); + +/** + * vc_tv_power_off is used to turn off either analogue or HDMI output. + * If HDMI is powered down, there will be a callback with reason UNPLUGGED (if no + * cable is attached) or STANDBY (if a cable is attached) + * + * @param none + * + * @return whether command is succcessfully sent + * + */ +VCHPRE_ int VCHPOST_ vc_tv_power_off( void ); + +/** + * vc_tv_hdmi_get_supported_modes is used to get a list of supported + * modes for a particular standard (CEA/DMT/CEA3D). Prefer resolution (group and mode) + * is also returned, if needed. If there are more modes supported than the size of the array + * supply, only the array will be filled. + * + * @param group(HDMI_RES_GROUP_CEA/HDMI_RES_GROUP_DMT) + * + * @param array of TV_SUPPORT_MODE_T struct + * + * @param length of array above (in elements, not bytes) + * + * @pointer to preferred group (can be NULL) + * + * @pointer to prefer mode code (can be NULL) + * + * @return the number of modes actually written in the array, + * zero means no modes (no EDID or cable unplugged) + * + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_get_supported_modes_new(HDMI_RES_GROUP_T group, + TV_SUPPORTED_MODE_NEW_T *supported_modes, + uint32_t max_supported_modes, + HDMI_RES_GROUP_T *preferred_group, + uint32_t *preferred_mode); +/** + * vc_tv_hdmi_mode_supported is used to query whether a particular mode + * is supported or not. + * + * @param resolution standard (HDMI_RES_GROUP_CEA/HDMI_RES_GROUP_DMT) + * + * @param mode code + * + * @return > 0 means supported, 0 means unsupported, < 0 means error + * + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_mode_supported(HDMI_RES_GROUP_T group, + uint32_t mode); + +/** + * vc_tv_hdmi_audio_supported is used to query whether a + * particular audio format is supported. By default a device has to support + * 16-bit stereo PCM at 32/44.1/48 kHz if audio is supported at all. + * Support of other audio formats allow SPDIF to be used. + * A return value of zero means the audio format is completely supported. + * Any non-zero values are interpreted as bit mask (EDID_AUDIO_SUPPORT_FLAG_T). + * For example, if EDID_AUDIO_NO_SUPPORT is set, the audio format is not supported. + * If EDID_AUDIO_CHAN_UNSUPPORTED is set, the max no. of channels has exceeded. + * + * @param audio format supplied as (EDID_AudioFormat + EDID_AudioCodingExtension) + * + * @param no. of channels (1-8) + * + * @param sample rate EDID_AudioSampleRate but NOT "refer to header" + * + * @param bit rate (or sample size if pcm) use EDID_AudioSampleSize as sample size argument + * + * @return: single value return interpreted as flags in EDID_AUDIO_SUPPORT_FLAG_T + * + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_audio_supported(uint32_t audio_format, uint32_t num_channels, + EDID_AudioSampleRate fs, uint32_t bitrate); + +/** + * Use vc_tv_enable_copyprotect to turn on copy protection. + * For HDMI, only HDMI_CP_HDCP is recognised. + * For SDTV, use one of the values in SDTV_CP_MODE_T + * + * @param copy protect mode + * + * @param time out in milliseconds (only applicable to HDMI) + * + * @return 0 means success, additional result via callback + * + */ +VCHPRE_ int VCHPOST_ vc_tv_enable_copyprotect(uint32_t cp_mode, uint32_t timeout); + +/** + * Use vc_tv_disable_copyprotect to turn off copy protection + * + * @param none + * + * @rturn 0 means success, additional result via callback + * + */ +VCHPRE_ int VCHPOST_ vc_tv_disable_copyprotect( void ); + +/** + * Use vc_tv_show_info to show or hide info screen. + * Only usable in HDMI at the moment. + * + * @param show (1) or hide (0) info screen + * + * @return zero if command is successfully sent + * + */ +VCHPRE_ int VCHPOST_ vc_tv_show_info(uint32_t show); + +/** + * vc_tv_hdmi_get_av_latency is used to get the AV latency + * (in ms) for HDMI (lipsync), only valid if HDMI is currently powered on, + * otherwise you get zero. The latency is defined as the relative delay + * of the video stream to the audio stream + * + * @param none + * + * @return latency (zero if error or latency is not defined), + * < 0 if failed to send command) + * + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_get_av_latency( void ); + +/** + * Use vc_tv_hdmi_set_hdcp_key to download HDCP key to HDCP middleware + * + * @param AES encrypted key block (328 bytes) + * + * @return single value return indicating queued status + * Callback indicates the validity of key + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_set_hdcp_key(const uint8_t *key); + +/** + * Use vc_tv_hdmi_set_hdcp_revoked_list to download SRM + * revoked list + * + * @param list + * + * @param size of list (no. of keys) + * + * @return single value return indicating queued status + * Callback indicates the number of keys set (zero if failed, unless you are clearing the list) + * + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_set_hdcp_revoked_list(const uint8_t *list, uint32_t num_keys); + +/** + * vc_tv_hdmi_set_spd is used to set the SPD infoframe. + * + * @param manufacturer (max. 8 characters) + * + * @param description (max. 16 characters) + * + * @param product type HDMI_SPD_TYPE_CODE_T + * + * @return whether command was sent successfully (zero means success) + * + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_set_spd(const char *manufacturer, const char *description, HDMI_SPD_TYPE_CODE_T type); + +/** + * vc_tv_hdmi_set_display_options is used to set the + * active area for HDMI (bar width/height should be set to zero if absent) + * This information is conveyed in AVI infoframe. + * + * @param aspect ratio HDMI_ASPECT_T + * + * @param left bar width + * + * @param right bar width + * + * @param top bar height + * + * @param bottom bar height + * + * @return whether command was sent successfully (zero means success) + * + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_set_display_options(HDMI_ASPECT_T aspect, uint32_t left_bar_width, uint32_t right_bar_width, uint32_t top_bar_height, uint32_t bottom_bar_height, uint32_t overscan_flags); + +/** + * Use vc_tv_test_mode_start to generate test signal. + * At the moment only DVI test signal is supported. + * HDMI must be powered off before this function is called. + * + * @param 24-bit background colour (if applicable) + * + * @param test mode TV_TEST_MODE_T + * + * @return whether command was sent successfully (zero means success) + * + */ +VCHPRE_ int VCHPOST_ vc_tv_test_mode_start(uint32_t colour, TV_TEST_MODE_T test_mode); + +/** + * Use vc_tv_test_mode_stop to stop the test signal and power down + * HDMI. + * + * @param none + * + * @return whether command was sent successfully (zero means success) + * + */ +VCHPRE_ int VCHPOST_ vc_tv_test_mode_stop( void ); + +/** + * vc_tv_hdmi_ddc_read allows an host application to read EDID + * with DDC protocol. + * + * @param offset + * + * @param length to read (this is typically 128 bytes to coincide with EDID block size) + * + * @param pointer to buffer, must be 16 byte aligned + * + * @returns length of data read (so zero means error) and the buffer will be filled + * only if there is no error + * + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_ddc_read(uint32_t offset, uint32_t length, uint8_t *buffer); + +/** + * Sets the TV state to attached. + * Required when hotplug interrupt is not handled by VideoCore. + * + * @param attached non-zero if the TV is attached or zero for unplugged. + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_set_attached(uint32_t attached); + +/** + * Sets one of the HDMI properties. HDMI properties persist + * between HDMI power on/off + * + * @param property [in] + * + * @return zero if successful, non-zero otherwise + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_set_property(const HDMI_PROPERTY_PARAM_T *property); + +/** + * Gets the current value of an HDMI property. + * + * @param property [in/out] + * + * @return zero if success (param1/param2 will be set), non-zero otherwise (param1/param2 will not be set) + */ +VCHPRE_ int VCHPOST_ vc_tv_hdmi_get_property(HDMI_PROPERTY_PARAM_T *property); + +/** + * Converts the notification reason to a string. + * + * @param reason is the notification reason + * @return The notification reason as a string. + */ +VCHPRE_ const char* vc_tv_notification_name(VC_HDMI_NOTIFY_T reason); + +/** + * Get the unique device ID from the EDID + * @param pointer to device ID struct + * @return zero if successful, non-zero if failed. + */ +VCHPRE_ int VCHPOST_ vc_tv_get_device_id(TV_DEVICE_ID_T *id); + +// temporary: maintain backwards compatibility +VCHPRE_ int VCHPOST_ vc_tv_hdmi_get_supported_modes(HDMI_RES_GROUP_T group, + TV_SUPPORTED_MODE_T *supported_modes, + uint32_t max_supported_modes, + HDMI_RES_GROUP_T *preferred_group, + uint32_t *preferred_mode); +// temporary: maintain backwards compatibility +VCHPRE_ int VCHPOST_ vc_tv_hdmi_power_on_explicit(HDMI_MODE_T mode, HDMI_RES_GROUP_T group, uint32_t code); + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_tvservice_defs.h b/opt/vc/include/interface/vmcs_host/vc_tvservice_defs.h new file mode 100644 index 000000000..f41923a6c --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_tvservice_defs.h @@ -0,0 +1,352 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * TV service command enumeration and parameter types. + */ + +#ifndef _VC_TVSERVICE_DEFS_H_ +#define _VC_TVSERVICE_DEFS_H_ +#include "vcinclude/common.h" +#include "interface/vchi/message_drivers/message.h" +#include "vc_hdmi.h" +#include "vc_sdtv.h" + +#define VC_TVSERVICE_VER 1 + +#define TVSERVICE_MSGFIFO_SIZE 1024 +#define TVSERVICE_CLIENT_NAME MAKE_FOURCC("TVSV") +#define TVSERVICE_NOTIFY_NAME MAKE_FOURCC("TVNT") + +#define TVSERVICE_MAX_CALLBACKS 2 + +//TV service commands +typedef enum { + VC_TV_GET_STATE = 0, + VC_TV_HDMI_ON_PREFERRED, + VC_TV_HDMI_ON_BEST, + VC_TV_HDMI_ON_EXPLICIT, + VC_TV_SDTV_ON, + VC_TV_OFF, + VC_TV_QUERY_SUPPORTED_MODES, + VC_TV_QUERY_MODE_SUPPORT, + VC_TV_QUERY_AUDIO_SUPPORT, + VC_TV_ENABLE_COPY_PROTECT, + VC_TV_DISABLE_COPY_PROTECT, + VC_TV_SHOW_INFO, + VC_TV_GET_AV_LATENCY, + VC_TV_HDCP_SET_KEY, + VC_TV_HDCP_SET_SRM, + VC_TV_SET_SPD, + VC_TV_SET_DISPLAY_OPTIONS, + VC_TV_TEST_MODE_START, + VC_TV_TEST_MODE_STOP, + VC_TV_DDC_READ, + VC_TV_SET_ATTACHED, + VC_TV_SET_PROP, + VC_TV_GET_PROP, + VC_TV_GET_DISPLAY_STATE, + VC_TV_QUERY_SUPPORTED_MODES_ACTUAL, + VC_TV_GET_DEVICE_ID, + //Add more commands here + VC_TV_END_OF_LIST +} VC_TV_CMD_CODE_T; + +//Parameters for each command (padded to multiple of 16 bytes) +//See vc_hdmi.h and vc_sdtv.h for details + +//GET_STATE +//Parameters: none +//Reply: state (flags of VC_HDMI_NOTIFY_T and VC_SDTV_NOTIFY_T) +// current width +// current height +// current refresh rate +// current scan mode + +typedef struct { + uint32_t state; /**VC direction +typedef enum +{ + VC_AUDIO_MSG_TYPE_RESULT, // Generic result + VC_AUDIO_MSG_TYPE_COMPLETE, // playback of samples complete + VC_AUDIO_MSG_TYPE_CONFIG, // Configure + VC_AUDIO_MSG_TYPE_CONTROL, // control + VC_AUDIO_MSG_TYPE_OPEN, // open + VC_AUDIO_MSG_TYPE_CLOSE, // close/shutdown + VC_AUDIO_MSG_TYPE_START, // start output (i.e. resume) + VC_AUDIO_MSG_TYPE_STOP, // stop output (i.e. pause) + VC_AUDIO_MSG_TYPE_WRITE, // write samples + VC_AUDIO_MSG_TYPE_MAX + +} VC_AUDIO_MSG_TYPE; + +static const char *vc_audio_msg_type_names[] = { + "VC_AUDIO_MSG_TYPE_RESULT", + "VC_AUDIO_MSG_TYPE_COMPLETE", + "VC_AUDIO_MSG_TYPE_CONFIG", + "VC_AUDIO_MSG_TYPE_CONTROL", + "VC_AUDIO_MSG_TYPE_OPEN", + "VC_AUDIO_MSG_TYPE_CLOSE", + "VC_AUDIO_MSG_TYPE_START", + "VC_AUDIO_MSG_TYPE_STOP", + "VC_AUDIO_MSG_TYPE_WRITE", + "VC_AUDIO_MSG_TYPE_MAX" +}; + +// configure the audio +typedef struct +{ + uint32_t channels; + uint32_t samplerate; + uint32_t bps; + +} VC_AUDIO_CONFIG_T; + +typedef struct +{ + uint32_t volume; + uint32_t dest; + +} VC_AUDIO_CONTROL_T; + +// audio +typedef struct +{ + uint32_t dummy; + +} VC_AUDIO_OPEN_T; + +// audio +typedef struct +{ + uint32_t dummy; + +} VC_AUDIO_CLOSE_T; +// audio +typedef struct +{ + uint32_t dummy; + +} VC_AUDIO_START_T; +// audio +typedef struct +{ + uint32_t draining; + +} VC_AUDIO_STOP_T; + +// configure the write audio samples +typedef struct +{ + uint32_t count; // in bytes + void *callback; + void *cookie; + uint32_t silence; +} VC_AUDIO_WRITE_T; + +// Generic result for a request (VC->HOST) +typedef struct +{ + int32_t success; // Success value + +} VC_AUDIO_RESULT_T; + +// Generic result for a request (VC->HOST) +typedef struct +{ + int32_t count; // Success value + void *callback; + void *cookie; +} VC_AUDIO_COMPLETE_T; + +// Message header for all messages in HOST->VC direction +typedef struct +{ + int32_t type; // Message type (VC_AUDIO_MSG_TYPE) + union + { + VC_AUDIO_CONFIG_T config; + VC_AUDIO_CONTROL_T control; + VC_AUDIO_OPEN_T open; + VC_AUDIO_CLOSE_T close; + VC_AUDIO_START_T start; + VC_AUDIO_STOP_T stop; + VC_AUDIO_WRITE_T write; + VC_AUDIO_RESULT_T result; + VC_AUDIO_COMPLETE_T complete; + } u; +} VC_AUDIO_MSG_T; + + +#endif // _VC_AUDIO_DEFS_H_ diff --git a/opt/vc/include/interface/vmcs_host/vc_vchi_bufman.h b/opt/vc/include/interface/vmcs_host/vc_vchi_bufman.h new file mode 100644 index 000000000..67b19f272 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_vchi_bufman.h @@ -0,0 +1,116 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VC_VCHI_BUFMAN_H +#define VC_VCHI_BUFMAN_H + +#include "interface/vctypes/vc_image_types.h" +#include "interface/vchi/vchi.h" +#ifdef __SYMBIAN32__ +#include "interface/vmcs_host/vc_vchi_bufman_defs.h" +typedef uint32_t DISPMANX_RESOURCE_HANDLE_T; +namespace BufManX { +#else +#include "interface/vmcs_host/vc_dispmanx.h" +#include "interface/vmcs_host/vc_vchi_bufman_defs.h" +#endif + +typedef void (*vc_bufman_callback_t) (void *next_cookie, void *next_cookie2, int32_t success); + +VCHPRE_ void VCHPOST_ vc_vchi_bufman_init(VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections); + +typedef struct +{ + buf_frame_type_t type; + int width, height, pitch; + int bpp; // bits per pixel + int size; + void *pixels; +} BUFMANX_IMAGE_T; + +#define BUFMAN_TRANSFORM_HFLIP (1<<0) +#define BUFMAN_TRANSFORM_VFLIP (1<<1) +#define BUFMAN_TRANSFORM_TRANSPOSE (1<<2) + +typedef enum { + BUFMAN_TRANSFORM_ROT0 = 0, + BUFMAN_TRANSFORM_MIRROR_ROT0 = BUFMAN_TRANSFORM_HFLIP, + BUFMAN_TRANSFORM_MIRROR_ROT180 = BUFMAN_TRANSFORM_VFLIP, + BUFMAN_TRANSFORM_ROT180 = BUFMAN_TRANSFORM_HFLIP|BUFMAN_TRANSFORM_VFLIP, + BUFMAN_TRANSFORM_MIRROR_ROT90 = BUFMAN_TRANSFORM_TRANSPOSE, + BUFMAN_TRANSFORM_ROT270 = BUFMAN_TRANSFORM_TRANSPOSE|BUFMAN_TRANSFORM_HFLIP, + BUFMAN_TRANSFORM_ROT90 = BUFMAN_TRANSFORM_TRANSPOSE|BUFMAN_TRANSFORM_VFLIP, + BUFMAN_TRANSFORM_MIRROR_ROT270 = BUFMAN_TRANSFORM_TRANSPOSE|BUFMAN_TRANSFORM_HFLIP|BUFMAN_TRANSFORM_VFLIP, +} BUFMAN_TRANSFORM_T; + + +// we use an opaque type here as the internals shouldn't be used externally, but allocation of the size of the block is required by the caller. +#define BUFMANX_HANDLE_T_SIZE 1024 +typedef struct { + char opaque[BUFMANX_HANDLE_T_SIZE]; +} BUFMANX_HANDLE_T; + +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_convert_init(void); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_set_transform_buffer(void *pixels, int size); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_allocate_image(BUFMANX_IMAGE_T *image); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_release_image(BUFMANX_IMAGE_T *image); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_get_default_pitch( BUFMANX_IMAGE_T *src ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_get_default_size(BUFMANX_IMAGE_T *src); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_push ( BUFMANX_HANDLE_T *h, const BUFMANX_IMAGE_T *src, DISPMANX_RESOURCE_HANDLE_T dst, const VC_RECT_T *src_rect, const VC_RECT_T *dest_rect, BUFMAN_TRANSFORM_T transform, vc_bufman_callback_t callback, void *cookie, void *cookie2 ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_pull ( BUFMANX_HANDLE_T *h, BUFMANX_IMAGE_T *dst, const DISPMANX_RESOURCE_HANDLE_T src, const VC_RECT_T *src_rect, const VC_RECT_T *dest_rect, BUFMAN_TRANSFORM_T transform, vc_bufman_callback_t callback, void *cookie, void *cookie2 ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_pull_blocking ( BUFMANX_HANDLE_T *h, BUFMANX_IMAGE_T *dst, const DISPMANX_RESOURCE_HANDLE_T src, const VC_RECT_T *src_rect, const VC_RECT_T *dest_rect, BUFMAN_TRANSFORM_T transform ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_push_blocking ( BUFMANX_HANDLE_T *h, const BUFMANX_IMAGE_T *src, DISPMANX_RESOURCE_HANDLE_T dst, const VC_RECT_T *src_rect, const VC_RECT_T *dest_rect, BUFMAN_TRANSFORM_T transform ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_pull_striped ( BUFMANX_HANDLE_T *xh, BUFMANX_IMAGE_T *dst, const DISPMANX_RESOURCE_HANDLE_T src, const VC_RECT_T *src_rect, const VC_RECT_T *dest_rect, BUFMAN_TRANSFORM_T transform, vc_bufman_callback_t callback, void *cookie, void *cookie2 ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_pull_striped_blocking ( BUFMANX_HANDLE_T *xh, BUFMANX_IMAGE_T *dst, const DISPMANX_RESOURCE_HANDLE_T src, const VC_RECT_T *src_rect, const VC_RECT_T *dest_rect, BUFMAN_TRANSFORM_T transform ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_push_striped ( BUFMANX_HANDLE_T *xh, const BUFMANX_IMAGE_T *src, DISPMANX_RESOURCE_HANDLE_T dst, const VC_RECT_T *src_rect, const VC_RECT_T *dest_rect, BUFMAN_TRANSFORM_T transform, vc_bufman_callback_t callback, void *cookie, void *cookie2 ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_push_striped_blocking ( BUFMANX_HANDLE_T *xh, const BUFMANX_IMAGE_T *src, DISPMANX_RESOURCE_HANDLE_T dst, const VC_RECT_T *src_rect, const VC_RECT_T *dest_rect, BUFMAN_TRANSFORM_T transform ); + +VCHPRE_ void VCHPOST_ vc_bufmanx_push_multi ( BUFMANX_HANDLE_T *h, const BUFMANX_IMAGE_T *src, DISPMANX_RESOURCE_HANDLE_T dst, BUFMAN_TRANSFORM_T transform, vc_bufman_callback_t callback, void *cookie, void *cookie2 ); +VCHPRE_ void VCHPOST_ vc_bufmanx_pull_multi ( BUFMANX_HANDLE_T *h, BUFMANX_IMAGE_T *dst, const DISPMANX_RESOURCE_HANDLE_T src, BUFMAN_TRANSFORM_T transform, vc_bufman_callback_t callback, void *cookie, void *cookie2 ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_push_multi_blocking ( BUFMANX_HANDLE_T *h, const BUFMANX_IMAGE_T *src, DISPMANX_RESOURCE_HANDLE_T dst, BUFMAN_TRANSFORM_T transform ); +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_pull_multi_blocking ( BUFMANX_HANDLE_T *h, BUFMANX_IMAGE_T *dst, const DISPMANX_RESOURCE_HANDLE_T src, BUFMAN_TRANSFORM_T transform ); + +// Allocate the specified number and type of buffers on the server side, for use with streams +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_allocate_buffers + (uint32_t stream, uint32_t num_of_buffers, + buf_frame_type_t type, uint32_t width, uint32_t height); + +// Free buffers on the server which are associated with the specified stream +#define VC_BUFMANX_FREE_BUFFERS_ALL 0 +VCHPRE_ int32_t VCHPOST_ vc_bufmanx_free_buffers(uint32_t stream, uint32_t num_of_buffers); + +// Like vc_bufmanx_push_multi(), but specifies a stream, rather than a dispmanx resource handle, +// to push the data to. +VCHPRE_ void VCHPOST_ vc_bufmanx_push_multi_stream ( BUFMANX_HANDLE_T *xh, const BUFMANX_IMAGE_T *src, uint32_t stream, BUFMAN_TRANSFORM_T transform, vc_bufman_callback_t callback, void *cookie, void *cookie2 ); + +VCHPRE_ VC_IMAGE_TYPE_T VCHPOST_ vc_bufmanx_get_vc_image_type(buf_frame_type_t bm_type); + +#ifdef __SYMBIAN32__ +} // namespace BufManX +#endif + +#endif /* VC_VCHI_BUFMAN_H */ diff --git a/opt/vc/include/interface/vmcs_host/vc_vchi_bufman_defs.h b/opt/vc/include/interface/vmcs_host/vc_vchi_bufman_defs.h new file mode 100644 index 000000000..e37f8e62a --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_vchi_bufman_defs.h @@ -0,0 +1,136 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VC_VCHI_BUFMAN_DEFS_H +#define VC_VCHI_BUFMAN_DEFSH + +#ifdef __SYMBIAN32__ +typedef uint32_t DISPMANX_RESOURCE_HANDLE_T; +namespace BufManX { +#else +#include "interface/vmcs_host/vc_dispmanx.h" +#endif + +typedef enum { + // Insert extra frame types here + FRAME_HOST_IMAGE_BASE = 0x20000, // Base for host format images + FRAME_HOST_IMAGE_EFormatYuv420P, + FRAME_HOST_IMAGE_EFormatYuv422P, + FRAME_HOST_IMAGE_EFormatYuv422LE, + FRAME_HOST_IMAGE_EFormatRgb565, + FRAME_HOST_IMAGE_EFormatRgb888, + FRAME_HOST_IMAGE_EFormatRgbU32, + FRAME_HOST_IMAGE_EFormatRgbA32, + FRAME_HOST_IMAGE_EFormatRgbA32LE, + FRAME_HOST_IMAGE_EFormatRgbU32LE, + + FRAME_FORCE_FIELD_WIDTH = 0xFFFFFFFF +} buf_frame_type_t; + +typedef enum { + //host to videocore + VC_BUFMAN_CONVERT_UNUSED = 0, + VC_BUFMAN_PULL_FRAME, + VC_BUFMAN_PUSH_FRAME, + VC_BUFMAN_MESSAGE_RESPONSE, + VC_BUFMAN_SYNC, + VC_BUFMAN_ALLOC_BUF, + VC_BUFMAN_FREE_BUF, + VC_BUFMAN_PULL_MULTI, + VC_BUFMAN_PUSH_MULTI, + VC_BUFMAN_PUSH_MULTI_STREAM, + //vc to host + VC_BUFMAN_FRAME_SENT_CALLBACK, + VC_BUFMAN_FORCE_WIDTH = 0x7fffffff, +} buf_command_t; + +/* A header used for all messages sent and received by bufman. + */ +typedef struct { + buf_command_t command; +} BUF_MSG_HDR_T; + +/* General remotely call this bufman operation commands */ +typedef struct { + uint32_t resource_handle; + buf_frame_type_t type; + int32_t size, width, height, pitch; + VC_RECT_T src_rect; // in 16.16 units + VC_RECT_T dest_rect; // in 32.0 units +} BUF_MSG_REMOTE_FUNCTION_FRAME_T; + +typedef struct { + int32_t status; + int32_t total_stripes; + // normal stipe height and size + int32_t stripe_height, stripe_size; + // last stripe size (if height not a mulitple of stripe height, last stripe nay be smaller) + int32_t last_stripe_height, last_stripe_size; +} BUF_MSG_RESPONSE_T; + +typedef struct +{ + uint32_t stream; + uint32_t num_of_buffers; + buf_frame_type_t type; + uint32_t width; + uint32_t height; +} BUF_MSG_ALLOC_BUF_FRAME_T; + +typedef struct +{ + uint32_t stream; + uint32_t num_of_buffers; +} BUF_MSG_FREE_BUF_FRAME_T; + +typedef struct { + BUF_MSG_HDR_T hdr; + union { + BUF_MSG_REMOTE_FUNCTION_FRAME_T frame; + BUF_MSG_RESPONSE_T message_response; + BUF_MSG_ALLOC_BUF_FRAME_T alloc_buf_frame; + BUF_MSG_FREE_BUF_FRAME_T free_buf_frame; + } u; +} BUF_MSG_T; + +enum { + //host to videocore + VC_BUFMAN_ERROR_NONE = 0, + VC_BUFMAN_ERROR_BAD_GENERALLY = -1, + VC_BUFMAN_ERROR_BAD_RESOURCE = -2, + VC_BUFMAN_ERROR_BAD_TRANSFORM = -3, + VC_BUFMAN_ERROR_BAD_RESIZE = -4, + VC_BUFMAN_ERROR_BAD_HOST_FORMAT = -5, + VC_BUFMAN_ERROR_BAD_VC_FORMAT = -6, + VC_BUFMAN_ERROR_BAD_SIZE = -7, +}; + +#ifdef __SYMBIAN32__ +} // namespace BufManX +#endif + +#endif /* VC_VCHI_BUFMAN_DEFS_H */ diff --git a/opt/vc/include/interface/vmcs_host/vc_vchi_dispmanx.h b/opt/vc/include/interface/vmcs_host/vc_vchi_dispmanx.h new file mode 100644 index 000000000..b723b761d --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_vchi_dispmanx.h @@ -0,0 +1,69 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VC_VCHI_DISPMANX_H +#define VC_VCHI_DISPMANX_H + +#include "interface/peer/vc_vchi_dispmanx_common.h" + +#define VC_NUM_HOST_RESOURCES 64 +#define DISPMANX_MSGFIFO_SIZE 1024 +#define DISPMANX_CLIENT_NAME MAKE_FOURCC("DISP") +#define DISPMANX_NOTIFY_NAME MAKE_FOURCC("UPDH") + +//Or with command to indicate we don't need a response +#define DISPMANX_NO_REPLY_MASK (1<<31) + +typedef struct { + char description[32]; + uint32_t width; + uint32_t height; + uint32_t aspect_pixwidth; + uint32_t aspect_pixheight; + uint32_t fieldrate_num; + uint32_t fieldrate_denom; + uint32_t fields_per_frame; + uint32_t transform; +} GET_MODES_DATA_T; + +typedef struct { + int32_t response; + uint32_t width; + uint32_t height; + uint32_t transform; + uint32_t input_format; +} GET_INFO_DATA_T; + +//Attributes changes flag mask +#define ELEMENT_CHANGE_LAYER (1<<0) +#define ELEMENT_CHANGE_OPACITY (1<<1) +#define ELEMENT_CHANGE_DEST_RECT (1<<2) +#define ELEMENT_CHANGE_SRC_RECT (1<<3) +#define ELEMENT_CHANGE_MASK_RESOURCE (1<<4) +#define ELEMENT_CHANGE_TRANSFORM (1<<5) + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_vchi_fileservice_defs.h b/opt/vc/include/interface/vmcs_host/vc_vchi_fileservice_defs.h new file mode 100644 index 000000000..06770760d --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_vchi_fileservice_defs.h @@ -0,0 +1,75 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VC_VCHI_FILESERVICE_DEFS_H +#define VC_VCHI_FILESERVICE_DEFS_H + +#include "interface/vchi/vchi.h" + +/* Definitions (not used by API) */ + +/* structure used by both side to communicate */ +#define FILESERV_MAX_BULK_SECTOR 128 //must be power of two + +#define FILESERV_SECTOR_LENGTH 512 + +#define FILESERV_MAX_BULK (FILESERV_MAX_BULK_SECTOR*FILESERV_SECTOR_LENGTH) + +#define FILESERV_4CC MAKE_FOURCC("FSRV") + +typedef enum FILESERV_EVENT_T +{ + FILESERV_BULK_RX = 0, + FILESERV_BULK_TX, + FILESERV_BULK_RX_0, + FILESERV_BULK_RX_1 +}FILESERV_EVENT_T; +//this following structure has to equal VCHI_MAX_MSG_SIZE +#define FILESERV_MAX_DATA (VCHI_MAX_MSG_SIZE - 40) //(VCHI_MAX_MSG_SIZE - 24) + +typedef struct{ + uint32_t xid; //4 // transaction's ID, used to match cmds with response + uint32_t cmd_code; //4 + uint32_t params[4]; //16 + char data[FILESERV_MAX_DATA]; +}FILESERV_MSG_T; + +typedef enum +{ + FILESERV_RESP_OK, + FILESERV_RESP_ERROR, + FILESERV_BULK_READ, + FILESERV_BULK_WRITE, + +} FILESERV_RESP_CODE_T; + + +/* Protocol (not used by API) version 1.2 */ + + + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vc_vchi_filesys.h b/opt/vc/include/interface/vmcs_host/vc_vchi_filesys.h new file mode 100644 index 000000000..8373e922a --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_vchi_filesys.h @@ -0,0 +1,184 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VC_VCHI_VCFILESYS_H_ +#define VC_VCHI_VCFILESYS_H_ + +#include "vchost_config.h" +#include "vcfilesys_defs.h" +#include "vc_fileservice_defs.h" +#include "interface/vchi/vchi.h" + +#ifndef _DIRENT_H // This should really be in a dirent.h header to avoid conflicts +typedef struct DIR_tag DIR; +#endif // ifndef _DIRENT_H + +typedef struct { + int64_t st_size; /* total size, in bytes (off_t)*/ + uint32_t st_modtime; /* time of last modification (time_t)*/ +} FSTAT_T; + + +VCHPRE_ int VCHPOST_ vc_vchi_filesys_init (VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections ); + +// Stop it to prevent the functions from trying to use it. +VCHPRE_ void VCHPOST_ vc_filesys_stop(void); + +// Return the service number (-1 if not running). +VCHPRE_ int VCHPOST_ vc_filesys_inum(void); + +// Low level file system functions equivalent to close(), lseek(), open(), read() and write() +VCHPRE_ int VCHPOST_ vc_filesys_close(int fildes); + +VCHPRE_ long VCHPOST_ vc_filesys_lseek(int fildes, long offset, int whence); + +VCHPRE_ int64_t VCHPOST_ vc_filesys_lseek64(int fildes, int64_t offset, int whence); + +VCHPRE_ int VCHPOST_ vc_filesys_open(const char *path, int vc_oflag); + +VCHPRE_ int VCHPOST_ vc_filesys_read(int fildes, void *buf, unsigned int nbyte); + +VCHPRE_ int VCHPOST_ vc_filesys_write(int fildes, const void *buf, unsigned int nbyte); + +VCHPRE_ int VCHPOST_ vc_filesys_mount(const char *device, const char *mountpoint, const char *options); +VCHPRE_ int VCHPOST_ vc_filesys_umount(const char *mountpoint); + + +// Ends a directory listing iteration +VCHPRE_ int VCHPOST_ vc_filesys_closedir(void *dhandle); + +// Formats the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_filesys_format(const char *path); + +// Returns the amount of free space on the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_filesys_freespace(const char *path); +VCHPRE_ int64_t VCHPOST_ vc_filesys_freespace64(const char *path); + +// Gets the attributes of the named file +VCHPRE_ int VCHPOST_ vc_filesys_get_attr(const char *path, fattributes_t *attr); + +// Get the file stat info struct for the specified file. +VCHPRE_ int VCHPOST_ vc_filesys_fstat(int filedes, FSTAT_T *buf); + +// Creates a new directory +VCHPRE_ int VCHPOST_ vc_filesys_mkdir(const char *path); + +// Starts a directory listing iteration +VCHPRE_ void * VCHPOST_ vc_filesys_opendir(const char *dirname); + +// Directory listing iterator +VCHPRE_ struct dirent * VCHPOST_ vc_filesys_readdir_r(void *dhandle, struct dirent *result); + +// Get the sum of the filesizes, and the number of files under the specified directory path. +VCHPRE_ int64_t VCHPOST_ vc_filesys_dirsize(const char *path, uint32_t *num_files, uint32_t *num_dirs); + +// Deletes a file or (empty) directory +VCHPRE_ int VCHPOST_ vc_filesys_remove(const char *path); + +// Renames a file, provided the new name is on the same file system as the old +VCHPRE_ int VCHPOST_ vc_filesys_rename(const char *oldfile, const char *newfile); + +// Resets the co-processor side file system +VCHPRE_ int VCHPOST_ vc_filesys_reset(void); + +// Sets the attributes of the named file +VCHPRE_ int VCHPOST_ vc_filesys_set_attr(const char *path, fattributes_t attr); + +// Truncates a file at its current position +VCHPRE_ int VCHPOST_ vc_filesys_setend(int fildes); + +// Returns the size of a file in bytes. +VCHPRE_ int VCHPOST_ vc_filesys_size(const char *path); + +// Checks whether there are any messages in the incoming message fifo and responds to any such messages +VCHPRE_ int VCHPOST_ vc_filesys_poll_message_fifo(void); + +// Return the event used to wait for reads. +VCHPRE_ void * VCHPOST_ vc_filesys_read_event(void); + +// Sends a command for VC01 to reset the file system +VCHPRE_ void VCHPOST_ vc_filesys_sendreset(void); + +// Return the error code of the last file system error +VCHPRE_ int VCHPOST_ vc_filesys_errno(void); + +// Invalidates any cluster chains in the FAT that are not referenced in any directory structures +VCHPRE_ void VCHPOST_ vc_filesys_scandisk(const char *path); + +// Checks whether or not a FAT filesystem is corrupt or not. If fix_errors is TRUE behaves exactly as vc_filesys_scandisk. +VCHPRE_ int VCHPOST_ vc_filesys_chkdsk(const char *path, int fix_errors); + +// Return whether a disk is writeable or not. +VCHPRE_ int VCHPOST_ vc_filesys_diskwritable(const char *path); + +// Return file system type of a disk. +VCHPRE_ int VCHPOST_ vc_filesys_fstype(const char *path); + +// Returns the toatl amount of space on the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_filesys_totalspace(const char *path); +VCHPRE_ int64_t VCHPOST_ vc_filesys_totalspace64(const char *path); + +// Open disk for block level access +VCHPRE_ int VCHPOST_ vc_filesys_open_disk_raw(const char *path); + +// Close disk from block level access mode +VCHPRE_ int VCHPOST_ vc_filesys_close_disk_raw(const char *path); + +// Open disk for normal access +VCHPRE_ int VCHPOST_ vc_filesys_open_disk(const char *path); + +// Close disk for normal access +VCHPRE_ int VCHPOST_ vc_filesys_close_disk(const char *path); + +// Return number of sectors. +VCHPRE_ int VCHPOST_ vc_filesys_numsectors(const char *path); +VCHPRE_ int64_t VCHPOST_ vc_filesys_numsectors64(const char *path); + +// Read/Write sectors +VCHPRE_ int VCHPOST_ vc_filesys_read_sectors(const char *path, uint32_t sector_num, char *sectors, uint32_t num_sectors, uint32_t *sectors_read); +VCHPRE_ int VCHPOST_ vc_filesys_write_sectors(const char *path, uint32_t sector_num, char *sectors, uint32_t num_sectors, uint32_t *sectors_written); + +// Begin reading sectors from VideoCore. +VCHPRE_ int VCHPOST_ vc_filesys_read_sectors_begin(const char *path, uint32_t sector, uint32_t count); + +// Read the next sector. +VCHPRE_ int VCHPOST_ vc_filesys_read_sector(char *buf); + +// End streaming sectors. +VCHPRE_ int VCHPOST_ vc_filesys_read_sectors_end(uint32_t *sectors_read); + +// Begin writing sectors from VideoCore. +VCHPRE_ int VCHPOST_ vc_filesys_write_sectors_begin(const char *path, uint32_t sector, uint32_t count); + +// Write the next sector. +VCHPRE_ int VCHPOST_ vc_filesys_write_sector(const char *buf); + +// End streaming sectors. +VCHPRE_ int VCHPOST_ vc_filesys_write_sectors_end(uint32_t *sectors_written); + +#endif //VCFILESYS_H_ + diff --git a/opt/vc/include/interface/vmcs_host/vc_vchi_gencmd.h b/opt/vc/include/interface/vmcs_host/vc_vchi_gencmd.h new file mode 100644 index 000000000..a60fbdfaf --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vc_vchi_gencmd.h @@ -0,0 +1,88 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VC_VCHI_GENCMD_H +#define VC_VCHI_GENCMD_H +#include "vchost_config.h" +#include "interface/vchi/vchi.h" +#include "interface/vcos/vcos.h" //for VCHPRE_ abd VCHPOST_ macro's for func declaration + +/* Initialise general command service. Returns it's interface number. This initialises + the host side of the interface, it does not send anything to VideoCore. */ + +VCHPRE_ int VCHPOST_ vc_gencmd_init(void); + +VCHPRE_ void VCHPOST_ vc_vchi_gencmd_init(VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections ); + + +/* Stop the service from being used. */ + +VCHPRE_ void VCHPOST_ vc_gencmd_stop(void); + +/* Functions to support videocore suspend/resume for cases where vc_gencmd_send expects a response to + * ensure videocore is not shut down (done internally in vc_gencmd / vc_gencmd_until) */ + +VCHPRE_ int VCHPOST_ use_gencmd_service(void); +VCHPRE_ int VCHPOST_ release_gencmd_service(void); + +/****************************************************************************** +Send commands to VideoCore. +These all return 0 for success. They return VC_MSGFIFO_FIFO_FULL if there is +insufficient space for the whole message in the fifo, and none of the message is +sent. +******************************************************************************/ + +/* send command to general command serivce */ +VCHPRE_ int VCHPOST_ vc_gencmd_send( const char *format, ... ); + +/* get resonse from general command serivce */ +VCHPRE_ int VCHPOST_ vc_gencmd_read_response(char *response, int maxlen); + +/* convenience function to send command and receive the response */ +VCHPRE_ int VCHPOST_ vc_gencmd(char *response, int maxlen, const char *format, ...); + +/****************************************************************************** +Utilities to help interpret the responses. +******************************************************************************/ + +/* Read the value of a property=value type pair from a string (typically VideoCore's + response to a general command). Return non-zero if found. */ +VCHPRE_ int VCHPOST_ vc_gencmd_string_property(char *text, const char *property, char **value, int *length); + +/* Read the numeric value of a property=number field from a response string. Return + non-zero if found. */ +VCHPRE_ int VCHPOST_ vc_gencmd_number_property(char *text, const char *property, int *number); + +/* Send a command until the desired response is received, the error message is detected, or the timeout */ +VCHPRE_ int VCHPOST_ vc_gencmd_until( char *cmd, + const char *property, + char *value, + const char *error_string, + int timeout); + + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vcfilesys.h b/opt/vc/include/interface/vmcs_host/vcfilesys.h new file mode 100644 index 000000000..e7b2ebd23 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vcfilesys.h @@ -0,0 +1,166 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "vchost_config.h" +#include "vcfilesys_defs.h" +#include "vc_fileservice_defs.h" + +#ifndef VCFILESYS_H_ +#define VCFILESYS_H_ + +#ifndef FILESYS_DIR_DEFINED +#define FILESYS_DIR_DEFINED +typedef struct DIR_tag DIR; +#endif + +// Initialises the file system for use +VCHPRE_ int VCHPOST_ vc_filesys_init (void); + +// Stop it to prevent the functions from trying to use it. +VCHPRE_ void VCHPOST_ vc_filesys_stop(void); + +// Return the service number (-1 if not running). +VCHPRE_ int VCHPOST_ vc_filesys_inum(void); + +// Low level file system functions equivalent to close(), lseek(), open(), read() and write() +VCHPRE_ int VCHPOST_ vc_filesys_close(int fildes); + +VCHPRE_ long VCHPOST_ vc_filesys_lseek(int fildes, long offset, int whence); + +VCHPRE_ int64_t VCHPOST_ vc_filesys_lseek64(int fildes, int64_t offset, int whence); + +VCHPRE_ int VCHPOST_ vc_filesys_open(const char *path, int vc_oflag); + +VCHPRE_ int VCHPOST_ vc_filesys_read(int fildes, void *buf, unsigned int nbyte); + +VCHPRE_ int VCHPOST_ vc_filesys_write(int fildes, const void *buf, unsigned int nbyte); + +VCHPRE_ int VCHPOST_ vc_filesys_mount(const char *device, const char *mountpoint, const char *options); +VCHPRE_ int VCHPOST_ vc_filesys_umount(const char *mountpoint); + + +// Ends a directory listing iteration +VCHPRE_ int VCHPOST_ vc_filesys_closedir(void *dhandle); + +// Formats the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_filesys_format(const char *path); + +// Returns the amount of free space on the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_filesys_freespace(const char *path); +VCHPRE_ int64_t VCHPOST_ vc_filesys_freespace64(const char *path); + +// Gets the attributes of the named file +VCHPRE_ int VCHPOST_ vc_filesys_get_attr(const char *path, fattributes_t *attr); + +// Creates a new directory +VCHPRE_ int VCHPOST_ vc_filesys_mkdir(const char *path); + +// Starts a directory listing iteration +VCHPRE_ void * VCHPOST_ vc_filesys_opendir(const char *dirname); + +// Directory listing iterator +VCHPRE_ struct dirent * VCHPOST_ vc_filesys_readdir_r(void *dhandle, struct dirent *result); + +// Deletes a file or (empty) directory +VCHPRE_ int VCHPOST_ vc_filesys_remove(const char *path); + +// Renames a file, provided the new name is on the same file system as the old +VCHPRE_ int VCHPOST_ vc_filesys_rename(const char *oldfile, const char *newfile); + +// Resets the co-processor side file system +VCHPRE_ int VCHPOST_ vc_filesys_reset(void); + +// Sets the attributes of the named file +VCHPRE_ int VCHPOST_ vc_filesys_set_attr(const char *path, fattributes_t attr); + +// Truncates a file at its current position +VCHPRE_ int VCHPOST_ vc_filesys_setend(int fildes); + +// Checks whether there are any messages in the incoming message fifo and responds to any such messages +VCHPRE_ int VCHPOST_ vc_filesys_poll_message_fifo(void); + +// Return the event used to wait for reads. +VCHPRE_ void * VCHPOST_ vc_filesys_read_event(void); + +// Sends a command for VC01 to reset the file system +VCHPRE_ void VCHPOST_ vc_filesys_sendreset(void); + +// Return the error code of the last file system error +VCHPRE_ int VCHPOST_ vc_filesys_errno(void); + +// Invalidates any cluster chains in the FAT that are not referenced in any directory structures +VCHPRE_ void VCHPOST_ vc_filesys_scandisk(const char *path); + +// Checks whether or not a FAT filesystem is corrupt or not. If fix_errors is TRUE behaves exactly as vc_filesys_scandisk. +VCHPRE_ int VCHPOST_ vc_filesys_chkdsk(const char *path, int fix_errors); + +// Return whether a disk is writeable or not. +VCHPRE_ int VCHPOST_ vc_filesys_diskwritable(const char *path); + +// Return file system type of a disk. +VCHPRE_ int VCHPOST_ vc_filesys_fstype(const char *path); + +// Returns the toatl amount of space on the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_filesys_totalspace(const char *path); +VCHPRE_ int64_t VCHPOST_ vc_filesys_totalspace64(const char *path); + +// Open disk for block level access +VCHPRE_ int VCHPOST_ vc_filesys_open_disk_raw(const char *path); + +// Close disk from block level access mode +VCHPRE_ int VCHPOST_ vc_filesys_close_disk_raw(const char *path); + +// Open disk for normal access +VCHPRE_ int VCHPOST_ vc_filesys_open_disk(const char *path); + +// Close disk for normal access +VCHPRE_ int VCHPOST_ vc_filesys_close_disk(const char *path); + +// Return number of sectors. +VCHPRE_ int VCHPOST_ vc_filesys_numsectors(const char *path); +VCHPRE_ int64_t VCHPOST_ vc_filesys_numsectors64(const char *path); + +// Begin reading sectors from VideoCore. +VCHPRE_ int VCHPOST_ vc_filesys_read_sectors_begin(const char *path, uint32_t sector, uint32_t count); + +// Read the next sector. +VCHPRE_ int VCHPOST_ vc_filesys_read_sector(char *buf); + +// End streaming sectors. +VCHPRE_ int VCHPOST_ vc_filesys_read_sectors_end(uint32_t *sectors_read); + +// Begin writing sectors from VideoCore. +VCHPRE_ int VCHPOST_ vc_filesys_write_sectors_begin(const char *path, uint32_t sector, uint32_t count); + +// Write the next sector. +VCHPRE_ int VCHPOST_ vc_filesys_write_sector(const char *buf); + +// End streaming sectors. +VCHPRE_ int VCHPOST_ vc_filesys_write_sectors_end(uint32_t *sectors_written); + +#endif //VCFILESYS_H_ + diff --git a/opt/vc/include/interface/vmcs_host/vcfilesys_defs.h b/opt/vc/include/interface/vmcs_host/vcfilesys_defs.h new file mode 100644 index 000000000..cf7d70eaa --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vcfilesys_defs.h @@ -0,0 +1,88 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// File service required types + +#ifndef VCFILESYS_DEFS_H +#define VCFILESYS_DEFS_H + +#include // for time_t + +/* Define type fattributes_t and struct dirent for use in file system functions */ + +typedef int fattributes_t; +//enum {ATTR_RDONLY=1, ATTR_DIRENT=2}; +#define ATTR_RDONLY 0x01 /* Read only file attributes */ +#define ATTR_HIDDEN 0x02 /* Hidden file attributes */ +#define ATTR_SYSTEM 0x04 /* System file attributes */ +#define ATTR_VOLUME 0x08 /* Volume Label file attributes */ +#define ATTR_DIRENT 0x10 /* Dirrectory file attributes */ +#define ATTR_ARCHIVE 0x20 /* Archives file attributes */ +#define ATTR_NORMAL 0x00 /* Normal file attributes */ + +#define D_NAME_MAX_SIZE 256 + +#ifndef _DIRENT_H // This should really be in a dirent.h header to avoid conflicts +struct dirent +{ + char d_name[D_NAME_MAX_SIZE]; + unsigned int d_size; + fattributes_t d_attrib; + time_t d_creatime; + time_t d_modtime; +}; +#endif // ifndef _DIRENT_H + +#define FS_MAX_PATH 256 // The maximum length of a pathname +/* Although not used in the API, this value is required on the host and +VC01 sides of the file system, even if there is no host side. Putting it in +vc_fileservice_defs.h is not appropriate as it would only be included if there +was a host side. */ + +/* File system error codes */ +#define FS_BAD_USER -7000 // The task isn't registered as a file system user + +#define FS_BAD_FILE -7001 // The path or filename or file descriptor is invalid +#define FS_BAD_PARM -7002 // Invalid parameter given +#define FS_ACCESS -7003 // File access conflict +#define FS_MAX_FILES -7004 // Maximum number of files already open +#define FS_NOEMPTY -7005 // Directory isn't empty +#define FS_MAX_SIZE -7006 // File is over the maximum file size + +#define FS_NO_DISK -7007 // No disk is present, or the disk has not been opened +#define FS_DISK_ERR -7008 // There is a problem with the disk + +#define FS_IO_ERROR -7009 // Driver level error + +#define FS_FMT_ERR -7010 // Format error + +#define FS_NO_BUFFER -7011 // Internal Nucleus File buffer not available +#define FS_NUF_INT -7012 // Internal Nucleus File error + +#define FS_UNSPEC_ERR -7013 // Unspecified error + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vcgencmd.h b/opt/vc/include/interface/vmcs_host/vcgencmd.h new file mode 100644 index 000000000..c2f63d263 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vcgencmd.h @@ -0,0 +1,95 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// General command service API + +#ifndef GENCMD_H +#define GENCMD_H + +#include "vchost_config.h" +#include "interface/vchi/vchi.h" + +VCHPRE_ void VCHPOST_ vc_vchi_gencmd_init(VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections ); + + +/* Initialise general command service. Returns it's interface number. This initialises + the host side of the interface, it does not send anything to VideoCore. */ + +VCHPRE_ int VCHPOST_ vc_gencmd_init(void); + +/* Stop the service from being used. */ + +VCHPRE_ void VCHPOST_ vc_gencmd_stop(void); + +/* Return the service number (-1 if not running). */ +VCHPRE_ int VCHPOST_ vc_gencmd_inum(void); + +/****************************************************************************** +Send commands to VideoCore. +These all return 0 for success. They return VC_MSGFIFO_FIFO_FULL if there is +insufficient space for the whole message in the fifo, and none of the message is +sent. +******************************************************************************/ + +/* send command to general command serivce */ +VCHPRE_ int VCHPOST_ vc_gencmd_send( const char *format, ... ); + +/* get resonse from general command serivce */ +VCHPRE_ int VCHPOST_ vc_gencmd_read_response(char *response, int maxlen); + +/* convenience function to send command and receive the response */ +VCHPRE_ int VCHPOST_ vc_gencmd(char *response, int maxlen, const char *format, ...); + +/* read part of a response from the general command service */ +VCHPRE_ int VCHPOST_ vc_gencmd_read_response_partial(char *response, int nbytes); + +/* if reading with vc_gencmd_read_response_partial end response reads with this */ +VCHPRE_ int VCHPOST_ vc_gencmd_close_response_partial(void); + +/* get state of reading of response */ +VCHPRE_ int VCHPOST_ vc_gencmd_read_partial_state(void); + +/****************************************************************************** +Utilities to help interpret the responses. +******************************************************************************/ + +/* Read the value of a property=value type pair from a string (typically VideoCore's + response to a general command). Return non-zero if found. */ +VCHPRE_ int VCHPOST_ vc_gencmd_string_property(char *text, const char *property, char **value, int *length); + +/* Read the numeric value of a property=number field from a response string. Return + non-zero if found. */ +VCHPRE_ int VCHPOST_ vc_gencmd_number_property(char *text, const char *property, int *number); + +/* Send a command until the desired response is received, the error message is detected, or the timeout */ +VCHPRE_ int VCHPOST_ vc_gencmd_until( char *cmd, + const char *property, + char *value, + const char *error_string, + int timeout); + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vchi_local/vchost_config.h b/opt/vc/include/interface/vmcs_host/vchi_local/vchost_config.h new file mode 100644 index 000000000..1409bd935 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vchi_local/vchost_config.h @@ -0,0 +1,28 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// Temporary file with types in diff --git a/opt/vc/include/interface/vmcs_host/vchost.h b/opt/vc/include/interface/vmcs_host/vchost.h new file mode 100644 index 000000000..5828ade12 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vchost.h @@ -0,0 +1,273 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHOST_H +#define VCHOST_H + +#include "vchost_config.h" +#include "vcfilesys_defs.h" +#include "interface/vcos/vcos.h" //for VCHPRE_ abd VCHPOST_ macro's for func declaration +#include "interface/vmcs_host/vc_fileservice_defs.h" // for VC_O_XXX file definitions +#include "interface/vchi/vchi.h" + +#define UNUSED_PARAMETER(x) ((void)(x))/* macro to suppress not use warning */ + +/*---------------------------------------------------------------------------*/ +/* Byte-swapping, dependant on host's orientation */ +/*---------------------------------------------------------------------------*/ + +#ifndef VC_HOST_IS_BIG_ENDIAN +#define VC_HTOV32(val) (val) +#define VC_HTOV16(val) (val) +#define VC_VTOH32(val) (val) +#define VC_VTOH16(val) (val) +#else +static unsigned long VC_HTOV32(unsigned long val) { + return ((val<<24) | ((val&0xff00)<<8) | ((val>>8)&0xff00) | ((val>>24)&0xff)); } +static unsigned short VC_HTOV16(unsigned short val) { + return ((val<<8)|(val>>8)); } +static unsigned long VC_VTOH32(unsigned long val) { + return ((val<<24) | ((val&0xff00)<<8) | ((val>>8)&0xff00) | ((val>>24)&0xff)); } +static unsigned short VC_VTOH16(unsigned short val) { + return ((val<<8)|(val>>8)); } +#endif + +/*---------------------------------------------------------------------------*/ +/* Host port related functions */ +/*---------------------------------------------------------------------------*/ + +/* Boot a bin file from flash into RAM. Returns the id of the application running */ + +VCHPRE_ int VCHPOST_ vc_host_boot(char *cmd_line, void *binimg, int nbytes, int bootloader); + +/* Perform any platform specific initialisations. */ + +VCHPRE_ int VCHPOST_ vc_host_init(void); + +/* Read a multiple of 16 bytes from VideoCore. host_addr has no particular alignment, + but it is important that it transfers the data in 16-bit chunks if this is possible. */ + +VCHPRE_ int VCHPOST_ vc_host_read_consecutive(void *host_addr, uint32_t vc_addr, int nbytes, int channel); + +#ifdef VC_HOST_IS_BIG_ENDIAN +// Reads from VideoCore with an implicit swap of each pair of bytes. +VCHPRE_ int VCHPOST_ vc_host_read_byteswapped(void *host_addr, uint32_t vc_addr, int nbytes, int channel); +#endif + +/* Write a multiple of 16 bytes to VideoCore. host_addr has no particular alignment, + but it is important that it transfers the data in 16-bit chunks if this is possible. */ + +VCHPRE_ int VCHPOST_ vc_host_write_consecutive(uint32_t vc_addr, void *host_addr, int nbytes, int channel); + +#ifdef VC_HOST_IS_BIG_ENDIAN +// Write to VideoCore with an implicit swap of each pair of bytes. +VCHPRE_ int VCHPOST_ vc_host_write_byteswapped(uint32_t vc_addr, void *host_addr, int nbytes, int channel); +#endif + +/* Send an interrupt to VideoCore. */ + +VCHPRE_ int VCHPOST_ vc_host_send_interrupt(int channel); + +/* Wait for an interrupt from VideoCore. This can return immediately if applications + are happy to busy-wait. */ + +VCHPRE_ int VCHPOST_ vc_host_wait_interrupt(void); + +/* Tell the host to act on or ignore interrupts. */ + +VCHPRE_ void VCHPOST_ vc_host_interrupts(int on); + +/* Function called when there is some kind of internal error. Breakpoints can be set on + this for debugging. */ + +VCHPRE_ void VCHPOST_ vc_error(void); + + +/*---------------------------------------------------------------------------*/ +/* Event (interrupt) related functions */ +/*---------------------------------------------------------------------------*/ + +// Minimum number of event objects an implementation should support. +// Sufficient for 2 per 8 interfaces/services + 4 others +#define VC_EVENT_MAX_NUM 20 + +/* Create (and clear) an event. Returns a pointer to the event object. */ +VCHPRE_ void * VCHPOST_ vc_event_create(void); + +/* Wait for an event to be set, blocking until it is set. + Only one thread may be waiting at any one time. + The event is automatically cleared on leaving this function. */ +VCHPRE_ void VCHPOST_ vc_event_wait(void *sig); + +/* Reads the state of an event (for polling systems) */ +VCHPRE_ int VCHPOST_ vc_event_status(void *sig); + +/* Forcibly clears any pending event */ +VCHPRE_ void VCHPOST_ vc_event_clear(void *sig); + +/* Sets an event - can be called from any thread */ +VCHPRE_ void VCHPOST_ vc_event_set(void *sig); + +/* Register the calling task to be notified of an event. */ +VCHPRE_ void VCHPOST_ vc_event_register(void *ievent); + +/* Set events to block, stopping polling mode. */ +VCHPRE_ void VCHPOST_ vc_event_blocking(void); + +/*---------------------------------------------------------------------------*/ +/* Semaphore related functions */ +/*---------------------------------------------------------------------------*/ + +// Minimum number of locks an implementation should support. + +#define VC_LOCK_MAX_NUM 32 + +// Create a lock. Returns a pointer to the lock object. A lock is initially available +// just once. + +VCHPRE_ void * VCHPOST_ vc_lock_create(void); + +// Obtain a lock. Block until we have it. Locks are not re-entrant for the same thread. + +VCHPRE_ void VCHPOST_ vc_lock_obtain(void *lock); + +// Release a lock. Anyone can call this, even if they didn't obtain the lock first. + +VCHPRE_ void VCHPOST_ vc_lock_release(void *lock); + +/*---------------------------------------------------------------------------*/ +/* File system related functions */ +/*---------------------------------------------------------------------------*/ + +// Initialises the host dependent file system functions for use +VCHPRE_ void VCHPOST_ vc_hostfs_init(void); +VCHPRE_ void VCHPOST_ vc_hostfs_exit(void); + +// Low level file system functions equivalent to close(), lseek(), open(), read() and write() +VCHPRE_ int VCHPOST_ vc_hostfs_close(int fildes); + +VCHPRE_ long VCHPOST_ vc_hostfs_lseek(int fildes, long offset, int whence); + +VCHPRE_ int64_t VCHPOST_ vc_hostfs_lseek64(int fildes, int64_t offset, int whence); + +VCHPRE_ int VCHPOST_ vc_hostfs_open(const char *path, int vc_oflag); + +VCHPRE_ int VCHPOST_ vc_hostfs_read(int fildes, void *buf, unsigned int nbyte); + +VCHPRE_ int VCHPOST_ vc_hostfs_write(int fildes, const void *buf, unsigned int nbyte); + +// Ends a directory listing iteration +VCHPRE_ int VCHPOST_ vc_hostfs_closedir(void *dhandle); + +// Formats the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_hostfs_format(const char *path); + +// Returns the amount of free space on the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_hostfs_freespace(const char *path); +VCHPRE_ int64_t VCHPOST_ vc_hostfs_freespace64(const char *path); + +// Gets the attributes of the named file +VCHPRE_ int VCHPOST_ vc_hostfs_get_attr(const char *path, fattributes_t *attr); + +// Creates a new directory +VCHPRE_ int VCHPOST_ vc_hostfs_mkdir(const char *path); + +// Starts a directory listing iteration +VCHPRE_ void * VCHPOST_ vc_hostfs_opendir(const char *dirname); + +// Directory listing iterator +VCHPRE_ struct dirent * VCHPOST_ vc_hostfs_readdir_r(void *dhandle, struct dirent *result); + +// Deletes a file or (empty) directory +VCHPRE_ int VCHPOST_ vc_hostfs_remove(const char *path); + +// Renames a file, provided the new name is on the same file system as the old +VCHPRE_ int VCHPOST_ vc_hostfs_rename(const char *oldfile, const char *newfile); + +// Sets the attributes of the named file +VCHPRE_ int VCHPOST_ vc_hostfs_set_attr(const char *path, fattributes_t attr); + +// Truncates a file at its current position +VCHPRE_ int VCHPOST_ vc_hostfs_setend(int fildes); + +// Returns the total amount of space on the drive that contains the given path +VCHPRE_ int VCHPOST_ vc_hostfs_totalspace(const char *path); +VCHPRE_ int64_t VCHPOST_ vc_hostfs_totalspace64(const char *path); + +// Return millisecond resolution system time, only used for differences +VCHPRE_ int VCHPOST_ vc_millitime(void); + +// Invalidates any cluster chains in the FAT that are not referenced in any directory structures +VCHPRE_ void VCHPOST_ vc_hostfs_scandisk(const char *path); + +// Checks whether or not a FAT filesystem is corrupt or not. If fix_errors is TRUE behaves exactly as vc_filesys_scandisk. +VCHPRE_ int VCHPOST_ vc_hostfs_chkdsk(const char *path, int fix_errors); + +/*---------------------------------------------------------------------------*/ +/* These functions only need to be implemented for the test system. */ +/*---------------------------------------------------------------------------*/ + +// Open a log file. +VCHPRE_ void VCHPOST_ vc_log_open(const char *fname); + +// Flush any pending data to the log file. +VCHPRE_ void VCHPOST_ vc_log_flush(void); + +// Close the log file. +VCHPRE_ void VCHPOST_ vc_log_close(void); + +// Log an error. +VCHPRE_ void VCHPOST_ vc_log_error(const char *format, ...); + +// Log a warning. +VCHPRE_ void VCHPOST_ vc_log_warning(const char *format, ...); + +// Write a message to the log. +VCHPRE_ void VCHPOST_ vc_log_msg(const char *format, ...); + +// Flush the log. +VCHPRE_ void VCHPOST_ vc_log_flush(void); + +// Return the total number of warnings and errors logged. +VCHPRE_ void VCHPOST_ vc_log_counts(int *warnings, int *errors); + +// Wait for the specified number of microseconds. Used in test system only. +VCHPRE_ void VCHPOST_ vc_sleep(int ms); + +// Get a time value in milliseconds. Used for measuring time differences +VCHPRE_ uint32_t VCHPOST_ vc_time(void); + +// Check timing functions are available. Use in calibrating tests. +VCHPRE_ int VCHPOST_ calibrate_sleep (const char *data_dir); + +/*---------------------------------------------------------------------------*/ +/* Functions to allow dynamic service creation */ +/*---------------------------------------------------------------------------*/ + +VCHPRE_ void VCHPOST_ vc_host_get_vchi_state(VCHI_INSTANCE_T *initialise_instance, VCHI_CONNECTION_T **connection); + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vchost_config.h b/opt/vc/include/interface/vmcs_host/vchost_config.h new file mode 100644 index 000000000..efc170025 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vchost_config.h @@ -0,0 +1,65 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*============================================================================= +Platform specific configuration parameters. +=============================================================================*/ + +#ifndef VCHOST_CONFIG_H +#define VCHOST_CONFIG_H + +#include "interface/vcos/vcos.h" + +#if 0 +/* Types that map onto VideoCore's types of the same name. */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef short int16_t; +typedef long int32_t; +typedef unsigned long uint32_t; +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#ifndef vc_assert +#define vc_assert(cond) vcos_assert(cond) +#endif +#endif + +/* On this platform we need to be able to release the host-side software resources. */ +extern void vc_os_close(void); + +#ifndef VCHPRE_ +#define VCHPRE_ extern +#endif +#ifndef VCHPOST_ +#define VCHPOST_ +#endif +#ifndef VCCPRE_ +#define VCCPRE_ +#endif + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vchostreq.h b/opt/vc/include/interface/vmcs_host/vchostreq.h new file mode 100644 index 000000000..d9fcee03d --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vchostreq.h @@ -0,0 +1,108 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCHOSTREQ_H +#define VCHOSTREQ_H + +#include "vc_hostreq_defs.h" +#include "vchost_config.h" +#include + +#include "interface/vchi/vchi.h" + +VCHPRE_ void VCHPOST_ vc_vchi_hostreq_init(VCHI_INSTANCE_T initialise_instance, VCHI_CONNECTION_T **connections, uint32_t num_connections ); +//These are originally in vchostmem.c, we only provide them here for backward compatibility +//Host apps should be using bufman service to read/write host memory +VCHPRE_ int VCHPOST_ vchostreq_readmem( void* host_addr, void *vc_addr, int len ); +VCHPRE_ int VCHPOST_ vchostreq_writemem( void* host_addr, void *vc_addr, int len, int channel ); + + +VCHPRE_ int VCHPOST_ vc_hostreq_init (void); + +VCHPRE_ void VCHPOST_ vc_hostreq_stop (void); + +/* Supplies current key settings (preferably when there is a change) */ +VCHPRE_ void VCHPOST_ vc_hostreq_keychange(keys_t keys); + +/* Sets a user notify function to be called for the given notify event */ +VCHPRE_ int32_t VCHPOST_ vc_hostreq_set_notify( const VC_HRNOTIFY_T notify_event, VC_HRNOTIFY_CALLBACK_T notifyfunc ); + +/* Sets a user callback to be called for the given hostreq event */ +VCHPRE_ int32_t VCHPOST_ vc_hostreq_set_data_callback( const int cmd, VC_HRDATA_CALLBACK_T callback, void *userdata ); + +/*---------------------------------------------------------------------------*/ +/*** The following require a host/application specific implementation ***/ + +/* Change key capture settings (might be ignored) */ +VCHPRE_ void VCHPOST_ vc_hostreq_capturekeys(keys_t keymask); + + +/* Play a zero terminated sequence on the vibrator */ +VCHPRE_ void VCHPOST_ vc_hostreq_vibratorplay(const int *sequence); + + +/* Stop the vibrator sequence immediately */ +VCHPRE_ void VCHPOST_ vc_hostreq_vibratorstop(void); + + +/* Switch backlight on or off. */ +VCHPRE_ void VCHPOST_ vc_hostreq_keylight(int state); + + +/* Set LEDs to specific brightness and colour levels. */ +VCHPRE_ void VCHPOST_ vc_hostreq_setleds(led_t ledvalues); + + +/* Returns seconds since midnight (00:00.00) Jan 1 1970, local time. */ +VCHPRE_ time_t VCHPOST_ vc_hostreq_time(void); + + +/* Send an event with the given eventcode to the host. */ +VCHPRE_ void VCHPOST_ vc_hostreq_notify(int eventcode, int param); + +/* Receive config data for subsequent hostreq_rendertext events. */ +VCHPRE_ void VCHPOST_ vc_hostreq_configtext(char *config_data, int len); + +/* Render a text string as a bitmap and then return it to VideoCore. */ +VCHPRE_ void VCHPOST_ vc_hostreq_rendertext(char *text, int len); + +/* Receive link information from a media file. */ +VCHPRE_ void VCHPOST_ vc_hostreq_linkdata(char *link_data, int len); + +/* Receive DMB FIC data */ +VCHPRE_ void VCHPOST_ vc_hostreq_dmb_fic(char *data, int len); + +/* Receive DMB PAD data */ +VCHPRE_ void VCHPOST_ vc_hostreq_dmb_pad(char *data, int len); + +/* Receive DMB DATA data */ +VCHPRE_ void VCHPOST_ vc_hostreq_dmb_data(char *data, int len); + +/* Request keypress info (from RTSP server). */ +VCHPRE_ void VCHPOST_ vc_hostreq_keyin(void); + +#endif diff --git a/opt/vc/include/interface/vmcs_host/vcilcs.h b/opt/vc/include/interface/vmcs_host/vcilcs.h new file mode 100644 index 000000000..3a11b84cf --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vcilcs.h @@ -0,0 +1,103 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// OpenMAX IL Component Service definitions + +#ifndef ILCS_H +#define ILCS_H + +#include "interface/vmcs_host/khronos/IL/OMX_Component.h" +#include "interface/vmcs_host/vc_ilcs_defs.h" + +struct ILCS_SERVICE_T; +typedef struct ILCS_SERVICE_T ILCS_SERVICE_T; + +struct ILCS_COMMON_T; +typedef struct ILCS_COMMON_T ILCS_COMMON_T; + +typedef void (*IL_FN_T)(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); + +typedef struct { + IL_FN_T *fns; + ILCS_COMMON_T *(*ilcs_common_init)(ILCS_SERVICE_T *); + void (*ilcs_common_deinit)(ILCS_COMMON_T *st); + void (*ilcs_thread_init)(ILCS_COMMON_T *st); + unsigned char *(*ilcs_mem_lock)(OMX_BUFFERHEADERTYPE *buffer); + void (*ilcs_mem_unlock)(OMX_BUFFERHEADERTYPE *buffer); +} ILCS_CONFIG_T; + +// initialise the VideoCore IL Component service +// returns pointer to state on success, NULL on failure +#ifdef USE_VCHIQ_ARM +VCHPRE_ ILCS_SERVICE_T VCHPOST_ *ilcs_init(VCHIQ_INSTANCE_T state, void **connection, ILCS_CONFIG_T *config, int use_memmgr); +#else +VCHPRE_ ILCS_SERVICE_T VCHPOST_ *ilcs_init(VCHIQ_STATE_T *state, void **connection, ILCS_CONFIG_T *config, int use_memmgr); +#endif + +// deinitialises the IL Component service +VCHPRE_ void VCHPOST_ ilcs_deinit(ILCS_SERVICE_T *ilcs); + +// returns 1 if the current thread is the ilcs thread, 0 otherwise +VCHPRE_ int VCHPOST_ ilcs_thread_current(void *param); + +// returns pointer to shared state +VCHPRE_ ILCS_COMMON_T *ilcs_get_common(ILCS_SERVICE_T *ilcs); + +VCHPRE_ int VCHPOST_ ilcs_execute_function(ILCS_SERVICE_T *ilcs, IL_FUNCTION_T func, void *data, int len, void *resp, int *rlen); +VCHPRE_ OMX_ERRORTYPE VCHPOST_ ilcs_pass_buffer(ILCS_SERVICE_T *ilcs, IL_FUNCTION_T func, void *reference, OMX_BUFFERHEADERTYPE *pBuffer); +VCHPRE_ OMX_BUFFERHEADERTYPE * VCHPOST_ ilcs_receive_buffer(ILCS_SERVICE_T *ilcs, void *call, int clen, OMX_COMPONENTTYPE **pComp); + +// bulks are 16 bytes aligned, implicit in use of vchiq +#define ILCS_ALIGN 16 + +#define ILCS_ROUND_UP(x) ((((unsigned long)(x))+ILCS_ALIGN-1) & ~(ILCS_ALIGN-1)) +#define ILCS_ROUND_DOWN(x) (((unsigned long)(x)) & ~(ILCS_ALIGN-1)) +#define ILCS_ALIGNED(x) (((unsigned long)(x) & (ILCS_ALIGN-1)) == 0) + + +#ifdef _VIDEOCORE +#include "vcfw/logging/logging.h" + +#ifdef ILCS_LOGGING + +#define LOG_MSG ILCS_LOGGING +extern void ilcs_log_event_handler(OMX_HANDLETYPE hComponent, OMX_PTR pAppData, OMX_EVENTTYPE eEvent, + OMX_U32 nData1,OMX_U32 nData2,OMX_PTR pEventData); + +#else + +#define LOG_MSG LOGGING_GENERAL +#define ilcs_log_event_handler(...) +extern void dummy_logging_message(int level, const char *format, ...); +#undef logging_message +#define logging_message if (1) {} else dummy_logging_message + +#endif // ILCS_LOGGING +#endif // _VIDEOCORE + +#endif // ILCS_H + diff --git a/opt/vc/include/interface/vmcs_host/vcilcs_common.h b/opt/vc/include/interface/vmcs_host/vcilcs_common.h new file mode 100644 index 000000000..0659466c5 --- /dev/null +++ b/opt/vc/include/interface/vmcs_host/vcilcs_common.h @@ -0,0 +1,83 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +// OpenMAX IL Component Service common - Host side header + +typedef struct { + OMX_U32 port; + IL_FUNCTION_T func; + OMX_BOOL bEGL; + OMX_U32 numBuffers; + OMX_DIRTYPE dir; +} VC_PRIVATE_PORT_T; + +struct _VC_PRIVATE_COMPONENT_T { + OMX_COMPONENTTYPE *comp; + void *reference; + OMX_U32 numPorts; + OMX_CALLBACKTYPE callbacks; + OMX_PTR callback_state; + VC_PRIVATE_PORT_T *port; + struct _VC_PRIVATE_COMPONENT_T *next; +}; +typedef struct _VC_PRIVATE_COMPONENT_T VC_PRIVATE_COMPONENT_T; + +struct ILCS_COMMON_T { + VCOS_SEMAPHORE_T component_lock; + VC_PRIVATE_COMPONENT_T *component_list; + ILCS_SERVICE_T *ilcs; +}; + +VCHPRE_ void VCHPOST_ vcilcs_config(ILCS_CONFIG_T *config); + +// functions that implement incoming functions calls +// from VideoCore components to host based components +VCHPRE_ void VCHPOST_ vcil_in_get_state(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_get_parameter(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_set_parameter(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_get_config(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_set_config(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_use_buffer(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_free_buffer(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_empty_this_buffer(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_fill_this_buffer(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_get_component_version(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_get_extension_index(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_in_component_role_enum(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); + +// functions that implement callbacks from VideoCore +// components to the host core. +// The prefix is vcil_out since they implement part +// of the API that the host uses out to VideoCore +VCHPRE_ void VCHPOST_ vcil_out_event_handler(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_out_empty_buffer_done(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); +VCHPRE_ void VCHPOST_ vcil_out_fill_buffer_done(ILCS_COMMON_T *st, void *call, int clen, void *resp, int *rlen); + +// functions used by the host IL core +VCHPRE_ OMX_ERRORTYPE VCHPOST_ vcil_out_get_debug_information(ILCS_COMMON_T *st, OMX_STRING debugInfo, OMX_S32 *pLen); +VCHPRE_ OMX_ERRORTYPE VCHPOST_ vcil_out_create_component(ILCS_COMMON_T *st, OMX_HANDLETYPE hComponent, OMX_STRING component_name); +VCHPRE_ OMX_ERRORTYPE VCHPOST_ vcil_out_component_name_enum(ILCS_COMMON_T *st, OMX_STRING cComponentName, OMX_U32 nNameLength, OMX_U32 nIndex); diff --git a/opt/vc/include/vcinclude/common.h b/opt/vc/include/vcinclude/common.h new file mode 100644 index 000000000..77b6b2e2f --- /dev/null +++ b/opt/vc/include/vcinclude/common.h @@ -0,0 +1,136 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __VC_INCLUDE_COMMON_H__ +#define __VC_INCLUDE_COMMON_H__ + +#include "interface/vcos/vcos_stdint.h" +#include "interface/vctypes/vc_image_types.h" + +#if defined(__HIGHC__) && defined(_VIDEOCORE) && !defined(_I386) +// __HIGHC__ is only available with MW +// The scvc plugins are compiled (bizarrely) on an x86 with _VIDEOCORE set! +#include +#endif + +#ifdef __COVERITY__ +#ifndef _Rarely +#define _Rarely(x) (x) +#endif +#ifndef _Usually +#define _Usually(x) (x) +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __SYMBIAN32__ +# ifndef INLINE +# define INLINE __inline +# endif + +/* Align a pointer/integer by rounding up/down */ +#define ALIGN_DOWN(p, n) ((uint32_t)(p) - ( (uint32_t)(p) % (uint32_t)(n) )) +#define ALIGN_UP(p, n) ALIGN_DOWN((uint32_t)(p) + (uint32_t)(n) - 1, (n)) + +#elif defined (VCMODS_LCC) +#include + + +#elif !defined(__KERNEL__) +#include + +#endif + + +/*}}}*/ + +/* Fixed-point types */ +typedef unsigned short uint8p8_t; +typedef signed short sint8p8_t; +typedef unsigned short uint4p12_t; +typedef signed short sint4p12_t; +typedef signed short sint0p16_t; +typedef signed char sint8p0_t; +typedef unsigned char uint0p8_t; +typedef signed long int24p8_t; + +/*{{{ Common typedefs */ + +typedef enum bool_e +{ + VC_FALSE = 0, + VC_TRUE = 1, +} bool_t; + +/*}}}*/ + +/*{{{ Common macros */ + + +/* Align a pointer/integer by rounding up/down */ +#define ALIGN_DOWN(p, n) ((uintptr_t)(p) - ( (uintptr_t)(p) % (uintptr_t)(n) )) +#define ALIGN_UP(p, n) ALIGN_DOWN((uintptr_t)(p) + (uintptr_t)(n) - 1, (n)) + +#define CLIP(lower, n, upper) _min((upper), _max((lower), (n))) + +/*}}}*/ + +/*{{{ Debugging and profiling macros */ + +#if 0 +/* There's already an assert_once in */ +#ifdef DEBUG +#define assert_once(x) \ + { \ + static uint8_t ignore = 0; \ + if(!ignore) \ + { \ + assert(x); \ + ignore++; \ + } \ + } +#else +#define assert_once(x) (void)0 +#endif +#endif /* 0 */ + +#if defined(__HIGHC__) && !defined(NDEBUG) +/* HighC lacks a __FUNCTION__ preproc symbol... :( */ +#define profile_rename(name) _ASM(".global " name "\n" name ":\n") +#else +#define profile_rename(name) (void)0 +#endif + +/*}}}*/ +#ifdef __cplusplus + } +#endif +#endif /* __VCINCLUDE_COMMON_H__ */ + diff --git a/opt/vc/include/vcinclude/vc_image_types.h b/opt/vc/include/vcinclude/vc_image_types.h new file mode 100644 index 000000000..a67dec607 --- /dev/null +++ b/opt/vc/include/vcinclude/vc_image_types.h @@ -0,0 +1,33 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __VC_INCLUDE_IMAGE_TYPES_H__ +#define __VC_INCLUDE_IMAGE_TYPES_H__ + +#include "interface/vctypes/vc_image_types.h" + +#endif /* __VC_INCLUDE_IMAGE_TYPES_H__ */ diff --git a/opt/vc/include/vcinclude/vcore.h b/opt/vc/include/vcinclude/vcore.h new file mode 100644 index 000000000..7fd711394 --- /dev/null +++ b/opt/vc/include/vcinclude/vcore.h @@ -0,0 +1,64 @@ +/* +Copyright (c) 2012, Broadcom Europe Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef VCORE_H +#define VCORE_H + +#ifdef __VIDEOCORE__ +#include "vc/intrinsics.h" +#undef asm +#define asm(x) _ASM(x) + +#undef min +#define min(x,y) _min(x,y) + +#undef max +#define max(x,y) _max(x,y) + +#ifndef abs +#define abs(x) _abs(x) +#endif +#else +#define _vasm asm +#define _bkpt() do {asm(" bkpt");}while(0) +#define _di() do{asm(" di");}while(0) +#define _ei() do{asm(" ei");}while(0) +#define _nop() do{asm(" nop");}while(0) +#define _sleep() do{asm(" sleep");}while(0) + +#undef min +#define min(x,y) ((x)<(y) ? (x):(y)) + +#undef max +#define max(x,y) ((x)>(y) ? (x):(y)) + +#ifndef abs +#define abs(x) ((x)>=0 ? (x):-(x)) +#endif +#endif + +#endif diff --git a/opt/vc/lib/libEGL.so b/opt/vc/lib/libEGL.so new file mode 100644 index 000000000..a75083d77 Binary files /dev/null and b/opt/vc/lib/libEGL.so differ diff --git a/opt/vc/lib/libEGL_static.a b/opt/vc/lib/libEGL_static.a new file mode 100644 index 000000000..69702e263 Binary files /dev/null and b/opt/vc/lib/libEGL_static.a differ diff --git a/opt/vc/lib/libGLESv1_CM.so b/opt/vc/lib/libGLESv1_CM.so new file mode 100644 index 000000000..bc7910fc2 Binary files /dev/null and b/opt/vc/lib/libGLESv1_CM.so differ diff --git a/opt/vc/lib/libGLESv2.so b/opt/vc/lib/libGLESv2.so new file mode 100644 index 000000000..bc7910fc2 Binary files /dev/null and b/opt/vc/lib/libGLESv2.so differ diff --git a/opt/vc/lib/libGLESv2_static.a b/opt/vc/lib/libGLESv2_static.a new file mode 100644 index 000000000..fbd40186c Binary files /dev/null and b/opt/vc/lib/libGLESv2_static.a differ diff --git a/opt/vc/lib/libOpenVG.so b/opt/vc/lib/libOpenVG.so new file mode 100644 index 000000000..312dcaf59 Binary files /dev/null and b/opt/vc/lib/libOpenVG.so differ diff --git a/opt/vc/lib/libWFC.so b/opt/vc/lib/libWFC.so new file mode 100644 index 000000000..fee9d6fa0 Binary files /dev/null and b/opt/vc/lib/libWFC.so differ diff --git a/opt/vc/lib/libbcm_host.so b/opt/vc/lib/libbcm_host.so new file mode 100644 index 000000000..5a496c17d Binary files /dev/null and b/opt/vc/lib/libbcm_host.so differ diff --git a/opt/vc/lib/libdebug_sym.so b/opt/vc/lib/libdebug_sym.so new file mode 100644 index 000000000..cdfac5a62 Binary files /dev/null and b/opt/vc/lib/libdebug_sym.so differ diff --git a/opt/vc/lib/libkhrn_client.a b/opt/vc/lib/libkhrn_client.a new file mode 100644 index 000000000..9a2c73e3e Binary files /dev/null and b/opt/vc/lib/libkhrn_client.a differ diff --git a/opt/vc/lib/libkhrn_static.a b/opt/vc/lib/libkhrn_static.a new file mode 100644 index 000000000..492788367 Binary files /dev/null and b/opt/vc/lib/libkhrn_static.a differ diff --git a/opt/vc/lib/libmmal.so b/opt/vc/lib/libmmal.so new file mode 100644 index 000000000..91b4dff9e Binary files /dev/null and b/opt/vc/lib/libmmal.so differ diff --git a/opt/vc/lib/libmmal_vc_client.so b/opt/vc/lib/libmmal_vc_client.so new file mode 100644 index 000000000..ec5068855 Binary files /dev/null and b/opt/vc/lib/libmmal_vc_client.so differ diff --git a/opt/vc/lib/libopenmaxil.so b/opt/vc/lib/libopenmaxil.so new file mode 100644 index 000000000..9bd6f5470 Binary files /dev/null and b/opt/vc/lib/libopenmaxil.so differ diff --git a/opt/vc/lib/libvcfiled_check.a b/opt/vc/lib/libvcfiled_check.a new file mode 100644 index 000000000..bff5cb090 Binary files /dev/null and b/opt/vc/lib/libvcfiled_check.a differ diff --git a/opt/vc/lib/libvchiq_arm.so b/opt/vc/lib/libvchiq_arm.so new file mode 100644 index 000000000..b9ef54978 Binary files /dev/null and b/opt/vc/lib/libvchiq_arm.so differ diff --git a/opt/vc/lib/libvchostif.a b/opt/vc/lib/libvchostif.a new file mode 100644 index 000000000..971555629 Binary files /dev/null and b/opt/vc/lib/libvchostif.a differ diff --git a/opt/vc/lib/libvcos.so b/opt/vc/lib/libvcos.so new file mode 100644 index 000000000..b398dfb49 Binary files /dev/null and b/opt/vc/lib/libvcos.so differ diff --git a/opt/vc/lib/libvmcs_rpc_client.a b/opt/vc/lib/libvmcs_rpc_client.a new file mode 100644 index 000000000..946e2dca4 Binary files /dev/null and b/opt/vc/lib/libvmcs_rpc_client.a differ diff --git a/opt/vc/sbin/install_vmcs b/opt/vc/sbin/install_vmcs new file mode 100644 index 000000000..980522ec0 --- /dev/null +++ b/opt/vc/sbin/install_vmcs @@ -0,0 +1,279 @@ +#!/bin/sh + +# edit this file only at \makefiles\cmake\scripts\install_vmcs +# update (via root staging area) using cmake {args} , etc. + +cmd="$0" +cmd_dir="`dirname -- "$cmd"`" +cmd_dir=`(cd "$cmd_dir">/dev/null;pwd)` +cmd_name="`basename -- $cmd`" + +# this command should be run as root from ${dir_install}/sbin + +dir_install="`dirname -- "$cmd_dir"`" +dir_data="$dir_install/share/install" +dir_sd="/sd" + +do_force=false + +# install contents of $dir_data into the system + +if [ "`whoami`" != "root" ]; then + echo "$cmd_name: you need to be root to execute this command">&2 + exit 1 +fi + +[ "_$1" = "_-f" -o "_$1" = "_--force" ] && { do_force=true; shift; } + + +# Uninstall script + +################################# +################################# + +create_uninstall() +{ cat <<'EOF' +#!/bin/sh + +#### +#### WARNING: this script is written and overwritten by $cmd - don't edit +#### + +cmd="$0" +cmd_dir="`dirname -- "$cmd"`" +cmd_dir=`(cd "$cmd_dir">/dev/null;pwd)` +cmd_name="`basename -- "$cmd"`" + +# this command should be run from /sbin + +if [ "`whoami`" != "root" ]; then + echo "$cmd_name: you need to be root to execute this command">&2 + exit 1 +fi + +# uninstall the new libraries + +if [ -f /etc/ld.so.conf.d/vmcs.conf ]; then + rm /etc/ld.so.conf.d/vmcs.conf + ldconfig +fi + +vcfiled=/etc/init.d/vcfiled +if [ -x $vcfiled ]; then + $vcfiled stop + if update-rc.d -f vcfiled remove; then + rm -f $vcfiled + else + echo "$cmd_name: failed to install $vcfiled, sorry">&2 + fi +fi + +EOF +} + + +################################# +################################# + +rc=0 + +# install un-installation script + +if [ -f "$cmd_dir/uninstall_vmcs" ]; then + if mv -f "$cmd_dir/uninstall_vmcs" "$cmd_dir/uninstall_last_vmcs"; then + echo "$cmd_name: previous installation's uninstallation script saved in">&2 + echo "$cmd_name: $cmd_dir/uninstall_last_vmcs">&2 + else + echo "$cmd_name: failed to rename previous installation's uninstallation script">&2 + fi +fi +create_uninstall > "$cmd_dir/uninstall_vmcs" +chmod +x "$cmd_dir/uninstall_vmcs" + +# install the new libraries + +if $do_force || [ -d /etc/ld.so.conf.d ]; then + if $do_force || [ ! -f /etc/ld.so.conf.d/vmcs.conf ]; then + if [ ! -f "$dir_data/vmcs.conf" ]; then + echo "$cmd_name: expected file missing in $dir_data/vmcs.conf">&2 + rc=1 + else + mkdir -p /etc/ld.so.conf.d + cp -af "$dir_data/vmcs.conf" /etc/ld.so.conf.d/vmcs.conf + ldconfig + fi + fi +else + echo "$cmd_name: don't know how to install libraries, sorry">&2 + rc=2 +fi + +# install VC file daemon + +if $do_force || [ ! -f /etc/init.d/vcfiled ]; then + if [ ! -f "$dir_data/vcfiled" ]; then + echo "$cmd_name: expected file missing in $dir_data/vcfiled">&2 + rc=3 + else + cp -af "$dir_data/vcfiled" /etc/init.d/vcfiled + if ! update-rc.d vcfiled defaults 16; then + echo "$cmd_name: don't know how to install new /etc/init.d/vcfiled, sorry">&2 + rc=4 + elif ! update-rc.d vcfiled enable; then + echo "$cmd_name: failed to enable new /etc/init.d/vcfiled, sorry">&2 + rc=5 + fi + fi +fi + +# make sure vchiq device finder is installed + +if $do_force || [ ! -f /etc/init.d/vchiq ]; then + if [ ! -f "$dir_data/vchiq" ]; then + echo "$cmd_name: expected file missing in $dir_data/vchiq">&2 + else + cp -af "$dir_data/vchiq" /etc/init.d/vchiq + if ! update-rc.d vchiq defaults 12; then + echo "$cmd_name: don't know how to install new /etc/init.d/vchiq, sorry">&2 + rc=6 + elif ! update-rc.d vchiq enable; then + echo "$cmd_name: failed to enable new /etc/init.d/vchiq, sorry">&2 + rc=7 + fi + fi +fi + +# set up a module directory from SD card if possible + +current_moddir=/lib/modules +pkg_moddir=${dir_install}$current_moddir +sd_moddir=/boot$current_moddir + +if [ -h "$pkg_moddir" ]; then + # this should never have been made into a symbolic link - it will mean + # different things on the ARM and the build machines + # Unfortunately a previous version of this script made it symbolic + rm "$pkg_moddir" + echo "------------------------" + echo "$cmd_name: Damage to $pkg_moddir caused by previous script version has" + echo "$cmd_name: been corrected. Sorry, but you have to re-build the " + echo "$cmd_name: vchiq module now" + echo "------------------------" +fi + +if $do_force || [ ! -f "$pkg_moddir" ]; then + if [ -d "$sd_moddir" ]; then + echo "$cmd_name: Installing any newer modules from SD card" + cp -auT "$sd_moddir" "$current_moddir" + fi +fi + +# install the vchiq module from install dir (if present) + +current_mod=${current_moddir}/`uname -r`/extra/vchiq.ko +pkg_mod=${dir_install}$current_mod + +if [ -f "$pkg_mod" ]; then + if $do_force || \ + [ ! -f "$current_mod" ] || \ + [ "$pkg_mod" -nt "$current_mod" ]; then + mkdir -p "`dirname -- "$current_mod"`" + # copy new vchiq module over - try to keep same date for debugging + if cp -af "$pkg_mod" "$current_mod"; then + echo "$cmd_name: updated vchiq module taken from $pkg_moddir">&2 + else + echo "$cmd_name: couldn't overwrite $current_mod">&2 + rc=8 + fi + fi +fi + +if [ ! -f "$current_mod" ]; then + echo "$cmd_name: no vchiq module found for this kernel (`uname -r`)">&2 + rc=9 +else + # make sure the module is loaded automatically when we reboot + # before the vcqhiq script runs by placing its name in /etc/modules + # (This is suppose to have been done already in mklinux) + if ! grep "^vchiq$" /etc/modules>/dev/null; then + echo vchiq >> /etc/modules + fi +fi + +if $do_force || [ ! -f "${current_moddir}/`uname -r`/modules.dep" ]; then + depmod +fi + +# install vlls + +if $do_force || [ ! -f "$dir_sd/vlls" ]; then + if [ -d /boot/vlls/ ]; then + # remove $dir_sd/vlls assuming it is a symbolic link + rm -f "$dir_sd/vlls" + ln -s /boot/vlls "$dir_sd/vlls" + else + echo "$cmd_name: Warning - no VLLs in $dir_sd/vlls">&2 + echo "$cmd_name: installation would normally link this location to /boot/vlls" + echo "$cmd_name: ensure VLLs are present in /boot/vlls (probably the " + echo "$cmd_name: DOS partition of your SD card), and rerun this " + echo "$cmd_name: installation">&2 + fi +fi + +# warn about empty media files ... player X needs some + +if [ -d "$dir_install/mediafiles/" -a ! -d "$dir_sd/mediafiles" ]; then + rm -f "$dir_sd/mediafiles" + ln -s "$dir_install/mediafiles" "$dir_sd/mediafiles" +elif [ ! -d "$dir_sd/mediafiles/" ]; then + echo "$cmd_name: warning - $dir_sd/mediafiles does not exist, some applications require this">&2 +else + filecount=`ls "$dir_sd/mediafiles/" | wc -l` + if [ -z "$filecount" -o $filecount -eq 0 ]; then + echo "$cmd_name: warning - /sd/mediafiles is empty, some apps need content">&2 + fi +fi + + +# start up anything we rely on + +if [ -x /sbin/modprobe -a -f /proc/modules ]; then + modprobe -q vchiq +fi + +if [ -x /etc/init.d/vchiq ]; then + if ! /etc/init.d/vchiq start; then + echo "$cmd_name: /etc/init.d/vchiq failed - rc $?" + rc=10 + fi +else + echo "$cmd_name: couldn't find expected file - /etc/init.d/vchiq">&2 + rc=11 +fi + +if [ -x /etc/init.d/vcfiled ]; then + if ! /etc/init.d/vcfiled start; then + echo "$cmd_name: /etc/init.d/vcfiled failed - rc $?" + rc=12 + elif ! pidof vcfiled>/dev/null; then + echo "$cmd_name: vcfiled daemon not started" + if [ ! -x "${dir_install}/sbin/vcfiled" ]; then + echo "$cmd_name: ${dir_install}/sbin/vcfiled missing or bad?" + rc=13 + elif ! head -0 /dev/vchiq >/dev/null; then + echo "$cmd_name: /dev/vchiq bad?" + echo "$cmd_name: vchiq module file information -" + ls -l "$current_mod" + rc=14 + else + echo "$cmd_name: /etc/init.d/vcfiled bad?" + rc=15 + fi + fi +else + echo "$cmd_name: couldn't find expected file - /etc/init.d/vcfiled">&2 + rc=16 +fi + +exit $rc + diff --git a/opt/vc/sbin/vcfiled b/opt/vc/sbin/vcfiled new file mode 100755 index 000000000..0ffb53d9f Binary files /dev/null and b/opt/vc/sbin/vcfiled differ diff --git a/usr/bin/dialog b/usr/bin/dialog new file mode 100644 index 000000000..be662d9a6 Binary files /dev/null and b/usr/bin/dialog differ diff --git a/usr/bin/splash b/usr/bin/splash new file mode 100755 index 000000000..bff32353f Binary files /dev/null and b/usr/bin/splash differ diff --git a/usr/local/bin/cec-client b/usr/local/bin/cec-client new file mode 100644 index 000000000..d3ad463c8 Binary files /dev/null and b/usr/local/bin/cec-client differ diff --git a/usr/local/bin/cec-config b/usr/local/bin/cec-config new file mode 100644 index 000000000..7d6715c78 Binary files /dev/null and b/usr/local/bin/cec-config differ diff --git a/usr/local/bin/ircat b/usr/local/bin/ircat new file mode 100644 index 000000000..4a6506419 Binary files /dev/null and b/usr/local/bin/ircat differ diff --git a/usr/local/bin/irexec b/usr/local/bin/irexec new file mode 100644 index 000000000..be917ccd3 Binary files /dev/null and b/usr/local/bin/irexec differ diff --git a/usr/local/bin/irpty b/usr/local/bin/irpty new file mode 100644 index 000000000..874fcafe9 Binary files /dev/null and b/usr/local/bin/irpty differ diff --git a/usr/local/bin/irrecord b/usr/local/bin/irrecord new file mode 100644 index 000000000..d0d32504e Binary files /dev/null and b/usr/local/bin/irrecord differ diff --git a/usr/local/bin/irsend b/usr/local/bin/irsend new file mode 100644 index 000000000..9beee7fb2 Binary files /dev/null and b/usr/local/bin/irsend differ diff --git a/usr/local/bin/irw b/usr/local/bin/irw new file mode 100644 index 000000000..87aefb2f4 Binary files /dev/null and b/usr/local/bin/irw differ diff --git a/usr/local/bin/lircrcd b/usr/local/bin/lircrcd new file mode 100644 index 000000000..f2c943a82 Binary files /dev/null and b/usr/local/bin/lircrcd differ diff --git a/usr/local/bin/mode2 b/usr/local/bin/mode2 new file mode 100644 index 000000000..c7add0b45 Binary files /dev/null and b/usr/local/bin/mode2 differ diff --git a/usr/local/bin/pronto2lirc b/usr/local/bin/pronto2lirc new file mode 100644 index 000000000..3cbcf9928 --- /dev/null +++ b/usr/local/bin/pronto2lirc @@ -0,0 +1,174 @@ +#! /usr/bin/python +# +# A tool for converting Pronto format hex codes to lircd.conf format. Version 1.11 +# +# Version History: +# 1.11 - Made more resiliant against whitespace imperfections in input files +# 1.1 - Added support for CCFTools/CCFDecompiler XML files and multiple devices +# 1.0 - Initial release +# +# Copyright by Olavi Akerman +# +# pronto2lirc is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +import string + +class CodeSequence: # Handles codesequences parsing and conversion + + def ProcessPreamble(self,sPreamble): + if sPreamble[0]<>"0000": + raise "Formats other than starting with 0000 are not supported!" + + self.dIRFrequency=1000000/(long(sPreamble[1],16) * 0.241246) # Frequency of the IR carrier in Khz + + self.lOnceSequenceLength=long(sPreamble[2],16) # No of pulses that is sent once when button is pressed + self.lRepeatableSequenceLength=long(sPreamble[3],16) # No of pulses that are repeatable while button pressed + + def CreatePulses(self,sItems): + self.dPulseWidths=[] # Table of Pulse widths. Length is repsented in microseconds + + for i in sItems: + self.dPulseWidths.append(1000000*long(i,16)/self.dIRFrequency) # Convert pulse widths to uS + + if len(self.dPulseWidths)<>2*(self.lOnceSequenceLength+self.lRepeatableSequenceLength): + raise "Number of actual codes does not match the header information!" + + def AnalyzeCode(self,sCodeName,sHexCodes): + + # sHexTable=sHexCodes.split() + s=string.join(sHexCodes.split(),'') # Remove whitespace formatting between sequences + + sHexTable=[] + + while s<>'': # Re-split into group of 4 + sHexTable.append(s[:4]) + s=s[4:] + + self.sCodeName=sCodeName.rstrip() # Name of the Code associated with code sequence + + self.ProcessPreamble(sHexTable[:4]) # First four sequences make up Preamble + self.CreatePulses(sHexTable[4:]) # The rest are OnceSequence + RepeatableSequence + return self.dPulseWidths[-1] # Final gap=last off signal length + + def WriteCodeSection(self,fOut): + fOut.write('\n\t\t\tname '+self.sCodeName.strip().replace(' ','')+'\n') # Can't contain whitespace + for i in range(len(self.dPulseWidths)-1): # Do not write the last signal as lircd.conf + # does not contain last off signal length + if (i%6) ==0: + fOut.write('\t\t\t\t') + + fOut.write('%d ' % round(self.dPulseWidths[i])) + + if (i+1)%6 ==0: # Group codes as six per line + fOut.write('\n') + + fOut.write('\n') # Final EOL + +class Device: # Handles devices + + def AddCodes(self,sCodeName,sHexCodes): # Add new code sequence + seq=CodeSequence() + finalgap=seq.AnalyzeCode(sCodeName,sHexCodes) + + if finalgap>self.lGap: + self.lGap=finalgap + + self.sCodes.append(seq) + + def ProcessHEX(self,fHexFile,sLine): # Process HEX files + while sLine<>'' and sLine.strip()<>'': # EOF? + [sCodeName,sHexCodes]=sLine.split(':') + self.AddCodes(sCodeName,sHexCodes) + sLine=fHexFile.readline() + + def WriteLIRCCConfDevice(self,f): + f.write('begin remote\n') + f.write('\tname\t'+self.sDeviceName.replace(' ','')+'\n') + f.write('\tflags\tRAW_CODES\n') + f.write('\teps\t30\n') + f.write('\taeps\t100\n') + f.write('\tgap\t%d\n' % self.lGap ) + f.write('\t\tbegin raw_codes\n') + + for i in self.sCodes: + i.WriteCodeSection(f) + + f.write('\t\tend raw_codes\n') + f.write('end remote\n') + + def __init__(self,sDeviceName): + self.sDeviceName=sDeviceName # Name of the device + self.sCodes=[] # Codes contained in file + self.lGap=0 # Final Gap + +class RemoteFilesParser: + def ProcessXML(self,fXMLFile): + def start_element(name,attrs): + if name=="RAWCODE": + self.Devices[-1].AddCodes(attrs['name'],attrs['data']) + if name=="DEVICE": + self.Devices.append(Device(attrs['name'])) + + p = xml.parsers.expat.ParserCreate() + p.StartElementHandler = start_element + fXMLFile.seek(0) # Need to start from the beginning + p.ParseFile(fXMLFile) + + def __init__(self,sFileName): + self.Devices=[] + + f=open(sFileName,'r') + sLine=f.readline() + + if sLine.strip()=='': # Are we dealing with CCF Decompiler XML file? + self.ProcessXML(f) + else: + device=Device(sFileName.split('.')[:1][0]) + self.Devices.append(device) + device.ProcessHEX(f,sLine) + + f.close() + + def WriteLIRCConf(self,sOutFileName): + f=open(sOutFileName,'w') + + for d in self.Devices: + d.WriteLIRCCConfDevice(f) + + f.close() +# Main + +import sys +import xml.parsers.expat + +if len(sys.argv)<>2: + print "Pronto codes converter to lircd.conf format (version 1.11)" + print + print "Usage: pronto2lirc.py inputfile" + print + print "Inputfile can be:" + print " 1.An xml file output by CCFTools/CCFDecompiler." + print " 2.Text file where each line contains the name of the button and " + print " all codes associated with it" + print " Button1:0000 00ac 000b 00de ..." + print + print "Result: lircd.conf file is written to the current directory" + print " containing all the Pronto codes extracted from" + print " the input file" + print +else: + p=RemoteFilesParser(sys.argv[1]) + p.WriteLIRCConf('lircd.conf') diff --git a/usr/local/bin/taglib-config b/usr/local/bin/taglib-config new file mode 100644 index 000000000..60680e352 --- /dev/null +++ b/usr/local/bin/taglib-config @@ -0,0 +1,55 @@ +#!/bin/sh + +usage() +{ + echo "usage: $0 [OPTIONS]" +cat << EOH + +options: + [--libs] + [--cflags] + [--version] + [--prefix] +EOH + exit 1; +} + +prefix=/usr/local +exec_prefix=/usr/local +libdir=/usr/local/lib +includedir=/usr/local/include + +flags="" + +if test $# -eq 0 ; then + usage +fi + +while test $# -gt 0 +do + case $1 in + --libs) + flags="$flags -L$libdir -ltag" + ;; + --cflags) + flags="$flags -I$includedir/taglib" + ;; + --version) + echo 1.8.0 + ;; + --prefix) + echo $prefix + ;; + *) + echo "$0: unknown option $1" + echo + usage + ;; + esac + shift +done + +if test -n "$flags" +then + echo $flags +fi diff --git a/usr/local/include/libcec/cec.h b/usr/local/include/libcec/cec.h new file mode 100644 index 000000000..02450331d --- /dev/null +++ b/usr/local/include/libcec/cec.h @@ -0,0 +1,470 @@ +#pragma once +/* + * This file is part of the libCEC(R) library. + * + * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is an original work, containing original code. + * + * libCEC(R) is a trademark of Pulse-Eight Limited. + * + * This program is dual-licensed; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * + * Alternatively, you can license this library under a commercial license, + * please contact Pulse-Eight Licensing for more information. + * + * For more information contact: + * Pulse-Eight Licensing + * http://www.pulse-eight.com/ + * http://www.pulse-eight.net/ + */ + +#ifndef CECEXPORTS_H_ +#define CECEXPORTS_H_ + +#include "cectypes.h" + +#define LIBCEC_VERSION_CURRENT CEC_SERVER_VERSION_CURRENT + +namespace CEC +{ + /*! + * To create a new libCEC instance, call CECInitialise() and pass the + * configuration as argument. Then call Open() to open a connection to the + * adapter. Close() closes the connection and CECDestroy() cleans up the + * libCEC instance. + * + * libCEC can send commands to other devices on the CEC bus via the methods + * on this interface, and all commands that libCEC received are sent back + * to the application via callback methods. The callback methods can be + * found in cectypes.h, ICECCallbacks. + */ + class ICECAdapter + { + public: + virtual ~ICECAdapter() {}; + /*! @name Adapter methods */ + //@{ + + /*! + * @brief Open a connection to the CEC adapter. + * @param strPort The path to the port. + * @param iTimeoutMs Connection timeout in ms. + * @return True when connected, false otherwise. + */ + virtual bool Open(const char *strPort, uint32_t iTimeoutMs = 10000) = 0; + + /*! + * @brief Close the connection to the CEC adapter. + */ + virtual void Close(void) = 0; + + /*! + * @brief Try to find all connected CEC adapters. + * @param deviceList The vector to store device descriptors in. + * @param iBufSize The size of the deviceList buffer. + * @param strDevicePath Optional device path. Only adds device descriptors that match the given device path. + * @return The number of devices that were found, or -1 when an error occured. + */ + virtual int8_t FindAdapters(cec_adapter *deviceList, uint8_t iBufSize, const char *strDevicePath = NULL) = 0; + + /*! + * @brief Sends a ping command to the adapter, to check if it's responding. + * @return True when the ping was succesful, false otherwise. + */ + virtual bool PingAdapter(void) = 0; + + /*! + * @brief Start the bootloader of the CEC adapter. Closes the connection when successful. + * @return True when the command was sent successfully, false otherwise. + */ + virtual bool StartBootloader(void) = 0; + //@} + + /*! + * @brief Transmit a raw CEC command over the CEC line. + * @param data The command to send. + * @return True when the data was sent and acked, false otherwise. + */ + virtual bool Transmit(const cec_command &data) = 0; + + /*! + * @brief Change the logical address on the CEC bus of the CEC adapter. libCEC automatically assigns a logical address, and this method is only available for debugging purposes. + * @param iLogicalAddress The CEC adapter's new logical address. + * @return True when the logical address was set successfully, false otherwise. + */ + virtual bool SetLogicalAddress(cec_logical_address iLogicalAddress = CECDEVICE_PLAYBACKDEVICE1) = 0; + + /*! + * @brief Change the physical address (HDMI port) of the CEC adapter. libCEC will try to autodetect the physical address when connecting. If it did, it's set in libcec_configuration. + * @param iPhysicalAddress The CEC adapter's new physical address. + * @brief True when the physical address was set successfully, false otherwise. + */ + virtual bool SetPhysicalAddress(uint16_t iPhysicalAddress = CEC_DEFAULT_PHYSICAL_ADDRESS) = 0; + + /*! + * @brief Power on the given CEC capable devices. If CECDEVICE_BROADCAST is used, then wakeDevice in libcec_configuration will be used. + * @param address The logical address to power on. + * @return True when the command was sent succesfully, false otherwise. + */ + virtual bool PowerOnDevices(cec_logical_address address = CECDEVICE_TV) = 0; + + /*! + * @brief Put the given CEC capable devices in standby mode. If CECDEVICE_BROADCAST is used, then standbyDevices in libcec_configuration will be used. + * @brief address The logical address of the device to put in standby. + * @return True when the command was sent succesfully, false otherwise. + */ + virtual bool StandbyDevices(cec_logical_address address = CECDEVICE_BROADCAST) = 0; + + /*! + * @brief Change the active source to a device type handled by libCEC. Use CEC_DEVICE_TYPE_RESERVED to make the default type used by libCEC active. + * @param type The new active source. Leave empty to use the primary type + * @return True when the command was sent succesfully, false otherwise. + */ + virtual bool SetActiveSource(cec_device_type type = CEC_DEVICE_TYPE_RESERVED) = 0; + + /*! + * @brief Change the deck control mode, if this adapter is registered as playback or recording device. + * @param mode The new control mode. + * @param bSendUpdate True to send the new status over the CEC line. + * @return True if set, false otherwise. + */ + virtual bool SetDeckControlMode(cec_deck_control_mode mode, bool bSendUpdate = true) = 0; + + /*! + * @brief Change the deck info, if this adapter is a playback or recording device. + * @param info The new deck info. + * @param bSendUpdate True to send the new status over the CEC line. + * @return True if set, false otherwise. + */ + virtual bool SetDeckInfo(cec_deck_info info, bool bSendUpdate = true) = 0; + + /*! + * @brief Broadcast a message that notifies connected CEC capable devices that this device is no longer the active source. + * @return True when the command was sent succesfully, false otherwise. + */ + virtual bool SetInactiveView(void) = 0; + + /*! + * @brief Change the menu state. This value is already changed by libCEC automatically if a device is (de)activated. + * @param state The new state. + * @param bSendUpdate True to send the new status over the CEC line. + * @return True if set, false otherwise. + */ + virtual bool SetMenuState(cec_menu_state state, bool bSendUpdate = true) = 0; + + /*! + * @brief Display a message on the device with the given logical address. Not supported by most TVs. + * @param iLogicalAddress The logical address of the device to display the message on. + * @param duration The duration of the message + * @param strMessage The message to display. + * @return True when the command was sent, false otherwise. + */ + virtual bool SetOSDString(cec_logical_address iLogicalAddress, cec_display_control duration, const char *strMessage) = 0; + + /*! + * @brief Enable or disable monitoring mode, for debugging purposes. If monitoring mode is enabled, libCEC won't respond to any command, but only log incoming data. + * @param bEnable True to enable, false to disable. + * @return True when switched successfully, false otherwise. + */ + virtual bool SwitchMonitoring(bool bEnable) = 0; + + /*! + * @brief Get the CEC version of the device with the given logical address + * @param iLogicalAddress The logical address of the device to get the CEC version for. + * @return The version or CEC_VERSION_UNKNOWN when the version couldn't be fetched. + */ + virtual cec_version GetDeviceCecVersion(cec_logical_address iLogicalAddress) = 0; + + /*! + * @brief Get the menu language of the device with the given logical address + * @param iLogicalAddress The logical address of the device to get the menu language for. + * @param language The requested menu language. + * @return True when fetched succesfully, false otherwise. + */ + virtual bool GetDeviceMenuLanguage(cec_logical_address iLogicalAddress, cec_menu_language *language) = 0; + + /*! + * @brief Get the vendor ID of the device with the given logical address. + * @param iLogicalAddress The logical address of the device to get the vendor ID for. + * @return The vendor ID or 0 if it wasn't found. + */ + virtual uint64_t GetDeviceVendorId(cec_logical_address iLogicalAddress) = 0; + + /*! + * @brief Get the power status of the device with the given logical address. + * @param iLogicalAddress The logical address of the device to get the power status for. + * @return The power status or CEC_POWER_STATUS_UNKNOWN if it wasn't found. + */ + virtual cec_power_status GetDevicePowerStatus(cec_logical_address iLogicalAddress) = 0; + + /*! + * @brief Sends a POLL message to a device, to check if it's present and responding. + * @param iLogicalAddress The device to send the message to. + * @return True if the POLL was acked, false otherwise. + */ + virtual bool PollDevice(cec_logical_address iLogicalAddress) = 0; + + /*! + * @return The logical addresses of the devices that are active on the bus, including those handled by libCEC. + */ + virtual cec_logical_addresses GetActiveDevices(void) = 0; + + /*! + * @brief Check whether a device is active on the bus. + * @param iLogicalAddress The address to check. + * @return True when active, false otherwise. + */ + virtual bool IsActiveDevice(cec_logical_address iLogicalAddress) = 0; + + /*! + * @brief Check whether a device of the given type is active on the bus. + * @param type The type to check. + * @return True when active, false otherwise. + */ + virtual bool IsActiveDeviceType(cec_device_type type) = 0; + + /*! + * @brief Sends a volume up keypress to an audiosystem if it's present. + * @param bSendRelease Send a key release after the keypress. + * @return The new audio status. + */ + virtual uint8_t VolumeUp(bool bSendRelease = true) = 0; + + /*! + * @brief Sends a volume down keypress to an audiosystem if it's present. + * @param bSendRelease Send a key release after the keypress. + * @return The new audio status. + */ + virtual uint8_t VolumeDown(bool bSendRelease = true) = 0; + + /*! + * @deprecated Use AudioToggleMute() instead + * @brief Sends a mute keypress to an audiosystem if it's present. + * @param bSendRelease Send a key release after the keypress. + * @return The new audio status. + */ + virtual uint8_t MuteAudio(bool bSendRelease = true) = 0; + + /*! + * @brief Send a keypress to a device on the CEC bus. + * @param iDestination The logical address of the device to send the message to. + * @param key The key to send. + * @param bWait True to wait for a response, false otherwise. + * @return True when the keypress was acked, false otherwise. + */ + virtual bool SendKeypress(cec_logical_address iDestination, cec_user_control_code key, bool bWait = false) = 0; + + /*! + * @brief Send a key release to a device on the CEC bus. + * @param iDestination The logical address of the device to send the message to. + * @param bWait True to wait for a response, false otherwise. + * @return True when the key release was acked, false otherwise. + */ + virtual bool SendKeyRelease(cec_logical_address iDestination, bool bWait = false) = 0; + + /*! + * @brief Get the OSD name of a device on the CEC bus. + * @param iLogicalAddress The device to get the OSD name for. + * @return The OSD name. + */ + virtual cec_osd_name GetDeviceOSDName(cec_logical_address iLogicalAddress) = 0; + + /*! + * @brief Get the logical address of the device that is currently the active source on the CEC bus. + * @return The active source or CECDEVICE_UNKNOWN when unknown. + */ + virtual cec_logical_address GetActiveSource(void) = 0; + + /*! + * @brief Check whether a device is currently the active source on the CEC bus. + * @param iLogicalAddress The logical address of the device to check. + * @return True when it is the active source, false otherwise. + */ + virtual bool IsActiveSource(cec_logical_address iLogicalAddress) = 0; + + /*! + * @brief Sets the stream path to the device on the given logical address. + * @param iLogicalAddress The address to activate. + * @return True when the command was sent, false otherwise. + */ + virtual bool SetStreamPath(cec_logical_address iLogicalAddress) = 0; + + /*! + * @brief Sets the stream path to the device on the given physical address. + * @param iPhysicalAddress The address to activate. + * @return True when the command was sent, false otherwise. + */ + virtual bool SetStreamPath(uint16_t iPhysicalAddress) = 0; + + /*! + * @return The list of logical addresses that libCEC is controlling + */ + virtual cec_logical_addresses GetLogicalAddresses(void) = 0; + + /*! + * @brief Get libCEC's current configuration. + * @param configuration The configuration. + * @return True when the configuration was updated, false otherwise. + */ + virtual bool GetCurrentConfiguration(libcec_configuration *configuration) = 0; + + /*! + * @brief Change libCEC's configuration. + * @param configuration The new configuration. + * @return True when the configuration was changed successfully, false otherwise. + */ + virtual bool SetConfiguration(const libcec_configuration *configuration) = 0; + + /*! + * @return True when this CEC adapter can persist the user configuration, false otherwise. + */ + virtual bool CanPersistConfiguration(void) = 0; + + /*! + * @brief Persist the given configuration in adapter (if supported) + * @brief configuration The configuration to store. + * @return True when the configuration was persisted, false otherwise. + */ + virtual bool PersistConfiguration(libcec_configuration *configuration) = 0; + + /*! + * @brief Tell libCEC to poll for active devices on the bus. + */ + virtual void RescanActiveDevices(void) = 0; + + /*! + * @return true when libCEC is the active source on the bus, false otherwise. + */ + virtual bool IsLibCECActiveSource(void) = 0; + + /*! + * @brief Get information about the given CEC adapter. + * @param strPort The port to which the device is connected + * @param config The device configuration + * @param iTimeoutMs The timeout in milliseconds + * @return True when the device was found, false otherwise + */ + virtual bool GetDeviceInformation(const char *strPort, libcec_configuration *config, uint32_t iTimeoutMs = 10000) = 0; + + /*! + * @brief Set and enable the callback methods. If this method is not called, the GetNext...() methods will have to be used. + * @param cbParam Parameter to pass to callback methods. + * @param callbacks The callbacks to set. + * @return True when enabled, false otherwise. + */ + virtual bool EnableCallbacks(void *cbParam, ICECCallbacks *callbacks) = 0; + + /*! + * @brief Changes the active HDMI port. + * @param iBaseDevice The device to which this libCEC is connected. + * @param iPort The new port number. + * @return True when changed, false otherwise. + */ + virtual bool SetHDMIPort(cec_logical_address iBaseDevice, uint8_t iPort) = 0; + + /*! + * @brief Get the physical address of the device with the given logical address. + * @param iLogicalAddress The logical address of the device to get the physical address for. + * @return The physical address or 0 if it wasn't found. + */ + virtual uint16_t GetDevicePhysicalAddress(cec_logical_address iLogicalAddress) = 0; + + /*! + * @return A string with information about how libCEC was compiled. + */ + virtual const char *GetLibInfo(void) = 0; + + /*! + * @brief Calling this method will initialise the host on which libCEC is running. + * Calling this method will initialise the host on which libCEC is running. On the RPi, it calls + * bcm_host_init(), which may only be called once per process, and is called by any process using + * the video api on that system. So only call this method if libCEC is used in an application that + * does not already initialise the video api. + * + * Should be called as first call to libCEC, directly after CECInitialise() and before using Open() + */ + virtual void InitVideoStandalone(void) = 0; + + /*! + * @return The (virtual) USB vendor id + */ + virtual uint16_t GetAdapterVendorId(void) const = 0; + + /*! + * @return The (virtual) USB product id + */ + virtual uint16_t GetAdapterProductId(void) const = 0; + + virtual const char *ToString(const cec_menu_state state) = 0; + virtual const char *ToString(const cec_version version) = 0; + virtual const char *ToString(const cec_power_status status) = 0; + virtual const char *ToString(const cec_logical_address address) = 0; + virtual const char *ToString(const cec_deck_control_mode mode) = 0; + virtual const char *ToString(const cec_deck_info status) = 0; + virtual const char *ToString(const cec_opcode opcode) = 0; + virtual const char *ToString(const cec_system_audio_status mode) = 0; + virtual const char *ToString(const cec_audio_status status) = 0; + virtual const char *ToString(const cec_vendor_id vendor) = 0; + virtual const char *ToString(const cec_client_version version) = 0; + virtual const char *ToString(const cec_server_version version) = 0; + virtual const char *ToString(const cec_user_control_code key) = 0; + virtual const char *ToString(const cec_adapter_type type) = 0; + + /*! + * @brief Toggle the mute status of the AVR (if present) + * @return The new audio status. + */ + virtual uint8_t AudioToggleMute(void) = 0; + + /*! + * @brief Mute the AVR (if present) + * @return The new audio status. + */ + virtual uint8_t AudioMute(void) = 0; + + /*! + * @brief Mute the AVR (if connected) + * @return The new audio status. + */ + virtual uint8_t AudioUnmute(void) = 0; + + /*! + * @brief Get the current audio status (if an AVR is connected) + * @return The current audio status, or cec_audio_status if unknown. + */ + virtual uint8_t AudioStatus(void) = 0; + }; +}; + +/*! + * @brief Unload the CEC adapter library. + */ +extern "C" DECLSPEC void CECDestroy(CEC::ICECAdapter *instance); + +/*! + * @brief Load the CEC adapter library. + * @param configuration The configuration to pass to libCEC + * @return An instance of ICECAdapter or NULL on error. + */ +extern "C" DECLSPEC void * CECInitialise(CEC::libcec_configuration *configuration); + +/*! + * @brief Try to connect to the adapter and send the "start bootloader" command, without initialising libCEC and going through all checks + * @return True when the command was send, false otherwise. + */ +extern "C" DECLSPEC bool CECStartBootloader(void); + +#endif /* CECEXPORTS_H_ */ diff --git a/usr/local/include/libcec/cecc.h b/usr/local/include/libcec/cecc.h new file mode 100644 index 000000000..2e1f9a80d --- /dev/null +++ b/usr/local/include/libcec/cecc.h @@ -0,0 +1,291 @@ +#pragma once +/* + * This file is part of the libCEC(R) library. + * + * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is an original work, containing original code. + * + * libCEC(R) is a trademark of Pulse-Eight Limited. + * + * This program is dual-licensed; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * + * Alternatively, you can license this library under a commercial license, + * please contact Pulse-Eight Licensing for more information. + * + * For more information contact: + * Pulse-Eight Licensing + * http://www.pulse-eight.com/ + * http://www.pulse-eight.net/ + */ + +#ifndef CECEXPORTS_C_H_ +#define CECEXPORTS_C_H_ + +#include "cectypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_initialise(CEC::libcec_configuration *configuration); +#else +extern DECLSPEC int cec_initialise(libcec_configuration *configuration); +#endif + +extern DECLSPEC void cec_destroy(void); + +extern DECLSPEC int cec_open(const char *strPort, uint32_t iTimeout); + +extern DECLSPEC void cec_close(void); + +#ifdef __cplusplus +extern DECLSPEC int cec_enable_callbacks(void *cbParam, CEC::ICECCallbacks *callbacks); +#else +extern DECLSPEC int cec_enable_callbacks(void *cbParam, ICECCallbacks *callbacks); +#endif + +#ifdef __cplusplus +extern DECLSPEC int8_t cec_find_adapters(CEC::cec_adapter *deviceList, uint8_t iBufSize, const char *strDevicePath); +#else +extern DECLSPEC int8_t cec_find_adapters(cec_adapter *deviceList, uint8_t iBufSize, const char *strDevicePath); +#endif + +extern DECLSPEC int cec_ping_adapters(void); + +extern DECLSPEC int cec_start_bootloader(void); + +#ifdef __cplusplus +extern DECLSPEC int cec_power_on_devices(CEC::cec_logical_address address); +#else +extern DECLSPEC int cec_power_on_devices(cec_logical_address address); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_standby_devices(CEC::cec_logical_address address); +#else +extern DECLSPEC int cec_standby_devices(cec_logical_address address); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_set_active_source(CEC::cec_device_type type); +#else +extern DECLSPEC int cec_set_active_source(cec_device_type type); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_set_deck_control_mode(CEC::cec_deck_control_mode mode, int bSendUpdate); +#else +extern DECLSPEC int cec_set_deck_control_mode(cec_deck_control_mode mode, int bSendUpdate); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_set_deck_info(CEC::cec_deck_info info, int bSendUpdate); +#else +extern DECLSPEC int cec_set_deck_info(cec_deck_info info, int bSendUpdate); +#endif + +extern DECLSPEC int cec_set_inactive_view(void); + +#ifdef __cplusplus +extern DECLSPEC int cec_set_menu_state(CEC::cec_menu_state state, int bSendUpdate); +#else +extern DECLSPEC int cec_set_menu_state(cec_menu_state state, int bSendUpdate); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_transmit(const CEC::cec_command *data); +#else +extern DECLSPEC int cec_transmit(const cec_command *data); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_set_logical_address(CEC::cec_logical_address iLogicalAddress); +#else +extern DECLSPEC int cec_set_logical_address(cec_logical_address iLogicalAddress); +#endif + +extern DECLSPEC int cec_set_physical_address(uint16_t iPhysicalAddress); + +#ifdef __cplusplus +extern DECLSPEC int cec_set_osd_string(CEC::cec_logical_address iLogicalAddress, CEC::cec_display_control duration, const char *strMessage); +#else +extern DECLSPEC int cec_set_osd_string(cec_logical_address iLogicalAddress, cec_display_control duration, const char *strMessage); +#endif + +extern DECLSPEC int cec_switch_monitoring(int bEnable); + +#ifdef __cplusplus +extern DECLSPEC CEC::cec_version cec_get_device_cec_version(CEC::cec_logical_address iLogicalAddress); +#else +extern DECLSPEC cec_version cec_get_device_cec_version(cec_logical_address iLogicalAddress); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_get_device_menu_language(CEC::cec_logical_address iLogicalAddress, CEC::cec_menu_language *language); +#else +extern DECLSPEC int cec_get_device_menu_language(cec_logical_address iLogicalAddress, cec_menu_language *language); +#endif + +#ifdef __cplusplus +extern DECLSPEC uint64_t cec_get_device_vendor_id(CEC::cec_logical_address iLogicalAddress); +#else +extern DECLSPEC uint64_t cec_get_device_vendor_id(cec_logical_address iLogicalAddress); +#endif + +#ifdef __cplusplus +extern DECLSPEC uint16_t cec_get_device_physical_address(CEC::cec_logical_address iLogicalAddress); +#else +extern DECLSPEC uint16_t cec_get_device_physical_address(cec_logical_address iLogicalAddress); +#endif + +#ifdef __cplusplus +extern DECLSPEC CEC::cec_logical_address cec_get_active_source(void); +#else +extern DECLSPEC cec_logical_address cec_get_active_source(void); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_is_active_source(CEC::cec_logical_address iAddress); +#else +extern DECLSPEC int cec_is_active_source(cec_logical_address iAddress); +#endif + +#ifdef __cplusplus +extern DECLSPEC CEC::cec_power_status cec_get_device_power_status(CEC::cec_logical_address iLogicalAddress); +#else +extern DECLSPEC cec_power_status cec_get_device_power_status(cec_logical_address iLogicalAddress); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_poll_device(CEC::cec_logical_address iLogicalAddress); +#else +extern DECLSPEC int cec_poll_device(cec_logical_address iLogicalAddress); +#endif + +#ifdef __cplusplus +extern DECLSPEC CEC::cec_logical_addresses cec_get_active_devices(void); +#else +extern DECLSPEC cec_logical_addresses cec_get_active_devices(void); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_is_active_device(CEC::cec_logical_address iAddress); +#else +extern DECLSPEC int cec_is_active_device(cec_logical_address iAddress); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_is_active_device_type(CEC::cec_device_type type); +#else +extern DECLSPEC int cec_is_active_device_type(cec_device_type type); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_set_hdmi_port(CEC::cec_logical_address iBaseDevice, uint8_t iPort); +#else +extern DECLSPEC int cec_set_hdmi_port(cec_logical_address iBaseDevice, uint8_t iPort); +#endif + +extern DECLSPEC int cec_volume_up(int bSendRelease); + +extern DECLSPEC int cec_volume_down(int bSendRelease); + +extern DECLSPEC int cec_mute_audio(int bSendRelease); + +#ifdef __cplusplus +extern DECLSPEC int cec_send_keypress(CEC::cec_logical_address iDestination, CEC::cec_user_control_code key, int bWait); +#else +extern DECLSPEC int cec_send_keypress(cec_logical_address iDestination, cec_user_control_code key, int bWait); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_send_key_release(CEC::cec_logical_address iDestination, int bWait); +#else +extern DECLSPEC int cec_send_key_release(cec_logical_address iDestination, int bWait); +#endif + +#ifdef __cplusplus +extern DECLSPEC CEC::cec_osd_name cec_get_device_osd_name(CEC::cec_logical_address iAddress); +#else +extern DECLSPEC cec_osd_name cec_get_device_osd_name(cec_logical_address iAddress); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_set_stream_path_logical(CEC::cec_logical_address iAddress); +#else +extern DECLSPEC int cec_set_stream_path_logical(cec_logical_address iAddress); +#endif + +extern DECLSPEC int cec_set_stream_path_physical(uint16_t iPhysicalAddress); + +#ifdef __cplusplus +extern DECLSPEC CEC::cec_logical_addresses cec_get_logical_addresses(void); +#else +extern DECLSPEC cec_logical_addresses cec_get_logical_addresses(void); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_get_current_configuration(CEC::libcec_configuration *configuration); +#else +extern DECLSPEC int cec_get_current_configuration(libcec_configuration *configuration); +#endif + +extern DECLSPEC int cec_can_persist_configuration(void); + +#ifdef __cplusplus +extern DECLSPEC int cec_persist_configuration(CEC::libcec_configuration *configuration); +#else +extern DECLSPEC int cec_persist_configuration(libcec_configuration *configuration); +#endif + +#ifdef __cplusplus +extern DECLSPEC int cec_set_configuration(const CEC::libcec_configuration *configuration); +#else +extern DECLSPEC int cec_set_configuration(const libcec_configuration *configuration); +#endif + +extern DECLSPEC void cec_rescan_devices(void); + +extern DECLSPEC int cec_is_libcec_active_source(void); + +#ifdef __cplusplus +extern DECLSPEC int cec_get_device_information(const char *strPort, CEC::libcec_configuration *config, uint32_t iTimeoutMs); +#else +extern DECLSPEC int cec_get_device_information(const char *strPort, libcec_configuration *config, uint32_t iTimeoutMs); +#endif + +extern DECLSPEC const char * cec_get_lib_info(void); + +extern DECLSPEC void cec_init_video_standalone(void); + +extern DECLSPEC uint16_t cec_get_adapter_vendor_id(void); + +extern DECLSPEC uint16_t cec_get_adapter_product_id(void); + +extern DECLSPEC uint8_t cec_audio_toggle_mute(void); + +extern DECLSPEC uint8_t cec_audio_mute(void); + +extern DECLSPEC uint8_t cec_audio_unmute(void); + +extern DECLSPEC uint8_t cec_audio_status(void); + +#ifdef __cplusplus +}; +#endif + +#endif /* CECEXPORTS_C_H_ */ diff --git a/usr/local/include/libcec/cecloader.h b/usr/local/include/libcec/cecloader.h new file mode 100644 index 000000000..de138cc7e --- /dev/null +++ b/usr/local/include/libcec/cecloader.h @@ -0,0 +1,205 @@ +#pragma once +/* + * This file is part of the libCEC(R) library. + * + * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is an original work, containing original code. + * + * libCEC(R) is a trademark of Pulse-Eight Limited. + * + * This program is dual-licensed; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * + * Alternatively, you can license this library under a commercial license, + * please contact Pulse-Eight Licensing for more information. + * + * For more information contact: + * Pulse-Eight Licensing + * http://www.pulse-eight.com/ + * http://www.pulse-eight.net/ + */ + +#ifndef CECLOADER_H_ +#define CECLOADER_H_ + +#if defined(_WIN32) || defined(_WIN64) +#include +#include + +HINSTANCE g_libCEC = NULL; + +/*! + * @brief Create a new libCEC instance. + * @param configuration The configuration to pass to libCEC + * @param strLib The name of and/or path to libCEC + * @return An instance of ICECAdapter or NULL on error. + */ +CEC::ICECAdapter *LibCecInitialise(CEC::libcec_configuration *configuration, const char *strLib = NULL) +{ + if (!g_libCEC) +#if defined(_WIN64) + g_libCEC = LoadLibrary(strLib ? strLib : "libcec.x64.dll"); +#else + g_libCEC = LoadLibrary(strLib ? strLib : "libcec.dll"); +#endif + if (!g_libCEC) + return NULL; + + typedef void* (__cdecl*_LibCecInitialise)(CEC::libcec_configuration *); + _LibCecInitialise LibCecInitialise; + LibCecInitialise = (_LibCecInitialise) (GetProcAddress(g_libCEC, "CECInitialise")); + if (!LibCecInitialise) + { + cout << "cannot find CECInitialise" << endl; + return NULL; + } + + return static_cast< CEC::ICECAdapter* > (LibCecInitialise(configuration)); +} + +/*! + * @brief Destroy an instance of libCEC. + * @param device The instance to destroy. + */ +void UnloadLibCec(CEC::ICECAdapter *device) +{ + typedef void (__cdecl*_DestroyLibCec)(void * device); + _DestroyLibCec DestroyLibCec; + DestroyLibCec = (_DestroyLibCec) (GetProcAddress(g_libCEC, "CECDestroy")); + if (DestroyLibCec) + DestroyLibCec(device); + + FreeLibrary(g_libCEC); + g_libCEC = NULL; +} + +/*! + * @brief Start the bootloader on the first device that was detected. + * @param strLib The name of and/or path to libCEC + * @return True when the command was sent, false otherwise. + */ +bool LibCecBootloader(const char *strLib = NULL) +{ + if (!g_libCEC) +#if defined(_WIN64) + g_libCEC = LoadLibrary(strLib ? strLib : "libcec.x64.dll"); +#else + g_libCEC = LoadLibrary(strLib ? strLib : "libcec.dll"); +#endif + if (!g_libCEC) + return NULL; + + typedef bool (__cdecl*_LibCecBootloader)(void); + _LibCecBootloader LibCecBootloader; + LibCecBootloader = (_LibCecBootloader) (GetProcAddress(g_libCEC, "CECStartBootloader")); + if (!LibCecBootloader) + return false; + + bool bReturn = LibCecBootloader(); + FreeLibrary(g_libCEC); + g_libCEC = NULL; + return bReturn; +} + +#else + +#include + +void *g_libCEC = NULL; + +/*! + * @brief Create a new libCEC instance. + * @param configuration The configuration to pass to libCEC + * @param strLib The name of and/or path to libCEC + * @return An instance of ICECAdapter or NULL on error. + */ +CEC::ICECAdapter *LibCecInitialise(CEC::libcec_configuration *configuration, const char *strLib = NULL) +{ + if (!g_libCEC) + { +#if defined(__APPLE__) + g_libCEC = dlopen(strLib ? strLib : "libcec.dylib", RTLD_LAZY); +#else + g_libCEC = dlopen(strLib ? strLib : "libcec.so." CEC_LIB_VERSION_MAJOR_STR, RTLD_LAZY); +#endif + if (!g_libCEC) + { + cout << dlerror() << endl; + return NULL; + } + } + + typedef void* _LibCecInitialise(CEC::libcec_configuration *); + _LibCecInitialise* LibCecInitialise = (_LibCecInitialise*) dlsym(g_libCEC, "CECInitialise"); + if (!LibCecInitialise) + { + cout << "cannot find CECInitialise" << endl; + return NULL; + } + + return (CEC::ICECAdapter*) LibCecInitialise(configuration); +} + +/*! + * @brief Destroy an instance of libCEC. + * @param device The instance to destroy. + */ +void UnloadLibCec(CEC::ICECAdapter *device) +{ + typedef void* _DestroyLibCec(CEC::ICECAdapter *); + _DestroyLibCec *DestroyLibCec = (_DestroyLibCec*) dlsym(g_libCEC, "CECDestroy"); + if (DestroyLibCec) + DestroyLibCec(device); + + dlclose(g_libCEC); +} + +/*! + * @brief Start the bootloader on the first device that was detected. + * @param strLib The name of and/or path to libCEC + * @return True when the command was sent, false otherwise. + */ +bool LibCecBootloader(const char *strLib = NULL) +{ + if (!g_libCEC) + { +#if defined(__APPLE__) + g_libCEC = dlopen(strLib ? strLib : "libcec.dylib", RTLD_LAZY); +#else + g_libCEC = dlopen(strLib ? strLib : "libcec.so." CEC_LIB_VERSION_MAJOR_STR, RTLD_LAZY); +#endif + if (!g_libCEC) + { + cout << dlerror() << endl; + return NULL; + } + } + + typedef bool _LibCecBootloader(void); + _LibCecBootloader* LibCecBootloader = (_LibCecBootloader*) dlsym(g_libCEC, "CECStartBootloader"); + if (!LibCecBootloader) + { + cout << "cannot find CECStartBootloader" << endl; + return NULL; + } + + bool bReturn = LibCecBootloader(); + dlclose(g_libCEC); + return bReturn; +} + +#endif + +#endif /* CECLOADER_H_ */ diff --git a/usr/local/include/libcec/cectypes.h b/usr/local/include/libcec/cectypes.h new file mode 100644 index 000000000..e85bcfa44 --- /dev/null +++ b/usr/local/include/libcec/cectypes.h @@ -0,0 +1,1556 @@ +#pragma once +/* + * This file is part of the libCEC(R) library. + * + * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is an original work, containing original code. + * + * libCEC(R) is a trademark of Pulse-Eight Limited. + * + * This program is dual-licensed; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * + * Alternatively, you can license this library under a commercial license, + * please contact Pulse-Eight Licensing for more information. + * + * For more information contact: + * Pulse-Eight Licensing + * http://www.pulse-eight.com/ + * http://www.pulse-eight.net/ + */ + +#ifndef CECTYPES_H_ +#define CECTYPES_H_ + +#include +#include + +#if defined(_WIN32) || defined(_WIN64) +#define CEC_CDECL __cdecl +#else +#define CEC_CDECL +#endif + +#if !defined(DECLSPEC) +#if defined(_WIN32) || defined(_WIN64) +#include +#if defined DLL_EXPORT +#define DECLSPEC __declspec(dllexport) +#else +#define DECLSPEC __declspec(dllimport) +#endif +#else +#define DECLSPEC +#endif +#endif + +#ifdef __cplusplus +extern "C" { +namespace CEC { +#endif + +/*! + * default physical address 1.0.0.0, HDMI port 1 + */ +#define CEC_DEFAULT_PHYSICAL_ADDRESS 0x1000 +/*! + * default HDMI port to which the adapter is connected, port 1 + */ +#define CEC_DEFAULT_HDMI_PORT 1 +/*! + * default logical address of the device to which the adapter is connected, TV + */ +#define CEC_DEFAULT_BASE_DEVICE 0 + +/*! + * timeout in milliseconds to send a key release event after receiving a key press + */ +#define CEC_BUTTON_TIMEOUT 500 + +/*! + * don't send the same key twice within this timeout in milliseconds + */ +#define CEC_DOUBLE_TAP_TIMEOUT_MS 250 + +/*! + * don't query the power state for the same device within this timeout in milliseconds + */ +#define CEC_POWER_STATE_REFRESH_TIME 30000 + +/*! + * unknown firmware version value + */ +#define CEC_FW_VERSION_UNKNOWN 0xFFFF + +/*! + * unknown build date value + */ +#define CEC_FW_BUILD_UNKNOWN 0 + +/*! + * maximum number of retries when opening a connection + */ +#define CEC_CONNECT_TRIES 3 + +/*! + * physical address of the TV + */ +#define CEC_PHYSICAL_ADDRESS_TV 0 + +/*! + * minimum physical address for the adapter + */ +#define CEC_MIN_PHYSICAL_ADDRESS 0x1000 + +/*! + * maximum physical address for the adapter + */ +#define CEC_MAX_PHYSICAL_ADDRESS 0xFFFE + +/*! + * invalid physical address value + */ +#define CEC_INVALID_PHYSICAL_ADDRESS 0xFFFF + +/*! + * minimum vendor ID value + */ +#define CEC_MIN_VENDORID 1 + +/*! + * maximum vendor ID value + */ +#define CEC_MAX_VENDORID 0xFFFFFE + +/*! + * invalid vendor ID value + */ +#define CEC_INVALID_VENDORID 0xFFFFFF + +/*! + * minimum HDMI port number value + */ +#define CEC_MIN_HDMI_PORTNUMBER 1 + +/*! + * maximum HDMI port number value + */ +#define CEC_MAX_HDMI_PORTNUMBER 15 + +/*! + * invalid HDMI port number value + */ +#define CEC_HDMI_PORTNUMBER_NONE 0 + +/*! + * default value for settings "use tv menu language" + */ +#define CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE 1 + +/*! + * default value for settings "activate source" + */ +#define CEC_DEFAULT_SETTING_ACTIVATE_SOURCE 1 + +/*! + * default value for settings "power off on shutdown" + */ +#define CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN 1 + +/*! + * default value for settings "power off when activating the screensaver" + */ +#define CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER 1 + +/*! + * default value for settings "power off on standby" + */ +#define CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY 1 + +/*! + * default value for settings "shutdown on standby" + */ +#define CEC_DEFAULT_SETTING_SHUTDOWN_ON_STANDBY 0 + +/*! + * default value for settings "send inactive source when stopping" + */ +#define CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE 1 + +/*! + * default value for settings "power off devices when going to standby" + */ +#define CEC_DEFAULT_SETTING_POWER_OFF_DEVICES_STANDBY 1 + +/*! + * default value for settings "device menu language" + */ +#define CEC_DEFAULT_DEVICE_LANGUAGE "eng" + +/*! + * default value for settings "autodetect physical address" + */ +#define CEC_DEFAULT_SETTING_AUTODETECT_ADDRESS 0 + +/*! + * default value for settings "get settings from ROM" + */ +#define CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM 0 + +/*! + * default value for settings "libCEC CEC version" + */ +#define CEC_DEFAULT_SETTING_CEC_VERSION 0x05 + +/*! + * wait this amount of milliseconds before retrying to send a failed message + */ +#define CEC_DEFAULT_TRANSMIT_RETRY_WAIT 500 + +/*! + * transmission fails when not acked within this amount of milliseconds after sending the initial packet + */ +#define CEC_DEFAULT_TRANSMIT_TIMEOUT 1000 + +/*! + * wait this amount of milliseconds for an ack + */ +#define CEC_DEFAULT_TRANSMIT_WAIT 1000 + +/*! + * default number of retries + */ +#define CEC_DEFAULT_TRANSMIT_RETRIES 1 + +/*! + * default connection timeout in milliseconds + */ +#define CEC_DEFAULT_CONNECT_TIMEOUT 10000 + +/*! + * wait this amount of milliseconds before retrying when failing to connect + */ +#define CEC_DEFAULT_CONNECT_RETRY_WAIT 1000 + +/*! + * default serial baudrate + */ +#define CEC_SERIAL_DEFAULT_BAUDRATE 38400 + +/*! + * maximum time to wait when clearing input + */ +#define CEC_CLEAR_INPUT_DEFAULT_WAIT 1000 + +/*! + * wait this amount of milliseconds before retrying when libCEC failed to make itself the active source + */ +#define CEC_ACTIVE_SOURCE_SWITCH_RETRY_TIME_MS 1000 + +/*! + * don't forward any power off command to the client application for this amount of milliseconds after sending a power off command + */ +#define CEC_FORWARD_STANDBY_MIN_INTERVAL 10000 + +/*! + * default timeout in milliseconds for combo keys + */ +#define CEC_DEFAULT_COMBO_TIMEOUT_MS 1000 + +/*! + * the virtual device path to use for the Raspberry Pi's CEC wire + */ +#define CEC_RPI_VIRTUAL_PATH "Raspberry Pi" + +/*! + * the name of the virtual COM port to use for the Raspberry Pi's CEC wire + */ +#define CEC_RPI_VIRTUAL_COM "RPI" + +/*! + * the path to use for the TDA995x's CEC wire + */ +#define CEC_TDA995x_PATH "/dev/hdmicec" + +/*! + * the name of the virtual COM port to use for the TDA995x's CEC wire + */ +#define CEC_TDA995x_VIRTUAL_COM "CuBox" + +/*! + * Mimimum client version + */ +#define CEC_MIN_LIB_VERSION 2 + +/*! + * libCEC's major version number + */ +#define CEC_LIB_VERSION_MAJOR 2 + +/*! + * libCEC's major version number as string + */ +#define CEC_LIB_VERSION_MAJOR_STR "2" + +/*! + * libCEC's minor version number + */ +#define CEC_LIB_VERSION_MINOR 0 + +#define MSGSTART 0xFF +#define MSGEND 0xFE +#define MSGESC 0xFD +#define ESCOFFSET 3 + +// defines to make compile time checks for certain features easy +#define CEC_FEATURE_CONFIGURABLE_COMBO_KEY 1 + +typedef enum cec_abort_reason +{ + CEC_ABORT_REASON_UNRECOGNIZED_OPCODE = 0,//!< CEC_ABORT_REASON_UNRECOGNIZED_OPCODE + CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND = 1,//!< CEC_ABORT_REASON_NOT_IN_CORRECT_MODE_TO_RESPOND + CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE = 2,//!< CEC_ABORT_REASON_CANNOT_PROVIDE_SOURCE + CEC_ABORT_REASON_INVALID_OPERAND = 3,//!< CEC_ABORT_REASON_INVALID_OPERAND + CEC_ABORT_REASON_REFUSED = 4 //!< CEC_ABORT_REASON_REFUSED +} cec_abort_reason; + +typedef enum cec_analogue_broadcast_type +{ + CEC_ANALOGUE_BROADCAST_TYPE_CABLE = 0x00, + CEC_ANALOGUE_BROADCAST_TYPE_SATELLITE = 0x01, + CEC_ANALOGUE_BROADCAST_TYPE_TERRESTIAL = 0x02 +} cec_analogue_broadcast_type; + +typedef enum cec_audio_rate +{ + CEC_AUDIO_RATE_RATE_CONTROL_OFF = 0, + CEC_AUDIO_RATE_STANDARD_RATE_100 = 1, + CEC_AUDIO_RATE_FAST_RATE_MAX_101 = 2, + CEC_AUDIO_RATE_SLOW_RATE_MIN_99 = 3, + CEC_AUDIO_RATE_STANDARD_RATE_100_0 = 4, + CEC_AUDIO_RATE_FAST_RATE_MAX_100_1 = 5, + CEC_AUDIO_RATE_SLOW_RATE_MIN_99_9 = 6 +} cec_audio_rate; + +typedef enum cec_audio_status +{ + CEC_AUDIO_MUTE_STATUS_MASK = 0x80, + CEC_AUDIO_VOLUME_STATUS_MASK = 0x7F, + CEC_AUDIO_VOLUME_MIN = 0x00, + CEC_AUDIO_VOLUME_MAX = 0x64, + CEC_AUDIO_VOLUME_STATUS_UNKNOWN = 0x7F +} cec_audio_status; + +typedef enum cec_boolean +{ + CEC_FALSE = 0, + CEC_TRUE = 1 +} cec_boolean; + +typedef enum cec_version +{ + CEC_VERSION_UNKNOWN = 0x00, + CEC_VERSION_1_2 = 0x01, + CEC_VERSION_1_2A = 0x02, + CEC_VERSION_1_3 = 0x03, + CEC_VERSION_1_3A = 0x04, + CEC_VERSION_1_4 = 0x05 +} cec_version; + +typedef enum cec_channel_identifier +{ + CEC_CHANNEL_NUMBER_FORMAT_MASK = 0xFC000000, + CEC_1_PART_CHANNEL_NUMBER = 0x04000000, + CEC_2_PART_CHANNEL_NUMBER = 0x08000000, + CEC_MAJOR_CHANNEL_NUMBER_MASK = 0x3FF0000, + CEC_MINOR_CHANNEL_NUMBER_MASK = 0xFFFF +} cec_channel_identifier; + +typedef enum cec_deck_control_mode +{ + CEC_DECK_CONTROL_MODE_SKIP_FORWARD_WIND = 1, + CEC_DECK_CONTROL_MODE_SKIP_REVERSE_REWIND = 2, + CEC_DECK_CONTROL_MODE_STOP = 3, + CEC_DECK_CONTROL_MODE_EJECT = 4 +} cec_deck_control_mode; + +typedef enum cec_deck_info +{ + CEC_DECK_INFO_PLAY = 0x11, + CEC_DECK_INFO_RECORD = 0x12, + CEC_DECK_INFO_PLAY_REVERSE = 0x13, + CEC_DECK_INFO_STILL = 0x14, + CEC_DECK_INFO_SLOW = 0x15, + CEC_DECK_INFO_SLOW_REVERSE = 0x16, + CEC_DECK_INFO_FAST_FORWARD = 0x17, + CEC_DECK_INFO_FAST_REVERSE = 0x18, + CEC_DECK_INFO_NO_MEDIA = 0x19, + CEC_DECK_INFO_STOP = 0x1A, + CEC_DECK_INFO_SKIP_FORWARD_WIND = 0x1B, + CEC_DECK_INFO_SKIP_REVERSE_REWIND = 0x1C, + CEC_DECK_INFO_INDEX_SEARCH_FORWARD = 0x1D, + CEC_DECK_INFO_INDEX_SEARCH_REVERSE = 0x1E, + CEC_DECK_INFO_OTHER_STATUS = 0x1F, + CEC_DECK_INFO_OTHER_STATUS_LG = 0x20 +} cec_deck_info; + +typedef enum cec_device_type +{ + CEC_DEVICE_TYPE_TV = 0, + CEC_DEVICE_TYPE_RECORDING_DEVICE = 1, + CEC_DEVICE_TYPE_RESERVED = 2, + CEC_DEVICE_TYPE_TUNER = 3, + CEC_DEVICE_TYPE_PLAYBACK_DEVICE = 4, + CEC_DEVICE_TYPE_AUDIO_SYSTEM = 5 +} cec_device_type; + +typedef enum cec_display_control +{ + CEC_DISPLAY_CONTROL_DISPLAY_FOR_DEFAULT_TIME = 0x00, + CEC_DISPLAY_CONTROL_DISPLAY_UNTIL_CLEARED = 0x40, + CEC_DISPLAY_CONTROL_CLEAR_PREVIOUS_MESSAGE = 0x80, + CEC_DISPLAY_CONTROL_RESERVED_FOR_FUTURE_USE = 0xC0 +} cec_display_control; + +typedef enum cec_external_source_specifier +{ + CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PLUG = 4, + CEC_EXTERNAL_SOURCE_SPECIFIER_EXTERNAL_PHYSICAL_ADDRESS = 5 +} cec_external_source_specifier; + +typedef enum cec_menu_request_type +{ + CEC_MENU_REQUEST_TYPE_ACTIVATE = 0, + CEC_MENU_REQUEST_TYPE_DEACTIVATE = 1, + CEC_MENU_REQUEST_TYPE_QUERY = 2 +} cec_menu_request_type; + +typedef enum cec_menu_state +{ + CEC_MENU_STATE_ACTIVATED = 0, + CEC_MENU_STATE_DEACTIVATED = 1 +} cec_menu_state; + +typedef enum cec_play_mode +{ + CEC_PLAY_MODE_PLAY_FORWARD = 0x24, + CEC_PLAY_MODE_PLAY_REVERSE = 0x20, + CEC_PLAY_MODE_PLAY_STILL = 0x25, + CEC_PLAY_MODE_FAST_FORWARD_MIN_SPEED = 0x05, + CEC_PLAY_MODE_FAST_FORWARD_MEDIUM_SPEED = 0x06, + CEC_PLAY_MODE_FAST_FORWARD_MAX_SPEED = 0x07, + CEC_PLAY_MODE_FAST_REVERSE_MIN_SPEED = 0x09, + CEC_PLAY_MODE_FAST_REVERSE_MEDIUM_SPEED = 0x0A, + CEC_PLAY_MODE_FAST_REVERSE_MAX_SPEED = 0x0B, + CEC_PLAY_MODE_SLOW_FORWARD_MIN_SPEED = 0x15, + CEC_PLAY_MODE_SLOW_FORWARD_MEDIUM_SPEED = 0x16, + CEC_PLAY_MODE_SLOW_FORWARD_MAX_SPEED = 0x17, + CEC_PLAY_MODE_SLOW_REVERSE_MIN_SPEED = 0x19, + CEC_PLAY_MODE_SLOW_REVERSE_MEDIUM_SPEED = 0x1A, + CEC_PLAY_MODE_SLOW_REVERSE_MAX_SPEED = 0x1B +} cec_play_mode; + +typedef enum cec_power_status +{ + CEC_POWER_STATUS_ON = 0x00, + CEC_POWER_STATUS_STANDBY = 0x01, + CEC_POWER_STATUS_IN_TRANSITION_STANDBY_TO_ON = 0x02, + CEC_POWER_STATUS_IN_TRANSITION_ON_TO_STANDBY = 0x03, + CEC_POWER_STATUS_UNKNOWN = 0x99 +} cec_power_status; + +typedef enum cec_record_source_type +{ + CEC_RECORD_SOURCE_TYPE_OWN_SOURCE = 1, + CEC_RECORD_SOURCE_TYPE_DIGITAL_SERVICE = 2, + CEC_RECORD_SOURCE_TYPE_ANALOGUE_SERVICE = 3, + CEC_RECORD_SOURCE_TYPE_EXTERNAL_PLUS = 4, + CEC_RECORD_SOURCE_TYPE_EXTERNAL_PHYSICAL_ADDRESS = 5 +} cec_record_source_type; + +typedef enum cec_record_status_info +{ + CEC_RECORD_STATUS_INFO_RECORDING_CURRENTLY_SELECTED_SOURCE = 0x01, + CEC_RECORD_STATUS_INFO_RECORDING_DIGITAL_SERVICE = 0x02, + CEC_RECORD_STATUS_INFO_RECORDING_ANALOGUE_SERVICE = 0x03, + CEC_RECORD_STATUS_INFO_RECORDING_EXTERNAL_INPUT = 0x04, + CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_DIGITAL_SERVICE = 0x05, + CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_RECORD_ANALOGUE_SERVICE = 0x06, + CEC_RECORD_STATUS_INFO_NO_RECORDING_UNABLE_TO_SELECT_REQUIRED_SERVICE = 0x07, + CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_PLUG_NUMBER = 0x09, + CEC_RECORD_STATUS_INFO_NO_RECORDING_INVALID_EXTERNAL_ADDRESS = 0x0A, + CEC_RECORD_STATUS_INFO_NO_RECORDING_CA_SYSTEM_NOT_SUPPORTED = 0x0B, + CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_OR_INSUFFICIENT_ENTITLEMENTS = 0x0C, + CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ALLOWED_TO_COPY_SOURCE = 0x0D, + CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_FURTHER_COPIES_ALLOWED = 0x0E, + CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_MEDIA = 0x10, + CEC_RECORD_STATUS_INFO_NO_RECORDING_PLAYING = 0x11, + CEC_RECORD_STATUS_INFO_NO_RECORDING_ALREADY_RECORDING = 0x12, + CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROTECTED = 0x13, + CEC_RECORD_STATUS_INFO_NO_RECORDING_NO_SOURCE_SIGNAL = 0x14, + CEC_RECORD_STATUS_INFO_NO_RECORDING_MEDIA_PROBLEM = 0x15, + CEC_RECORD_STATUS_INFO_NO_RECORDING_NOT_ENOUGH_SPACE_AVAILABLE = 0x16, + CEC_RECORD_STATUS_INFO_NO_RECORDING_PARENTAL_LOCK_ON = 0x17, + CEC_RECORD_STATUS_INFO_RECORDING_TERMINATED_NORMALLY = 0x1A, + CEC_RECORD_STATUS_INFO_RECORDING_HAS_ALREADY_TERMINATED = 0x1B, + CEC_RECORD_STATUS_INFO_NO_RECORDING_OTHER_REASON = 0x1F +} cec_record_status_info; + +typedef enum cec_recording_sequence +{ + CEC_RECORDING_SEQUENCE_SUNDAY = 0x01, + CEC_RECORDING_SEQUENCE_MONDAY = 0x02, + CEC_RECORDING_SEQUENCE_TUESDAY = 0x04, + CEC_RECORDING_SEQUENCE_WEDNESDAY = 0x08, + CEC_RECORDING_SEQUENCE_THURSDAY = 0x10, + CEC_RECORDING_SEQUENCE_FRIDAY = 0x20, + CEC_RECORDING_SEQUENCE_SATURDAY = 0x40, + CEC_RECORDING_SEQUENCE_ONCE_ONLY = 0x00 +} cec_recording_sequence; + +typedef enum cec_status_request +{ + CEC_STATUS_REQUEST_ON = 1, + CEC_STATUS_REQUEST_OFF = 2, + CEC_STATUS_REQUEST_ONCE = 3 +} cec_status_request; + +typedef enum cec_system_audio_status +{ + CEC_SYSTEM_AUDIO_STATUS_OFF = 0, + CEC_SYSTEM_AUDIO_STATUS_ON = 1 +} cec_system_audio_status; + +typedef enum cec_timer_cleared_status_data +{ + CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_RECORDING = 0x00, + CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_MATCHING = 0x01, + CEC_TIMER_CLEARED_STATUS_DATA_TIMER_NOT_CLEARED_NO_INF0_AVAILABLE = 0x02, + CEC_TIMER_CLEARED_STATUS_DATA_TIMER_CLEARED = 0x80 +} cec_timer_cleared_status_data; + +typedef enum cec_timer_overlap_warning +{ + CEC_TIMER_OVERLAP_WARNING_NO_OVERLAP = 0, + CEC_TIMER_OVERLAP_WARNING_TIMER_BLOCKS_OVERLAP = 1 +} cec_timer_overlap_warning; + +typedef enum cec_media_info +{ + CEC_MEDIA_INFO_MEDIA_PRESENT_AND_NOT_PROTECTED = 0x00, + CEC_MEDIA_INFO_MEDIA_PRESENT_BUT_PROTECTED = 0x01, + CEC_MEDIA_INFO_MEDIA_NOT_PRESENT = 0x02, + CEC_MEDIA_INFO_FUTURE_USE = 0x03 +} cec_media_info; + +typedef enum cec_programmed_indicator +{ + CEC_PROGRAMMED_INDICATOR_NOT_PROGRAMMED = 0, + CEC_PROGRAMMED_INDICATOR_PROGRAMMED = 1 +} cec_programmed_indicator; + +typedef enum cec_programmed_info +{ + CEC_PROGRAMMED_INFO_FUTURE_USE = 0x0, + CEC_PROGRAMMED_INFO_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING = 0x08, + CEC_PROGRAMMED_INFO_NOT_ENOUGH_SPACE_AVAILABLE_FOR_RECORDING = 0x09, + CEC_PROGRAMMED_INFO_MAY_NOT_BE_ENOUGH_SPACE_AVAILABLE = 0x0B, + CEC_PROGRAMMED_INFO_NO_MEDIA_INFO_AVAILABLE = 0x0A +} cec_programmed_info; + +typedef enum cec_not_programmed_error_info +{ + CEC_NOT_PROGRAMMED_ERROR_INFO_FUTURE_USE = 0x0, + CEC_NOT_PROGRAMMED_ERROR_INFO_NO_FREE_TIMER_AVAILABLE = 0x01, + CEC_NOT_PROGRAMMED_ERROR_INFO_DATE_OUT_OF_RANGE = 0x02, + CEC_NOT_PROGRAMMED_ERROR_INFO_RECORDING_SEQUENCE_ERROR = 0x03, + CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PLUG_NUMBER = 0x04, + CEC_NOT_PROGRAMMED_ERROR_INFO_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 0x05, + CEC_NOT_PROGRAMMED_ERROR_INFO_CA_SYSTEM_NOT_SUPPORTED = 0x06, + CEC_NOT_PROGRAMMED_ERROR_INFO_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 0x07, + CEC_NOT_PROGRAMMED_ERROR_INFO_DOES_NOT_SUPPORT_RESOLUTION = 0x08, + CEC_NOT_PROGRAMMED_ERROR_INFO_PARENTAL_LOCK_ON = 0x09, + CEC_NOT_PROGRAMMED_ERROR_INFO_CLOCK_FAILURE = 0x0A, + CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_START = 0x0B, + CEC_NOT_PROGRAMMED_ERROR_INFO_RESERVED_FOR_FUTURE_USE_END = 0x0D, + CEC_NOT_PROGRAMMED_ERROR_INFO_DUPLICATE_ALREADY_PROGRAMMED = 0x0E +} cec_not_programmed_error_info; + +typedef enum cec_recording_flag +{ + CEC_RECORDING_FLAG_NOT_BEING_USED_FOR_RECORDING = 0, + CEC_RECORDING_FLAG_BEING_USED_FOR_RECORDING = 1 +} cec_recording_flag; + +typedef enum cec_tuner_display_info +{ + CEC_TUNER_DISPLAY_INFO_DISPLAYING_DIGITAL_TUNER = 0, + CEC_TUNER_DISPLAY_INFO_NOT_DISPLAYING_TUNER = 1, + CEC_TUNER_DISPLAY_INFO_DISPLAYING_ANALOGUE_TUNER = 2 +} cec_tuner_display_info; + +typedef enum cec_broadcast_system +{ + CEC_BROADCAST_SYSTEM_PAL_B_G = 0, + CEC_BROADCAST_SYSTEM_SECAM_L1 = 1, + CEC_BROADCAST_SYSTEM_PAL_M = 2, + CEC_BROADCAST_SYSTEM_NTSC_M = 3, + CEC_BROADCAST_SYSTEM_PAL_I = 4, + CEC_BROADCAST_SYSTEM_SECAM_DK = 5, + CEC_BROADCAST_SYSTEM_SECAM_B_G = 6, + CEC_BROADCAST_SYSTEM_SECAM_L2 = 7, + CEC_BROADCAST_SYSTEM_PAL_DK = 8, + CEC_BROADCAST_SYSTEM_OTHER_SYSTEM = 30 +} cec_broadcast_system; + +typedef enum cec_user_control_code +{ + CEC_USER_CONTROL_CODE_SELECT = 0x00, + CEC_USER_CONTROL_CODE_UP = 0x01, + CEC_USER_CONTROL_CODE_DOWN = 0x02, + CEC_USER_CONTROL_CODE_LEFT = 0x03, + CEC_USER_CONTROL_CODE_RIGHT = 0x04, + CEC_USER_CONTROL_CODE_RIGHT_UP = 0x05, + CEC_USER_CONTROL_CODE_RIGHT_DOWN = 0x06, + CEC_USER_CONTROL_CODE_LEFT_UP = 0x07, + CEC_USER_CONTROL_CODE_LEFT_DOWN = 0x08, + CEC_USER_CONTROL_CODE_ROOT_MENU = 0x09, + CEC_USER_CONTROL_CODE_SETUP_MENU = 0x0A, + CEC_USER_CONTROL_CODE_CONTENTS_MENU = 0x0B, + CEC_USER_CONTROL_CODE_FAVORITE_MENU = 0x0C, + CEC_USER_CONTROL_CODE_EXIT = 0x0D, + CEC_USER_CONTROL_CODE_NUMBER0 = 0x20, + CEC_USER_CONTROL_CODE_NUMBER1 = 0x21, + CEC_USER_CONTROL_CODE_NUMBER2 = 0x22, + CEC_USER_CONTROL_CODE_NUMBER3 = 0x23, + CEC_USER_CONTROL_CODE_NUMBER4 = 0x24, + CEC_USER_CONTROL_CODE_NUMBER5 = 0x25, + CEC_USER_CONTROL_CODE_NUMBER6 = 0x26, + CEC_USER_CONTROL_CODE_NUMBER7 = 0x27, + CEC_USER_CONTROL_CODE_NUMBER8 = 0x28, + CEC_USER_CONTROL_CODE_NUMBER9 = 0x29, + CEC_USER_CONTROL_CODE_DOT = 0x2A, + CEC_USER_CONTROL_CODE_ENTER = 0x2B, + CEC_USER_CONTROL_CODE_CLEAR = 0x2C, + CEC_USER_CONTROL_CODE_NEXT_FAVORITE = 0x2F, + CEC_USER_CONTROL_CODE_CHANNEL_UP = 0x30, + CEC_USER_CONTROL_CODE_CHANNEL_DOWN = 0x31, + CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL = 0x32, + CEC_USER_CONTROL_CODE_SOUND_SELECT = 0x33, + CEC_USER_CONTROL_CODE_INPUT_SELECT = 0x34, + CEC_USER_CONTROL_CODE_DISPLAY_INFORMATION = 0x35, + CEC_USER_CONTROL_CODE_HELP = 0x36, + CEC_USER_CONTROL_CODE_PAGE_UP = 0x37, + CEC_USER_CONTROL_CODE_PAGE_DOWN = 0x38, + CEC_USER_CONTROL_CODE_POWER = 0x40, + CEC_USER_CONTROL_CODE_VOLUME_UP = 0x41, + CEC_USER_CONTROL_CODE_VOLUME_DOWN = 0x42, + CEC_USER_CONTROL_CODE_MUTE = 0x43, + CEC_USER_CONTROL_CODE_PLAY = 0x44, + CEC_USER_CONTROL_CODE_STOP = 0x45, + CEC_USER_CONTROL_CODE_PAUSE = 0x46, + CEC_USER_CONTROL_CODE_RECORD = 0x47, + CEC_USER_CONTROL_CODE_REWIND = 0x48, + CEC_USER_CONTROL_CODE_FAST_FORWARD = 0x49, + CEC_USER_CONTROL_CODE_EJECT = 0x4A, + CEC_USER_CONTROL_CODE_FORWARD = 0x4B, + CEC_USER_CONTROL_CODE_BACKWARD = 0x4C, + CEC_USER_CONTROL_CODE_STOP_RECORD = 0x4D, + CEC_USER_CONTROL_CODE_PAUSE_RECORD = 0x4E, + CEC_USER_CONTROL_CODE_ANGLE = 0x50, + CEC_USER_CONTROL_CODE_SUB_PICTURE = 0x51, + CEC_USER_CONTROL_CODE_VIDEO_ON_DEMAND = 0x52, + CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE = 0x53, + CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING = 0x54, + CEC_USER_CONTROL_CODE_INITIAL_CONFIGURATION = 0x55, + CEC_USER_CONTROL_CODE_PLAY_FUNCTION = 0x60, + CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION = 0x61, + CEC_USER_CONTROL_CODE_RECORD_FUNCTION = 0x62, + CEC_USER_CONTROL_CODE_PAUSE_RECORD_FUNCTION = 0x63, + CEC_USER_CONTROL_CODE_STOP_FUNCTION = 0x64, + CEC_USER_CONTROL_CODE_MUTE_FUNCTION = 0x65, + CEC_USER_CONTROL_CODE_RESTORE_VOLUME_FUNCTION = 0x66, + CEC_USER_CONTROL_CODE_TUNE_FUNCTION = 0x67, + CEC_USER_CONTROL_CODE_SELECT_MEDIA_FUNCTION = 0x68, + CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION = 0x69, + CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION = 0x6A, + CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION = 0x6B, + CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION = 0x6C, + CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION = 0x6D, + CEC_USER_CONTROL_CODE_F1_BLUE = 0x71, + CEC_USER_CONTROL_CODE_F2_RED = 0X72, + CEC_USER_CONTROL_CODE_F3_GREEN = 0x73, + CEC_USER_CONTROL_CODE_F4_YELLOW = 0x74, + CEC_USER_CONTROL_CODE_F5 = 0x75, + CEC_USER_CONTROL_CODE_DATA = 0x76, + CEC_USER_CONTROL_CODE_AN_RETURN = 0x91, + CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST = 0x96, + CEC_USER_CONTROL_CODE_MAX = 0x96, + CEC_USER_CONTROL_CODE_UNKNOWN = 0xFF +} cec_user_control_code; + +typedef enum cec_logical_address +{ + CECDEVICE_UNKNOWN = -1, //not a valid logical address + CECDEVICE_TV = 0, + CECDEVICE_RECORDINGDEVICE1 = 1, + CECDEVICE_RECORDINGDEVICE2 = 2, + CECDEVICE_TUNER1 = 3, + CECDEVICE_PLAYBACKDEVICE1 = 4, + CECDEVICE_AUDIOSYSTEM = 5, + CECDEVICE_TUNER2 = 6, + CECDEVICE_TUNER3 = 7, + CECDEVICE_PLAYBACKDEVICE2 = 8, + CECDEVICE_RECORDINGDEVICE3 = 9, + CECDEVICE_TUNER4 = 10, + CECDEVICE_PLAYBACKDEVICE3 = 11, + CECDEVICE_RESERVED1 = 12, + CECDEVICE_RESERVED2 = 13, + CECDEVICE_FREEUSE = 14, + CECDEVICE_UNREGISTERED = 15, + CECDEVICE_BROADCAST = 15 +} cec_logical_address; + +typedef enum cec_opcode +{ + CEC_OPCODE_ACTIVE_SOURCE = 0x82, + CEC_OPCODE_IMAGE_VIEW_ON = 0x04, + CEC_OPCODE_TEXT_VIEW_ON = 0x0D, + CEC_OPCODE_INACTIVE_SOURCE = 0x9D, + CEC_OPCODE_REQUEST_ACTIVE_SOURCE = 0x85, + CEC_OPCODE_ROUTING_CHANGE = 0x80, + CEC_OPCODE_ROUTING_INFORMATION = 0x81, + CEC_OPCODE_SET_STREAM_PATH = 0x86, + CEC_OPCODE_STANDBY = 0x36, + CEC_OPCODE_RECORD_OFF = 0x0B, + CEC_OPCODE_RECORD_ON = 0x09, + CEC_OPCODE_RECORD_STATUS = 0x0A, + CEC_OPCODE_RECORD_TV_SCREEN = 0x0F, + CEC_OPCODE_CLEAR_ANALOGUE_TIMER = 0x33, + CEC_OPCODE_CLEAR_DIGITAL_TIMER = 0x99, + CEC_OPCODE_CLEAR_EXTERNAL_TIMER = 0xA1, + CEC_OPCODE_SET_ANALOGUE_TIMER = 0x34, + CEC_OPCODE_SET_DIGITAL_TIMER = 0x97, + CEC_OPCODE_SET_EXTERNAL_TIMER = 0xA2, + CEC_OPCODE_SET_TIMER_PROGRAM_TITLE = 0x67, + CEC_OPCODE_TIMER_CLEARED_STATUS = 0x43, + CEC_OPCODE_TIMER_STATUS = 0x35, + CEC_OPCODE_CEC_VERSION = 0x9E, + CEC_OPCODE_GET_CEC_VERSION = 0x9F, + CEC_OPCODE_GIVE_PHYSICAL_ADDRESS = 0x83, + CEC_OPCODE_GET_MENU_LANGUAGE = 0x91, + CEC_OPCODE_REPORT_PHYSICAL_ADDRESS = 0x84, + CEC_OPCODE_SET_MENU_LANGUAGE = 0x32, + CEC_OPCODE_DECK_CONTROL = 0x42, + CEC_OPCODE_DECK_STATUS = 0x1B, + CEC_OPCODE_GIVE_DECK_STATUS = 0x1A, + CEC_OPCODE_PLAY = 0x41, + CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS = 0x08, + CEC_OPCODE_SELECT_ANALOGUE_SERVICE = 0x92, + CEC_OPCODE_SELECT_DIGITAL_SERVICE = 0x93, + CEC_OPCODE_TUNER_DEVICE_STATUS = 0x07, + CEC_OPCODE_TUNER_STEP_DECREMENT = 0x06, + CEC_OPCODE_TUNER_STEP_INCREMENT = 0x05, + CEC_OPCODE_DEVICE_VENDOR_ID = 0x87, + CEC_OPCODE_GIVE_DEVICE_VENDOR_ID = 0x8C, + CEC_OPCODE_VENDOR_COMMAND = 0x89, + CEC_OPCODE_VENDOR_COMMAND_WITH_ID = 0xA0, + CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN = 0x8A, + CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP = 0x8B, + CEC_OPCODE_SET_OSD_STRING = 0x64, + CEC_OPCODE_GIVE_OSD_NAME = 0x46, + CEC_OPCODE_SET_OSD_NAME = 0x47, + CEC_OPCODE_MENU_REQUEST = 0x8D, + CEC_OPCODE_MENU_STATUS = 0x8E, + CEC_OPCODE_USER_CONTROL_PRESSED = 0x44, + CEC_OPCODE_USER_CONTROL_RELEASE = 0x45, + CEC_OPCODE_GIVE_DEVICE_POWER_STATUS = 0x8F, + CEC_OPCODE_REPORT_POWER_STATUS = 0x90, + CEC_OPCODE_FEATURE_ABORT = 0x00, + CEC_OPCODE_ABORT = 0xFF, + CEC_OPCODE_GIVE_AUDIO_STATUS = 0x71, + CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS = 0x7D, + CEC_OPCODE_REPORT_AUDIO_STATUS = 0x7A, + CEC_OPCODE_SET_SYSTEM_AUDIO_MODE = 0x72, + CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST = 0x70, + CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS = 0x7E, + CEC_OPCODE_SET_AUDIO_RATE = 0x9A, + + /* CEC 1.4 */ + CEC_OPCODE_START_ARC = 0xC0, + CEC_OPCODE_REPORT_ARC_STARTED = 0xC1, + CEC_OPCODE_REPORT_ARC_ENDED = 0xC2, + CEC_OPCODE_REQUEST_ARC_START = 0xC3, + CEC_OPCODE_REQUEST_ARC_END = 0xC4, + CEC_OPCODE_END_ARC = 0xC5, + CEC_OPCODE_CDC = 0xF8, + /* when this opcode is set, no opcode will be sent to the device. this is one of the reserved numbers */ + CEC_OPCODE_NONE = 0xFD +} cec_opcode; + +typedef enum cec_log_level +{ + CEC_LOG_ERROR = 1, + CEC_LOG_WARNING = 2, + CEC_LOG_NOTICE = 4, + CEC_LOG_TRAFFIC = 8, + CEC_LOG_DEBUG = 16, + CEC_LOG_ALL = 31 +} cec_log_level; + +typedef enum cec_bus_device_status +{ + CEC_DEVICE_STATUS_UNKNOWN, + CEC_DEVICE_STATUS_PRESENT, + CEC_DEVICE_STATUS_NOT_PRESENT, + CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC +} cec_bus_device_status; + +typedef enum cec_vendor_id +{ + CEC_VENDOR_SAMSUNG = 0x0000F0, + CEC_VENDOR_LG = 0x00E091, + CEC_VENDOR_PANASONIC = 0x008045, + CEC_VENDOR_PIONEER = 0x00E036, + CEC_VENDOR_ONKYO = 0x0009B0, + CEC_VENDOR_YAMAHA = 0x00A0DE, + CEC_VENDOR_PHILIPS = 0x00903E, + CEC_VENDOR_SONY = 0x080046, + CEC_VENDOR_TOSHIBA = 0x000039, + CEC_VENDOR_AKAI = 0x0020C7, + CEC_VENDOR_AOC = 0x002467, + CEC_VENDOR_BENQ = 0x8065E9, + CEC_VENDOR_DAEWOO = 0x009053, + CEC_VENDOR_GRUNDIG = 0x00D0D5, + CEC_VENDOR_MEDION = 0x000CB8, + CEC_VENDOR_SHARP = 0x08001F, + CEC_VENDOR_VIZIO = 0x6B746D, + CEC_VENDOR_BROADCOM = 0x18C086, + CEC_VENDOR_LOEWE = 0x000982, + + CEC_VENDOR_UNKNOWN = 0 +} cec_vendor_id; + +typedef enum cec_adapter_type +{ + ADAPTERTYPE_UNKNOWN = 0, + ADAPTERTYPE_P8_EXTERNAL = 0x1, + ADAPTERTYPE_P8_DAUGHTERBOARD = 0x2, + ADAPTERTYPE_RPI = 0x100, + ADAPTERTYPE_TDA995x = 0x200 +} cec_adapter_type; + +typedef struct cec_menu_language +{ + char language[4]; /**< the iso language code. @bug the language code is only 3 chars long, not 4. will be changed in v2.0, because changing it now would break backwards compat */ + cec_logical_address device; /**< the logical address of the device */ +} cec_menu_language; + +typedef struct cec_osd_name +{ + char name[14]; /**< the name of the device */ + cec_logical_address device; /**< the logical address of the device */ +} cec_osd_name; + +typedef struct cec_log_message +{ + char message[1024]; /**< the actual message */ + cec_log_level level; /**< log level of the message */ + int64_t time; /**< the timestamp of this message */ +} cec_log_message; + +typedef struct cec_keypress +{ + cec_user_control_code keycode; /**< the keycode */ + unsigned int duration; /**< the duration of the keypress */ +} cec_keypress; + +typedef struct cec_adapter +{ + char path[1024]; /**< the path to the com port */ + char comm[1024]; /**< the name of the com port */ +} cec_adapter; + +typedef struct cec_datapacket +{ + uint8_t data[100]; /**< the actual data */ + uint8_t size; /**< the size of the data */ + +#ifdef __cplusplus + cec_datapacket &operator =(const struct cec_datapacket &packet) + { + Clear(); + for (uint8_t iPtr = 0; iPtr < packet.size; iPtr++) + PushBack(packet[iPtr]); + + return *this; + } + + bool IsEmpty(void) const { return size == 0; } /**< @return True when this packet is empty, false otherwise. */ + bool IsFull(void) const { return size == 100; } /**< @return True when this packet is false, false otherwise. */ + + /*! + * @brief Get the byte at the requested position. + * @param pos The position. + * @return The byte, or 0 when out of bounds. + */ + uint8_t operator[](uint8_t pos) const { return pos < size ? data[pos] : 0; } + /*! + * @brief Get the byte at the requested position. + * @param pos The position. + * @return The byte, or 0 when out of bounds. + */ + uint8_t At(uint8_t pos) const { return pos < size ? data[pos] : 0; } + + /*! + * @brief Shift the contents of this packet. + * @param iShiftBy The number of positions to shift. + */ + void Shift(uint8_t iShiftBy) + { + if (iShiftBy >= size) + { + Clear(); + } + else + { + for (uint8_t iPtr = 0; iPtr < size; iPtr++) + data[iPtr] = (iPtr + iShiftBy < size) ? data[iPtr + iShiftBy] : 0; + size = (uint8_t) (size - iShiftBy); + } + } + + /*! + * @brief Push a byte to the end of this packet. + * @param add The byte to add. + */ + void PushBack(uint8_t add) + { + if (size < 100) + data[size++] = add; + } + + /*! + * @brief Clear this packet. + */ + void Clear(void) + { + memset(data, 0, sizeof(data)); + size = 0; + } +#endif + +} cec_datapacket; + +typedef struct cec_command +{ + cec_logical_address initiator; /**< the logical address of the initiator of this message */ + cec_logical_address destination; /**< the logical address of the destination of this message */ + int8_t ack; /**< 1 when the ACK bit is set, 0 otherwise */ + int8_t eom; /**< 1 when the EOM bit is set, 0 otherwise */ + cec_opcode opcode; /**< the opcode of this message */ + cec_datapacket parameters; /**< the parameters attached to this message */ + int8_t opcode_set; /**< 1 when an opcode is set, 0 otherwise (POLL message) */ + int32_t transmit_timeout; /**< the timeout to use in ms */ + +#ifdef __cplusplus + cec_command(void) + { + Clear(); + } + + cec_command &operator =(const struct cec_command &command) + { + initiator = command.initiator; + destination = command.destination; + ack = command.ack; + eom = command.eom; + opcode = command.opcode; + opcode_set = command.opcode_set; + transmit_timeout = command.transmit_timeout; + parameters = command.parameters; + + return *this; + } + + /*! + * @brief Formats a cec_command. + * @param command The command to format. + * @param initiator The logical address of the initiator. + * @param destination The logical addres of the destination. + * @param opcode The opcode of the command. + * @param timeout The transmission timeout. + */ + static void Format(cec_command &command, cec_logical_address initiator, cec_logical_address destination, cec_opcode opcode, int32_t timeout = CEC_DEFAULT_TRANSMIT_TIMEOUT) + { + command.Clear(); + command.initiator = initiator; + command.destination = destination; + command.transmit_timeout = timeout; + if (opcode != CEC_OPCODE_NONE) + { + command.opcode = opcode; + command.opcode_set = 1; + } + } + + /*! + * @brief Push a byte to the back of this command. + * @param data The byte to push. + */ + void PushBack(uint8_t data) + { + if (initiator == CECDEVICE_UNKNOWN && destination == CECDEVICE_UNKNOWN) + { + initiator = (cec_logical_address) (data >> 4); + destination = (cec_logical_address) (data & 0xF); + } + else if (!opcode_set) + { + opcode_set = 1; + opcode = (cec_opcode) data; + } + else + parameters.PushBack(data); + } + + /*! + * @brief Clear this command, resetting everything to the default values. + */ + void Clear(void) + { + initiator = CECDEVICE_UNKNOWN; + destination = CECDEVICE_UNKNOWN; + ack = 0; + eom = 0; + opcode_set = 0; + opcode = CEC_OPCODE_FEATURE_ABORT; + transmit_timeout = CEC_DEFAULT_TRANSMIT_TIMEOUT; + parameters.Clear(); + }; + + static cec_opcode GetResponseOpcode(cec_opcode opcode) + { + switch (opcode) + { + case CEC_OPCODE_REQUEST_ACTIVE_SOURCE: + return CEC_OPCODE_ACTIVE_SOURCE; + case CEC_OPCODE_GET_CEC_VERSION: + return CEC_OPCODE_CEC_VERSION; + case CEC_OPCODE_GIVE_PHYSICAL_ADDRESS: + return CEC_OPCODE_REPORT_PHYSICAL_ADDRESS; + case CEC_OPCODE_GET_MENU_LANGUAGE: + return CEC_OPCODE_SET_MENU_LANGUAGE; + case CEC_OPCODE_GIVE_DECK_STATUS: + return CEC_OPCODE_DECK_STATUS; + case CEC_OPCODE_GIVE_TUNER_DEVICE_STATUS: + return CEC_OPCODE_TUNER_DEVICE_STATUS; + case CEC_OPCODE_GIVE_DEVICE_VENDOR_ID: + return CEC_OPCODE_DEVICE_VENDOR_ID; + case CEC_OPCODE_GIVE_OSD_NAME: + return CEC_OPCODE_SET_OSD_NAME; + case CEC_OPCODE_MENU_REQUEST: + return CEC_OPCODE_MENU_STATUS; + case CEC_OPCODE_GIVE_DEVICE_POWER_STATUS: + return CEC_OPCODE_REPORT_POWER_STATUS; + case CEC_OPCODE_GIVE_AUDIO_STATUS: + return CEC_OPCODE_REPORT_AUDIO_STATUS; + case CEC_OPCODE_GIVE_SYSTEM_AUDIO_MODE_STATUS: + return CEC_OPCODE_SYSTEM_AUDIO_MODE_STATUS; + case CEC_OPCODE_SYSTEM_AUDIO_MODE_REQUEST: + return CEC_OPCODE_SET_SYSTEM_AUDIO_MODE; + default: + break; + } + + return CEC_OPCODE_NONE; + } + + void PushArray(size_t len, uint8_t *data) + { + for (size_t iPtr = 0; iPtr < len; iPtr++) + PushBack(data[iPtr]); + } +#endif +} cec_command; + +typedef struct cec_device_type_list +{ + cec_device_type types[5]; /**< the list of device types */ + +#ifdef __cplusplus + /*! + * @brief Clear this list. + */ + void Clear(void) + { + for (unsigned int iPtr = 0; iPtr < 5; iPtr++) + types[iPtr] = CEC_DEVICE_TYPE_RESERVED; + } + + /*! + * @brief Add a type to this list. + * @param type The type to add. + */ + void Add(const cec_device_type type) + { + for (unsigned int iPtr = 0; iPtr < 5; iPtr++) + { + if (types[iPtr] == CEC_DEVICE_TYPE_RESERVED) + { + types[iPtr] = type; + break; + } + } + } + + /*! + * @brief Check whether a type is set in this list. + * @param type The type to check. + * @return True when set, false otherwise. + */ + bool IsSet(cec_device_type type) + { + bool bReturn(false); + for (unsigned int iPtr = 0; !bReturn && iPtr < 5; iPtr++) + { + if (types[iPtr] == type) + bReturn = true; + } + return bReturn; + } + + /*! + * @return True when this list is empty, false otherwise. + */ + bool IsEmpty() const + { + bool bReturn(true); + for (unsigned int iPtr = 0; bReturn && iPtr < 5; iPtr++) + { + if (types[iPtr] != CEC_DEVICE_TYPE_RESERVED) + bReturn = false; + } + return bReturn; + } + + /*! + * @brief Get the type at the requested position. + * @param pos The position. + * @return The type, or CEC_DEVICE_TYPE_RESERVED when out of bounds. + */ + cec_device_type operator[](uint8_t pos) const { return pos < 5 ? types[pos] : CEC_DEVICE_TYPE_RESERVED; } + + bool operator==(const cec_device_type_list &other) const + { + bool bEqual(true); + for (uint8_t iPtr = 0; iPtr < 5; iPtr++) + bEqual &= (types[iPtr] == other[iPtr]); + return bEqual; + } + + bool operator!=(const cec_device_type_list &other) const + { + return !(*this == other); + } +#endif +} cec_device_type_list; + +typedef struct cec_logical_addresses +{ + cec_logical_address primary; /**< the primary logical address to use */ + int addresses[16]; /**< the list of addresses */ + +#ifdef __cplusplus + /*! + * @brief Clear this list. + */ + void Clear(void) + { + primary = CECDEVICE_UNREGISTERED; + for (unsigned int iPtr = 0; iPtr < 16; iPtr++) + addresses[iPtr] = 0; + } + + /*! + * @return True when empty, false otherwise. + */ + bool IsEmpty(void) const + { + return primary == CECDEVICE_UNREGISTERED; + } + + /*! + * @brief Calculate the ack-mask for this list, the mask to use when determining whether to send an ack message or not. + * @return The ack-mask. + */ + uint16_t AckMask(void) const + { + uint16_t mask = 0; + for (unsigned int iPtr = 0; iPtr < 16; iPtr++) + if (addresses[iPtr] == 1) + mask |= 0x1 << iPtr; + return mask; + } + + /*! + * @brief Mark a logical address as 'set' + * @param address The logical address to add to this list. + */ + void Set(cec_logical_address address) + { + if (primary == CECDEVICE_UNREGISTERED) + primary = address; + + addresses[(int) address] = 1; + } + + /*! + * @brief Mark a logical address as 'unset' + * @param address The logical address to remove from this list. + */ + void Unset(const cec_logical_address address) + { + if (primary == address) + primary = CECDEVICE_UNREGISTERED; + + addresses[(int) address] = 0; + } + + /*! + * @brief Check whether an address is set in this list. + * @param address The address to check. + * @return True when set, false otherwise. + */ + bool IsSet(cec_logical_address address) const { return addresses[(int) address] == 1; } + + /*! + * @brief Check whether an address is set in this list. + * @param pos The address to check. + * @return True when set, false otherwise. + */ + bool operator[](uint8_t pos) const { return pos < 16 ? IsSet((cec_logical_address) pos) : false; } + + bool operator==(const cec_logical_addresses &other) const + { + bool bEqual(true); + for (uint8_t iPtr = 0; iPtr < 16; iPtr++) + bEqual &= ((addresses[(int)iPtr] == 1) == other[iPtr]); + return bEqual; + } + + bool operator!=(const cec_logical_addresses &other) const + { + return !(*this == other); + } +#endif +} cec_logical_addresses; + +typedef enum libcec_alert +{ + CEC_ALERT_SERVICE_DEVICE, + CEC_ALERT_CONNECTION_LOST, + CEC_ALERT_PERMISSION_ERROR, + CEC_ALERT_PORT_BUSY, + CEC_ALERT_PHYSICAL_ADDRESS_ERROR +} libcec_alert; + +typedef enum libcec_parameter_type +{ + CEC_PARAMETER_TYPE_STRING, + CEC_PARAMETER_TYPE_UNKOWN +} libcec_parameter_type; + +typedef struct libcec_parameter +{ + libcec_parameter_type paramType; /**< the type of this parameter */ + void* paramData; /**< the value of this parameter */ +} libcec_parameter; + +typedef struct libcec_configuration libcec_configuration; + +typedef int (CEC_CDECL* CBCecLogMessageType)(void*, const cec_log_message); +typedef int (CEC_CDECL* CBCecKeyPressType)(void*, const cec_keypress); +typedef int (CEC_CDECL* CBCecCommandType)(void*, const cec_command); +typedef int (CEC_CDECL* CBCecConfigurationChangedType)(void*, const libcec_configuration); +typedef int (CEC_CDECL* CBCecAlertType)(void*, const libcec_alert, const libcec_parameter); +typedef int (CEC_CDECL* CBCecMenuStateChangedType)(void*, const cec_menu_state); +typedef void (CEC_CDECL* CBCecSourceActivatedType)(void*, const cec_logical_address, const uint8_t); + +typedef struct ICECCallbacks +{ + /*! + * @brief Transfer a log message from libCEC to the client. + * @param message The message to transfer. + * @return 1 when ok, 0 otherwise. + */ + CBCecLogMessageType CBCecLogMessage; + + /*! + * @brief Transfer a keypress from libCEC to the client. + * @param key The keypress to transfer. + * @return 1 when ok, 0 otherwise. + */ + CBCecKeyPressType CBCecKeyPress; + + /*! + * @brief Transfer a CEC command from libCEC to the client. + * @param command The command to transfer. + * @return 1 when ok, 0 otherwise. + */ + CBCecCommandType CBCecCommand; + + /*! + * @brief Transfer a changed configuration from libCEC to the client + * @param configuration The configuration to transfer + * @return 1 when ok, 0 otherwise + */ + CBCecConfigurationChangedType CBCecConfigurationChanged; + + /*! + * @brief Transfer a libcec alert message from libCEC to the client + * @param alert The alert type transfer. + * @param data Misc. additional information. + * @return 1 when ok, 0 otherwise + */ + CBCecAlertType CBCecAlert; + + /*! + * @brief Transfer a menu state change to the client. + * Transfer a menu state change to the client. If the command returns 1, then the change will be processed by + * the busdevice. If 0, then the state of the busdevice won't be changed, and will always be kept 'activated', + * @warning CEC does not allow the player to suppress the menu state change on the TV, so the menu on the TV will always be displayed, whatever the return value of this method is. + * so keypresses are always routed. + * @param newVal The new value. + * @return 1 when libCEC should use this new value, 0 otherwise. + */ + CBCecMenuStateChangedType CBCecMenuStateChanged; + + /*! + * @brief Called when a source that's handled by this client is activated. + * @param logicalAddress The address that was just activated. + * @param bActivated 1 when activated, 0 when deactivated. + */ + CBCecSourceActivatedType CBCecSourceActivated; + +#ifdef __cplusplus + ICECCallbacks(void) { Clear(); } + ~ICECCallbacks(void) { Clear(); }; + + void Clear(void) + { + CBCecLogMessage = NULL; + CBCecKeyPress = NULL; + CBCecCommand = NULL; + CBCecConfigurationChanged = NULL; + CBCecAlert = NULL; + CBCecMenuStateChanged = NULL; + CBCecSourceActivated = NULL; + } +#endif +} ICECCallbacks; + +typedef enum cec_client_version +{ + CEC_CLIENT_VERSION_PRE_1_5 = 0, + CEC_CLIENT_VERSION_1_5_0 = 0x1500, + CEC_CLIENT_VERSION_1_5_1 = 0x1501, + CEC_CLIENT_VERSION_1_5_2 = 0x1502, + CEC_CLIENT_VERSION_1_5_3 = 0x1503, + CEC_CLIENT_VERSION_1_6_0 = 0x1600, + CEC_CLIENT_VERSION_1_6_1 = 0x1601, + CEC_CLIENT_VERSION_1_6_2 = 0x1602, + CEC_CLIENT_VERSION_1_6_3 = 0x1603, + CEC_CLIENT_VERSION_1_7_0 = 0x1700, + CEC_CLIENT_VERSION_1_7_1 = 0x1701, + CEC_CLIENT_VERSION_1_7_2 = 0x1702, + CEC_CLIENT_VERSION_1_8_0 = 0x1800, + CEC_CLIENT_VERSION_1_8_1 = 0x1801, + CEC_CLIENT_VERSION_1_8_2 = 0x1802, + CEC_CLIENT_VERSION_1_9_0 = 0x1900, + CEC_CLIENT_VERSION_1_99_0 = 0x1990, + CEC_CLIENT_VERSION_2_0_0 = 0x2000, + CEC_CLIENT_VERSION_2_0_1 = 0x2001, + CEC_CLIENT_VERSION_2_0_2 = 0x2002, + CEC_CLIENT_VERSION_2_0_3 = 0x2003, + CEC_CLIENT_VERSION_2_0_4 = 0x2004, + CEC_CLIENT_VERSION_2_0_5 = 0x2005, + CEC_CLIENT_VERSION_CURRENT = 0x2005 +} cec_client_version; + +typedef enum cec_server_version +{ + CEC_SERVER_VERSION_PRE_1_5 = 0, + CEC_SERVER_VERSION_1_5_0 = 0x1500, + CEC_SERVER_VERSION_1_5_1 = 0x1501, + CEC_SERVER_VERSION_1_5_2 = 0x1502, + CEC_SERVER_VERSION_1_5_3 = 0x1503, + CEC_SERVER_VERSION_1_6_0 = 0x1600, + CEC_SERVER_VERSION_1_6_1 = 0x1601, + CEC_SERVER_VERSION_1_6_2 = 0x1602, + CEC_SERVER_VERSION_1_6_3 = 0x1603, + CEC_SERVER_VERSION_1_7_0 = 0x1700, + CEC_SERVER_VERSION_1_7_1 = 0x1701, + CEC_SERVER_VERSION_1_7_2 = 0x1702, + CEC_SERVER_VERSION_1_8_0 = 0x1800, + CEC_SERVER_VERSION_1_8_1 = 0x1801, + CEC_SERVER_VERSION_1_8_2 = 0x1802, + CEC_SERVER_VERSION_1_9_0 = 0x1900, + CEC_SERVER_VERSION_1_99_0 = 0x1990, + CEC_SERVER_VERSION_2_0_0 = 0x2000, + CEC_SERVER_VERSION_2_0_1 = 0x2001, + CEC_SERVER_VERSION_2_0_2 = 0x2002, + CEC_SERVER_VERSION_2_0_3 = 0x2003, + CEC_SERVER_VERSION_2_0_4 = 0x2004, + CEC_SERVER_VERSION_2_0_5 = 0x2005, + CEC_SERVER_VERSION_CURRENT = 0x2005 +} cec_server_version; + +struct libcec_configuration +{ + uint32_t clientVersion; /*!< the version of the client that is connecting */ + char strDeviceName[13]; /*!< the device name to use on the CEC bus */ + cec_device_type_list deviceTypes; /*!< the device type(s) to use on the CEC bus for libCEC */ + uint8_t bAutodetectAddress; /*!< (read only) set to 1 by libCEC when the physical address was autodetected */ + uint16_t iPhysicalAddress; /*!< the physical address of the CEC adapter */ + cec_logical_address baseDevice; /*!< the logical address of the device to which the adapter is connected. only used when iPhysicalAddress = 0 or when the adapter doesn't support autodetection */ + uint8_t iHDMIPort; /*!< the HDMI port to which the adapter is connected. only used when iPhysicalAddress = 0 or when the adapter doesn't support autodetection */ + uint64_t tvVendor; /*!< override the vendor ID of the TV. leave this untouched to autodetect */ + cec_logical_addresses wakeDevices; /*!< list of devices to wake when initialising libCEC or when calling PowerOnDevices() without any parameter. */ + cec_logical_addresses powerOffDevices; /*!< list of devices to power off when calling StandbyDevices() without any parameter. */ + + uint32_t serverVersion; /*!< the version number of the server. read-only */ + + // player specific settings + uint8_t bGetSettingsFromROM; /*!< true to get the settings from the ROM (if set, and a v2 ROM is present), false to use these settings. */ + uint8_t bUseTVMenuLanguage; /*!< use the menu language of the TV in the player application */ + uint8_t bActivateSource; /*!< make libCEC the active source on the bus when starting the player application */ + uint8_t bPowerOffScreensaver; /*!< put devices in standby mode when activating the screensaver */ + uint8_t bPowerOffOnStandby; /*!< put this PC in standby mode when the TV is switched off. only used when bShutdownOnStandby = 0 */ + uint8_t bSendInactiveSource; /*!< send an 'inactive source' message when stopping the player. added in 1.5.1 */ + + void * callbackParam; /*!< the object to pass along with a call of the callback methods. NULL to ignore */ + ICECCallbacks * callbacks; /*!< the callback methods to use. set this to NULL when not using callbacks */ + + cec_logical_addresses logicalAddresses; /*!< (read-only) the current logical addresses. added in 1.5.3 */ + uint16_t iFirmwareVersion; /*!< (read-only) the firmware version of the adapter. added in 1.6.0 */ + uint8_t bPowerOffDevicesOnStandby; /*!< put devices in standby when the PC/player is put in standby. added in 1.6.0 */ + uint8_t bShutdownOnStandby; /*!< shutdown this PC when the TV is switched off. only used when bPowerOffOnStandby = 0. added in 1.6.0 */ + char strDeviceLanguage[3]; /*!< the menu language used by the client. 3 character ISO 639-2 country code. see http://http://www.loc.gov/standards/iso639-2/ added in 1.6.2 */ + uint32_t iFirmwareBuildDate; /*!< (read-only) the build date of the firmware, in seconds since epoch. if not available, this value will be set to 0. added in 1.6.2 */ + uint8_t bMonitorOnly; /*!< won't allocate a CCECClient when starting the connection when set (same as monitor mode). added in 1.6.3 */ + cec_version cecVersion; /*!< CEC spec version to use by libCEC. defaults to v1.4. added in 1.8.0 */ + cec_adapter_type adapterType; /*!< type of the CEC adapter that we're connected to. added in 1.8.2 */ + uint8_t iDoubleTapTimeoutMs; /*!< prevent double taps withing this timeout. defaults to 200ms. added in 2.0.0 */ + cec_user_control_code comboKey; /*!< key code that initiates combo keys. defaults to CEC_USER_CONTROL_CODE_F1_BLUE. CEC_USER_CONTROL_CODE_UNKNOWN to disable. added in 2.0.5 */ + uint32_t iComboKeyTimeoutMs; /*!< timeout until the combo key is sent as normal keypress */ + +#ifdef __cplusplus + libcec_configuration(void) { Clear(); } + ~libcec_configuration(void) { Clear(); } + + bool operator==(const libcec_configuration &other) const + { + return ( clientVersion == other.clientVersion && + !strncmp(strDeviceName, other.strDeviceName, 13) && + deviceTypes == other.deviceTypes && + bAutodetectAddress == other.bAutodetectAddress && + iPhysicalAddress == other.iPhysicalAddress && + baseDevice == other.baseDevice && + iHDMIPort == other.iHDMIPort && + tvVendor == other.tvVendor && + wakeDevices == other.wakeDevices && + powerOffDevices == other.powerOffDevices && + serverVersion == other.serverVersion && + bGetSettingsFromROM == other.bGetSettingsFromROM && + bUseTVMenuLanguage == other.bUseTVMenuLanguage && + bActivateSource == other.bActivateSource && + bPowerOffScreensaver == other.bPowerOffScreensaver && + bPowerOffOnStandby == other.bPowerOffOnStandby && + bSendInactiveSource == other.bSendInactiveSource && + logicalAddresses == other.logicalAddresses && + iFirmwareVersion == other.iFirmwareVersion && + bPowerOffDevicesOnStandby == other.bPowerOffDevicesOnStandby && + bShutdownOnStandby == other.bShutdownOnStandby && + !strncmp(strDeviceLanguage, other.strDeviceLanguage, 3) && + iFirmwareBuildDate == other.iFirmwareBuildDate && + bMonitorOnly == other.bMonitorOnly && + cecVersion == other.cecVersion && + adapterType == other.adapterType && + iDoubleTapTimeoutMs == other.iDoubleTapTimeoutMs && + (other.clientVersion <= CEC_CLIENT_VERSION_2_0_4 || comboKey == other.comboKey) && + (other.clientVersion <= CEC_CLIENT_VERSION_2_0_4 || iComboKeyTimeoutMs == other.iComboKeyTimeoutMs)); + } + + bool operator!=(const libcec_configuration &other) const + { + return !(*this == other); + } + + /*! + * @brief Reset this configution struct to the default values. + */ + void Clear(void) + { + iPhysicalAddress = CEC_PHYSICAL_ADDRESS_TV; + baseDevice = (cec_logical_address)CEC_DEFAULT_BASE_DEVICE; + iHDMIPort = CEC_DEFAULT_HDMI_PORT; + tvVendor = (uint64_t)CEC_VENDOR_UNKNOWN; + clientVersion = (uint32_t)CEC_CLIENT_VERSION_CURRENT; + serverVersion = (uint32_t)CEC_SERVER_VERSION_CURRENT; + bAutodetectAddress = 0; + bGetSettingsFromROM = CEC_DEFAULT_SETTING_GET_SETTINGS_FROM_ROM; + bUseTVMenuLanguage = CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE; + bActivateSource = CEC_DEFAULT_SETTING_ACTIVATE_SOURCE; + bPowerOffScreensaver = CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER; + bPowerOffOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY; + bShutdownOnStandby = CEC_DEFAULT_SETTING_SHUTDOWN_ON_STANDBY; + bSendInactiveSource = CEC_DEFAULT_SETTING_SEND_INACTIVE_SOURCE; + iFirmwareVersion = CEC_FW_VERSION_UNKNOWN; + bPowerOffDevicesOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_DEVICES_STANDBY; + memcpy(strDeviceLanguage, CEC_DEFAULT_DEVICE_LANGUAGE, 3); + iFirmwareBuildDate = CEC_FW_BUILD_UNKNOWN; + bMonitorOnly = 0; + cecVersion = (cec_version)CEC_DEFAULT_SETTING_CEC_VERSION; + adapterType = ADAPTERTYPE_UNKNOWN; + iDoubleTapTimeoutMs = CEC_DOUBLE_TAP_TIMEOUT_MS; + comboKey = CEC_USER_CONTROL_CODE_STOP; + iComboKeyTimeoutMs = CEC_DEFAULT_COMBO_TIMEOUT_MS; + + memset(strDeviceName, 0, 13); + deviceTypes.Clear(); + logicalAddresses.Clear(); + wakeDevices.Clear(); + powerOffDevices.Clear(); + + #if CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN == 1 + powerOffDevices.Set(CECDEVICE_BROADCAST); + #endif + #if CEC_DEFAULT_SETTING_ACTIVATE_SOURCE == 1 + wakeDevices.Set(CECDEVICE_TV); + #endif + + callbackParam = NULL; + callbacks = NULL; + } +#endif +}; + +#ifdef __cplusplus +}; +}; +#endif + +#endif /* CECTYPES_H_ */ diff --git a/usr/local/include/lirc/lirc_client.h b/usr/local/include/lirc/lirc_client.h new file mode 100644 index 000000000..3b0f0f4d7 --- /dev/null +++ b/usr/local/include/lirc/lirc_client.h @@ -0,0 +1,101 @@ +/* $Id: lirc_client.h,v 5.11 2008/05/20 18:54:37 lirc Exp $ */ + +/**************************************************************************** + ** lirc_client.h *********************************************************** + **************************************************************************** + * + * lirc_client - common routines for lircd clients + * + * Copyright (C) 1998 Trent Piepho + * Copyright (C) 1998 Christoph Bartelmus + * + */ + +#ifndef LIRC_CLIENT_H +#define LIRC_CLIENT_H + +#include +#include + +#ifndef __u32 +typedef uint32_t __u32; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define LIRC_RET_SUCCESS (0) +#define LIRC_RET_ERROR (-1) + +#define LIRC_ALL ((char *) (-1)) + + enum lirc_flags { none = 0x00, + once = 0x01, + quit = 0x02, + mode = 0x04, + ecno = 0x08, + startup_mode = 0x10, + toggle_reset = 0x20, + }; + + struct lirc_list { + char *string; + struct lirc_list *next; + }; + + struct lirc_code { + char *remote; + char *button; + struct lirc_code *next; + }; + + struct lirc_config { + char *current_mode; + struct lirc_config_entry *next; + struct lirc_config_entry *first; + + int sockfd; + }; + + struct lirc_config_entry { + char *prog; + struct lirc_code *code; + unsigned int rep_delay; + unsigned int rep; + struct lirc_list *config; + char *change_mode; + unsigned int flags; + + char *mode; + struct lirc_list *next_config; + struct lirc_code *next_code; + + struct lirc_config_entry *next; + }; + + int lirc_init(char *prog, int verbose); + int lirc_deinit(void); + + int lirc_readconfig(char *file, struct lirc_config **config, int (check) (char *s)); + void lirc_freeconfig(struct lirc_config *config); + +/* obsolete */ + char *lirc_nextir(void); +/* obsolete */ + char *lirc_ir2char(struct lirc_config *config, char *code); + + int lirc_nextcode(char **code); + int lirc_code2char(struct lirc_config *config, char *code, char **string); + +/* new interface for client daemon */ + int lirc_readconfig_only(char *file, struct lirc_config **config, int (check) (char *s)); + int lirc_code2charprog(struct lirc_config *config, char *code, char **string, char **prog); + size_t lirc_getsocketname(const char *filename, char *buf, size_t size); + const char *lirc_getmode(struct lirc_config *config); + const char *lirc_setmode(struct lirc_config *config, const char *mode); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/usr/local/include/shairport/ao.h b/usr/local/include/shairport/ao.h new file mode 100644 index 000000000..6e0dc357d --- /dev/null +++ b/usr/local/include/shairport/ao.h @@ -0,0 +1,158 @@ +/* + * + * ao.h + * + * Original Copyright (C) Aaron Holtzman - May 1999 + * Modifications Copyright (C) Stan Seibert - July 2000, July 2001 + * More Modifications Copyright (C) Jack Moffitt - October 2000 + * + * This file is part of libao, a cross-platform audio outputlibrary. See + * README for a history of this source code. + * + * libao is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * libao is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Make; see the file COPYING. If not, write to + * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ +#ifndef __AO_H__ +#define __AO_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ + +#include +#include +#include +#include + +/* --- Constants ---*/ + +#define AO_TYPE_LIVE 1 +#define AO_TYPE_FILE 2 + + +#define AO_ENODRIVER 1 +#define AO_ENOTFILE 2 +#define AO_ENOTLIVE 3 +#define AO_EBADOPTION 4 +#define AO_EOPENDEVICE 5 +#define AO_EOPENFILE 6 +#define AO_EFILEEXISTS 7 +#define AO_EBADFORMAT 8 + +#define AO_EFAIL 100 + + +#define AO_FMT_LITTLE 1 +#define AO_FMT_BIG 2 +#define AO_FMT_NATIVE 4 + +/* --- Structures --- */ + +typedef struct ao_info { + int type; /* live output or file output? */ + char *name; /* full name of driver */ + char *short_name; /* short name of driver */ + char *author; /* driver author */ + char *comment; /* driver comment */ + int preferred_byte_format; + int priority; + char **options; + int option_count; +} ao_info; + +typedef struct ao_functions ao_functions; +typedef struct ao_device ao_device; + +typedef struct ao_sample_format { + int bits; /* bits per sample */ + int rate; /* samples per second (in a single channel) */ + int channels; /* number of audio channels */ + int byte_format; /* Byte ordering in sample, see constants below */ + char *matrix; /* input channel location/ordering */ +} ao_sample_format; + +typedef struct ao_option { + char *key; + char *value; + struct ao_option *next; +} ao_option; + +#if defined(AO_BUILDING_LIBAO) +#include "ao_private.h" +#endif + +/* --- Functions --- */ + +/* library setup/teardown */ +void ao_initialize(void); +void ao_shutdown(void); + +/* device setup/playback/teardown */ +int ao_append_global_option(const char *key, + const char *value); +int ao_append_option(ao_option **options, + const char *key, + const char *value); +void ao_free_options(ao_option *options); + +char* ao_get_option(ao_option *options, const char* key); + +ao_device* ao_open_live(int driver_id, + ao_sample_format *format, + ao_option *option); +ao_device* ao_open_file(int driver_id, + const char *filename, + int overwrite, + ao_sample_format *format, + ao_option *option); + +int ao_play(ao_device *device, + char *output_samples, + uint32_t num_bytes); +int ao_close(ao_device *device); + +/* driver information */ +int ao_driver_id(const char *short_name); +int ao_default_driver_id(void); +ao_info *ao_driver_info(int driver_id); +ao_info **ao_driver_info_list(int *driver_count); +char *ao_file_extension(int driver_id); + +/* miscellaneous */ +int ao_is_big_endian(void); + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __AO_H__ */ + +extern struct AudioOutput g_ao; +struct AudioOutput + { + void (*ao_initialize)(void); + int (*ao_play)(ao_device *, char *, uint32_t); + int (*ao_default_driver_id)(void); + ao_device* (*ao_open_live)( int, ao_sample_format *, ao_option *); + int (*ao_close)(ao_device *); + /* -- Device Setup/Playback/Teardown -- */ + int (*ao_append_option)(ao_option **, const char *, const char *); + void (*ao_free_options)(ao_option *); + char* (*ao_get_option)(ao_option *, const char* ); + void (*ao_set_metadata)(const char *buffer, unsigned int size); + void (*ao_set_metadata_coverart)(const char *buffer, unsigned int size); + }; diff --git a/usr/local/include/shairport/shairport.h b/usr/local/include/shairport/shairport.h new file mode 100644 index 000000000..777483ec6 --- /dev/null +++ b/usr/local/include/shairport/shairport.h @@ -0,0 +1,86 @@ +#ifndef __SHAIRPORT_H__ +#define __SHAIRPORT_H__ + +#include +#include +#include +#include +#include +#include +#include "socketlib.h" +#include +#include +#include +#include "ao.h" + + +#define HWID_SIZE 6 +#define SHAIRPORT_LOG 1 + +#ifndef LOG_INFO +#define LOG_INFO 5 +#endif + +#ifndef LOG_DEBUG +#define LOG_DEBUG 6 +#endif + +#define LOG_DEBUG_V 7 +#define LOG_DEBUG_VV 8 + +struct shairbuffer +{ + char *data; + int current; + int maxsize; + int marker; +}; + +struct keyring +{ + char *aeskey; + char *aesiv; + char *fmt; +}; + +struct comms +{ + int in[2]; + int out[2]; +}; + +struct connection +{ + struct shairbuffer recv; + struct shairbuffer resp; + struct keyring *keys; // Does not point to malloc'd memory. +#ifndef XBMC + struct comms *hairtunes; +#endif + int clientSocket; + char *password; +}; + +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ + +struct printfPtr +{ + int (*extprintf)(const char* msg, size_t msgSize); +}; + +int shairport_main(int argc, char **argv); +void shairport_exit(void); +int shairport_loop(void); +int shairport_is_running(void); +void shairport_set_ao(struct AudioOutput *ao); +void shairport_set_printf(struct printfPtr *funcPtr); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif + diff --git a/usr/local/include/shairport/socketlib.h b/usr/local/include/shairport/socketlib.h new file mode 100644 index 000000000..b66b56bd2 --- /dev/null +++ b/usr/local/include/shairport/socketlib.h @@ -0,0 +1,39 @@ +/* Name: M. Andrew Webster + * Based on stevens networking book + * Description: function prototypes for socket library + */ + +#ifndef _SOCKETLIB_H +#define _SOCKETLIB_H + +#include +#include +#include +#include +#include + + +#define MAX_SIZE 8192 +#define PORT 5000 +#define RETRY_COUNT 7 +#define SERVLEN 80 +#define RETRY_DELAY 1000 + +#define ERROR -1 +#define DEFAULT_IP "127.0.0.1" +#define DEFAULT_UNIX "/unix" + +int setup_client(struct addrinfo *server_info); +int setup_server(struct addrinfo *server_address); +int setupListenServer(struct addrinfo **pAddrInfo, int pPort); +int acceptClient(int pSock, struct addrinfo *server_addr); +void delay(long pMillisecs, struct timeval *pRes); +int getAddr(char *pHostname, char *pService, int pFamily, int pSockType, struct addrinfo **pAddrInfo); + +// All calls to decode and encode need to be freed +char *decode_base64(unsigned char *input, int length, int *tActualLength); +// All calls to decode and encode need to be freed +char *encode_base64(unsigned char *input, int length); + + +#endif diff --git a/usr/local/include/taglib/aifffile.h b/usr/local/include/taglib/aifffile.h new file mode 100644 index 000000000..e1284db08 --- /dev/null +++ b/usr/local/include/taglib/aifffile.h @@ -0,0 +1,125 @@ +/*************************************************************************** + copyright : (C) 2008 by Scott Wheeler + email : wheeler@kde.org +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_AIFFFILE_H +#define TAGLIB_AIFFFILE_H + +#include "rifffile.h" +#include "id3v2tag.h" +#include "aiffproperties.h" + +namespace TagLib { + + namespace RIFF { + + //! An implementation of AIFF metadata + + /*! + * This is implementation of AIFF metadata. + * + * This supports an ID3v2 tag as well as reading stream from the ID3 RIFF + * chunk as well as properties from the file. + */ + + namespace AIFF { + + //! An implementation of TagLib::File with AIFF specific methods + + /*! + * This implements and provides an interface for AIFF files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to AIFF files. + */ + + class TAGLIB_EXPORT File : public TagLib::RIFF::File + { + public: + /*! + * Contructs an AIFF file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an AIFF file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the Tag for this file. + */ + virtual ID3v2::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * This method forwards to ID3v2::Tag::properties(). + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * This method forwards to ID3v2::Tag::setProperties(). + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the AIFF::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Saves the file. + */ + virtual bool save(); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + + class FilePrivate; + FilePrivate *d; + }; + } + } +} + +#endif diff --git a/usr/local/include/taglib/aiffproperties.h b/usr/local/include/taglib/aiffproperties.h new file mode 100644 index 000000000..68e90b792 --- /dev/null +++ b/usr/local/include/taglib/aiffproperties.h @@ -0,0 +1,83 @@ +/*************************************************************************** + copyright : (C) 2008 by Scott Wheeler + email : wheeler@kde.org +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_AIFFPROPERTIES_H +#define TAGLIB_AIFFPROPERTIES_H + +#include "audioproperties.h" + +namespace TagLib { + + namespace RIFF { + + namespace AIFF { + + class File; + + //! An implementation of audio property reading for AIFF + + /*! + * This reads the data from an AIFF stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of AIFF::Properties with the data read from the + * ByteVector \a data. + */ + Properties(const ByteVector &data, ReadStyle style); + + /*! + * Destroys this AIFF::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + int sampleWidth() const; + uint sampleFrames() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(const ByteVector &data); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } + } +} + +#endif diff --git a/usr/local/include/taglib/apefile.h b/usr/local/include/taglib/apefile.h new file mode 100644 index 000000000..8b187f6a6 --- /dev/null +++ b/usr/local/include/taglib/apefile.h @@ -0,0 +1,201 @@ +/*************************************************************************** + copyright : (C) 2010 by Alex Novichkov + email : novichko@atnet.ru + + copyright : (C) 2006 by Lukáš Lalinský + email : lalinsky@gmail.com + (original WavPack implementation) + + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + (original MPC implementation) + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_APEFILE_H +#define TAGLIB_APEFILE_H + +#include "tfile.h" +#include "taglib_export.h" +#include "apeproperties.h" + +namespace TagLib { + + class Tag; + + namespace ID3v1 { class Tag; } + namespace APE { class Tag; } + + //! An implementation of APE metadata + + /*! + * This is implementation of APE metadata. + * + * This supports ID3v1 and APE (v1 and v2) style comments as well as reading stream + * properties from the file. + */ + + namespace APE { + + //! An implementation of TagLib::File with APE specific methods + + /*! + * This implements and provides an interface APE WavPack files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to APE files. + */ + + class TAGLIB_EXPORT File : public TagLib::File + { + public: + /*! + * This set of flags is used for various operations and is suitable for + * being OR-ed together. + */ + enum TagTypes { + //! Empty set. Matches no tag types. + NoTags = 0x0000, + //! Matches ID3v1 tags. + ID3v1 = 0x0001, + //! Matches APE tags. + APE = 0x0002, + //! Matches all tag types. + AllTags = 0xffff + }; + + /*! + * Contructs an WavPack file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an WavPack file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the Tag for this file. This will be an APE tag, an ID3v1 tag + * or a combination of the two. + */ + virtual TagLib::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * If the file contains both an APE and an ID3v1 tag, only APE + * will be converted to the PropertyMap. + */ + PropertyMap properties() const; + + /*! + * Removes unsupported properties. Forwards to the actual Tag's + * removeUnsupportedProperties() function. + */ + void removeUnsupportedProperties(const StringList &properties); + + /*! + * Implements the unified property interface -- import function. + * As for the export, only one tag is taken into account. If the file + * has no tag at all, APE will be created. + */ + PropertyMap setProperties(const PropertyMap &); + /*! + * Returns the APE::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Saves the file. + * + * \note According to the official Monkey's Audio SDK, an APE file + * can only have either ID3V1 or APE tags, so a parameter is used here. + */ + virtual bool save(); + + /*! + * Returns a pointer to the ID3v1 tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid ID3v1 tag. If \a create is true it will create + * an ID3v1 tag if one does not exist. If there is already an APE tag, the + * new ID3v1 tag will be placed after it. + * + * \note The Tag is still owned by the APE::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v1::Tag *ID3v1Tag(bool create = false); + + /*! + * Returns a pointer to the APE tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid APE tag. If \a create is true it will create + * a APE tag if one does not exist. + * + * \note The Tag is still owned by the APE::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + APE::Tag *APETag(bool create = false); + + /*! + * This will remove the tags that match the OR-ed together TagTypes from the + * file. By default it removes all tags. + * + * \note This will also invalidate pointers to the tags + * as their memory will be freed. + * \note In order to make the removal permanent save() still needs to be called + */ + void strip(int tags = AllTags); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + void scan(); + long findID3v1(); + long findAPE(); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/apefooter.h b/usr/local/include/taglib/apefooter.h new file mode 100644 index 000000000..080f93006 --- /dev/null +++ b/usr/local/include/taglib/apefooter.h @@ -0,0 +1,173 @@ +/*************************************************************************** + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_APEFOOTER_H +#define TAGLIB_APEFOOTER_H + +#include "tbytevector.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace APE { + + //! An implementation of APE footers + + /*! + * This class implements APE footers (and headers). It attempts to follow, both + * semantically and programatically, the structure specified in + * the APE v2.0 standard. The API is based on the properties of APE footer and + * headers specified there. + */ + + class TAGLIB_EXPORT Footer + { + public: + /*! + * Constructs an empty APE footer. + */ + Footer(); + + /*! + * Constructs an APE footer based on \a data. parse() is called + * immediately. + */ + Footer(const ByteVector &data); + + /*! + * Destroys the footer. + */ + virtual ~Footer(); + + /*! + * Returns the version number. (Note: This is the 1000 or 2000.) + */ + uint version() const; + + /*! + * Returns true if a header is present in the tag. + */ + bool headerPresent() const; + + /*! + * Returns true if a footer is present in the tag. + */ + bool footerPresent() const; + + /*! + * Returns true this is actually the header. + */ + bool isHeader() const; + + /*! + * Sets whether the header should be rendered or not + */ + void setHeaderPresent(bool b) const; + + /*! + * Returns the number of items in the tag. + */ + uint itemCount() const; + + /*! + * Set the item count to \a s. + * \see itemCount() + */ + void setItemCount(uint s); + + /*! + * Returns the tag size in bytes. This is the size of the frame content and footer. + * The size of the \e entire tag will be this plus the header size, if present. + * + * \see completeTagSize() + */ + uint tagSize() const; + + /*! + * Returns the tag size, including if present, the header + * size. + * + * \see tagSize() + */ + uint completeTagSize() const; + + /*! + * Set the tag size to \a s. + * \see tagSize() + */ + void setTagSize(uint s); + + /*! + * Returns the size of the footer. Presently this is always 32 bytes. + */ + static uint size(); + + /*! + * Returns the string used to identify an APE tag inside of a file. + * Presently this is always "APETAGEX". + */ + static ByteVector fileIdentifier(); + + /*! + * Sets the data that will be used as the footer. 32 bytes, + * starting from \a data will be used. + */ + void setData(const ByteVector &data); + + /*! + * Renders the footer back to binary format. + */ + ByteVector renderFooter() const; + + /*! + * Renders the header corresponding to the footer. If headerPresent is + * set to false, it returns an empty ByteVector. + */ + ByteVector renderHeader() const; + + protected: + /*! + * Called by setData() to parse the footer data. It makes this information + * available through the public API. + */ + void parse(const ByteVector &data); + + /*! + * Called by renderFooter and renderHeader + */ + ByteVector render(bool isHeader) const; + + private: + Footer(const Footer &); + Footer &operator=(const Footer &); + + class FooterPrivate; + FooterPrivate *d; + }; + + } +} + +#endif diff --git a/usr/local/include/taglib/apeitem.h b/usr/local/include/taglib/apeitem.h new file mode 100644 index 000000000..f7fd05e3c --- /dev/null +++ b/usr/local/include/taglib/apeitem.h @@ -0,0 +1,217 @@ +/*************************************************************************** + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_APEITEM_H +#define TAGLIB_APEITEM_H + +#include "tbytevector.h" +#include "tstring.h" +#include "tstringlist.h" + +namespace TagLib { + + namespace APE { + + //! An implementation of APE-items + + /*! + * This class provides the features of items in the APEv2 standard. + */ + class TAGLIB_EXPORT Item + { + public: + /*! + * Enum of types an Item can have. The value of 3 is reserved. + */ + enum ItemTypes { + //! Item contains text information coded in UTF-8 + Text = 0, + //! Item contains binary information + Binary = 1, + //! Item is a locator of external stored information + Locator = 2 + }; + /*! + * Constructs an empty item. + */ + Item(); + + /*! + * Constructs a text item with \a key and \a value. + */ + // BIC: Remove this, StringList has a constructor from a single string + Item(const String &key, const String &value); + + /*! + * Constructs a text item with \a key and \a values. + */ + Item(const String &key, const StringList &values); + + /*! + * Constructs an item with \a key and \a value. + * If \a binary is true a Binary item will be created, otherwise \a value will be interpreted as text + */ + Item(const String &key, const ByteVector &value, bool binary); + + /*! + * Construct an item as a copy of \a item. + */ + Item(const Item &item); + + /*! + * Destroys the item. + */ + virtual ~Item(); + + /*! + * Copies the contents of \a item into this item. + */ + Item &operator=(const Item &item); + + /*! + * Returns the key. + */ + String key() const; + + /*! + * Returns the binary value. + * If the item type is not \a Binary, the returned contents are undefined + */ + ByteVector binaryData() const; + + /*! + * Set the binary value to \a value + * The item's type will also be set to \a Binary + */ + void setBinaryData(const ByteVector &value); + +#ifndef DO_NOT_DOCUMENT + /* Remove in next binary incompatible release */ + ByteVector value() const; +#endif + + /*! + * Sets the key for the item to \a key. + */ + void setKey(const String &key); + + /*! + * Sets the text value of the item to \a value and clears any previous contents. + * + * \see toString() + */ + void setValue(const String &value); + + /*! + * Sets the text value of the item to the list of values in \a value and clears + * any previous contents. + * + * \see toStringList() + */ + void setValues(const StringList &values); + + /*! + * Appends \a value to create (or extend) the current list of text values. + * + * \see toString() + */ + void appendValue(const String &value); + + /*! + * Appends \a values to extend the current list of text values. + * + * \see toStringList() + */ + void appendValues(const StringList &values); + + /*! + * Returns the size of the full item. + */ + int size() const; + + /*! + * Returns the value as a single string. In case of multiple strings, + * the first is returned. + */ + String toString() const; + +#ifndef DO_NOT_DOCUMENT + /* Remove in next binary incompatible release */ + StringList toStringList() const; +#endif + + /*! + * Returns the list of text values. + */ + StringList values() const; + + /*! + * Render the item to a ByteVector. + */ + ByteVector render() const; + + /*! + * Parse the item from the ByteVector \a data. + */ + void parse(const ByteVector& data); + + /*! + * Set the item to read-only. + */ + void setReadOnly(bool readOnly); + + /*! + * Return true if the item is read-only. + */ + bool isReadOnly() const; + + /*! + * Sets the type of the item to \a type. + * + * \see ItemTypes + */ + void setType(ItemTypes type); + + /*! + * Returns the type of the item. + */ + ItemTypes type() const; + + /*! + * Returns if the item has any real content. + */ + bool isEmpty() const; + + private: + class ItemPrivate; + ItemPrivate *d; + }; + } + +} + +#endif + + diff --git a/usr/local/include/taglib/apeproperties.h b/usr/local/include/taglib/apeproperties.h new file mode 100644 index 000000000..f154ec342 --- /dev/null +++ b/usr/local/include/taglib/apeproperties.h @@ -0,0 +1,99 @@ +/*************************************************************************** + copyright : (C) 2010 by Alex Novichkov + email : novichko@atnet.ru + + copyright : (C) 2006 by Lukáš Lalinský + email : lalinsky@gmail.com + (original WavPack implementation) + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_APEPROPERTIES_H +#define TAGLIB_APEPROPERTIES_H + +#include "taglib_export.h" +#include "audioproperties.h" + +namespace TagLib { + + namespace APE { + + class File; + + //! An implementation of audio property reading for APE + + /*! + * This reads the data from an APE stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of APE::Properties with the data read from the + * ByteVector \a data. + */ + Properties(File *f, ReadStyle style = Average); + + /*! + * Destroys this APE::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * Returns number of bits per sample. + */ + int bitsPerSample() const; + uint sampleFrames() const; + + /*! + * Returns APE version. + */ + int version() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(); + + long findDescriptor(); + long findID3v2(); + + void analyzeCurrent(); + void analyzeOld(); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/apetag.h b/usr/local/include/taglib/apetag.h new file mode 100644 index 000000000..c1f12e296 --- /dev/null +++ b/usr/local/include/taglib/apetag.h @@ -0,0 +1,208 @@ +/*************************************************************************** + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_APETAG_H +#define TAGLIB_APETAG_H + +#include "tag.h" +#include "tbytevector.h" +#include "tmap.h" +#include "tstring.h" +#include "taglib_export.h" + +#include "apeitem.h" + +namespace TagLib { + + class File; + + //! An implementation of the APE tagging format + + namespace APE { + + class Footer; + + /*! + * A mapping between a list of item names, or keys, and the associated item. + * + * \see APE::Tag::itemListMap() + */ + typedef Map ItemListMap; + + + //! An APE tag implementation + + class TAGLIB_EXPORT Tag : public TagLib::Tag + { + public: + /*! + * Create an APE tag with default values. + */ + Tag(); + + /*! + * Create an APE tag and parse the data in \a file with APE footer at + * \a tagOffset. + */ + Tag(TagLib::File *file, long footerLocation); + + /*! + * Destroys this Tag instance. + */ + virtual ~Tag(); + + /*! + * Renders the in memory values to a ByteVector suitable for writing to + * the file. + */ + ByteVector render() const; + + /*! + * Returns the string "APETAGEX" suitable for usage in locating the tag in a + * file. + */ + static ByteVector fileIdentifier(); + + // Reimplementations. + + virtual String title() const; + virtual String artist() const; + virtual String album() const; + virtual String comment() const; + virtual String genre() const; + virtual uint year() const; + virtual uint track() const; + + virtual void setTitle(const String &s); + virtual void setArtist(const String &s); + virtual void setAlbum(const String &s); + virtual void setComment(const String &s); + virtual void setGenre(const String &s); + virtual void setYear(uint i); + virtual void setTrack(uint i); + + /*! + * Implements the unified tag dictionary interface -- export function. + * APE tags are perfectly compatible with the dictionary interface because they + * support both arbitrary tag names and multiple values. Currently only + * APE items of type *Text* are handled by the dictionary interface; all *Binary* + * and *Locator* items will be put into the unsupportedData list and can be + * deleted on request using removeUnsupportedProperties(). The same happens + * to Text items if their key is invalid for PropertyMap (which should actually + * never happen). + * + * The only conversion done by this export function is to rename the APE tags + * TRACK to TRACKNUMBER, YEAR to DATE, and ALBUM ARTIST to ALBUMARTIST, respectively, + * in order to be compliant with the names used in other formats. + */ + PropertyMap properties() const; + + void removeUnsupportedProperties(const StringList &properties); + + /*! + * Implements the unified tag dictionary interface -- import function. The same + * comments as for the export function apply; additionally note that the APE tag + * specification requires keys to have between 2 and 16 printable ASCII characters + * with the exception of the fixed strings "ID3", "TAG", "OGGS", and "MP+". + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Check if the given String is a valid APE tag key. + */ + static bool checkKey(const String&); + + /*! + * Returns a pointer to the tag's footer. + */ + Footer *footer() const; + + /*! + * Returns a reference to the item list map. This is an ItemListMap of + * all of the items in the tag. + * + * This is the most powerfull structure for accessing the items of the tag. + * + * APE tags are case-insensitive, all keys in this map have been converted + * to upper case. + * + * \warning You should not modify this data structure directly, instead + * use setItem() and removeItem(). + */ + const ItemListMap &itemListMap() const; + + /*! + * Removes the \a key item from the tag + */ + void removeItem(const String &key); + + /*! + * Adds to the text item specified by \a key the data \a value. If \a replace + * is true, then all of the other values on the same key will be removed + * first. If a binary item exists for \a key it will be removed first. + */ + void addValue(const String &key, const String &value, bool replace = true); + + /*! + * Set the binary data for the key specified by \a item to \a value + * This will convert the item to type \a Binary if it isn't already and + * all of the other values on the same key will be removed. + */ + void setData(const String &key, const ByteVector &value); + + /*! + * Sets the \a key item to the value of \a item. If an item with the \a key is already + * present, it will be replaced. + */ + void setItem(const String &key, const Item &item); + + /*! + * Returns true if the tag does not contain any data. + */ + bool isEmpty() const; + + protected: + + /*! + * Reads from the file specified in the constructor. + */ + void read(); + + /*! + * Parses the body of the tag in \a data. + */ + void parse(const ByteVector &data); + + private: + Tag(const Tag &); + Tag &operator=(const Tag &); + + class TagPrivate; + TagPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/asfattribute.h b/usr/local/include/taglib/asfattribute.h new file mode 100644 index 000000000..54eb0c7d1 --- /dev/null +++ b/usr/local/include/taglib/asfattribute.h @@ -0,0 +1,203 @@ +/************************************************************************** + copyright : (C) 2005-2007 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ASFATTRIBUTE_H +#define TAGLIB_ASFATTRIBUTE_H + +#include "tstring.h" +#include "tbytevector.h" +#include "taglib_export.h" +#include "asfpicture.h" + +namespace TagLib +{ + + namespace ASF + { + + class File; + class Picture; + + class TAGLIB_EXPORT Attribute + { + public: + + /*! + * Enum of types an Attribute can have. + */ + enum AttributeTypes { + UnicodeType = 0, + BytesType = 1, + BoolType = 2, + DWordType = 3, + QWordType = 4, + WordType = 5, + GuidType = 6 + }; + + /*! + * Constructs an empty attribute. + */ + Attribute(); + + /*! + * Constructs an attribute with \a key and a UnicodeType \a value. + */ + Attribute(const String &value); + + /*! + * Constructs an attribute with \a key and a BytesType \a value. + */ + Attribute(const ByteVector &value); + + /*! + * Constructs an attribute with \a key and a Picture \a value. + * + * This attribute is compatible with the ID3 frame, APIC. The ID3 specification for the APIC frame stipulates that, + * while there may be any number of APIC frames associated with a file, + * only one may be of type 1 and only one may be of type 2. + * + * The specification also states that the description of the picture can be no longer than 64 characters, but can be empty. + * WM/Picture attributes added with TagLib::ASF are not automatically validated to conform to ID3 specifications. + * You must add code in your application to perform validations if you want to maintain complete compatibility with ID3. + */ + Attribute(const Picture &value); + + /*! + * Constructs an attribute with \a key and a DWordType \a value. + */ + Attribute(unsigned int value); + + /*! + * Constructs an attribute with \a key and a QWordType \a value. + */ + Attribute(unsigned long long value); + + /*! + * Constructs an attribute with \a key and a WordType \a value. + */ + Attribute(unsigned short value); + + /*! + * Constructs an attribute with \a key and a BoolType \a value. + */ + Attribute(bool value); + + /*! + * Construct an attribute as a copy of \a other. + */ + Attribute(const Attribute &item); + + /*! + * Copies the contents of \a other into this item. + */ + ASF::Attribute &operator=(const Attribute &other); + + /*! + * Destroys the attribute. + */ + virtual ~Attribute(); + + /*! + * Returns type of the value. + */ + AttributeTypes type() const; + + /*! + * Returns the BoolType \a value. + */ + unsigned short toBool() const; + + /*! + * Returns the WordType \a value. + */ + unsigned short toUShort() const; + + /*! + * Returns the DWordType \a value. + */ + unsigned int toUInt() const; + + /*! + * Returns the QWordType \a value. + */ + unsigned long long toULongLong() const; + + /*! + * Returns the UnicodeType \a value. + */ + String toString() const; + + /*! + * Returns the BytesType \a value. + */ + ByteVector toByteVector() const; + + /*! + * Returns the Picture \a value. + */ + Picture toPicture() const; + + /*! + * Returns the language number, or 0 is no stream number was set. + */ + int language() const; + + /*! + * Sets the language number. + */ + void setLanguage(int value); + + /*! + * Returns the stream number, or 0 is no stream number was set. + */ + int stream() const; + + /*! + * Sets the stream number. + */ + void setStream(int value); + +#ifndef DO_NOT_DOCUMENT + /* THIS IS PRIVATE, DON'T TOUCH IT! */ + String parse(ASF::File &file, int kind = 0); +#endif + + //! Returns the size of the stored data + int dataSize() const; + + private: + friend class File; + + ByteVector render(const String &name, int kind = 0) const; + + class AttributePrivate; + AttributePrivate *d; + }; + } + +} + +#endif diff --git a/usr/local/include/taglib/asffile.h b/usr/local/include/taglib/asffile.h new file mode 100644 index 000000000..3a7eef565 --- /dev/null +++ b/usr/local/include/taglib/asffile.h @@ -0,0 +1,136 @@ +/************************************************************************** + copyright : (C) 2005-2007 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ASFFILE_H +#define TAGLIB_ASFFILE_H + +#include "tag.h" +#include "tfile.h" +#include "taglib_export.h" +#include "asfproperties.h" +#include "asftag.h" + +namespace TagLib { + + //! An implementation of ASF (WMA) metadata + namespace ASF { + + /*! + * This implements and provides an interface for ASF files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to ASF files. + */ + class TAGLIB_EXPORT File : public TagLib::File + { + public: + + /*! + * Contructs an ASF file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note In the current implementation, both \a readProperties and + * \a propertiesStyle are ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(FileName file, bool readProperties = true, Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an ASF file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note In the current implementation, both \a readProperties and + * \a propertiesStyle are ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns a pointer to the ASF tag of the file. + * + * ASF::Tag implements the tag interface, so this serves as the + * reimplementation of TagLib::File::tag(). + * + * \note The Tag is still owned by the ASF::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + virtual Tag *tag() const; + + /*! + * Returns the ASF audio properties for this file. + */ + virtual Properties *audioProperties() const; + + /*! + * Save the file. + * + * This returns true if the save was successful. + */ + virtual bool save(); + + private: + + int readBYTE(bool *ok = 0); + int readWORD(bool *ok = 0); + unsigned int readDWORD(bool *ok = 0); + long long readQWORD(bool *ok = 0); + static ByteVector renderString(const String &str, bool includeLength = false); + String readString(int len); + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + + friend class Attribute; + friend class Picture; + + class BaseObject; + class UnknownObject; + class FilePropertiesObject; + class StreamPropertiesObject; + class ContentDescriptionObject; + class ExtendedContentDescriptionObject; + class HeaderExtensionObject; + class MetadataObject; + class MetadataLibraryObject; + + class FilePrivate; + FilePrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/asfpicture.h b/usr/local/include/taglib/asfpicture.h new file mode 100644 index 000000000..aa0a060c1 --- /dev/null +++ b/usr/local/include/taglib/asfpicture.h @@ -0,0 +1,217 @@ +/************************************************************************** + copyright : (C) 2010 by Anton Sergunov + email : setosha@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef ASFPICTURE_H +#define ASFPICTURE_H + +#include "tstring.h" +#include "tbytevector.h" +#include "taglib_export.h" +#include "attachedpictureframe.h" + +namespace TagLib +{ + namespace ASF + { + + //! An ASF attached picture interface implementation + + /*! + * This is an implementation of ASF attached pictures interface. Pictures may be + * included in attributes, one per WM/Picture attribute (but there may be multiple WM/Picture + * attribute in a single tag). These pictures are usually in either JPEG or + * PNG format. + * \see Attribute::toPicture() + * \see Attribute::Attribute(const Picture& picture) + */ + class TAGLIB_EXPORT Picture { + public: + + /*! + * This describes the function or content of the picture. + */ + enum Type { + //! A type not enumerated below + Other = 0x00, + //! 32x32 PNG image that should be used as the file icon + FileIcon = 0x01, + //! File icon of a different size or format + OtherFileIcon = 0x02, + //! Front cover image of the album + FrontCover = 0x03, + //! Back cover image of the album + BackCover = 0x04, + //! Inside leaflet page of the album + LeafletPage = 0x05, + //! Image from the album itself + Media = 0x06, + //! Picture of the lead artist or soloist + LeadArtist = 0x07, + //! Picture of the artist or performer + Artist = 0x08, + //! Picture of the conductor + Conductor = 0x09, + //! Picture of the band or orchestra + Band = 0x0A, + //! Picture of the composer + Composer = 0x0B, + //! Picture of the lyricist or text writer + Lyricist = 0x0C, + //! Picture of the recording location or studio + RecordingLocation = 0x0D, + //! Picture of the artists during recording + DuringRecording = 0x0E, + //! Picture of the artists during performance + DuringPerformance = 0x0F, + //! Picture from a movie or video related to the track + MovieScreenCapture = 0x10, + //! Picture of a large, coloured fish + ColouredFish = 0x11, + //! Illustration related to the track + Illustration = 0x12, + //! Logo of the band or performer + BandLogo = 0x13, + //! Logo of the publisher (record company) + PublisherLogo = 0x14 + }; + + /*! + * Constructs an empty picture. + */ + Picture(); + + /*! + * Construct an picture as a copy of \a other. + */ + Picture(const Picture& other); + + /*! + * Destroys the picture. + */ + virtual ~Picture(); + + /*! + * Copies the contents of \a other into this picture. + */ + Picture& operator=(const Picture& other); + + /*! + * Returns true if Picture stores valid picture + */ + bool isValid() const; + + /*! + * Returns the mime type of the image. This should in most cases be + * "image/png" or "image/jpeg". + * \see setMimeType(const String &) + * \see picture() + * \see setPicture(const ByteArray&) + */ + String mimeType() const; + + /*! + * Sets the mime type of the image. This should in most cases be + * "image/png" or "image/jpeg". + * \see setMimeType(const String &) + * \see picture() + * \see setPicture(const ByteArray&) + */ + void setMimeType(const String &value); + + /*! + * Returns the type of the image. + * + * \see Type + * \see setType() + */ + Type type() const; + + /*! + * Sets the type for the image. + * + * \see Type + * \see type() + */ + void setType(const ASF::Picture::Type& t); + + /*! + * Returns a text description of the image. + * + * \see setDescription() + */ + String description() const; + + /*! + * Sets a textual description of the image to \a desc. + * + * \see description() + */ + void setDescription(const String &desc); + + /*! + * Returns the image data as a ByteVector. + * + * \note ByteVector has a data() method that returns a const char * which + * should make it easy to export this data to external programs. + * + * \see setPicture() + * \see mimeType() + */ + ByteVector picture() const; + + /*! + * Sets the image data to \a p. \a p should be of the type specified in + * this frame's mime-type specification. + * + * \see picture() + * \see mimeType() + * \see setMimeType() + */ + void setPicture(const ByteVector &p); + + /*! + * Returns picture as binary raw data \a value + */ + ByteVector render() const; + + /*! + * Returns picture as binary raw data \a value + */ + int dataSize() const; + +#ifndef DO_NOT_DOCUMENT + /* THIS IS PRIVATE, DON'T TOUCH IT! */ + void parse(const ByteVector& ); + static Picture fromInvalid(); + friend class Attribute; +#endif + private: + class PicturePrivate; + PicturePrivate *d; + }; + } +} + +#endif // ASFPICTURE_H diff --git a/usr/local/include/taglib/asfproperties.h b/usr/local/include/taglib/asfproperties.h new file mode 100644 index 000000000..95730d8ea --- /dev/null +++ b/usr/local/include/taglib/asfproperties.h @@ -0,0 +1,76 @@ +/************************************************************************** + copyright : (C) 2005-2007 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ASFPROPERTIES_H +#define TAGLIB_ASFPROPERTIES_H + +#include "audioproperties.h" +#include "tstring.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ASF { + + //! An implementation of ASF audio properties + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + + /*! + * Create an instance of ASF::Properties. + */ + Properties(); + + /*! + * Destroys this ASF::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + bool isEncrypted() const; + +#ifndef DO_NOT_DOCUMENT + void setLength(int value); + void setBitrate(int value); + void setSampleRate(int value); + void setChannels(int value); + void setEncrypted(bool value); +#endif + + private: + class PropertiesPrivate; + PropertiesPrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/asftag.h b/usr/local/include/taglib/asftag.h new file mode 100644 index 000000000..6b2d2bf35 --- /dev/null +++ b/usr/local/include/taglib/asftag.h @@ -0,0 +1,186 @@ +/************************************************************************** + copyright : (C) 2005-2007 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ASFTAG_H +#define TAGLIB_ASFTAG_H + +#include "tag.h" +#include "tlist.h" +#include "tmap.h" +#include "taglib_export.h" +#include "asfattribute.h" + +namespace TagLib { + + namespace ASF { + + typedef List AttributeList; + typedef Map AttributeListMap; + + class TAGLIB_EXPORT Tag : public TagLib::Tag { + + friend class File; + + public: + + Tag(); + + virtual ~Tag(); + + /*! + * Returns the track name. + */ + virtual String title() const; + + /*! + * Returns the artist name. + */ + virtual String artist() const; + + /*! + * Returns the album name; if no album name is present in the tag + * String::null will be returned. + */ + virtual String album() const; + + /*! + * Returns the track comment. + */ + virtual String comment() const; + + /*! + * Returns the genre name; if no genre is present in the tag String::null + * will be returned. + */ + virtual String genre() const; + + /*! + * Returns the rating. + */ + virtual String rating() const; + + /*! + * Returns the genre name; if no genre is present in the tag String::null + * will be returned. + */ + virtual String copyright() const; + + /*! + * Returns the year; if there is no year set, this will return 0. + */ + virtual uint year() const; + + /*! + * Returns the track number; if there is no track number set, this will + * return 0. + */ + virtual uint track() const; + + /*! + * Sets the title to \a s. + */ + virtual void setTitle(const String &s); + + /*! + * Sets the artist to \a s. + */ + virtual void setArtist(const String &s); + + /*! + * Sets the album to \a s. If \a s is String::null then this value will be + * cleared. + */ + virtual void setAlbum(const String &s); + + /*! + * Sets the comment to \a s. + */ + virtual void setComment(const String &s); + + /*! + * Sets the rating to \a s. + */ + virtual void setRating(const String &s); + + /*! + * Sets the copyright to \a s. + */ + virtual void setCopyright(const String &s); + + /*! + * Sets the genre to \a s. + */ + virtual void setGenre(const String &s); + + /*! + * Sets the year to \a i. If \a s is 0 then this value will be cleared. + */ + virtual void setYear(uint i); + + /*! + * Sets the track to \a i. If \a s is 0 then this value will be cleared. + */ + virtual void setTrack(uint i); + + /*! + * Returns true if the tag does not contain any data. This should be + * reimplemented in subclasses that provide more than the basic tagging + * abilities in this class. + */ + virtual bool isEmpty() const; + + /*! + * Returns a reference to the item list map. This is an AttributeListMap of + * all of the items in the tag. + * + * This is the most powerfull structure for accessing the items of the tag. + */ + AttributeListMap &attributeListMap(); + + /*! + * Removes the \a key attribute from the tag + */ + void removeItem(const String &name); + + /*! + * Sets the \a key attribute to the value of \a attribute. If an attribute + * with the \a key is already present, it will be replaced. + */ + void setAttribute(const String &name, const Attribute &attribute); + + /*! + * Sets the \a key attribute to the value of \a attribute. If an attribute + * with the \a key is already present, it will be added to the list. + */ + void addAttribute(const String &name, const Attribute &attribute); + + private: + + class TagPrivate; + TagPrivate *d; + }; + } +} +#endif diff --git a/usr/local/include/taglib/attachedpictureframe.h b/usr/local/include/taglib/attachedpictureframe.h new file mode 100644 index 000000000..55067bd2d --- /dev/null +++ b/usr/local/include/taglib/attachedpictureframe.h @@ -0,0 +1,230 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ATTACHEDPICTUREFRAME_H +#define TAGLIB_ATTACHEDPICTUREFRAME_H + +#include "id3v2frame.h" +#include "id3v2header.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! An ID3v2 attached picture frame implementation + + /*! + * This is an implementation of ID3v2 attached pictures. Pictures may be + * included in tags, one per APIC frame (but there may be multiple APIC + * frames in a single tag). These pictures are usually in either JPEG or + * PNG format. + */ + + class TAGLIB_EXPORT AttachedPictureFrame : public Frame + { + friend class FrameFactory; + + public: + + /*! + * This describes the function or content of the picture. + */ + enum Type { + //! A type not enumerated below + Other = 0x00, + //! 32x32 PNG image that should be used as the file icon + FileIcon = 0x01, + //! File icon of a different size or format + OtherFileIcon = 0x02, + //! Front cover image of the album + FrontCover = 0x03, + //! Back cover image of the album + BackCover = 0x04, + //! Inside leaflet page of the album + LeafletPage = 0x05, + //! Image from the album itself + Media = 0x06, + //! Picture of the lead artist or soloist + LeadArtist = 0x07, + //! Picture of the artist or performer + Artist = 0x08, + //! Picture of the conductor + Conductor = 0x09, + //! Picture of the band or orchestra + Band = 0x0A, + //! Picture of the composer + Composer = 0x0B, + //! Picture of the lyricist or text writer + Lyricist = 0x0C, + //! Picture of the recording location or studio + RecordingLocation = 0x0D, + //! Picture of the artists during recording + DuringRecording = 0x0E, + //! Picture of the artists during performance + DuringPerformance = 0x0F, + //! Picture from a movie or video related to the track + MovieScreenCapture = 0x10, + //! Picture of a large, coloured fish + ColouredFish = 0x11, + //! Illustration related to the track + Illustration = 0x12, + //! Logo of the band or performer + BandLogo = 0x13, + //! Logo of the publisher (record company) + PublisherLogo = 0x14 + }; + + /*! + * Constructs an empty picture frame. The description, content and text + * encoding should be set manually. + */ + AttachedPictureFrame(); + + /*! + * Constructs an AttachedPicture frame based on \a data. + */ + explicit AttachedPictureFrame(const ByteVector &data); + + /*! + * Destroys the AttahcedPictureFrame instance. + */ + virtual ~AttachedPictureFrame(); + + /*! + * Returns a string containing the description and mime-type + */ + virtual String toString() const; + + /*! + * Returns the text encoding used for the description. + * + * \see setTextEncoding() + * \see description() + */ + String::Type textEncoding() const; + + /*! + * Set the text encoding used for the description. + * + * \see description() + */ + void setTextEncoding(String::Type t); + + /*! + * Returns the mime type of the image. This should in most cases be + * "image/png" or "image/jpeg". + */ + String mimeType() const; + + /*! + * Sets the mime type of the image. This should in most cases be + * "image/png" or "image/jpeg". + */ + void setMimeType(const String &m); + + /*! + * Returns the type of the image. + * + * \see Type + * \see setType() + */ + Type type() const; + + /*! + * Sets the type for the image. + * + * \see Type + * \see type() + */ + void setType(Type t); + + /*! + * Returns a text description of the image. + * + * \see setDescription() + * \see textEncoding() + * \see setTextEncoding() + */ + + String description() const; + + /*! + * Sets a textual description of the image to \a desc. + * + * \see description() + * \see textEncoding() + * \see setTextEncoding() + */ + + void setDescription(const String &desc); + + /*! + * Returns the image data as a ByteVector. + * + * \note ByteVector has a data() method that returns a const char * which + * should make it easy to export this data to external programs. + * + * \see setPicture() + * \see mimeType() + */ + ByteVector picture() const; + + /*! + * Sets the image data to \a p. \a p should be of the type specified in + * this frame's mime-type specification. + * + * \see picture() + * \see mimeType() + * \see setMimeType() + */ + void setPicture(const ByteVector &p); + + protected: + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + class AttachedPictureFramePrivate; + AttachedPictureFramePrivate *d; + + private: + AttachedPictureFrame(const AttachedPictureFrame &); + AttachedPictureFrame &operator=(const AttachedPictureFrame &); + AttachedPictureFrame(const ByteVector &data, Header *h); + + }; + + //! support for ID3v2.2 PIC frames + class TAGLIB_EXPORT AttachedPictureFrameV22 : public AttachedPictureFrame + { + protected: + virtual void parseFields(const ByteVector &data); + private: + AttachedPictureFrameV22(const ByteVector &data, Header *h); + friend class FrameFactory; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/audioproperties.h b/usr/local/include/taglib/audioproperties.h new file mode 100644 index 000000000..e9844fa0c --- /dev/null +++ b/usr/local/include/taglib/audioproperties.h @@ -0,0 +1,110 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_AUDIOPROPERTIES_H +#define TAGLIB_AUDIOPROPERTIES_H + +#include "taglib_export.h" + +namespace TagLib { + + //! A simple, abstract interface to common audio properties + + /*! + * The values here are common to most audio formats. For more specific, codec + * dependant values, please see see the subclasses APIs. This is meant to + * compliment the TagLib::File and TagLib::Tag APIs in providing a simple + * interface that is sufficient for most applications. + */ + + class TAGLIB_EXPORT AudioProperties + { + public: + + /*! + * Reading audio properties from a file can sometimes be very time consuming + * and for the most accurate results can often involve reading the entire + * file. Because in many situations speed is critical or the accuracy of the + * values is not particularly important this allows the level of desired + * accuracy to be set. + */ + enum ReadStyle { + //! Read as little of the file as possible + Fast, + //! Read more of the file and make better values guesses + Average, + //! Read as much of the file as needed to report accurate values + Accurate + }; + + /*! + * Destroys this AudioProperties instance. + */ + virtual ~AudioProperties(); + + /*! + * Returns the length of the file in seconds. + */ + virtual int length() const = 0; + + /*! + * Returns the most appropriate bit rate for the file in kb/s. For constant + * bitrate formats this is simply the bitrate of the file. For variable + * bitrate formats this is either the average or nominal bitrate. + */ + virtual int bitrate() const = 0; + + /*! + * Returns the sample rate in Hz. + */ + virtual int sampleRate() const = 0; + + /*! + * Returns the number of audio channels. + */ + virtual int channels() const = 0; + + protected: + + /*! + * Construct an audio properties instance. This is protected as this class + * should not be instantiated directly, but should be instantiated via its + * subclasses and can be fetched from the FileRef or File APIs. + * + * \see ReadStyle + */ + AudioProperties(ReadStyle style); + + private: + AudioProperties(const AudioProperties &); + AudioProperties &operator=(const AudioProperties &); + + class AudioPropertiesPrivate; + AudioPropertiesPrivate *d; + }; + +} + +#endif diff --git a/usr/local/include/taglib/commentsframe.h b/usr/local/include/taglib/commentsframe.h new file mode 100644 index 000000000..f65f6f01c --- /dev/null +++ b/usr/local/include/taglib/commentsframe.h @@ -0,0 +1,179 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_COMMENTSFRAME_H +#define TAGLIB_COMMENTSFRAME_H + +#include "id3v2frame.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! An implementation of ID3v2 comments + + /*! + * This implements the ID3v2 comment format. An ID3v2 comment concists of + * a language encoding, a description and a single text field. + */ + + class TAGLIB_EXPORT CommentsFrame : public Frame + { + friend class FrameFactory; + + public: + /*! + * Construct an empty comment frame that will use the text encoding + * \a encoding. + */ + explicit CommentsFrame(String::Type encoding = String::Latin1); + + /*! + * Construct a comment based on the data in \a data. + */ + explicit CommentsFrame(const ByteVector &data); + + /*! + * Destroys this CommentFrame instance. + */ + virtual ~CommentsFrame(); + + /*! + * Returns the text of this comment. + * + * \see text() + */ + virtual String toString() const; + + /*! + * Returns the language encoding as a 3 byte encoding as specified by + * ISO-639-2. + * + * \note Most taggers simply ignore this value. + * + * \see setLanguage() + */ + ByteVector language() const; + + /*! + * Returns the description of this comment. + * + * \note Most taggers simply ignore this value. + * + * \see setDescription() + */ + String description() const; + + /*! + * Returns the text of this comment. + * + * \see setText() + */ + String text() const; + + /*! + * Set the language using the 3 byte language code from + * ISO-639-2 to + * \a languageCode. + * + * \see language() + */ + void setLanguage(const ByteVector &languageCode); + + /*! + * Sets the description of the comment to \a s. + * + * \see decription() + */ + void setDescription(const String &s); + + /*! + * Sets the text portion of the comment to \a s. + * + * \see text() + */ + virtual void setText(const String &s); + + /*! + * Returns the text encoding that will be used in rendering this frame. + * This defaults to the type that was either specified in the constructor + * or read from the frame when parsed. + * + * \see setTextEncoding() + * \see render() + */ + String::Type textEncoding() const; + + /*! + * Sets the text encoding to be used when rendering this frame to + * \a encoding. + * + * \see textEncoding() + * \see render() + */ + void setTextEncoding(String::Type encoding); + + /*! + * Parses this frame as PropertyMap with a single key. + * - if description() is empty or "COMMENT", the key will be "COMMENT" + * - if description() is not a valid PropertyMap key, the frame will be + * marked unsupported by an entry "COMM/" in the unsupportedData() + * attribute of the returned map. + * - otherwise, the key will be "COMMENT:" + * - The single value will be the frame's text(). + */ + PropertyMap asProperties() const; + + /*! + * Comments each have a unique description. This searches for a comment + * frame with the decription \a d and returns a pointer to it. If no + * frame is found that matches the given description null is returned. + * + * \see description() + */ + static CommentsFrame *findByDescription(const Tag *tag, const String &d); + + protected: + // Reimplementations. + + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + /*! + * The constructor used by the FrameFactory. + */ + CommentsFrame(const ByteVector &data, Header *h); + CommentsFrame(const CommentsFrame &); + CommentsFrame &operator=(const CommentsFrame &); + + class CommentsFramePrivate; + CommentsFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/fileref.h b/usr/local/include/taglib/fileref.h new file mode 100644 index 000000000..0f0c21a4d --- /dev/null +++ b/usr/local/include/taglib/fileref.h @@ -0,0 +1,263 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_FILEREF_H +#define TAGLIB_FILEREF_H + +#include "tfile.h" +#include "tstringlist.h" + +#include "taglib_export.h" +#include "audioproperties.h" + +namespace TagLib { + + class Tag; + + //! This class provides a simple abstraction for creating and handling files + + /*! + * FileRef exists to provide a minimal, generic and value-based wrapper around + * a File. It is lightweight and implicitly shared, and as such suitable for + * pass-by-value use. This hides some of the uglier details of TagLib::File + * and the non-generic portions of the concrete file implementations. + * + * This class is useful in a "simple usage" situation where it is desirable + * to be able to get and set some of the tag information that is similar + * across file types. + * + * Also note that it is probably a good idea to plug this into your mime + * type system rather than using the constructor that accepts a file name using + * the FileTypeResolver. + * + * \see FileTypeResolver + * \see addFileTypeResolver() + */ + + class TAGLIB_EXPORT FileRef + { + public: + + //! A class for pluggable file type resolution. + + /*! + * This class is used to add extend TagLib's very basic file name based file + * type resolution. + * + * This can be accomplished with: + * + * \code + * + * class MyFileTypeResolver : FileTypeResolver + * { + * TagLib::File *createFile(TagLib::FileName *fileName, bool, AudioProperties::ReadStyle) + * { + * if(someCheckForAnMP3File(fileName)) + * return new TagLib::MPEG::File(fileName); + * return 0; + * } + * } + * + * FileRef::addFileTypeResolver(new MyFileTypeResolver); + * + * \endcode + * + * Naturally a less contrived example would be slightly more complex. This + * can be used to plug in mime-type detection systems or to add new file types + * to TagLib. + */ + + class TAGLIB_EXPORT FileTypeResolver + { + TAGLIB_IGNORE_MISSING_DESTRUCTOR + public: + /*! + * This method must be overridden to provide an additional file type + * resolver. If the resolver is able to determine the file type it should + * return a valid File object; if not it should return 0. + * + * \note The created file is then owned by the FileRef and should not be + * deleted. Deletion will happen automatically when the FileRef passes + * out of scope. + */ + virtual File *createFile(FileName fileName, + bool readAudioProperties = true, + AudioProperties::ReadStyle + audioPropertiesStyle = AudioProperties::Average) const = 0; + }; + + /*! + * Creates a null FileRef. + */ + FileRef(); + + /*! + * Create a FileRef from \a fileName. If \a readAudioProperties is true then + * the audio properties will be read using \a audioPropertiesStyle. If + * \a readAudioProperties is false then \a audioPropertiesStyle will be + * ignored. + * + * Also see the note in the class documentation about why you may not want to + * use this method in your application. + */ + explicit FileRef(FileName fileName, + bool readAudioProperties = true, + AudioProperties::ReadStyle + audioPropertiesStyle = AudioProperties::Average); + + /*! + * Contruct a FileRef using \a file. The FileRef now takes ownership of the + * pointer and will delete the File when it passes out of scope. + */ + explicit FileRef(File *file); + + /*! + * Make a copy of \a ref. + */ + FileRef(const FileRef &ref); + + /*! + * Destroys this FileRef instance. + */ + virtual ~FileRef(); + + /*! + * Returns a pointer to represented file's tag. + * + * \warning This pointer will become invalid when this FileRef and all + * copies pass out of scope. + * + * \warning Do not cast it to any subclasses of \class Tag. + * Use tag returning methods of appropriate subclasses of \class File instead. + * + * \see File::tag() + */ + Tag *tag() const; + + /*! + * Returns the audio properties for this FileRef. If no audio properties + * were read then this will returns a null pointer. + */ + AudioProperties *audioProperties() const; + + /*! + * Returns a pointer to the file represented by this handler class. + * + * As a general rule this call should be avoided since if you need to work + * with file objects directly, you are probably better served instantiating + * the File subclasses (i.e. MPEG::File) manually and working with their APIs. + * + * This handle exists to provide a minimal, generic and value-based + * wrapper around a File. Accessing the file directly generally indicates + * a moving away from this simplicity (and into things beyond the scope of + * FileRef). + * + * \warning This pointer will become invalid when this FileRef and all + * copies pass out of scope. + */ + File *file() const; + + /*! + * Saves the file. Returns true on success. + */ + bool save(); + + /*! + * Adds a FileTypeResolver to the list of those used by TagLib. Each + * additional FileTypeResolver is added to the front of a list of resolvers + * that are tried. If the FileTypeResolver returns zero the next resolver + * is tried. + * + * Returns a pointer to the added resolver (the same one that's passed in -- + * this is mostly so that static inialializers have something to use for + * assignment). + * + * \see FileTypeResolver + */ + static const FileTypeResolver *addFileTypeResolver(const FileTypeResolver *resolver); + + /*! + * As is mentioned elsewhere in this class's documentation, the default file + * type resolution code provided by TagLib only works by comparing file + * extensions. + * + * This method returns the list of file extensions that are used by default. + * + * The extensions are all returned in lowercase, though the comparison used + * by TagLib for resolution is case-insensitive. + * + * \note This does not account for any additional file type resolvers that + * are plugged in. Also note that this is not intended to replace a propper + * mime-type resolution system, but is just here for reference. + * + * \see FileTypeResolver + */ + static StringList defaultFileExtensions(); + + /*! + * Returns true if the file (and as such other pointers) are null. + */ + bool isNull() const; + + /*! + * Assign the file pointed to by \a ref to this FileRef. + */ + FileRef &operator=(const FileRef &ref); + + /*! + * Returns true if this FileRef and \a ref point to the same File object. + */ + bool operator==(const FileRef &ref) const; + + /*! + * Returns true if this FileRef and \a ref do not point to the same File + * object. + */ + bool operator!=(const FileRef &ref) const; + + /*! + * A simple implementation of file type guessing. If \a readAudioProperties + * is true then the audio properties will be read using + * \a audioPropertiesStyle. If \a readAudioProperties is false then + * \a audioPropertiesStyle will be ignored. + * + * \note You generally shouldn't use this method, but instead the constructor + * directly. + * + * \deprecated + */ + static File *create(FileName fileName, + bool readAudioProperties = true, + AudioProperties::ReadStyle audioPropertiesStyle = AudioProperties::Average); + + + private: + class FileRefPrivate; + FileRefPrivate *d; + }; + +} // namespace TagLib + +#endif diff --git a/usr/local/include/taglib/flacfile.h b/usr/local/include/taglib/flacfile.h new file mode 100644 index 000000000..716d4478c --- /dev/null +++ b/usr/local/include/taglib/flacfile.h @@ -0,0 +1,261 @@ +/*************************************************************************** + copyright : (C) 2003 by Allan Sandfeld Jensen + email : kde@carewolf.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_FLACFILE_H +#define TAGLIB_FLACFILE_H + +#include "taglib_export.h" +#include "tfile.h" +#include "tlist.h" +#include "tag.h" + +#include "flacpicture.h" +#include "flacproperties.h" + +namespace TagLib { + + class Tag; + namespace ID3v2 { class FrameFactory; class Tag; } + namespace ID3v1 { class Tag; } + namespace Ogg { class XiphComment; } + + //! An implementation of FLAC metadata + + /*! + * This is implementation of FLAC metadata for non-Ogg FLAC files. At some + * point when Ogg / FLAC is more common there will be a similar implementation + * under the Ogg hiearchy. + * + * This supports ID3v1, ID3v2 and Xiph style comments as well as reading stream + * properties from the file. + */ + + namespace FLAC { + + //! An implementation of TagLib::File with FLAC specific methods + + /*! + * This implements and provides an interface for FLAC files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to FLAC files. + */ + + class TAGLIB_EXPORT File : public TagLib::File + { + public: + /*! + * Contructs a FLAC file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \deprecated This constructor will be dropped in favor of the one below + * in a future version. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs a FLAC file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * If this file contains and ID3v2 tag the frames will be created using + * \a frameFactory. + */ + // BIC: merge with the above constructor + File(FileName file, ID3v2::FrameFactory *frameFactory, + bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs a FLAC file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * If this file contains and ID3v2 tag the frames will be created using + * \a frameFactory. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + // BIC: merge with the above constructor + File(IOStream *stream, ID3v2::FrameFactory *frameFactory, + bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the Tag for this file. This will be a union of XiphComment, + * ID3v1 and ID3v2 tags. + * + * \see ID3v2Tag() + * \see ID3v1Tag() + * \see XiphComment() + */ + virtual TagLib::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * If the file contains more than one tag (e.g. XiphComment and ID3v1), + * only the first one (in the order XiphComment, ID3v2, ID3v1) will be + * converted to the PropertyMap. + */ + PropertyMap properties() const; + + void removeUnsupportedProperties(const StringList &); + + /*! + * Implements the unified property interface -- import function. + * As with the export, only one tag is taken into account. If the file + * has no tag at all, a XiphComment will be created. + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the FLAC::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Save the file. This will primarily save the XiphComment, but + * will also keep any old ID3-tags up to date. If the file + * has no XiphComment, one will be constructed from the ID3-tags. + * + * This returns true if the save was successful. + */ + virtual bool save(); + + /*! + * Returns a pointer to the ID3v2 tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid ID3v2 tag. If \a create is true it will create + * an ID3v2 tag if one does not exist. + * + * \note The Tag is still owned by the FLAC::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v2::Tag *ID3v2Tag(bool create = false); + + /*! + * Returns a pointer to the ID3v1 tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid ID3v1 tag. If \a create is true it will create + * an ID3v1 tag if one does not exist. + * + * \note The Tag is still owned by the FLAC::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v1::Tag *ID3v1Tag(bool create = false); + + /*! + * Returns a pointer to the XiphComment for the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid XiphComment. If \a create is true it will create + * a XiphComment if one does not exist. + * + * \note The Tag is still owned by the FLAC::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + Ogg::XiphComment *xiphComment(bool create = false); + + /*! + * Set the ID3v2::FrameFactory to something other than the default. This + * can be used to specify the way that ID3v2 frames will be interpreted + * when + * + * \see ID3v2FrameFactory + */ + void setID3v2FrameFactory(const ID3v2::FrameFactory *factory); + + /*! + * Returns the block of data used by FLAC::Properties for parsing the + * stream properties. + * + * \deprecated This method will not be public in a future release. + */ + ByteVector streamInfoData(); // BIC: remove + + /*! + * Returns the length of the audio-stream, used by FLAC::Properties for + * calculating the bitrate. + * + * \deprecated This method will not be public in a future release. + */ + long streamLength(); // BIC: remove + + /*! + * Returns a list of pictures attached to the FLAC file. + */ + List pictureList(); + + /*! + * Removes an attached picture. If \a del is true the picture's memory + * will be freed; if it is false, it must be deleted by the user. + */ + void removePicture(Picture *picture, bool del = true); + + /*! + * Remove all attached images. + */ + void removePictures(); + + /*! + * Add a new picture to the file. The file takes ownership of the + * picture and will handle freeing its memory. + * + * \note The file will be saved only after calling save(). + */ + void addPicture(Picture *picture); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + void scan(); + long findID3v2(); + long findID3v1(); + ByteVector xiphCommentData() const; + long findPaddingBreak(long nextPageOffset, long targetOffset, bool *isLast); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/flacmetadatablock.h b/usr/local/include/taglib/flacmetadatablock.h new file mode 100644 index 000000000..41bca318d --- /dev/null +++ b/usr/local/include/taglib/flacmetadatablock.h @@ -0,0 +1,75 @@ +/************************************************************************** + copyright : (C) 2010 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_FLACMETADATABLOCK_H +#define TAGLIB_FLACMETADATABLOCK_H + +#include "tlist.h" +#include "tbytevector.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace FLAC { + + class TAGLIB_EXPORT MetadataBlock + { + public: + MetadataBlock(); + virtual ~MetadataBlock(); + + enum BlockType { + StreamInfo = 0, + Padding, + Application, + SeekTable, + VorbisComment, + CueSheet, + Picture + }; + + /*! + * Returns the FLAC metadata block type. + */ + virtual int code() const = 0; + + /*! + * Render the content of the block. + */ + virtual ByteVector render() const = 0; + + private: + MetadataBlock(const MetadataBlock &item); + MetadataBlock &operator=(const MetadataBlock &item); + + class MetadataBlockPrivate; + MetadataBlockPrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/flacpicture.h b/usr/local/include/taglib/flacpicture.h new file mode 100644 index 000000000..b6def57a7 --- /dev/null +++ b/usr/local/include/taglib/flacpicture.h @@ -0,0 +1,208 @@ +/************************************************************************** + copyright : (C) 2010 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_FLACPICTURE_H +#define TAGLIB_FLACPICTURE_H + +#include "tlist.h" +#include "tstring.h" +#include "tbytevector.h" +#include "taglib_export.h" +#include "flacmetadatablock.h" + +namespace TagLib { + + namespace FLAC { + + class TAGLIB_EXPORT Picture : public MetadataBlock + { + public: + + /*! + * This describes the function or content of the picture. + */ + enum Type { + //! A type not enumerated below + Other = 0x00, + //! 32x32 PNG image that should be used as the file icon + FileIcon = 0x01, + //! File icon of a different size or format + OtherFileIcon = 0x02, + //! Front cover image of the album + FrontCover = 0x03, + //! Back cover image of the album + BackCover = 0x04, + //! Inside leaflet page of the album + LeafletPage = 0x05, + //! Image from the album itself + Media = 0x06, + //! Picture of the lead artist or soloist + LeadArtist = 0x07, + //! Picture of the artist or performer + Artist = 0x08, + //! Picture of the conductor + Conductor = 0x09, + //! Picture of the band or orchestra + Band = 0x0A, + //! Picture of the composer + Composer = 0x0B, + //! Picture of the lyricist or text writer + Lyricist = 0x0C, + //! Picture of the recording location or studio + RecordingLocation = 0x0D, + //! Picture of the artists during recording + DuringRecording = 0x0E, + //! Picture of the artists during performance + DuringPerformance = 0x0F, + //! Picture from a movie or video related to the track + MovieScreenCapture = 0x10, + //! Picture of a large, coloured fish + ColouredFish = 0x11, + //! Illustration related to the track + Illustration = 0x12, + //! Logo of the band or performer + BandLogo = 0x13, + //! Logo of the publisher (record company) + PublisherLogo = 0x14 + }; + + Picture(); + Picture(const ByteVector &data); + ~Picture(); + + /*! + * Returns the type of the image. + */ + Type type() const; + + /*! + * Sets the type of the image. + */ + void setType(Type type); + + /*! + * Returns the mime type of the image. This should in most cases be + * "image/png" or "image/jpeg". + */ + String mimeType() const; + + /*! + * Sets the mime type of the image. This should in most cases be + * "image/png" or "image/jpeg". + */ + void setMimeType(const String &m); + + /*! + * Returns a text description of the image. + */ + + String description() const; + + /*! + * Sets a textual description of the image to \a desc. + */ + + void setDescription(const String &desc); + + /*! + * Returns the width of the image. + */ + int width() const; + + /*! + * Sets the width of the image. + */ + void setWidth(int w); + + /*! + * Returns the height of the image. + */ + int height() const; + + /*! + * Sets the height of the image. + */ + void setHeight(int h); + + /*! + * Returns the color depth (in bits-per-pixel) of the image. + */ + int colorDepth() const; + + /*! + * Sets the color depth (in bits-per-pixel) of the image. + */ + void setColorDepth(int depth); + + /*! + * Returns the number of colors used on the image.. + */ + int numColors() const; + + /*! + * Sets the number of colors used on the image (for indexed images). + */ + void setNumColors(int numColors); + + /*! + * Returns the image data. + */ + ByteVector data() const; + + /*! + * Sets the image data. + */ + void setData(const ByteVector &data); + + /*! + * Returns the FLAC metadata block type. + */ + int code() const; + + /*! + * Render the content to the FLAC picture block format. + */ + ByteVector render() const; + + /*! + * Parse the picture data in the FLAC picture block format. + */ + bool parse(const ByteVector &rawData); + + private: + Picture(const Picture &item); + Picture &operator=(const Picture &item); + + class PicturePrivate; + PicturePrivate *d; + }; + + typedef List PictureList; + + } + +} + +#endif diff --git a/usr/local/include/taglib/flacproperties.h b/usr/local/include/taglib/flacproperties.h new file mode 100644 index 000000000..c14589819 --- /dev/null +++ b/usr/local/include/taglib/flacproperties.h @@ -0,0 +1,103 @@ +/*************************************************************************** + copyright : (C) 2003 by Allan Sandfeld Jensen + email : kde@carewolf.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_FLACPROPERTIES_H +#define TAGLIB_FLACPROPERTIES_H + +#include "taglib_export.h" +#include "audioproperties.h" + +namespace TagLib { + + namespace FLAC { + + class File; + + //! An implementation of audio property reading for FLAC + + /*! + * This reads the data from an FLAC stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of FLAC::Properties with the data read from the + * ByteVector \a data. + */ + // BIC: switch to const reference + Properties(ByteVector data, long streamLength, ReadStyle style = Average); + + /*! + * Create an instance of FLAC::Properties with the data read from the + * FLAC::File \a file. + */ + // BIC: remove + Properties(File *file, ReadStyle style = Average); + + /*! + * Destroys this FLAC::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * Returns the sample width as read from the FLAC identification + * header. + */ + int sampleWidth() const; + + /*! + * Return the number of sample frames + */ + unsigned long long sampleFrames() const; + + /*! + * Returns the MD5 signature of the uncompressed audio stream as read + * from the stream info header header. + */ + ByteVector signature() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/generalencapsulatedobjectframe.h b/usr/local/include/taglib/generalencapsulatedobjectframe.h new file mode 100644 index 000000000..42f854ccd --- /dev/null +++ b/usr/local/include/taglib/generalencapsulatedobjectframe.h @@ -0,0 +1,178 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + copyright : (C) 2006 by Aaron VonderHaar + email : avh4@users.sourceforge.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_GENERALENCAPSULATEDOBJECT_H +#define TAGLIB_GENERALENCAPSULATEDOBJECT_H + +#include "id3v2frame.h" +#include "id3v2header.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! An ID3v2 general encapsulated object frame implementation + + /*! + * This is an implementation of ID3v2 general encapsulated objects. + * Arbitrary binary data may be included in tags, stored in GEOB frames. + * There may be multiple GEOB frames in a single tag. Each GEOB it + * labelled with a content description (which may be blank), a required + * mime-type, and a file name (may be blank). The content description + * uniquely identifies the GEOB frame in the tag. + */ + + class TAGLIB_EXPORT GeneralEncapsulatedObjectFrame : public Frame + { + friend class FrameFactory; + + public: + + /*! + * Constructs an empty object frame. The description, file name and text + * encoding should be set manually. + */ + GeneralEncapsulatedObjectFrame(); + + /*! + * Constructs a GeneralEncapsulatedObjectFrame frame based on \a data. + * + * \warning This is \em not data for the encapsulated object, for that use + * setObject(). This constructor is used when reading the frame from the + * disk. + */ + explicit GeneralEncapsulatedObjectFrame(const ByteVector &data); + + /*! + * Destroys the GeneralEncapsulatedObjectFrame instance. + */ + virtual ~GeneralEncapsulatedObjectFrame(); + + /*! + * Returns a string containing the description, file name and mime-type + */ + virtual String toString() const; + + /*! + * Returns the text encoding used for the description and file name. + * + * \see setTextEncoding() + * \see description() + * \see fileName() + */ + String::Type textEncoding() const; + + /*! + * Set the text encoding used for the description and file name. + * + * \see description() + * \see fileName() + */ + void setTextEncoding(String::Type encoding); + + /*! + * Returns the mime type of the object. + */ + String mimeType() const; + + /*! + * Sets the mime type of the object. + */ + void setMimeType(const String &type); + + /*! + * Returns the file name of the object. + * + * \see setFileName() + */ + String fileName() const; + + /*! + * Sets the file name for the object. + * + * \see fileName() + */ + void setFileName(const String &name); + + /*! + * Returns the content description of the object. + * + * \see setDescription() + * \see textEncoding() + * \see setTextEncoding() + */ + + String description() const; + + /*! + * Sets the content description of the object to \a desc. + * + * \see description() + * \see textEncoding() + * \see setTextEncoding() + */ + + void setDescription(const String &desc); + + /*! + * Returns the object data as a ByteVector. + * + * \note ByteVector has a data() method that returns a const char * which + * should make it easy to export this data to external programs. + * + * \see setObject() + * \see mimeType() + */ + ByteVector object() const; + + /*! + * Sets the object data to \a data. \a data should be of the type specified in + * this frame's mime-type specification. + * + * \see object() + * \see mimeType() + * \see setMimeType() + */ + void setObject(const ByteVector &object); + + protected: + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + GeneralEncapsulatedObjectFrame(const ByteVector &data, Header *h); + GeneralEncapsulatedObjectFrame(const GeneralEncapsulatedObjectFrame &); + GeneralEncapsulatedObjectFrame &operator=(const GeneralEncapsulatedObjectFrame &); + + class GeneralEncapsulatedObjectFramePrivate; + GeneralEncapsulatedObjectFramePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/id3v1genres.h b/usr/local/include/taglib/id3v1genres.h new file mode 100644 index 000000000..271f72590 --- /dev/null +++ b/usr/local/include/taglib/id3v1genres.h @@ -0,0 +1,66 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V1GENRE_H +#define TAGLIB_ID3V1GENRE_H + +#include "tmap.h" +#include "tstringlist.h" +#include "taglib_export.h" + +namespace TagLib { + namespace ID3v1 { + + typedef Map GenreMap; + + /*! + * Returns the list of canonical ID3v1 genre names in the order that they + * are listed in the standard. + */ + StringList TAGLIB_EXPORT genreList(); + + /*! + * A "reverse mapping" that goes from the canonical ID3v1 genre name to the + * respective genre number. genreMap()["Rock"] == + */ + GenreMap TAGLIB_EXPORT genreMap(); + + /*! + * Returns the name of the genre at \a index in the ID3v1 genre list. If + * \a index is out of range -- less than zero or greater than 146 -- a null + * string will be returned. + */ + String TAGLIB_EXPORT genre(int index); + + /*! + * Returns the genre index for the (case sensitive) genre \a name. If the + * genre is not in the list 255 (which signifies an unknown genre in ID3v1) + * will be returned. + */ + int TAGLIB_EXPORT genreIndex(const String &name); + } +} + +#endif diff --git a/usr/local/include/taglib/id3v1tag.h b/usr/local/include/taglib/id3v1tag.h new file mode 100644 index 000000000..7b26d023e --- /dev/null +++ b/usr/local/include/taglib/id3v1tag.h @@ -0,0 +1,202 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V1TAG_H +#define TAGLIB_ID3V1TAG_H + +#include "tag.h" +#include "tbytevector.h" +#include "taglib_export.h" + +namespace TagLib { + + class File; + + //! An ID3v1 implementation + + namespace ID3v1 { + + //! A abstraction for the string to data encoding in ID3v1 tags. + + /*! + * ID3v1 should in theory always contain ISO-8859-1 (Latin1) data. In + * practice it does not. TagLib by default only supports ISO-8859-1 data + * in ID3v1 tags. + * + * However by subclassing this class and reimplementing parse() and render() + * and setting your reimplementation as the default with + * ID3v1::Tag::setStringHandler() you can define how you would like these + * transformations to be done. + * + * \warning It is advisable not to write non-ISO-8859-1 data to ID3v1 + * tags. Please consider disabling the writing of ID3v1 tags in the case + * that the data is not ISO-8859-1. + * + * \see ID3v1::Tag::setStringHandler() + */ + + class TAGLIB_EXPORT StringHandler + { + TAGLIB_IGNORE_MISSING_DESTRUCTOR + public: + // BIC: Add virtual destructor. + StringHandler(); + + /*! + * Decode a string from \a data. The default implementation assumes that + * \a data is an ISO-8859-1 (Latin1) character array. + */ + virtual String parse(const ByteVector &data) const; + + /*! + * Encode a ByteVector with the data from \a s. The default implementation + * assumes that \a s is an ISO-8859-1 (Latin1) string. If the string is + * does not conform to ISO-8859-1, no value is written. + * + * \warning It is recommended that you not override this method, but + * instead do not write an ID3v1 tag in the case that the data is not + * ISO-8859-1. + */ + virtual ByteVector render(const String &s) const; + }; + + //! The main class in the ID3v1 implementation + + /*! + * This is an implementation of the ID3v1 format. ID3v1 is both the simplist + * and most common of tag formats but is rather limited. Because of its + * pervasiveness and the way that applications have been written around the + * fields that it provides, the generic TagLib::Tag API is a mirror of what is + * provided by ID3v1. + * + * ID3v1 tags should generally only contain Latin1 information. However because + * many applications do not follow this rule there is now support for overriding + * the ID3v1 string handling using the ID3v1::StringHandler class. Please see + * the documentation for that class for more information. + * + * \see StringHandler + * + * \note Most fields are truncated to a maximum of 28-30 bytes. The + * truncation happens automatically when the tag is rendered. + */ + + class TAGLIB_EXPORT Tag : public TagLib::Tag + { + public: + /*! + * Create an ID3v1 tag with default values. + */ + Tag(); + + /*! + * Create an ID3v1 tag and parse the data in \a file starting at + * \a tagOffset. + */ + Tag(File *file, long tagOffset); + + /*! + * Destroys this Tag instance. + */ + virtual ~Tag(); + + /*! + * Renders the in memory values to a ByteVector suitable for writing to + * the file. + */ + ByteVector render() const; + + /*! + * Returns the string "TAG" suitable for usage in locating the tag in a + * file. + */ + static ByteVector fileIdentifier(); + + // Reimplementations. + + virtual String title() const; + virtual String artist() const; + virtual String album() const; + virtual String comment() const; + virtual String genre() const; + virtual TagLib::uint year() const; + virtual TagLib::uint track() const; + + virtual void setTitle(const String &s); + virtual void setArtist(const String &s); + virtual void setAlbum(const String &s); + virtual void setComment(const String &s); + virtual void setGenre(const String &s); + virtual void setYear(TagLib::uint i); + virtual void setTrack(TagLib::uint i); + + /*! + * Returns the genre in number. + * + * /note Normally 255 indicates that this tag contains no genre. + */ + TagLib::uint genreNumber() const; + + /*! + * Sets the genre in number to \a i. + * + * /note Valid value is from 0 up to 255. Normally 255 indicates that + * this tag contains no genre. + */ + void setGenreNumber(TagLib::uint i); + + /*! + * Sets the string handler that decides how the ID3v1 data will be + * converted to and from binary data. + * If the parameter \a handler is null, the previous handler is + * released and default ISO-8859-1 handler is restored. + * + * \note The caller is responsible for deleting the previous handler + * as needed after it is released. + * + * \see StringHandler + */ + static void setStringHandler(const StringHandler *handler); + + protected: + /*! + * Reads from the file specified in the constructor. + */ + void read(); + /*! + * Pareses the body of the tag in \a data. + */ + void parse(const ByteVector &data); + + private: + Tag(const Tag &); + Tag &operator=(const Tag &); + + class TagPrivate; + TagPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/id3v2extendedheader.h b/usr/local/include/taglib/id3v2extendedheader.h new file mode 100644 index 000000000..d7227e9d1 --- /dev/null +++ b/usr/local/include/taglib/id3v2extendedheader.h @@ -0,0 +1,93 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V2EXTENDEDHEADER_H +#define TAGLIB_ID3V2EXTENDEDHEADER_H + +#include "taglib_export.h" +#include "tbytevector.h" +#include "taglib.h" + +namespace TagLib { + + namespace ID3v2 { + + //! ID3v2 extended header implementation + + /*! + * This class implements ID3v2 extended headers. It attempts to follow, + * both semantically and programatically, the structure specified in + * the ID3v2 standard. The API is based on the properties of ID3v2 extended + * headers specified there. If any of the terms used in this documentation + * are unclear please check the specification in the linked section. + * (Structure, 3.2) + */ + + class TAGLIB_EXPORT ExtendedHeader + { + public: + /*! + * Constructs an empty ID3v2 extended header. + */ + ExtendedHeader(); + + /*! + * Destroys the extended header. + */ + virtual ~ExtendedHeader(); + + /*! + * Returns the size of the extended header. This is variable for the + * extended header. + */ + uint size() const; + + /*! + * Sets the data that will be used as the extended header. Since the + * length is not known before the extended header has been parsed, this + * should just be a pointer to the first byte of the extended header. It + * will determine the length internally and make that available through + * size(). + */ + void setData(const ByteVector &data); + + protected: + /*! + * Called by setData() to parse the extended header data. It makes this + * information available through the public API. + */ + void parse(const ByteVector &data); + + private: + ExtendedHeader(const ExtendedHeader &); + ExtendedHeader &operator=(const ExtendedHeader &); + + class ExtendedHeaderPrivate; + ExtendedHeaderPrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/id3v2footer.h b/usr/local/include/taglib/id3v2footer.h new file mode 100644 index 000000000..1374a1495 --- /dev/null +++ b/usr/local/include/taglib/id3v2footer.h @@ -0,0 +1,82 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V2FOOTER_H +#define TAGLIB_ID3V2FOOTER_H + +#include "taglib_export.h" +#include "tbytevector.h" + +namespace TagLib { + + namespace ID3v2 { + + class Header; + + //! ID3v2 footer implementation + + /*! + * Per the ID3v2 specification, the tag's footer is just a copy of the + * information in the header. As such there is no API for reading the + * data from the header, it can just as easily be done from the header. + * + * In fact, at this point, TagLib does not even parse the footer since + * it is not useful internally. However, if the flag to include a footer + * has been set in the ID3v2::Tag, TagLib will render a footer. + */ + + class TAGLIB_EXPORT Footer + { + public: + /*! + * Constructs an empty ID3v2 footer. + */ + Footer(); + /*! + * Destroys the footer. + */ + virtual ~Footer(); + + /*! + * Returns the size of the footer. Presently this is always 10 bytes. + */ + static uint size(); + + /*! + * Renders the footer based on the data in \a header. + */ + ByteVector render(const Header *header) const; + + private: + Footer(const Footer &); + Footer &operator=(const Footer &); + + class FooterPrivate; + FooterPrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/id3v2frame.h b/usr/local/include/taglib/id3v2frame.h new file mode 100644 index 000000000..95c4070b4 --- /dev/null +++ b/usr/local/include/taglib/id3v2frame.h @@ -0,0 +1,509 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V2FRAME_H +#define TAGLIB_ID3V2FRAME_H + +#include "tstring.h" +#include "tbytevector.h" +#include "taglib_export.h" + +namespace TagLib { + + class StringList; + class PropertyMap; + + namespace ID3v2 { + + class Tag; + class FrameFactory; + + //! ID3v2 frame implementation + + /*! + * This class is the main ID3v2 frame implementation. In ID3v2, a tag is + * split between a collection of frames (which are in turn split into fields + * (Structure, 4) + * (Frames). This class provides an API for + * gathering information about and modifying ID3v2 frames. Funtionallity + * specific to a given frame type is handed in one of the many subclasses. + */ + + class TAGLIB_EXPORT Frame + { + friend class Tag; + friend class FrameFactory; + + public: + + /*! + * Creates a textual frame which corresponds to a single key in the PropertyMap + * interface. These are all (User)TextIdentificationFrames except TIPL and TMCL, + * all (User)URLLinkFrames, CommentsFrames, and UnsynchronizedLyricsFrame. + */ + static Frame *createTextualFrame(const String &key, const StringList &values); + + /*! + * Destroys this Frame instance. + */ + virtual ~Frame(); + + /*! + * Returns the Frame ID (Structure, 4) + * (Frames, 4) + */ + ByteVector frameID() const; + + /*! + * Returns the size of the frame. + */ + uint size() const; + + /*! + * Returns the size of the frame header + * + * \deprecated This is only accurate for ID3v2.3 or ID3v2.4. Please use + * the call below which accepts an ID3v2 version number. In the next + * non-binary compatible release this will be made into a non-static + * member that checks the internal ID3v2 version. + */ + static uint headerSize(); // BIC: remove and make non-static + + /*! + * Returns the size of the frame header for the given ID3v2 version. + * + * \deprecated Please see the explanation above. + */ + static uint headerSize(uint version); // BIC: remove and make non-static + + /*! + * Sets the data that will be used as the frame. Since the length is not + * known before the frame has been parsed, this should just be a pointer to + * the first byte of the frame. It will determine the length internally + * and make that available through size(). + */ + void setData(const ByteVector &data); + + /*! + * Set the text of frame in the sanest way possible. This should only be + * reimplemented in frames where there is some logical mapping to text. + * + * \note If the frame type supports multiple text encodings, this will not + * change the text encoding of the frame; the string will be converted to + * that frame's encoding. Please use the specific APIs of the frame types + * to set the encoding if that is desired. + */ + virtual void setText(const String &text); + + /*! + * This returns the textual representation of the data in the frame. + * Subclasses must reimplement this method to provide a string + * representation of the frame's data. + */ + virtual String toString() const = 0; + + /*! + * Render the frame back to its binary format in a ByteVector. + */ + ByteVector render() const; + + /*! + * Returns the text delimiter that is used between fields for the string + * type \a t. + */ + static ByteVector textDelimiter(String::Type t); + + /*! + * The string with which an instrument name is prefixed to build a key in a PropertyMap; + * used to translate PropertyMaps to TMCL frames. In the current implementation, this + * is "PERFORMER:". + */ + static const String instrumentPrefix; + /*! + * The PropertyMap key prefix which triggers the use of a COMM frame instead of a TXXX + * frame for a non-standard key. In the current implementation, this is "COMMENT:". + */ + static const String commentPrefix; + /*! + * The PropertyMap key prefix which triggers the use of a USLT frame instead of a TXXX + * frame for a non-standard key. In the current implementation, this is "LYRICS:". + */ + static const String lyricsPrefix; + /*! + * The PropertyMap key prefix which triggers the use of a WXXX frame instead of a TXX + * frame for a non-standard key. In the current implementation, this is "URL:". + */ + static const String urlPrefix; + + protected: + class Header; + + /*! + * Constructs an ID3v2 frame using \a data to read the header information. + * All other processing of \a data should be handled in a subclass. + * + * \note This need not contain anything more than a frame ID, but + * \e must constain at least that. + */ + explicit Frame(const ByteVector &data); + + /*! + * This creates an Frame using the header \a h. + * + * The ownership of this header will be assigned to the frame and the + * header will be deleted when the frame is destroyed. + */ + Frame(Header *h); + + /*! + * Returns a pointer to the frame header. + */ + Header *header() const; + + /*! + * Sets the header to \a h. If \a deleteCurrent is true, this will free + * the memory of the current header. + * + * The ownership of this header will be assigned to the frame and the + * header will be deleted when the frame is destroyed. + */ + void setHeader(Header *h, bool deleteCurrent = true); + + /*! + * Called by setData() to parse the frame data. It makes this information + * available through the public API. + */ + void parse(const ByteVector &data); + + /*! + * Called by parse() to parse the field data. It makes this information + * available through the public API. This must be overridden by the + * subclasses. + */ + virtual void parseFields(const ByteVector &data) = 0; + + /*! + * Render the field data back to a binary format in a ByteVector. This + * must be overridden by subclasses. + */ + virtual ByteVector renderFields() const = 0; + + /*! + * Returns a ByteVector containing the field data given the frame data. + * This correctly adjusts for the header size plus any additional frame + * data that's specified in the frame header flags. + */ + ByteVector fieldData(const ByteVector &frameData) const; + + /*! + * Reads a String of type \a encodiong from the ByteVector \a data. If \a + * position is passed in it is used both as the starting point and is + * updated to replect the position just after the string that has been read. + * This is useful for reading strings sequentially. + */ + String readStringField(const ByteVector &data, String::Type encoding, + int *positon = 0); + + /*! + * Checks a the list of string values to see if they can be used with the + * specified encoding and returns the recommended encoding. + */ + // BIC: remove and make non-static + static String::Type checkEncoding(const StringList &fields, + String::Type encoding); + + /*! + * Checks a the list of string values to see if they can be used with the + * specified encoding and returns the recommended encoding. This method + * also checks the ID3v2 version and makes sure the encoding can be used + * in the specified version. + */ + // BIC: remove and make non-static + static String::Type checkEncoding(const StringList &fields, + String::Type encoding, uint version); + + /*! + * Checks a the list of string values to see if they can be used with the + * specified encoding and returns the recommended encoding. This method + * also checks the ID3v2 version and makes sure the encoding can be used + * in the version specified by the frame's header. + */ + String::Type checkTextEncoding(const StringList &fields, + String::Type encoding) const; + + + /*! + * Parses the contents of this frame as PropertyMap. If that fails, the returend + * PropertyMap will be empty, and its unsupportedData() will contain this frame's + * ID. + * BIC: Will be a virtual function in future releases. + */ + PropertyMap asProperties() const; + + /*! + * Returns an appropriate ID3 frame ID for the given free-form tag key. This method + * will return ByteVector::null if no specialized translation is found. + */ + static ByteVector keyToFrameID(const String &); + + /*! + * Returns a free-form tag name for the given ID3 frame ID. Note that this does not work + * for general frame IDs such as TXXX or WXXX; in such a case String::null is returned. + */ + static String frameIDToKey(const ByteVector &); + + + /*! + * This helper function splits the PropertyMap \a original into three ProperytMaps + * \a singleFrameProperties, \a tiplProperties, and \a tmclProperties, such that: + * - \a singleFrameProperties contains only of keys which can be represented with + * exactly one ID3 frame per key. In the current implementation + * this is everything except for the fixed "involved people" keys and keys of the + * form "TextIdentificationFrame::instrumentPrefix" + "instrument", which are + * mapped to a TMCL frame. + * - \a tiplProperties will consist of those keys that are present in + * TextIdentificationFrame::involvedPeopleMap() + * - \a tmclProperties contains the "musician credits" keys which should be mapped + * to a TMCL frame + */ + static void splitProperties(const PropertyMap &original, PropertyMap &singleFrameProperties, + PropertyMap &tiplProperties, PropertyMap &tmclProperties); + + private: + Frame(const Frame &); + Frame &operator=(const Frame &); + + class FramePrivate; + friend class FramePrivate; + FramePrivate *d; + }; + + //! ID3v2 frame header implementation + + /*! + * The ID3v2 Frame Header (Structure, 4) + * + * Every ID3v2::Frame has an associated header that gives some general + * properties of the frame and also makes it possible to identify the frame + * type. + * + * As such when reading an ID3v2 tag ID3v2::FrameFactory first creates the + * frame headers and then creates the appropriate Frame subclass based on + * the type and attaches the header. + */ + + class TAGLIB_EXPORT Frame::Header + { + public: + /*! + * Construct a Frame Header based on \a data. \a data must at least + * contain a 4 byte frame ID, and optionally can contain flag data and the + * frame size. i.e. Just the frame id -- "TALB" -- is a valid value. + * + * \deprecated Please use the constructor below that accepts a version + * number. + */ + Header(const ByteVector &data, bool synchSafeInts); + + /*! + * Construct a Frame Header based on \a data. \a data must at least + * contain a 4 byte frame ID, and optionally can contain flag data and the + * frame size. i.e. Just the frame id -- "TALB" -- is a valid value. + * + * \a version should be the ID3v2 version of the tag. + */ + explicit Header(const ByteVector &data, uint version = 4); + + /*! + * Destroys this Header instance. + */ + virtual ~Header(); + + /*! + * Sets the data for the Header. + * + * \deprecated Please use the version below that accepts an ID3v2 version + * number. + */ + void setData(const ByteVector &data, bool synchSafeInts); + + /*! + * Sets the data for the Header. \a version should indicate the ID3v2 + * version number of the tag that this frame is contained in. + */ + void setData(const ByteVector &data, uint version = 4); + + /*! + * Returns the Frame ID (Structure, 4) + * (Frames, 4) + */ + ByteVector frameID() const; + + /*! + * Sets the frame's ID to \a id. Only the first four bytes of \a id will + * be used. + * + * \warning This method should in general be avoided. It exists simply to + * provide a mechanism for transforming frames from a deprecated frame type + * to a newer one -- i.e. TYER to TDRC from ID3v2.3 to ID3v2.4. + */ + void setFrameID(const ByteVector &id); + + /*! + * Returns the size of the frame data portion, as set when setData() was + * called or set explicitly via setFrameSize(). + */ + uint frameSize() const; + + /*! + * Sets the size of the frame data portion. + */ + void setFrameSize(uint size); + + /*! + * Returns the ID3v2 version of the header, as passed in from the + * construction of the header or set via setVersion(). + */ + uint version() const; + + /*! + * Sets the ID3v2 version of the header, changing has impact on the + * correct parsing/rendering of frame data. + */ + void setVersion(uint version); + + /*! + * Returns the size of the frame header in bytes. + * + * \deprecated Please use the version of this method that accepts a + * version. This is only accurate for ID3v2.3 and ID3v2.4. This will be + * removed in the next binary incompatible release (2.0) and will be + * replaced with a non-static method that checks the frame version. + */ + static uint size(); + + /*! + * Returns the size of the frame header in bytes for the ID3v2 version + * that's given. + * + * \deprecated Please see the explanation in the version above. + */ + static uint size(uint version); + + /*! + * Returns true if the flag for tag alter preservation is set. + * + * The semantics are a little backwards from what would seem natural + * (setting the preservation flag to throw away the frame), but this + * follows the ID3v2 standard. + * + * \see setTagAlterPreservation() + */ + bool tagAlterPreservation() const; + + /*! + * Sets the flag for preservation of this frame if the tag is set. If + * this is set to true the frame will not be written when the tag is + * saved. + * + * The semantics are a little backwards from what would seem natural + * (setting the preservation flag to throw away the frame), but this + * follows the ID3v2 standard. + * + * \see tagAlterPreservation() + */ + void setTagAlterPreservation(bool discard); + + /*! + * Returns true if the flag for file alter preservation is set. + * + * \note This flag is currently ignored internally in TagLib. + */ + bool fileAlterPreservation() const; + + /*! + * Returns true if the frame is meant to be read only. + * + * \note This flag is currently ignored internally in TagLib. + */ + bool readOnly() const; + + /*! + * Returns true if the flag for the grouping identifity is set. + * + * \note This flag is currently ignored internally in TagLib. + */ + bool groupingIdentity() const; + + /*! + * Returns true if compression is enabled for this frame. + * + * \note This flag is currently ignored internally in TagLib. + */ + bool compression() const; + + /*! + * Returns true if encryption is enabled for this frame. + * + * \note This flag is currently ignored internally in TagLib. + */ + bool encryption() const; + +#ifndef DO_NOT_DOCUMENT + bool unsycronisation() const; +#endif + + /*! + * Returns true if unsynchronisation is enabled for this frame. + */ + bool unsynchronisation() const; + + /*! + * Returns true if the flag for a data length indicator is set. + */ + bool dataLengthIndicator() const; + + /*! + * Render the Header back to binary format in a ByteVector. + */ + ByteVector render() const; + + /*! + * \deprecated + */ + bool frameAlterPreservation() const; + + private: + Header(const Header &); + Header &operator=(const Header &); + + class HeaderPrivate; + HeaderPrivate *d; + }; + + } +} + +#endif diff --git a/usr/local/include/taglib/id3v2framefactory.h b/usr/local/include/taglib/id3v2framefactory.h new file mode 100644 index 000000000..762d7eb3e --- /dev/null +++ b/usr/local/include/taglib/id3v2framefactory.h @@ -0,0 +1,166 @@ + /*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V2FRAMEFACTORY_H +#define TAGLIB_ID3V2FRAMEFACTORY_H + +#include "taglib_export.h" +#include "tbytevector.h" +#include "id3v2frame.h" +#include "id3v2header.h" + +namespace TagLib { + + namespace ID3v2 { + + class TextIdentificationFrame; + + //! A factory for creating ID3v2 frames during parsing + + /*! + * This factory abstracts away the frame creation process and instantiates + * the appropriate ID3v2::Frame subclasses based on the contents of the + * data. + * + * Reimplementing this factory is the key to adding support for frame types + * not directly supported by TagLib to your application. To do so you would + * subclass this factory reimplement createFrame(). Then by setting your + * factory to be the default factory in ID3v2::Tag constructor or with + * MPEG::File::setID3v2FrameFactory() you can implement behavior that will + * allow for new ID3v2::Frame subclasses (also provided by you) to be used. + * + * This implements both abstract factory and singleton patterns + * of which more information is available on the web and in software design + * textbooks (Notably Design Patters). + * + * \note You do not need to use this factory to create new frames to add to + * an ID3v2::Tag. You can instantiate frame subclasses directly (with new) + * and add them to a tag using ID3v2::Tag::addFrame() + * + * \see ID3v2::Tag::addFrame() + */ + + class TAGLIB_EXPORT FrameFactory + { + public: + static FrameFactory *instance(); + /*! + * Create a frame based on \a data. \a synchSafeInts should only be set + * false if we are parsing an old tag (v2.3 or older) that does not support + * synchsafe ints. + * + * \deprecated Please use the method below that accepts a ID3v2::Header + * instance in new code. + */ + Frame *createFrame(const ByteVector &data, bool synchSafeInts) const; + + /*! + * Create a frame based on \a data. \a version should indicate the ID3v2 + * version of the tag. As ID3v2.4 is the most current version of the + * standard 4 is the default. + * + * \deprecated Please use the method below that accepts a ID3v2::Header + * instance in new code. + */ + Frame *createFrame(const ByteVector &data, uint version = 4) const; + + /*! + * Create a frame based on \a data. \a tagHeader should be a valid + * ID3v2::Header instance. + */ + // BIC: make virtual + Frame *createFrame(const ByteVector &data, Header *tagHeader) const; + + /*! + * Returns the default text encoding for text frames. If setTextEncoding() + * has not been explicitly called this will only be used for new text + * frames. However, if this value has been set explicitly all frames will be + * converted to this type (unless it's explitly set differently for the + * individual frame) when being rendered. + * + * \see setDefaultTextEncoding() + */ + String::Type defaultTextEncoding() const; + + /*! + * Set the default text encoding for all text frames that are created to + * \a encoding. If no value is set the frames with either default to the + * encoding type that was parsed and new frames default to Latin1. + * + * Valid string types for ID3v2 tags are Latin1, UTF8, UTF16 and UTF16BE. + * + * \see defaultTextEncoding() + */ + void setDefaultTextEncoding(String::Type encoding); + + protected: + /*! + * Constructs a frame factory. Because this is a singleton this method is + * protected, but may be used for subclasses. + */ + FrameFactory(); + + /*! + * Destroys the frame factory. + */ + virtual ~FrameFactory(); + + /*! + * This method checks for compliance to the current ID3v2 standard (2.4) + * and does nothing in the common case. However if a frame is found that + * is not compatible with the current standard, this method either updates + * the frame or indicates that it should be discarded. + * + * This method with return true (with or without changes to the frame) if + * this frame should be kept or false if it should be discarded. + * + * See the id3v2.4.0-changes.txt document for further information. + */ + virtual bool updateFrame(Frame::Header *header) const; + + private: + FrameFactory(const FrameFactory &); + FrameFactory &operator=(const FrameFactory &); + + /*! + * This method is used internally to convert a frame from ID \a from to ID + * \a to. If the frame matches the \a from pattern and converts the frame + * ID in the \a header or simply does nothing if the frame ID does not match. + */ + void convertFrame(const char *from, const char *to, + Frame::Header *header) const; + + void updateGenre(TextIdentificationFrame *frame) const; + + static FrameFactory factory; + + class FrameFactoryPrivate; + FrameFactoryPrivate *d; + }; + + } +} + +#endif diff --git a/usr/local/include/taglib/id3v2header.h b/usr/local/include/taglib/id3v2header.h new file mode 100644 index 000000000..307ba96c8 --- /dev/null +++ b/usr/local/include/taglib/id3v2header.h @@ -0,0 +1,175 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V2HEADER_H +#define TAGLIB_ID3V2HEADER_H + +#include "tbytevector.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! An implementation of ID3v2 headers + + /*! + * This class implements ID3v2 headers. It attempts to follow, both + * semantically and programatically, the structure specified in + * the ID3v2 standard. The API is based on the properties of ID3v2 headers + * specified there. If any of the terms used in this documentation are + * unclear please check the specification in the linked section. + * (Structure, 3.1) + */ + + class TAGLIB_EXPORT Header + { + public: + /*! + * Constructs an empty ID3v2 header. + */ + Header(); + + /*! + * Constructs an ID3v2 header based on \a data. parse() is called + * immediately. + */ + Header(const ByteVector &data); + + /*! + * Destroys the header. + */ + virtual ~Header(); + + /*! + * Returns the major version number. (Note: This is the 4, not the 2 in + * ID3v2.4.0. The 2 is implied.) + */ + uint majorVersion() const; + + /*! + * Set the the major version number to \a version. (Note: This is + * the 4, not the 2 in ID3v2.4.0. The 2 is implied.) + * \see majorVersion() + * + * \note This is used by the internal parser; this will not change the + * version which is written and in general should not be called by API + * users. + */ + void setMajorVersion(uint version); + + /*! + * Returns the revision number. (Note: This is the 0, not the 4 in + * ID3v2.4.0. The 2 is implied.) + */ + uint revisionNumber() const; + + /*! + * Returns true if unsynchronisation has been applied to all frames. + */ + bool unsynchronisation() const; + + /*! + * Returns true if an extended header is present in the tag. + */ + bool extendedHeader() const; + + /*! + * Returns true if the experimental indicator flag is set. + */ + bool experimentalIndicator() const; + + /*! + * Returns true if a footer is present in the tag. + */ + bool footerPresent() const; + /*! + * Returns the tag size in bytes. This is the size of the frame content. + * The size of the \e entire tag will be this plus the header size (10 + * bytes) and, if present, the footer size (potentially another 10 bytes). + * + * \note This is the value as read from the header to which TagLib attempts + * to provide an API to; it was not a design decision on the part of TagLib + * to not include the mentioned portions of the tag in the \e size. + * + * \see completeTagSize() + */ + uint tagSize() const; + + /*! + * Returns the tag size, including the header and, if present, the footer + * size. + * + * \see tagSize() + */ + uint completeTagSize() const; + + /*! + * Set the tag size to \a s. + * \see tagSize() + */ + void setTagSize(uint s); + + /*! + * Returns the size of the header. Presently this is always 10 bytes. + */ + static uint size(); + + /*! + * Returns the string used to identify and ID3v2 tag inside of a file. + * Presently this is always "ID3". + */ + static ByteVector fileIdentifier(); + + /*! + * Sets the data that will be used as the header. 10 bytes, starting from + * the beginning of \a data are used. + */ + void setData(const ByteVector &data); + + /*! + * Renders the Header back to binary format. + */ + ByteVector render() const; + + protected: + /*! + * Called by setData() to parse the header data. It makes this information + * available through the public API. + */ + void parse(const ByteVector &data); + + private: + Header(const Header &); + Header &operator=(const Header &); + + class HeaderPrivate; + HeaderPrivate *d; + }; + + } +} + +#endif diff --git a/usr/local/include/taglib/id3v2synchdata.h b/usr/local/include/taglib/id3v2synchdata.h new file mode 100644 index 000000000..4a1f596a9 --- /dev/null +++ b/usr/local/include/taglib/id3v2synchdata.h @@ -0,0 +1,70 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V2SYNCHDATA_H +#define TAGLIB_ID3V2SYNCHDATA_H + +#include "tbytevector.h" +#include "taglib.h" + +namespace TagLib { + + namespace ID3v2 { + + //! A few functions for ID3v2 synch safe integer conversion + + /*! + * In the ID3v2.4 standard most integer values are encoded as "synch safe" + * integers which are encoded in such a way that they will not give false + * MPEG syncs and confuse MPEG decoders. This namespace provides some + * methods for converting to and from these values to ByteVectors for + * things rendering and parsing ID3v2 data. + */ + + namespace SynchData + { + /*! + * This returns the unsigned integer value of \a data where \a data is a + * ByteVector that contains a \e synchsafe integer (Structure, + * 6.2). The default \a length of + * 4 is used if another value is not specified. + */ + TAGLIB_EXPORT uint toUInt(const ByteVector &data); + + /*! + * Returns a 4 byte (32 bit) synchsafe integer based on \a value. + */ + TAGLIB_EXPORT ByteVector fromUInt(uint value); + + /*! + * Convert the data from unsynchronized data to its original format. + */ + TAGLIB_EXPORT ByteVector decode(const ByteVector &input); + } + + } +} + +#endif diff --git a/usr/local/include/taglib/id3v2tag.h b/usr/local/include/taglib/id3v2tag.h new file mode 100644 index 000000000..5fd5c1f12 --- /dev/null +++ b/usr/local/include/taglib/id3v2tag.h @@ -0,0 +1,412 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_ID3V2TAG_H +#define TAGLIB_ID3V2TAG_H + +#include "tag.h" +#include "tbytevector.h" +#include "tstring.h" +#include "tlist.h" +#include "tmap.h" +#include "taglib_export.h" + +#include "id3v2framefactory.h" + +namespace TagLib { + + class File; + + //! An ID3v2 implementation + + /*! + * This is a relatively complete and flexible framework for working with ID3v2 + * tags. + * + * \see ID3v2::Tag + */ + + namespace ID3v2 { + + class Header; + class ExtendedHeader; + class Footer; + + typedef List FrameList; + typedef Map FrameListMap; + + //! An abstraction for the ISO-8859-1 string to data encoding in ID3v2 tags. + + /*! + * ID3v2 tag can store strings in ISO-8859-1 (Latin1), and TagLib only + * supports genuine ISO-8859-1 by default. However, in practice, non + * ISO-8859-1 encodings are often used instead of ISO-8859-1, such as + * Windows-1252 for western languages, Shift_JIS for Japanese and so on. + * + * Here is an option to read such tags by subclassing this class, + * reimplementing parse() and setting your reimplementation as the default + * with ID3v2::Tag::setStringHandler(). + * + * \note Writing non-ISO-8859-1 tags is not implemented intentionally. + * Use UTF-16 or UTF-8 instead. + * + * \see ID3v2::Tag::setStringHandler() + */ + class TAGLIB_EXPORT Latin1StringHandler + { + public: + Latin1StringHandler(); + virtual ~Latin1StringHandler(); + + /*! + * Decode a string from \a data. The default implementation assumes that + * \a data is an ISO-8859-1 (Latin1) character array. + */ + virtual String parse(const ByteVector &data) const; + }; + + //! The main class in the ID3v2 implementation + + /*! + * This is the main class in the ID3v2 implementation. It serves two + * functions. This first, as is obvious from the public API, is to provide a + * container for the other ID3v2 related classes. In addition, through the + * read() and parse() protected methods, it provides the most basic level of + * parsing. In these methods the ID3v2 tag is extracted from the file and + * split into data components. + * + * ID3v2 tags have several parts, TagLib attempts to provide an interface + * for them all. header(), footer() and extendedHeader() corespond to those + * data structures in the ID3v2 standard and the APIs for the classes that + * they return attempt to reflect this. + * + * Also ID3v2 tags are built up from a list of frames, which are in turn + * have a header and a list of fields. TagLib provides two ways of accessing + * the list of frames that are in a given ID3v2 tag. The first is simply + * via the frameList() method. This is just a list of pointers to the frames. + * The second is a map from the frame type -- i.e. "COMM" for comments -- and + * a list of frames of that type. (In some cases ID3v2 allows for multiple + * frames of the same type, hence this being a map to a list rather than just + * a map to an individual frame.) + * + * More information on the structure of frames can be found in the ID3v2::Frame + * class. + * + * read() and parse() pass binary data to the other ID3v2 class structures, + * they do not handle parsing of flags or fields, for instace. Those are + * handled by similar functions within those classes. + * + * \note All pointers to data structures within the tag will become invalid + * when the tag is destroyed. + * + * \warning Dealing with the nasty details of ID3v2 is not for the faint of + * heart and should not be done without much meditation on the spec. It's + * rather long, but if you're planning on messing with this class and others + * that deal with the details of ID3v2 (rather than the nice, safe, abstract + * TagLib::Tag and friends), it's worth your time to familiarize yourself + * with said spec (which is distrubuted with the TagLib sources). TagLib + * tries to do most of the work, but with a little luck, you can still + * convince it to generate invalid ID3v2 tags. The APIs for ID3v2 assume a + * working knowledge of ID3v2 structure. You're been warned. + */ + + class TAGLIB_EXPORT Tag : public TagLib::Tag + { + public: + /*! + * Constructs an empty ID3v2 tag. + * + * \note You must create at least one frame for this tag to be valid. + */ + Tag(); + + /*! + * Constructs an ID3v2 tag read from \a file starting at \a tagOffset. + * \a factory specifies which FrameFactory will be used for the + * construction of new frames. + * + * \note You should be able to ignore the \a factory parameter in almost + * all situations. You would want to specify your own FrameFactory + * subclass in the case that you are extending TagLib to support additional + * frame types, which would be incorperated into your factory. + * + * \see FrameFactory + */ + Tag(File *file, long tagOffset, + const FrameFactory *factory = FrameFactory::instance()); + + /*! + * Destroys this Tag instance. + */ + virtual ~Tag(); + + // Reimplementations. + + virtual String title() const; + virtual String artist() const; + virtual String album() const; + virtual String comment() const; + virtual String genre() const; + virtual uint year() const; + virtual uint track() const; + + virtual void setTitle(const String &s); + virtual void setArtist(const String &s); + virtual void setAlbum(const String &s); + virtual void setComment(const String &s); + virtual void setGenre(const String &s); + virtual void setYear(uint i); + virtual void setTrack(uint i); + + virtual bool isEmpty() const; + + /*! + * Returns a pointer to the tag's header. + */ + Header *header() const; + + /*! + * Returns a pointer to the tag's extended header or null if there is no + * extended header. + */ + ExtendedHeader *extendedHeader() const; + + /*! + * Returns a pointer to the tag's footer or null if there is no footer. + * + * \deprecated I don't see any reason to keep this around since there's + * nothing useful to be retrieved from the footer, but well, again, I'm + * prone to change my mind, so this gets to stay around until near a + * release. + */ + Footer *footer() const; + + /*! + * Returns a reference to the frame list map. This is an FrameListMap of + * all of the frames in the tag. + * + * This is the most convenient structure for accessing the tag's frames. + * Many frame types allow multiple instances of the same frame type so this + * is a map of lists. In most cases however there will only be a single + * frame of a certain type. + * + * Let's say for instance that you wanted to access the frame for total + * beats per minute -- the TBPM frame. + * + * \code + * TagLib::MPEG::File f("foo.mp3"); + * + * // Check to make sure that it has an ID3v2 tag + * + * if(f.ID3v2Tag()) { + * + * // Get the list of frames for a specific frame type + * + * TagLib::ID3v2::FrameList l = f.ID3v2Tag()->frameListMap()["TBPM"]; + * + * if(!l.isEmpty()) + * std::cout << l.front()->toString() << std::endl; + * } + * + * \endcode + * + * \warning You should not modify this data structure directly, instead + * use addFrame() and removeFrame(). + * + * \see frameList() + */ + const FrameListMap &frameListMap() const; + + /*! + * Returns a reference to the frame list. This is an FrameList of all of + * the frames in the tag in the order that they were parsed. + * + * This can be useful if for example you want iterate over the tag's frames + * in the order that they occur in the tag. + * + * \warning You should not modify this data structure directly, instead + * use addFrame() and removeFrame(). + */ + const FrameList &frameList() const; + + /*! + * Returns the frame list for frames with the id \a frameID or an empty + * list if there are no frames of that type. This is just a convenience + * and is equivalent to: + * + * \code + * frameListMap()[frameID]; + * \endcode + * + * \see frameListMap() + */ + const FrameList &frameList(const ByteVector &frameID) const; + + /*! + * Add a frame to the tag. At this point the tag takes ownership of + * the frame and will handle freeing its memory. + * + * \note Using this method will invalidate any pointers on the list + * returned by frameList() + */ + void addFrame(Frame *frame); + + /*! + * Remove a frame from the tag. If \a del is true the frame's memory + * will be freed; if it is false, it must be deleted by the user. + * + * \note Using this method will invalidate any pointers on the list + * returned by frameList() + */ + void removeFrame(Frame *frame, bool del = true); + + /*! + * Remove all frames of type \a id from the tag and free their memory. + * + * \note Using this method will invalidate any pointers on the list + * returned by frameList() + */ + void removeFrames(const ByteVector &id); + + /*! + * Implements the unified property interface -- export function. + * This function does some work to translate the hard-specified ID3v2 + * frame types into a free-form string-to-stringlist PropertyMap: + * - if ID3v2 frame ID is known by Frame::frameIDToKey(), the returned + * key is used + * - if the frame ID is "TXXX" (user text frame), the description() is + * used as key + * - if the frame ID is "WXXX" (user url frame), + * - if the description is empty or "URL", the key "URL" is used + * - otherwise, the key "URL:" is used; + * - if the frame ID is "COMM" (comments frame), + * - if the description is empty or "COMMENT", the key "COMMENT" + * is used + * - otherwise, the key "COMMENT:" is used; + * - if the frame ID is "USLT" (unsynchronized lyrics), + * - if the description is empty or "LYRICS", the key "LYRICS" is used + * - otherwise, the key "LYRICS:" is used; + * - if the frame ID is "TIPL" (involved peoples list), and if all the + * roles defined in the frame are known in TextIdentificationFrame::involvedPeopleMap(), + * then "=" will be contained in the returned obejct for each + * - if the frame ID is "TMCL" (musician credit list), then + * "PERFORMER:=" will be contained in the returned + * PropertyMap for each defined musician + * In any other case, the unsupportedData() of the returned object will contain + * the frame's ID and, in case of a frame ID which is allowed to appear more than + * once, the description, separated by a "/". + * + */ + PropertyMap properties() const; + + /*! + * Removes unsupported frames given by \a properties. The elements of + * \a properties must be taken from properties().unsupportedData(); they + * are of one of the following forms: + * - a four-character frame ID, if the ID3 specification allows only one + * frame with that ID (thus, the frame is uniquely determined) + * - frameID + "/" + description(), when the ID is one of "TXXX", "WXXX", + * "COMM", or "USLT", + * - "UNKNOWN/" + frameID, for frames that could not be parsed by TagLib. + * In that case, *all* unknown frames with the given ID will be removed. + */ + void removeUnsupportedProperties(const StringList &properties); + + /*! + * Implements the unified property interface -- import function. + * See the comments in properties(). + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Render the tag back to binary data, suitable to be written to disk. + */ + ByteVector render() const; + + /*! + * Render the tag back to binary data, suitable to be written to disk. + * + * The \a version parameter specifies the version of the rendered + * ID3v2 tag. It can be either 4 or 3. + */ + // BIC: combine with the above method + ByteVector render(int version) const; + + /*! + * Gets the current string handler that decides how the "Latin-1" data + * will be converted to and from binary data. + * + * \see Latin1StringHandler + */ + static Latin1StringHandler const *latin1StringHandler(); + + /*! + * Sets the string handler that decides how the "Latin-1" data will be + * converted to and from binary data. + * If the parameter \a handler is null, the previous handler is + * released and default ISO-8859-1 handler is restored. + * + * \note The caller is responsible for deleting the previous handler + * as needed after it is released. + * + * \see Latin1StringHandler + */ + static void setLatin1StringHandler(const Latin1StringHandler *handler); + + protected: + /*! + * Reads data from the file specified in the constructor. It does basic + * parsing of the data in the largest chunks. It partitions the tag into + * the Header, the body of the tag (which contains the ExtendedHeader and + * frames) and Footer. + */ + void read(); + + /*! + * This is called by read to parse the body of the tag. It determines if an + * extended header exists and adds frames to the FrameListMap. + */ + void parse(const ByteVector &data); + + /*! + * Sets the value of the text frame with the Frame ID \a id to \a value. + * If the frame does not exist, it is created. + */ + void setTextFrame(const ByteVector &id, const String &value); + + void downgradeFrames(FrameList *existingFrames, FrameList *newFrames) const; + + private: + Tag(const Tag &); + Tag &operator=(const Tag &); + + class TagPrivate; + TagPrivate *d; + }; + + } +} + +#endif diff --git a/usr/local/include/taglib/infotag.h b/usr/local/include/taglib/infotag.h new file mode 100644 index 000000000..72414841e --- /dev/null +++ b/usr/local/include/taglib/infotag.h @@ -0,0 +1,179 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_INFOTAG_H +#define TAGLIB_INFOTAG_H + +#include "tag.h" +#include "tmap.h" +#include "tstring.h" +#include "tstringlist.h" +#include "tbytevector.h" +#include "taglib_export.h" + +namespace TagLib { + + class File; + + //! A RIFF Info tag implementation. + namespace RIFF { + namespace Info { + + typedef Map FieldListMap; + + //! A abstraction for the string to data encoding in Info tags. + + /*! + * RIFF Info tag has no clear definitions about character encodings. + * In practice, local encoding of each system is largely used and UTF-8 is + * popular too. + * + * Here is an option to read and write tags in your preferrd encoding + * by subclassing this class, reimplementing parse() and render() and setting + * your reimplementation as the default with Info::Tag::setStringHandler(). + * + * \see ID3v1::Tag::setStringHandler() + */ + + class TAGLIB_EXPORT StringHandler + { + public: + StringHandler(); + ~StringHandler(); + + /*! + * Decode a string from \a data. The default implementation assumes that + * \a data is an UTF-8 character array. + */ + virtual String parse(const ByteVector &data) const; + + /*! + * Encode a ByteVector with the data from \a s. The default implementation + * assumes that \a s is an UTF-8 string. + */ + virtual ByteVector render(const String &s) const; + }; + + //! The main class in the ID3v2 implementation + + /*! + * This is the main class in the INFO tag implementation. RIFF INFO tag is a + * metadata format found in WAV audio and AVI video files. Though it is a part + * of Microsoft/IBM's RIFF specification, the author could not find the official + * documents about it. So, this implementation is refering to unofficial documents + * online and some applications' behaviors especially Windows Explorer. + */ + class TAGLIB_EXPORT Tag : public TagLib::Tag + { + public: + /*! + * Constructs an empty Info tag. + */ + Tag(); + + /*! + * Constructs an Info tag read from \a data which is contents of "LIST" chunk. + */ + Tag(const ByteVector &data); + + virtual ~Tag(); + + // Reimplementations + + virtual String title() const; + virtual String artist() const; + virtual String album() const; + virtual String comment() const; + virtual String genre() const; + virtual uint year() const; + virtual uint track() const; + + virtual void setTitle(const String &s); + virtual void setArtist(const String &s); + virtual void setAlbum(const String &s); + virtual void setComment(const String &s); + virtual void setGenre(const String &s); + virtual void setYear(uint i); + virtual void setTrack(uint i); + + virtual bool isEmpty() const; + /* + * Gets the value of the field with the ID \a id. + */ + String fieldText(const ByteVector &id) const; + + /* + * Sets the value of the field with the ID \a id to \a s. + * If the field does not exist, it is created. + * If \s is empty, the field is removed. + * + * \note fieldId must be four-byte long pure ascii string. This function + * performs nothing if fieldId is invalid. + */ + void setFieldText(const ByteVector &id, const String &s); + + /* + * Removes the field with the ID \a id. + */ + void removeField(const ByteVector &id); + + /*! + * Render the tag back to binary data, suitable to be written to disk. + * + * \note Returns empty ByteVector is the tag contains no fields. + */ + ByteVector render() const; + + /*! + * Sets the string handler that decides how the text data will be + * converted to and from binary data. + * If the parameter \a handler is null, the previous handler is + * released and default UTF-8 handler is restored. + * + * \note The caller is responsible for deleting the previous handler + * as needed after it is released. + * + * \see StringHandler + */ + static void setStringHandler(const StringHandler *handler); + + protected: + /*! + * Pareses the body of the tag in \a data. + */ + void parse(const ByteVector &data); + + + private: + Tag(const Tag &); + Tag &operator=(const Tag &); + + class TagPrivate; + TagPrivate *d; + }; + }} +} + +#endif diff --git a/usr/local/include/taglib/itfile.h b/usr/local/include/taglib/itfile.h new file mode 100644 index 000000000..5584b7cd9 --- /dev/null +++ b/usr/local/include/taglib/itfile.h @@ -0,0 +1,105 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_ITFILE_H +#define TAGLIB_ITFILE_H + +#include "tfile.h" +#include "audioproperties.h" +#include "taglib_export.h" +#include "modfilebase.h" +#include "modtag.h" +#include "itproperties.h" + +namespace TagLib { + + namespace IT { + + class TAGLIB_EXPORT File : public Mod::FileBase { + public: + /*! + * Contructs a Impulse Tracker file from \a file. If \a readProperties + * is true the file's audio properties will also be read using + * \a propertiesStyle. If false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + AudioProperties::ReadStyle propertiesStyle = + AudioProperties::Average); + + /*! + * Contructs a Impulse Tracker file from \a stream. If \a readProperties + * is true the file's audio properties will also be read using + * \a propertiesStyle. If false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stram, bool readProperties = true, + AudioProperties::ReadStyle propertiesStyle = + AudioProperties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + Mod::Tag *tag() const; + + /*! + * Forwards to Mod::Tag::properties(). + * BIC: will be removed once File::toDict() is made virtual + */ + PropertyMap properties() const; + + /*! + * Forwards to Mod::Tag::setProperties(). + * BIC: will be removed once File::setProperties() is made virtual + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the IT::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + IT::Properties *audioProperties() const; + + /*! + * Save the file. + * This is the same as calling save(AllTags); + * + * \note Saving Impulse Tracker tags is not supported. + */ + bool save(); + + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/itproperties.h b/usr/local/include/taglib/itproperties.h new file mode 100644 index 000000000..da2a7c4fb --- /dev/null +++ b/usr/local/include/taglib/itproperties.h @@ -0,0 +1,101 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_ITPROPERTIES_H +#define TAGLIB_ITPROPERTIES_H + +#include "taglib.h" +#include "audioproperties.h" + +namespace TagLib { + namespace IT { + class TAGLIB_EXPORT Properties : public AudioProperties { + friend class File; + public: + /*! Flag bits. */ + enum { + Stereo = 1, + Vol0MixOptimizations = 2, + UseInstruments = 4, + LinearSlides = 8, + OldEffects = 16, + LinkEffects = 32, + UseMidiPitchController = 64, + RequestEmbeddedMidiConf = 128 + }; + + /*! Special bits. */ + enum { + MessageAttached = 1, + MidiConfEmbedded = 8 + }; + + Properties(AudioProperties::ReadStyle propertiesStyle); + virtual ~Properties(); + + int length() const; + int bitrate() const; + int sampleRate() const; + int channels() const; + + ushort lengthInPatterns() const; + bool stereo() const; + ushort instrumentCount() const; + ushort sampleCount() const; + ushort patternCount() const; + ushort version() const; + ushort compatibleVersion() const; + ushort flags() const; + ushort special() const; + uchar globalVolume() const; + uchar mixVolume() const; + uchar tempo() const; + uchar bpmSpeed() const; + uchar panningSeparation() const; + uchar pitchWheelDepth() const; + + void setChannels(int channels); + void setLengthInPatterns(ushort lengthInPatterns); + void setInstrumentCount(ushort instrumentCount); + void setSampleCount (ushort sampleCount); + void setPatternCount(ushort patternCount); + void setVersion (ushort version); + void setCompatibleVersion(ushort compatibleVersion); + void setFlags (ushort flags); + void setSpecial (ushort special); + void setGlobalVolume(uchar globalVolume); + void setMixVolume (uchar mixVolume); + void setTempo (uchar tempo); + void setBpmSpeed (uchar bpmSpeed); + void setPanningSeparation(uchar panningSeparation); + void setPitchWheelDepth (uchar pitchWheelDepth); + + private: + Properties(const Properties&); + Properties &operator=(const Properties&); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/modfile.h b/usr/local/include/taglib/modfile.h new file mode 100644 index 000000000..ad1e43b88 --- /dev/null +++ b/usr/local/include/taglib/modfile.h @@ -0,0 +1,106 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_MODFILE_H +#define TAGLIB_MODFILE_H + +#include "tfile.h" +#include "audioproperties.h" +#include "taglib_export.h" +#include "modfilebase.h" +#include "modtag.h" +#include "modproperties.h" + +namespace TagLib { + + namespace Mod { + + class TAGLIB_EXPORT File : public TagLib::Mod::FileBase + { + public: + /*! + * Contructs a Protracker file from \a file. If \a readProperties + * is true the file's audio properties will also be read using + * \a propertiesStyle. If false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + AudioProperties::ReadStyle propertiesStyle = + AudioProperties::Average); + + /*! + * Contructs a Protracker file from \a stream. If \a readProperties + * is true the file's audio properties will also be read using + * \a propertiesStyle. If false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + AudioProperties::ReadStyle propertiesStyle = + AudioProperties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + Mod::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * Forwards to Mod::Tag::properties(). + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * Forwards to Mod::Tag::setProperties(). + */ + PropertyMap setProperties(const PropertyMap &); + /*! + * Returns the Mod::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + Mod::Properties *audioProperties() const; + + /*! + * Save the file. + * This is the same as calling save(AllTags); + * + * \note Saving Protracker tags is not supported. + */ + bool save(); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties); + + class FilePrivate; + FilePrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/modfilebase.h b/usr/local/include/taglib/modfilebase.h new file mode 100644 index 000000000..383bde118 --- /dev/null +++ b/usr/local/include/taglib/modfilebase.h @@ -0,0 +1,62 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_MODFILEBASE_H +#define TAGLIB_MODFILEBASE_H + +#include "taglib.h" +#include "tfile.h" +#include "tstring.h" +#include "tlist.h" +#include "taglib_export.h" + +#include + +namespace TagLib { + + namespace Mod { + + class TAGLIB_EXPORT FileBase : public TagLib::File + { + protected: + FileBase(FileName file); + FileBase(IOStream *stream); + + void writeString(const String &s, ulong size, char padding = 0); + void writeByte(uchar byte); + void writeU16L(ushort number); + void writeU32L(ulong number); + void writeU16B(ushort number); + void writeU32B(ulong number); + + bool readString(String &s, ulong size); + bool readByte(uchar &byte); + bool readU16L(ushort &number); + bool readU32L(ulong &number); + bool readU16B(ushort &number); + bool readU32B(ulong &number); + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/modproperties.h b/usr/local/include/taglib/modproperties.h new file mode 100644 index 000000000..d50353a48 --- /dev/null +++ b/usr/local/include/taglib/modproperties.h @@ -0,0 +1,65 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_MODPROPERTIES_H +#define TAGLIB_MODPROPERTIES_H + +#include "taglib.h" +#include "audioproperties.h" + +namespace TagLib { + + namespace Mod { + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + Properties(AudioProperties::ReadStyle propertiesStyle); + virtual ~Properties(); + + int length() const; + int bitrate() const; + int sampleRate() const; + int channels() const; + + uint instrumentCount() const; + uchar lengthInPatterns() const; + + void setChannels(int channels); + + void setInstrumentCount(uint sampleCount); + void setLengthInPatterns(uchar lengthInPatterns); + + private: + friend class File; + + Properties(const Properties&); + Properties &operator=(const Properties&); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/modtag.h b/usr/local/include/taglib/modtag.h new file mode 100644 index 000000000..f33e33f29 --- /dev/null +++ b/usr/local/include/taglib/modtag.h @@ -0,0 +1,190 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_MODTAG_H +#define TAGLIB_MODTAG_H + +#include "tag.h" + +namespace TagLib { + + namespace Mod { + + /*! + * Tags for module files (Mod, S3M, IT, XM). + * + * Note that only the \a title is supported as such by most + * module file formats. Except for XM files the \a trackerName + * is derived from the file format or the flavour of the file + * format. For XM files it is stored in the file. + * + * The \a comment tag is not strictly supported by module files, + * but it is common practice to abuse instrument/sample/pattern + * names as multiline comments. TagLib does so as well. + */ + class TAGLIB_EXPORT Tag : public TagLib::Tag + { + public: + Tag(); + virtual ~Tag(); + + /*! + * Returns the track name; if no track name is present in the tag + * String::null will be returned. + */ + String title() const; + + /*! + * Not supported by module files. Therefore always returns String::null. + */ + String artist() const; + + /*! + * Not supported by module files. Therefore always returns String::null. + */ + String album() const; + + /*! + * Returns the track comment derived from the instrument/sample/pattern + * names; if no comment is present in the tag String::null will be + * returned. + */ + String comment() const; + + /*! + * Not supported by module files. Therefore always returns String::null. + */ + String genre() const; + + /*! + * Not supported by module files. Therefore always returns 0. + */ + uint year() const; + + /*! + * Not supported by module files. Therefore always returns 0. + */ + uint track() const; + + /*! + * Returns the name of the tracker used to create/edit the module file. + * Only XM files store this tag to the file as such, for other formats + * (Mod, S3M, IT) this is derived from the file type or the flavour of + * the file type. Therefore only XM files might have an empty + * (String::null) tracker name. + */ + String trackerName() const; + + /*! + * Sets the title to \a title. If \a title is String::null then this + * value will be cleared. + * + * The length limits per file type are (1 characetr = 1 byte): + * Mod 20 characters, S3M 27 characters, IT 25 characters and XM 20 + * characters. + */ + void setTitle(const String &title); + + /*! + * Not supported by module files and therefore ignored. + */ + void setArtist(const String &artist); + + /*! + * Not supported by module files and therefore ignored. + */ + void setAlbum(const String &album); + + /*! + * Sets the comment to \a comment. If \a comment is String::null then + * this value will be cleared. + * + * Note that module file formats don't actually support a comment tag. + * Instead the names of instruments/patterns/samples are abused as + * a multiline comment. Because of this the number of lines in a + * module file is fixed to the number of instruments/patterns/samples. + * + * Also note that the instrument/pattern/sample name length is limited + * an thus the line length in comments are limited. Too big comments + * will be truncated. + * + * The line length limits per file type are (1 characetr = 1 byte): + * Mod 22 characters, S3M 27 characters, IT 25 characters and XM 22 + * characters. + */ + void setComment(const String &comment); + + /*! + * Not supported by module files and therefore ignored. + */ + void setGenre(const String &genre); + + /*! + * Not supported by module files and therefore ignored. + */ + void setYear(uint year); + + /*! + * Not supported by module files and therefore ignored. + */ + void setTrack(uint track); + + /*! + * Sets the tracker name to \a trackerName. If \a trackerName is + * String::null then this value will be cleared. + * + * Note that only XM files support this tag. Setting the + * tracker name for other module file formats will be ignored. + * + * The length of this tag is limited to 20 characters (1 character + * = 1 byte). + */ + void setTrackerName(const String &trackerName); + + /*! + * Implements the unified property interface -- export function. + * Since the module tag is very limited, the exported map is as well. + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * Because of the limitations of the module file tag, any tags besides + * COMMENT, TITLE and, if it is an XM file, TRACKERNAME, will be + * returened. Additionally, if the map contains tags with multiple values, + * all but the first will be contained in the returned map of unsupported + * properties. + */ + PropertyMap setProperties(const PropertyMap &); + + private: + Tag(const Tag &); + Tag &operator=(const Tag &); + + class TagPrivate; + TagPrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/mp4atom.h b/usr/local/include/taglib/mp4atom.h new file mode 100644 index 000000000..ea5091a8b --- /dev/null +++ b/usr/local/include/taglib/mp4atom.h @@ -0,0 +1,111 @@ +/************************************************************************** + copyright : (C) 2007,2011 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +// This file is not part of the public API! + +#ifndef DO_NOT_DOCUMENT + +#ifndef TAGLIB_MP4ATOM_H +#define TAGLIB_MP4ATOM_H + +#include "tfile.h" +#include "tlist.h" + +namespace TagLib { + + namespace MP4 { + + class Atom; + typedef TagLib::List AtomList; + + enum AtomDataType + { + TypeImplicit = 0, // for use with tags for which no type needs to be indicated because only one type is allowed + TypeUTF8 = 1, // without any count or null terminator + TypeUTF16 = 2, // also known as UTF-16BE + TypeSJIS = 3, // deprecated unless it is needed for special Japanese characters + TypeHTML = 6, // the HTML file header specifies which HTML version + TypeXML = 7, // the XML header must identify the DTD or schemas + TypeUUID = 8, // also known as GUID; stored as 16 bytes in binary (valid as an ID) + TypeISRC = 9, // stored as UTF-8 text (valid as an ID) + TypeMI3P = 10, // stored as UTF-8 text (valid as an ID) + TypeGIF = 12, // (deprecated) a GIF image + TypeJPEG = 13, // a JPEG image + TypePNG = 14, // a PNG image + TypeURL = 15, // absolute, in UTF-8 characters + TypeDuration = 16, // in milliseconds, 32-bit integer + TypeDateTime = 17, // in UTC, counting seconds since midnight, January 1, 1904; 32 or 64-bits + TypeGenred = 18, // a list of enumerated values + TypeInteger = 21, // a signed big-endian integer with length one of { 1,2,3,4,8 } bytes + TypeRIAAPA = 24, // RIAA parental advisory; { -1=no, 1=yes, 0=unspecified }, 8-bit ingteger + TypeUPC = 25, // Universal Product Code, in text UTF-8 format (valid as an ID) + TypeBMP = 27, // Windows bitmap image + TypeUndefined = 255 // undefined + }; + + struct AtomData { + AtomData(AtomDataType type, ByteVector data) : type(type), locale(0), data(data) {} + AtomDataType type; + int locale; + ByteVector data; + }; + + typedef TagLib::List AtomDataList; + + class Atom + { + public: + Atom(File *file); + ~Atom(); + Atom *find(const char *name1, const char *name2 = 0, const char *name3 = 0, const char *name4 = 0); + bool path(AtomList &path, const char *name1, const char *name2 = 0, const char *name3 = 0); + AtomList findall(const char *name, bool recursive = false); + long offset; + long length; + TagLib::ByteVector name; + AtomList children; + private: + static const int numContainers = 11; + static const char *containers[11]; + }; + + //! Root-level atoms + class Atoms + { + public: + Atoms(File *file); + ~Atoms(); + Atom *find(const char *name1, const char *name2 = 0, const char *name3 = 0, const char *name4 = 0); + AtomList path(const char *name1, const char *name2 = 0, const char *name3 = 0, const char *name4 = 0); + AtomList atoms; + }; + + } + +} + +#endif + +#endif diff --git a/usr/local/include/taglib/mp4coverart.h b/usr/local/include/taglib/mp4coverart.h new file mode 100644 index 000000000..804ab7852 --- /dev/null +++ b/usr/local/include/taglib/mp4coverart.h @@ -0,0 +1,74 @@ +/************************************************************************** + copyright : (C) 2009 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MP4COVERART_H +#define TAGLIB_MP4COVERART_H + +#include "tlist.h" +#include "tbytevector.h" +#include "taglib_export.h" +#include "mp4atom.h" + +namespace TagLib { + + namespace MP4 { + + class TAGLIB_EXPORT CoverArt + { + public: + /*! + * This describes the image type. + */ + enum Format { + JPEG = TypeJPEG, + PNG = TypePNG, + BMP = TypeBMP, + GIF = TypeGIF + }; + + CoverArt(Format format, const ByteVector &data); + ~CoverArt(); + + CoverArt(const CoverArt &item); + CoverArt &operator=(const CoverArt &item); + + //! Format of the image + Format format() const; + + //! The image data + ByteVector data() const; + + private: + class CoverArtPrivate; + CoverArtPrivate *d; + }; + + typedef List CoverArtList; + + } + +} + +#endif diff --git a/usr/local/include/taglib/mp4file.h b/usr/local/include/taglib/mp4file.h new file mode 100644 index 000000000..2ed3bea58 --- /dev/null +++ b/usr/local/include/taglib/mp4file.h @@ -0,0 +1,116 @@ +/************************************************************************** + copyright : (C) 2007 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MP4FILE_H +#define TAGLIB_MP4FILE_H + +#include "tag.h" +#include "tfile.h" +#include "taglib_export.h" +#include "mp4properties.h" +#include "mp4tag.h" + +namespace TagLib { + + //! An implementation of MP4 (AAC, ALAC, ...) metadata + namespace MP4 { + + class Atoms; + + /*! + * This implements and provides an interface for MP4 files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to MP4 files. + */ + class TAGLIB_EXPORT File : public TagLib::File + { + public: + /*! + * Contructs a MP4 file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note In the current implementation, both \a readProperties and + * \a propertiesStyle are ignored. + */ + File(FileName file, bool readProperties = true, Properties::ReadStyle audioPropertiesStyle = Properties::Average); + + /*! + * Contructs a MP4 file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note In the current implementation, both \a readProperties and + * \a propertiesStyle are ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, Properties::ReadStyle audioPropertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns a pointer to the MP4 tag of the file. + * + * MP4::Tag implements the tag interface, so this serves as the + * reimplementation of TagLib::File::tag(). + * + * \note The Tag is still owned by the MP4::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + Tag *tag() const; + + /*! + * Returns the MP4 audio properties for this file. + */ + Properties *audioProperties() const; + + /*! + * Save the file. + * + * This returns true if the save was successful. + */ + bool save(); + + private: + + void read(bool readProperties, Properties::ReadStyle audioPropertiesStyle); + bool checkValid(const MP4::AtomList &list); + + class FilePrivate; + FilePrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/mp4item.h b/usr/local/include/taglib/mp4item.h new file mode 100644 index 000000000..be7aa1a17 --- /dev/null +++ b/usr/local/include/taglib/mp4item.h @@ -0,0 +1,83 @@ +/************************************************************************** + copyright : (C) 2007 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MP4ITEM_H +#define TAGLIB_MP4ITEM_H + +#include "tstringlist.h" +#include "mp4coverart.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace MP4 { + + class TAGLIB_EXPORT Item + { + public: + struct IntPair { + int first, second; + }; + + Item(); + Item(const Item &item); + Item &operator=(const Item &item); + ~Item(); + + Item(int value); + Item(uchar value); + Item(uint value); + Item(long long value); + Item(bool value); + Item(int first, int second); + Item(const StringList &value); + Item(const ByteVectorList &value); + Item(const CoverArtList &value); + + void setAtomDataType(AtomDataType type); + AtomDataType atomDataType() const; + + int toInt() const; + uchar toByte() const; + uint toUInt() const; + long long toLongLong() const; + bool toBool() const; + IntPair toIntPair() const; + StringList toStringList() const; + ByteVectorList toByteVectorList() const; + CoverArtList toCoverArtList() const; + + bool isValid() const; + + private: + class ItemPrivate; + ItemPrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/mp4properties.h b/usr/local/include/taglib/mp4properties.h new file mode 100644 index 000000000..7906824d8 --- /dev/null +++ b/usr/local/include/taglib/mp4properties.h @@ -0,0 +1,62 @@ +/************************************************************************** + copyright : (C) 2007 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MP4PROPERTIES_H +#define TAGLIB_MP4PROPERTIES_H + +#include "taglib_export.h" +#include "audioproperties.h" + +namespace TagLib { + + namespace MP4 { + + class Atoms; + class File; + + //! An implementation of MP4 audio properties + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + Properties(File *file, Atoms *atoms, ReadStyle style = Average); + virtual ~Properties(); + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + virtual int bitsPerSample() const; + bool isEncrypted() const; + + private: + class PropertiesPrivate; + PropertiesPrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/mp4tag.h b/usr/local/include/taglib/mp4tag.h new file mode 100644 index 000000000..b5ea6ebbc --- /dev/null +++ b/usr/local/include/taglib/mp4tag.h @@ -0,0 +1,112 @@ +/************************************************************************** + copyright : (C) 2007,2011 by Lukáš Lalinský + email : lalinsky@gmail.com + **************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MP4TAG_H +#define TAGLIB_MP4TAG_H + +#include "tag.h" +#include "tbytevectorlist.h" +#include "tfile.h" +#include "tmap.h" +#include "tstringlist.h" +#include "taglib_export.h" +#include "mp4atom.h" +#include "mp4item.h" + +namespace TagLib { + + namespace MP4 { + + typedef TagLib::Map ItemListMap; + + class TAGLIB_EXPORT Tag: public TagLib::Tag + { + public: + Tag(); + Tag(TagLib::File *file, Atoms *atoms); + ~Tag(); + bool save(); + + String title() const; + String artist() const; + String album() const; + String comment() const; + String genre() const; + uint year() const; + uint track() const; + + void setTitle(const String &value); + void setArtist(const String &value); + void setAlbum(const String &value); + void setComment(const String &value); + void setGenre(const String &value); + void setYear(uint value); + void setTrack(uint value); + + ItemListMap &itemListMap(); + + private: + AtomDataList parseData2(Atom *atom, TagLib::File *file, int expectedFlags = -1, bool freeForm = false); + TagLib::ByteVectorList parseData(Atom *atom, TagLib::File *file, int expectedFlags = -1, bool freeForm = false); + void parseText(Atom *atom, TagLib::File *file, int expectedFlags = 1); + void parseFreeForm(Atom *atom, TagLib::File *file); + void parseInt(Atom *atom, TagLib::File *file); + void parseByte(Atom *atom, TagLib::File *file); + void parseUInt(Atom *atom, TagLib::File *file); + void parseLongLong(Atom *atom, TagLib::File *file); + void parseGnre(Atom *atom, TagLib::File *file); + void parseIntPair(Atom *atom, TagLib::File *file); + void parseBool(Atom *atom, TagLib::File *file); + void parseCovr(Atom *atom, TagLib::File *file); + + TagLib::ByteVector padIlst(const ByteVector &data, int length = -1); + TagLib::ByteVector renderAtom(const ByteVector &name, const TagLib::ByteVector &data); + TagLib::ByteVector renderData(const ByteVector &name, int flags, const TagLib::ByteVectorList &data); + TagLib::ByteVector renderText(const ByteVector &name, Item &item, int flags = TypeUTF8); + TagLib::ByteVector renderFreeForm(const String &name, Item &item); + TagLib::ByteVector renderBool(const ByteVector &name, Item &item); + TagLib::ByteVector renderInt(const ByteVector &name, Item &item); + TagLib::ByteVector renderByte(const ByteVector &name, Item &item); + TagLib::ByteVector renderUInt(const ByteVector &name, Item &item); + TagLib::ByteVector renderLongLong(const ByteVector &name, Item &item); + TagLib::ByteVector renderIntPair(const ByteVector &name, Item &item); + TagLib::ByteVector renderIntPairNoTrailing(const ByteVector &name, Item &item); + TagLib::ByteVector renderCovr(const ByteVector &name, Item &item); + + void updateParents(AtomList &path, long delta, int ignore = 0); + void updateOffsets(long delta, long offset); + + void saveNew(TagLib::ByteVector &data); + void saveExisting(TagLib::ByteVector &data, AtomList &path); + + class TagPrivate; + TagPrivate *d; + }; + + } + +} + +#endif diff --git a/usr/local/include/taglib/mpcfile.h b/usr/local/include/taglib/mpcfile.h new file mode 100644 index 000000000..167b768e1 --- /dev/null +++ b/usr/local/include/taglib/mpcfile.h @@ -0,0 +1,204 @@ +/*************************************************************************** + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MPCFILE_H +#define TAGLIB_MPCFILE_H + +#include "taglib_export.h" +#include "tfile.h" +#include "tag.h" + +#include "mpcproperties.h" + +#include "tlist.h" + +namespace TagLib { + + class Tag; + + namespace ID3v1 { class Tag; } + namespace APE { class Tag; } + + //! An implementation of MPC metadata + + /*! + * This is implementation of MPC metadata. + * + * This supports ID3v1 and APE (v1 and v2) style comments as well as reading stream + * properties from the file. ID3v2 tags are invalid in MPC-files, but will be skipped + * and ignored. + */ + + namespace MPC { + + //! An implementation of TagLib::File with MPC specific methods + + /*! + * This implements and provides an interface for MPC files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to MPC files. + * The only invalid tag combination supported is an ID3v1 tag after an APE tag. + */ + + class TAGLIB_EXPORT File : public TagLib::File + { + public: + /*! + * This set of flags is used for various operations and is suitable for + * being OR-ed together. + */ + enum TagTypes { + //! Empty set. Matches no tag types. + NoTags = 0x0000, + //! Matches ID3v1 tags. + ID3v1 = 0x0001, + //! Matches ID3v2 tags. + ID3v2 = 0x0002, + //! Matches APE tags. + APE = 0x0004, + //! Matches all tag types. + AllTags = 0xffff + }; + + /*! + * Contructs an MPC file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an MPC file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the Tag for this file. This will be an APE tag, an ID3v1 tag + * or a combination of the two. + */ + virtual TagLib::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * If the file contains both an APE and an ID3v1 tag, only the APE + * tag will be converted to the PropertyMap. + */ + PropertyMap properties() const; + + void removeUnsupportedProperties(const StringList &properties); + + /*! + * Implements the unified property interface -- import function. + * As with the export, only one tag is taken into account. If the file + * has no tag at all, an APE tag will be created. + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the MPC::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Saves the file. + */ + virtual bool save(); + + /*! + * Returns a pointer to the ID3v1 tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid ID3v1 tag. If \a create is true it will create + * an ID3v1 tag if one does not exist. If there is already an APE tag, the + * new ID3v1 tag will be placed after it. + * + * \note The Tag is still owned by the APE::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v1::Tag *ID3v1Tag(bool create = false); + + /*! + * Returns a pointer to the APE tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid APE tag. If \a create is true it will create + * a APE tag if one does not exist. If there is already an ID3v1 tag, thes + * new APE tag will be placed before it. + * + * \note The Tag is still owned by the APE::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + APE::Tag *APETag(bool create = false); + + /*! + * This will remove the tags that match the OR-ed together TagTypes from the + * file. By default it removes all tags. + * + * \warning This will also invalidate pointers to the tags + * as their memory will be freed. + * + * \note In order to make the removal permanent save() still needs to be called. + */ + void strip(int tags = AllTags); + + /*! + * \deprecated + * \see strip + */ + void remove(int tags = AllTags); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + void scan(); + long findAPE(); + long findID3v1(); + long findID3v2(); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/mpcproperties.h b/usr/local/include/taglib/mpcproperties.h new file mode 100644 index 000000000..adf40d839 --- /dev/null +++ b/usr/local/include/taglib/mpcproperties.h @@ -0,0 +1,122 @@ +/*************************************************************************** + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MPCPROPERTIES_H +#define TAGLIB_MPCPROPERTIES_H + +#include "taglib_export.h" +#include "audioproperties.h" + +namespace TagLib { + + namespace MPC { + + class File; + + static const uint HeaderSize = 8*7; + + //! An implementation of audio property reading for MPC + + /*! + * This reads the data from an MPC stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of MPC::Properties with the data read from the + * ByteVector \a data. + * + * This constructor is deprecated. It only works for MPC version up to 7. + */ + Properties(const ByteVector &data, long streamLength, ReadStyle style = Average); + + /*! + * Create an instance of MPC::Properties with the data read directly + * from a MPC::File. + */ + Properties(File *file, long streamLength, ReadStyle style = Average); + + /*! + * Destroys this MPC::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * Returns the version of the bitstream (SV4-SV8) + */ + int mpcVersion() const; + uint totalFrames() const; + uint sampleFrames() const; + + /*! + * Returns the track gain as an integer value, + * to convert to dB: trackGain in dB = 64.82 - (trackGain / 256) + */ + int trackGain() const; + + /*! + * Returns the track peak as an integer value, + * to convert to dB: trackPeak in dB = trackPeak / 256 + * to convert to floating [-1..1]: trackPeak = 10^(trackPeak / 256 / 20)/32768 + */ + int trackPeak() const; + + /*! + * Returns the album gain as an integer value, + * to convert to dB: albumGain in dB = 64.82 - (albumGain / 256) + */ + int albumGain() const; + + /*! + * Returns the album peak as an integer value, + * to convert to dB: albumPeak in dB = albumPeak / 256 + * to convert to floating [-1..1]: albumPeak = 10^(albumPeak / 256 / 20)/32768 + */ + int albumPeak() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void readSV7(const ByteVector &data); + void readSV8(File *file); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/mpegfile.h b/usr/local/include/taglib/mpegfile.h new file mode 100644 index 000000000..f7b98364f --- /dev/null +++ b/usr/local/include/taglib/mpegfile.h @@ -0,0 +1,341 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MPEGFILE_H +#define TAGLIB_MPEGFILE_H + +#include "taglib_export.h" +#include "tfile.h" +#include "tag.h" + +#include "mpegproperties.h" + +namespace TagLib { + + namespace ID3v2 { class Tag; class FrameFactory; } + namespace ID3v1 { class Tag; } + namespace APE { class Tag; } + + //! An implementation of TagLib::File with MPEG (MP3) specific methods + + namespace MPEG { + + //! An MPEG file class with some useful methods specific to MPEG + + /*! + * This implements the generic TagLib::File API and additionally provides + * access to properties that are distinct to MPEG files, notably access + * to the different ID3 tags. + */ + + class TAGLIB_EXPORT File : public TagLib::File + { + public: + /*! + * This set of flags is used for various operations and is suitable for + * being OR-ed together. + */ + enum TagTypes { + //! Empty set. Matches no tag types. + NoTags = 0x0000, + //! Matches ID3v1 tags. + ID3v1 = 0x0001, + //! Matches ID3v2 tags. + ID3v2 = 0x0002, + //! Matches APE tags. + APE = 0x0004, + //! Matches all tag types. + AllTags = 0xffff + }; + + /*! + * Contructs an MPEG file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \deprecated This constructor will be dropped in favor of the one below + * in a future version. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an MPEG file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. The frames will be created using + * \a frameFactory. + * + * \deprecated This constructor will be dropped in favor of the one below + * in a future version. + */ + File(FileName file, ID3v2::FrameFactory *frameFactory, + bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an MPEG file from \a stream. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. The frames will be created using + * \a frameFactory. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + // BIC: merge with the above constructor + File(IOStream *stream, ID3v2::FrameFactory *frameFactory, + bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns a pointer to a tag that is the union of the ID3v2 and ID3v1 + * tags. The ID3v2 tag is given priority in reading the information -- if + * requested information exists in both the ID3v2 tag and the ID3v1 tag, + * the information from the ID3v2 tag will be returned. + * + * If you would like more granular control over the content of the tags, + * with the concession of generality, use the tag-type specific calls. + * + * \note As this tag is not implemented as an ID3v2 tag or an ID3v1 tag, + * but a union of the two this pointer may not be cast to the specific + * tag types. + * + * \see ID3v1Tag() + * \see ID3v2Tag() + * \see APETag() + */ + virtual Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * If the file contains more than one tag, only the + * first one (in the order ID3v2, APE, ID3v1) will be converted to the + * PropertyMap. + */ + PropertyMap properties() const; + + void removeUnsupportedProperties(const StringList &properties); + + /*! + * Implements the unified tag dictionary interface -- import function. + * As with the export, only one tag is taken into account. If the file + * has no tag at all, ID3v2 will be created. + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the MPEG::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Save the file. If at least one tag -- ID3v1 or ID3v2 -- exists this + * will duplicate its content into the other tag. This returns true + * if saving was successful. + * + * If neither exists or if both tags are empty, this will strip the tags + * from the file. + * + * This is the same as calling save(AllTags); + * + * If you would like more granular control over the content of the tags, + * with the concession of generality, use paramaterized save call below. + * + * \see save(int tags) + */ + virtual bool save(); + + /*! + * Save the file. This will attempt to save all of the tag types that are + * specified by OR-ing together TagTypes values. The save() method above + * uses AllTags. This returns true if saving was successful. + * + * This strips all tags not included in the mask, but does not modify them + * in memory, so later calls to save() which make use of these tags will + * remain valid. This also strips empty tags. + */ + bool save(int tags); + + /*! + * Save the file. This will attempt to save all of the tag types that are + * specified by OR-ing together TagTypes values. The save() method above + * uses AllTags. This returns true if saving was successful. + * + * If \a stripOthers is true this strips all tags not included in the mask, + * but does not modify them in memory, so later calls to save() which make + * use of these tags will remain valid. This also strips empty tags. + */ + // BIC: combine with the above method + bool save(int tags, bool stripOthers); + + /*! + * Save the file. This will attempt to save all of the tag types that are + * specified by OR-ing together TagTypes values. The save() method above + * uses AllTags. This returns true if saving was successful. + * + * If \a stripOthers is true this strips all tags not included in the mask, + * but does not modify them in memory, so later calls to save() which make + * use of these tags will remain valid. This also strips empty tags. + * + * The \a id3v2Version parameter specifies the version of the saved + * ID3v2 tag. It can be either 4 or 3. + */ + // BIC: combine with the above method + bool save(int tags, bool stripOthers, int id3v2Version); + + /*! + * Returns a pointer to the ID3v2 tag of the file. + * + * A tag will always be returned, regardless of whether there is a + * tag in the file or not. Use ID3v2::Tag::isEmpty() to check if + * the tag contains no data. + * + * \note The Tag is still owned by the MPEG::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v2::Tag *ID3v2Tag(bool create = false); + + /*! + * Returns a pointer to the ID3v1 tag of the file. + * + * A tag will always be returned, regardless of whether there is a + * tag in the file or not. Use Tag::isEmpty() to check if + * the tag contains no data. + * + * \note The Tag is still owned by the MPEG::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v1::Tag *ID3v1Tag(bool create = false); + + /*! + * Returns a pointer to the APE tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid APE tag. If \a create is true it will create + * an APE tag if one does not exist. + * + * \note The Tag is still owned by the MPEG::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + APE::Tag *APETag(bool create = false); + + /*! + * This will strip the tags that match the OR-ed together TagTypes from the + * file. By default it strips all tags. It returns true if the tags are + * successfully stripped. + * + * This is equivalent to strip(tags, true) + * + * \note This will also invalidate pointers to the ID3 and APE tags + * as their memory will be freed. + */ + bool strip(int tags = AllTags); + + /*! + * This will strip the tags that match the OR-ed together TagTypes from the + * file. By default it strips all tags. It returns true if the tags are + * successfully stripped. + * + * If \a freeMemory is true the ID3 and APE tags will be deleted and + * pointers to them will be invalidated. + */ + // BIC: merge with the method above + bool strip(int tags, bool freeMemory); + + /*! + * Set the ID3v2::FrameFactory to something other than the default. + * + * \see ID3v2FrameFactory + */ + void setID3v2FrameFactory(const ID3v2::FrameFactory *factory); + + /*! + * Returns the position in the file of the first MPEG frame. + */ + long firstFrameOffset(); + + /*! + * Returns the position in the file of the next MPEG frame, + * using the current position as start + */ + long nextFrameOffset(long position); + + /*! + * Returns the position in the file of the previous MPEG frame, + * using the current position as start + */ + long previousFrameOffset(long position); + + /*! + * Returns the position in the file of the last MPEG frame. + */ + long lastFrameOffset(); + + /*! + * Returns whether or not the file on disk contains ID3v1 tag. + */ + bool hasID3v1Tag() const; + + /*! + * Returns whether or not the file on disk contains ID3v2 tag. + */ + bool hasID3v2Tag() const; + + /*! + * Returns whether or not the file on disk contains APE tag. + */ + bool hasAPETag() const; + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + long findID3v2(); + long findID3v1(); + void findAPE(); + + /*! + * MPEG frames can be recognized by the bit pattern 11111111 111, so the + * first byte is easy to check for, however checking to see if the second byte + * starts with \e 111 is a bit more tricky, hence this member function. + */ + static bool secondSynchByte(char byte); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/mpegheader.h b/usr/local/include/taglib/mpegheader.h new file mode 100644 index 000000000..020ebd060 --- /dev/null +++ b/usr/local/include/taglib/mpegheader.h @@ -0,0 +1,166 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MPEGHEADER_H +#define TAGLIB_MPEGHEADER_H + +#include "taglib_export.h" + +namespace TagLib { + + class ByteVector; + + namespace MPEG { + + //! An implementation of MP3 frame headers + + /*! + * This is an implementation of MPEG Layer III headers. The API follows more + * or less the binary format of these headers. I've used + * this + * document as a reference. + */ + + class TAGLIB_EXPORT Header + { + public: + /*! + * Parses an MPEG header based on \a data. + */ + Header(const ByteVector &data); + + /*! + * Does a shallow copy of \a h. + */ + Header(const Header &h); + + /*! + * Destroys this Header instance. + */ + virtual ~Header(); + + /*! + * Returns true if the frame is at least an appropriate size and has + * legal values. + */ + bool isValid() const; + + /*! + * The MPEG Version. + */ + enum Version { + //! MPEG Version 1 + Version1 = 0, + //! MPEG Version 2 + Version2 = 1, + //! MPEG Version 2.5 + Version2_5 = 2 + }; + + /*! + * Returns the MPEG Version of the header. + */ + Version version() const; + + /*! + * Returns the layer version. This will be between the values 1-3. + */ + int layer() const; + + /*! + * Returns true if the MPEG protection bit is enabled. + */ + bool protectionEnabled() const; + + /*! + * Returns the bitrate encoded in the header. + */ + int bitrate() const; + + /*! + * Returns the sample rate in Hz. + */ + int sampleRate() const; + + /*! + * Returns true if the frame is padded. + */ + bool isPadded() const; + + /*! + * There are a few combinations or one or two channel audio that are + * possible: + */ + enum ChannelMode { + //! Stereo + Stereo = 0, + //! Stereo + JointStereo = 1, + //! Dual Mono + DualChannel = 2, + //! Mono + SingleChannel = 3 + }; + + /*! + * Returns the channel mode for this frame. + */ + ChannelMode channelMode() const; + + /*! + * Returns true if the copyrighted bit is set. + */ + bool isCopyrighted() const; + + /*! + * Returns true if the "original" bit is set. + */ + bool isOriginal() const; + + /*! + * Returns the frame length. + */ + int frameLength() const; + + /*! + * Returns the number of frames per sample. + */ + int samplesPerFrame() const; + + /*! + * Makes a shallow copy of the header. + */ + Header &operator=(const Header &h); + + private: + void parse(const ByteVector &data); + + class HeaderPrivate; + HeaderPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/mpegproperties.h b/usr/local/include/taglib/mpegproperties.h new file mode 100644 index 000000000..72e594ff5 --- /dev/null +++ b/usr/local/include/taglib/mpegproperties.h @@ -0,0 +1,118 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MPEGPROPERTIES_H +#define TAGLIB_MPEGPROPERTIES_H + +#include "taglib_export.h" +#include "audioproperties.h" + +#include "mpegheader.h" + +namespace TagLib { + + namespace MPEG { + + class File; + class XingHeader; + + //! An implementation of audio property reading for MP3 + + /*! + * This reads the data from an MPEG Layer III stream found in the + * AudioProperties API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of MPEG::Properties with the data read from the + * MPEG::File \a file. + */ + Properties(File *file, ReadStyle style = Average); + + /*! + * Destroys this MPEG Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * Returns a pointer to the XingHeader if one exists or null if no + * XingHeader was found. + */ + + const XingHeader *xingHeader() const; + + /*! + * Returns the MPEG Version of the file. + */ + Header::Version version() const; + + /*! + * Returns the layer version. This will be between the values 1-3. + */ + int layer() const; + + /*! + * Returns true if the MPEG protection bit is enabled. + */ + bool protectionEnabled() const; + + /*! + * Returns the channel mode for this frame. + */ + Header::ChannelMode channelMode() const; + + /*! + * Returns true if the copyrighted bit is set. + */ + bool isCopyrighted() const; + + /*! + * Returns true if the "original" bit is set. + */ + bool isOriginal() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/oggfile.h b/usr/local/include/taglib/oggfile.h new file mode 100644 index 000000000..b36daecb1 --- /dev/null +++ b/usr/local/include/taglib/oggfile.h @@ -0,0 +1,126 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#include "taglib_export.h" +#include "tfile.h" +#include "tbytevectorlist.h" + +#ifndef TAGLIB_OGGFILE_H +#define TAGLIB_OGGFILE_H + +namespace TagLib { + + //! A namespace for the classes used by Ogg-based metadata files + + namespace Ogg { + + class PageHeader; + + //! An implementation of TagLib::File with some helpers for Ogg based formats + + /*! + * This is an implementation of Ogg file page and packet rendering and is of + * use to Ogg based formats. While the API is small this handles the + * non-trivial details of breaking up an Ogg stream into packets and makes + * these available (via subclassing) to the codec meta data implementations. + */ + + class TAGLIB_EXPORT File : public TagLib::File + { + public: + virtual ~File(); + + /*! + * Returns the packet contents for the i-th packet (starting from zero) + * in the Ogg bitstream. + * + * \warning The requires reading at least the packet header for every page + * up to the requested page. + */ + ByteVector packet(uint i); + + /*! + * Sets the packet with index \a i to the value \a p. + */ + void setPacket(uint i, const ByteVector &p); + + /*! + * Returns a pointer to the PageHeader for the first page in the stream or + * null if the page could not be found. + */ + const PageHeader *firstPageHeader(); + + /*! + * Returns a pointer to the PageHeader for the last page in the stream or + * null if the page could not be found. + */ + const PageHeader *lastPageHeader(); + + virtual bool save(); + + protected: + /*! + * Contructs an Ogg file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note This constructor is protected since Ogg::File shouldn't be + * instantiated directly but rather should be used through the codec + * specific subclasses. + */ + File(FileName file); + + /*! + * Contructs an Ogg file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note This constructor is protected since Ogg::File shouldn't be + * instantiated directly but rather should be used through the codec + * specific subclasses. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream); + + private: + File(const File &); + File &operator=(const File &); + + /*! + * Reads the next page and updates the internal "current page" pointer. + */ + bool nextPage(); + void writePageGroup(const List &group); + + class FilePrivate; + FilePrivate *d; + }; + + } +} + +#endif diff --git a/usr/local/include/taglib/oggflacfile.h b/usr/local/include/taglib/oggflacfile.h new file mode 100644 index 000000000..8558cfdfa --- /dev/null +++ b/usr/local/include/taglib/oggflacfile.h @@ -0,0 +1,129 @@ +/*************************************************************************** + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_OGGFLACFILE_H +#define TAGLIB_OGGFLACFILE_H + +#include "taglib_export.h" +#include "oggfile.h" +#include "xiphcomment.h" + +#include "flacproperties.h" + +namespace TagLib { + + class Tag; + + namespace Ogg { + + //! An implementation of Ogg FLAC metadata + + /*! + * This is implementation of FLAC metadata for Ogg FLAC files. For "pure" + * FLAC files look under the FLAC hiearchy. + * + * Unlike "pure" FLAC-files, Ogg FLAC only supports Xiph-comments, + * while the audio-properties are the same. + */ + namespace FLAC { + + using TagLib::FLAC::Properties; + + //! An implementation of TagLib::File with Ogg/FLAC specific methods + + /*! + * This implements and provides an interface for Ogg/FLAC files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to Ogg FLAC files. + */ + + class TAGLIB_EXPORT File : public Ogg::File + { + public: + /*! + * Contructs an Ogg/FLAC file from \a file. If \a readProperties is true + * the file's audio properties will also be read using \a propertiesStyle. + * If false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an Ogg/FLAC file from \a file. If \a readProperties is true + * the file's audio properties will also be read using \a propertiesStyle. + * If false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the Tag for this file. This will always be a XiphComment. + */ + virtual XiphComment *tag() const; + + /*! + * Returns the FLAC::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Save the file. This will primarily save and update the XiphComment. + * Returns true if the save is successful. + */ + virtual bool save(); + + /*! + * Returns the length of the audio-stream, used by FLAC::Properties for + * calculating the bitrate. + */ + long streamLength(); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + void scan(); + ByteVector streamInfoData(); + ByteVector xiphCommentData(); + + class FilePrivate; + FilePrivate *d; + }; + } // namespace FLAC + } // namespace Ogg +} // namespace TagLib + +#endif diff --git a/usr/local/include/taglib/oggpage.h b/usr/local/include/taglib/oggpage.h new file mode 100644 index 000000000..e9f4840c5 --- /dev/null +++ b/usr/local/include/taglib/oggpage.h @@ -0,0 +1,211 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_OGGPAGE_H +#define TAGLIB_OGGPAGE_H + +#include "taglib_export.h" +#include "tbytevectorlist.h" + +namespace TagLib { + + namespace Ogg { + + class File; + class PageHeader; + + //! An implementation of Ogg pages + + /*! + * This is an implementation of the pages that make up an Ogg stream. + * This handles parsing pages and breaking them down into packets and handles + * the details of packets spanning multiple pages and pages that contiain + * multiple packets. + * + * In most Xiph.org formats the comments are found in the first few packets, + * this however is a reasonably complete implementation of Ogg pages that + * could potentially be useful for non-meta data purposes. + */ + + class TAGLIB_EXPORT Page + { + public: + /*! + * Read an Ogg page from the \a file at the position \a pageOffset. + */ + Page(File *file, long pageOffset); + + virtual ~Page(); + + /*! + * Returns the page's position within the file (in bytes). + */ + long fileOffset() const; + + /*! + * Returns a pointer to the header for this page. This pointer will become + * invalid when the page is deleted. + */ + const PageHeader *header() const; + + /*! + * Returns a copy of the page with \a sequenceNumber set as sequence number. + * + * \see header() + * \see PageHeader::setPageSequenceNumber() + */ + Page* getCopyWithNewPageSequenceNumber(int sequenceNumber); + + /*! + * Returns the index of the first packet wholly or partially contained in + * this page. + * + * \see setFirstPacketIndex() + */ + int firstPacketIndex() const; + + /*! + * Sets the index of the first packet in the page. + * + * \see firstPacketIndex() + */ + void setFirstPacketIndex(int index); + + /*! + * When checking to see if a page contains a given packet this set of flags + * represents the possible values for that packets status in the page. + * + * \see containsPacket() + */ + enum ContainsPacketFlags { + //! No part of the packet is contained in the page + DoesNotContainPacket = 0x0000, + //! The packet is wholly contained in the page + CompletePacket = 0x0001, + //! The page starts with the given packet + BeginsWithPacket = 0x0002, + //! The page ends with the given packet + EndsWithPacket = 0x0004 + }; + + /*! + * Checks to see if the specified \a packet is contained in the current + * page. + * + * \see ContainsPacketFlags + */ + ContainsPacketFlags containsPacket(int index) const; + + /*! + * Returns the number of packets (whole or partial) in this page. + */ + uint packetCount() const; + + /*! + * Returns a list of the packets in this page. + * + * \note Either or both the first and last packets may be only partial. + * \see PageHeader::firstPacketContinued() + */ + ByteVectorList packets() const; + + /*! + * Returns the size of the page in bytes. + */ + int size() const; + + ByteVector render() const; + + /*! + * Defines a strategy for pagination, or grouping pages into Ogg packets, + * for use with pagination methods. + * + * \note Yes, I'm aware that this is not a canonical "Strategy Pattern", + * the term was simply convenient. + */ + enum PaginationStrategy { + /*! + * Attempt to put the specified set of packets into a single Ogg packet. + * If the sum of the packet data is greater than will fit into a single + * Ogg page -- 65280 bytes -- this will fall back to repagination using + * the recommended page sizes. + */ + SinglePagePerGroup, + /*! + * Split the packet or group of packets into pages that conform to the + * sizes recommended in the Ogg standard. + */ + Repaginate + }; + + /*! + * Pack \a packets into Ogg pages using the \a strategy for pagination. + * The page number indicater inside of the rendered packets will start + * with \a firstPage and be incremented for each page rendered. + * \a containsLastPacket should be set to true if \a packets contains the + * last page in the stream and will set the appropriate flag in the last + * rendered Ogg page's header. \a streamSerialNumber should be set to + * the serial number for this stream. + * + * \note The "absolute granule position" is currently always zeroed using + * this method as this suffices for the comment headers. + * + * \warning The pages returned by this method must be deleted by the user. + * You can use List::setAutoDelete(true) to set these pages to be + * automatically deleted when this list passes out of scope. + * + * \see PaginationStrategy + * \see List::setAutoDelete() + */ + static List paginate(const ByteVectorList &packets, + PaginationStrategy strategy, + uint streamSerialNumber, + int firstPage, + bool firstPacketContinued = false, + bool lastPacketCompleted = true, + bool containsLastPacket = false); + + protected: + /*! + * Creates an Ogg packet based on the data in \a packets. The page number + * for each page will be set to \a pageNumber. + */ + Page(const ByteVectorList &packets, + uint streamSerialNumber, + int pageNumber, + bool firstPacketContinued = false, + bool lastPacketCompleted = true, + bool containsLastPacket = false); + + private: + Page(const Page &); + Page &operator=(const Page &); + + class PagePrivate; + PagePrivate *d; + }; + } +} +#endif diff --git a/usr/local/include/taglib/oggpageheader.h b/usr/local/include/taglib/oggpageheader.h new file mode 100644 index 000000000..742710a4c --- /dev/null +++ b/usr/local/include/taglib/oggpageheader.h @@ -0,0 +1,232 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_OGGPAGEHEADER_H +#define TAGLIB_OGGPAGEHEADER_H + +#include "tlist.h" +#include "tbytevector.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace Ogg { + + class File; + + //! An implementation of the page headers associated with each Ogg::Page + + /*! + * This class implements Ogg page headers which contain the information + * about Ogg pages needed to break them into packets which can be passed on + * to the codecs. + */ + + class TAGLIB_EXPORT PageHeader + { + public: + /*! + * Reads a PageHeader from \a file starting at \a pageOffset. The defaults + * create a page with no (and as such, invalid) data that must be set + * later. + */ + PageHeader(File *file = 0, long pageOffset = -1); + + /*! + * Deletes this instance of the PageHeader. + */ + virtual ~PageHeader(); + + /*! + * Returns true if the header parsed properly and is valid. + */ + bool isValid() const; + + /*! + * Ogg pages contain a list of packets (which are used by the contained + * codecs). The sizes of these pages is encoded in the page header. This + * returns a list of the packet sizes in bytes. + * + * \see setPacketSizes() + */ + List packetSizes() const; + + /*! + * Sets the sizes of the packets in this page to \a sizes. Internally this + * updates the lacing values in the header. + * + * \see packetSizes() + */ + void setPacketSizes(const List &sizes); + + /*! + * Some packets can be continued across multiple pages. If the + * first packet in the current page is a continuation this will return + * true. If this is page starts with a new packet this will return false. + * + * \see lastPacketCompleted() + * \see setFirstPacketContinued() + */ + bool firstPacketContinued() const; + + /*! + * Sets the internal flag indicating if the first packet in this page is + * continued to \a continued. + * + * \see firstPacketContinued() + */ + void setFirstPacketContinued(bool continued); + + /*! + * Returns true if the last packet of this page is completely contained in + * this page. + * + * \see firstPacketContinued() + * \see setLastPacketCompleted() + */ + bool lastPacketCompleted() const; + + /*! + * Sets the internal flag indicating if the last packet in this page is + * complete to \a completed. + * + * \see lastPacketCompleted() + */ + void setLastPacketCompleted(bool completed); + + /*! + * This returns true if this is the first page of the Ogg (logical) stream. + * + * \see setFirstPageOfStream() + */ + bool firstPageOfStream() const; + + /*! + * Marks this page as the first page of the Ogg stream. + * + * \see firstPageOfStream() + */ + void setFirstPageOfStream(bool first); + + /*! + * This returns true if this is the last page of the Ogg (logical) stream. + * + * \see setLastPageOfStream() + */ + bool lastPageOfStream() const; + + /*! + * Marks this page as the last page of the Ogg stream. + * + * \see lastPageOfStream() + */ + void setLastPageOfStream(bool last); + + /*! + * A special value of containing the position of the packet to be + * interpreted by the codec. In the case of Vorbis this contains the PCM + * value and is used to calculate the length of the stream. + * + * \see setAbsoluteGranularPosition() + */ + long long absoluteGranularPosition() const; + + /*! + * A special value of containing the position of the packet to be + * interpreted by the codec. It is only supported here so that it may be + * coppied from one page to another. + * + * \see absoluteGranularPosition() + */ + void setAbsoluteGranularPosition(long long agp); + + /*! + * Every Ogg logical stream is given a random serial number which is common + * to every page in that logical stream. This returns the serial number of + * the stream associated with this packet. + * + * \see setStreamSerialNumber() + */ + uint streamSerialNumber() const; + + /*! + * Every Ogg logical stream is given a random serial number which is common + * to every page in that logical stream. This sets this pages serial + * number. This method should be used when adding new pages to a logical + * stream. + * + * \see streamSerialNumber() + */ + void setStreamSerialNumber(uint n); + + /*! + * Returns the index of the page within the Ogg stream. This helps make it + * possible to determine if pages have been lost. + * + * \see setPageSequenceNumber() + */ + int pageSequenceNumber() const; + + /*! + * Sets the page's position in the stream to \a sequenceNumber. + * + * \see pageSequenceNumber() + */ + void setPageSequenceNumber(int sequenceNumber); + + /*! + * Returns the complete header size. + */ + int size() const; + + /*! + * Returns the size of the data portion of the page -- i.e. the size of the + * page less the header size. + */ + int dataSize() const; + + /*! + * Render the page header to binary data. + * + * \note The checksum -- bytes 22 - 25 -- will be left empty and must be + * filled in when rendering the entire page. + */ + ByteVector render() const; + + private: + PageHeader(const PageHeader &); + PageHeader &operator=(const PageHeader &); + + void read(); + ByteVector lacingValues() const; + + class PageHeaderPrivate; + PageHeaderPrivate *d; + }; + + } +} + +#endif diff --git a/usr/local/include/taglib/opusfile.h b/usr/local/include/taglib/opusfile.h new file mode 100644 index 000000000..73375af8b --- /dev/null +++ b/usr/local/include/taglib/opusfile.h @@ -0,0 +1,110 @@ +/*************************************************************************** + copyright : (C) 2012 by Lukáš Lalinský + email : lalinsky@gmail.com + + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + (original Vorbis implementation) +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_OPUSFILE_H +#define TAGLIB_OPUSFILE_H + +#include "oggfile.h" +#include "xiphcomment.h" + +#include "opusproperties.h" + +namespace TagLib { + + namespace Ogg { + + //! A namespace containing classes for Opus metadata + + namespace Opus { + + //! An implementation of Ogg::File with Opus specific methods + + /*! + * This is the central class in the Ogg Opus metadata processing collection + * of classes. It's built upon Ogg::File which handles processing of the Ogg + * logical bitstream and breaking it down into pages which are handled by + * the codec implementations, in this case Opus specifically. + */ + + class TAGLIB_EXPORT File : public Ogg::File + { + public: + /*! + * Contructs a Opus file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs a Opus file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the XiphComment for this file. XiphComment implements the tag + * interface, so this serves as the reimplementation of + * TagLib::File::tag(). + */ + virtual Ogg::XiphComment *tag() const; + + /*! + * Returns the Opus::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + virtual bool save(); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + + class FilePrivate; + FilePrivate *d; + }; + } + } +} + +#endif diff --git a/usr/local/include/taglib/opusproperties.h b/usr/local/include/taglib/opusproperties.h new file mode 100644 index 000000000..946f16757 --- /dev/null +++ b/usr/local/include/taglib/opusproperties.h @@ -0,0 +1,96 @@ +/*************************************************************************** + copyright : (C) 2012 by Lukáš Lalinský + email : lalinsky@gmail.com + + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + (original Vorbis implementation) +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_OPUSPROPERTIES_H +#define TAGLIB_OPUSPROPERTIES_H + +#include "audioproperties.h" + +namespace TagLib { + + namespace Ogg { + + namespace Opus { + + class File; + + //! An implementation of audio property reading for Ogg Opus + + /*! + * This reads the data from an Ogg Opus stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of Opus::Properties with the data read from the + * Opus::File \a file. + */ + Properties(File *file, ReadStyle style = Average); + + /*! + * Destroys this Opus::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * The Opus codec supports decoding at multiple sample rates, there is no + * single sample rate of the encoded stream. This returns the sample rate + * of the original audio stream. + */ + int inputSampleRate() const; + + /*! + * Returns the Opus version, currently "0" (as specified by the spec). + */ + int opusVersion() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } + } +} + +#endif diff --git a/usr/local/include/taglib/ownershipframe.h b/usr/local/include/taglib/ownershipframe.h new file mode 100644 index 000000000..34fc91296 --- /dev/null +++ b/usr/local/include/taglib/ownershipframe.h @@ -0,0 +1,151 @@ +/*************************************************************************** + copyright : (C) 2012 by Rupert Daniel + email : rupert@cancelmonday.com + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_OWNERSHIPFRAME_H +#define TAGLIB_OWNERSHIPFRAME_H + +#include "id3v2frame.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! An implementation of ID3v2 "ownership" + + /*! + * This implements the ID3v2 ownership (OWNE frame). It consists of + * a price paid, a date purchased (YYYYMMDD) and the name of the seller. + */ + + class TAGLIB_EXPORT OwnershipFrame : public Frame + { + friend class FrameFactory; + + public: + /*! + * Construct an empty ownership frame. + */ + explicit OwnershipFrame(String::Type encoding = String::Latin1); + + /*! + * Construct a ownership based on the data in \a data. + */ + explicit OwnershipFrame(const ByteVector &data); + + /*! + * Destroys this OwnershipFrame instance. + */ + virtual ~OwnershipFrame(); + + /*! + * Returns the text of this popularimeter. + * + * \see text() + */ + virtual String toString() const; + + /*! + * Returns the date purchased. + * + * \see setDatePurchased() + */ + String datePurchased() const; + + /*! + * Set the date purchased. + * + * \see datePurchased() + */ + void setDatePurchased(const String &datePurchased); + + /*! + * Returns the price paid. + * + * \see setPricePaid() + */ + String pricePaid() const; + + /*! + * Set the price paid. + * + * \see pricePaid() + */ + void setPricePaid(const String &pricePaid); + + /*! + * Returns the seller. + * + * \see setSeller() + */ + String seller() const; + + /*! + * Set the seller. + * + * \see seller() + */ + void setSeller(const String &seller); + + /*! + * Returns the text encoding that will be used in rendering this frame. + * This defaults to the type that was either specified in the constructor + * or read from the frame when parsed. + * + * \see setTextEncoding() + * \see render() + */ + String::Type textEncoding() const; + + /*! + * Sets the text encoding to be used when rendering this frame to + * \a encoding. + * + * \see textEncoding() + * \see render() + */ + void setTextEncoding(String::Type encoding); + + protected: + // Reimplementations. + + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + /*! + * The constructor used by the FrameFactory. + */ + OwnershipFrame(const ByteVector &data, Header *h); + OwnershipFrame(const OwnershipFrame &); + OwnershipFrame &operator=(const OwnershipFrame &); + + class OwnershipFramePrivate; + OwnershipFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/popularimeterframe.h b/usr/local/include/taglib/popularimeterframe.h new file mode 100644 index 000000000..d39f1aa8f --- /dev/null +++ b/usr/local/include/taglib/popularimeterframe.h @@ -0,0 +1,132 @@ +/*************************************************************************** + copyright : (C) 2008 by Lukas Lalinsky + email : lalinsky@gmail.com + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_POPULARIMETERFRAME_H +#define TAGLIB_POPULARIMETERFRAME_H + +#include "id3v2frame.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! An implementation of ID3v2 "popularimeter" + + /*! + * This implements the ID3v2 popularimeter (POPM frame). It concists of + * an email, a rating and an optional counter. + */ + + class TAGLIB_EXPORT PopularimeterFrame : public Frame + { + friend class FrameFactory; + + public: + /*! + * Construct an empty popularimeter frame. + */ + explicit PopularimeterFrame(); + + /*! + * Construct a popularimeter based on the data in \a data. + */ + explicit PopularimeterFrame(const ByteVector &data); + + /*! + * Destroys this PopularimeterFrame instance. + */ + virtual ~PopularimeterFrame(); + + /*! + * Returns the text of this popularimeter. + * + * \see text() + */ + virtual String toString() const; + + /*! + * Returns the email. + * + * \see setEmail() + */ + String email() const; + + /*! + * Set the email. + * + * \see email() + */ + void setEmail(const String &email); + + /*! + * Returns the rating. + * + * \see setRating() + */ + int rating() const; + + /*! + * Set the rating. + * + * \see rating() + */ + void setRating(int rating); + + /*! + * Returns the counter. + * + * \see setCounter() + */ + uint counter() const; + + /*! + * Set the counter. + * + * \see counter() + */ + void setCounter(uint counter); + + protected: + // Reimplementations. + + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + /*! + * The constructor used by the FrameFactory. + */ + PopularimeterFrame(const ByteVector &data, Header *h); + PopularimeterFrame(const PopularimeterFrame &); + PopularimeterFrame &operator=(const PopularimeterFrame &); + + class PopularimeterFramePrivate; + PopularimeterFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/privateframe.h b/usr/local/include/taglib/privateframe.h new file mode 100644 index 000000000..06f82f32e --- /dev/null +++ b/usr/local/include/taglib/privateframe.h @@ -0,0 +1,111 @@ +/*************************************************************************** + copyright : (C) 2008 by Serkan Kalyoncu + copyright : (C) 2008 by Scott Wheeler + email : wheeler@kde.org +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_PRIVATEFRAME_H +#define TAGLIB_PRIVATEFRAME_H + +#include "id3v2frame.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! An implementation of ID3v2 privateframe + + class TAGLIB_EXPORT PrivateFrame : public Frame + { + friend class FrameFactory; + + public: + /*! + * Construct an empty private frame. + */ + PrivateFrame(); + + /*! + * Construct a private frame based on the data in \a data. + * + * \note This is the constructor used when parsing the frame from a file. + */ + explicit PrivateFrame(const ByteVector &data); + + /*! + * Destroys this private frame instance. + */ + virtual ~PrivateFrame(); + + /*! + * Returns the text of this private frame, currently just the owner. + * + * \see text() + */ + virtual String toString() const; + + /*! + * \return The owner of the private frame. + * \note This should contain an email address or link to a website. + */ + String owner() const; + + /*! + * + */ + ByteVector data() const; + + /*! + * Sets the owner of the frame to \a s. + * \note This should contain an email address or link to a website. + */ + void setOwner(const String &s); + + /*! + * + */ + void setData(const ByteVector &v); + + protected: + // Reimplementations. + + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + /*! + * The constructor used by the FrameFactory. + */ + PrivateFrame(const ByteVector &data, Header *h); + + PrivateFrame(const PrivateFrame &); + PrivateFrame &operator=(const PrivateFrame &); + + class PrivateFramePrivate; + PrivateFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/relativevolumeframe.h b/usr/local/include/taglib/relativevolumeframe.h new file mode 100644 index 000000000..dad4e7d4e --- /dev/null +++ b/usr/local/include/taglib/relativevolumeframe.h @@ -0,0 +1,274 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_RELATIVEVOLUMEFRAME_H +#define TAGLIB_RELATIVEVOLUMEFRAME_H + +#include "tlist.h" +#include "id3v2frame.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! An ID3v2 relative volume adjustment frame implementation + + /*! + * This is an implementation of ID3v2 relative volume adjustment. The + * presence of this frame makes it possible to specify an increase in volume + * for an audio file or specific audio tracks in that file. + * + * Multiple relative volume adjustment frames may be present in the tag + * each with a unique identification and describing volume adjustment for + * different channel types. + */ + + class TAGLIB_EXPORT RelativeVolumeFrame : public Frame + { + friend class FrameFactory; + + public: + + /*! + * This indicates the type of volume adjustment that should be applied. + */ + enum ChannelType { + //! A type not enumerated below + Other = 0x00, + //! The master volume for the track + MasterVolume = 0x01, + //! The front right audio channel + FrontRight = 0x02, + //! The front left audio channel + FrontLeft = 0x03, + //! The back right audio channel + BackRight = 0x04, + //! The back left audio channel + BackLeft = 0x05, + //! The front center audio channel + FrontCentre = 0x06, + //! The back center audio channel + BackCentre = 0x07, + //! The subwoofer audio channel + Subwoofer = 0x08 + }; + + //! Struct that stores the relevant values for ID3v2 peak volume + + /*! + * The peak volume is described as a series of bits that is padded to fill + * a block of bytes. These two values should always be updated in tandem. + */ + struct PeakVolume + { + /*! + * Constructs an empty peak volume description. + */ + PeakVolume() : bitsRepresentingPeak(0) {} + /*! + * The number of bits (in the range of 0 to 255) used to describe the + * peak volume. + */ + unsigned char bitsRepresentingPeak; + /*! + * The array of bits (represented as a series of bytes) used to describe + * the peak volume. + */ + ByteVector peakVolume; + }; + + /*! + * Constructs a RelativeVolumeFrame. The relevant data should be set + * manually. + */ + RelativeVolumeFrame(); + + /*! + * Constructs a RelativeVolumeFrame based on the contents of \a data. + */ + RelativeVolumeFrame(const ByteVector &data); + + /*! + * Destroys the RelativeVolumeFrame instance. + */ + virtual ~RelativeVolumeFrame(); + + /*! + * Returns the frame's identification. + * + * \see identification() + */ + virtual String toString() const; + + /*! + * Returns a list of channels with information currently in the frame. + */ + List channels() const; + + /*! + * \deprecated Always returns master volume. + */ + ChannelType channelType() const; + + /*! + * \deprecated This method no longer has any effect. + */ + void setChannelType(ChannelType t); + + /* + * There was a terrible API goof here, and while this can't be changed to + * the way it appears below for binary compaibility reasons, let's at + * least pretend that it looks clean. + */ + +#ifdef DOXYGEN + + /*! + * Returns the relative volume adjustment "index". As indicated by the + * ID3v2 standard this is a 16-bit signed integer that reflects the + * decibils of adjustment when divided by 512. + * + * This defaults to returning the value for the master volume channel if + * available and returns 0 if the specified channel does not exist. + * + * \see setVolumeAdjustmentIndex() + * \see volumeAjustment() + */ + short volumeAdjustmentIndex(ChannelType type = MasterVolume) const; + + /*! + * Set the volume adjustment to \a index. As indicated by the ID3v2 + * standard this is a 16-bit signed integer that reflects the decibils of + * adjustment when divided by 512. + * + * By default this sets the value for the master volume. + * + * \see volumeAdjustmentIndex() + * \see setVolumeAjustment() + */ + void setVolumeAdjustmentIndex(short index, ChannelType type = MasterVolume); + + /*! + * Returns the relative volume adjustment in decibels. + * + * \note Because this is actually stored internally as an "index" to this + * value the value returned by this method may not be identical to the + * value set using setVolumeAdjustment(). + * + * This defaults to returning the value for the master volume channel if + * available and returns 0 if the specified channel does not exist. + * + * \see setVolumeAdjustment() + * \see volumeAdjustmentIndex() + */ + float volumeAdjustment(ChannelType type = MasterVolume) const; + + /*! + * Set the relative volume adjustment in decibels to \a adjustment. + * + * By default this sets the value for the master volume. + * + * \note Because this is actually stored internally as an "index" to this + * value the value set by this method may not be identical to the one + * returned by volumeAdjustment(). + * + * \see setVolumeAdjustment() + * \see volumeAdjustmentIndex() + */ + void setVolumeAdjustment(float adjustment, ChannelType type = MasterVolume); + + /*! + * Returns the peak volume (represented as a length and a string of bits). + * + * This defaults to returning the value for the master volume channel if + * available and returns 0 if the specified channel does not exist. + * + * \see setPeakVolume() + */ + PeakVolume peakVolume(ChannelType type = MasterVolume) const; + + /*! + * Sets the peak volume to \a peak. + * + * By default this sets the value for the master volume. + * + * \see peakVolume() + */ + void setPeakVolume(const PeakVolume &peak, ChannelType type = MasterVolume); + +#else + + // BIC: Combine each of the following pairs of functions (or maybe just + // rework this junk altogether). + + short volumeAdjustmentIndex(ChannelType type) const; + short volumeAdjustmentIndex() const; + + void setVolumeAdjustmentIndex(short index, ChannelType type); + void setVolumeAdjustmentIndex(short index); + + float volumeAdjustment(ChannelType type) const; + float volumeAdjustment() const; + + void setVolumeAdjustment(float adjustment, ChannelType type); + void setVolumeAdjustment(float adjustment); + + PeakVolume peakVolume(ChannelType type) const; + PeakVolume peakVolume() const; + + void setPeakVolume(const PeakVolume &peak, ChannelType type); + void setPeakVolume(const PeakVolume &peak); + +#endif + + /*! + * Returns the identification for this frame. + */ + String identification() const; + + /*! + * Sets the identification of the frame to \a s. The string + * is used to identify the situation and/or device where this + * adjustment should apply. + */ + void setIdentification(const String &s); + + protected: + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + RelativeVolumeFrame(const ByteVector &data, Header *h); + RelativeVolumeFrame(const RelativeVolumeFrame &); + RelativeVolumeFrame &operator=(const RelativeVolumeFrame &); + + class RelativeVolumeFramePrivate; + RelativeVolumeFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/rifffile.h b/usr/local/include/taglib/rifffile.h new file mode 100644 index 000000000..274549ae0 --- /dev/null +++ b/usr/local/include/taglib/rifffile.h @@ -0,0 +1,147 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_RIFFFILE_H +#define TAGLIB_RIFFFILE_H + +#include "taglib_export.h" +#include "tfile.h" + +namespace TagLib { + + //! An implementation of TagLib::File with RIFF specific methods + + namespace RIFF { + + //! An RIFF file class with some useful methods specific to RIFF + + /*! + * This implements the generic TagLib::File API and additionally provides + * access to properties that are distinct to RIFF files, notably access + * to the different ID3 tags. + */ + + class TAGLIB_EXPORT File : public TagLib::File + { + public: + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + protected: + + enum Endianness { BigEndian, LittleEndian }; + + File(FileName file, Endianness endianness); + File(IOStream *stream, Endianness endianness); + + /*! + * \return The size of the main RIFF chunk. + */ + uint riffSize() const; + + /*! + * \return The number of chunks in the file. + */ + uint chunkCount() const; + + /*! + * \return The offset within the file for the selected chunk number. + */ + uint chunkOffset(uint i) const; + + /*! + * \return The size of the chunk data. + */ + uint chunkDataSize(uint i) const; + + /*! + * \return The size of the padding after the chunk (can be either 0 or 1). + */ + uint chunkPadding(uint i) const; + + /*! + * \return The name of the specified chunk, for instance, "COMM" or "ID3 " + */ + ByteVector chunkName(uint i) const; + + /*! + * Reads the chunk data from the file and returns it. + * + * \note This \e will move the read pointer for the file. + */ + ByteVector chunkData(uint i); + + /*! + * Sets the data for the the specified chunk to \a data. + * + * \warning This will update the file immediately. + */ + void setChunkData(uint i, const ByteVector &data); + + /*! + * Sets the data for the chunk \a name to \a data. If a chunk with the + * given name already exists it will be overwritten, otherwise it will be + * created after the existing chunks. + * + * \note If \a alwaysCreate is true, a new chunk is created regardless of + * existence of chunk \a name. It should be used for only "LIST" chunks. + * + * \warning This will update the file immediately. + */ + void setChunkData(const ByteVector &name, const ByteVector &data, bool alwaysCreate = false); + + /*! + * Removes the specified chunk. + * + * \warning This will update the file immediately. + */ + void removeChunk(uint i); + + /*! + * Removes the chunk \a name. + * + * \warning This will update the file immediately. + * \warning This removes all the chunks with the given name. + */ + void removeChunk(const ByteVector &name); + + private: + File(const File &); + File &operator=(const File &); + + void read(); + void writeChunk(const ByteVector &name, const ByteVector &data, + ulong offset, ulong replace = 0, + uint leadingPadding = 0); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/s3mfile.h b/usr/local/include/taglib/s3mfile.h new file mode 100644 index 000000000..c862108ee --- /dev/null +++ b/usr/local/include/taglib/s3mfile.h @@ -0,0 +1,104 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_S3MFILE_H +#define TAGLIB_S3MFILE_H + +#include "tfile.h" +#include "audioproperties.h" +#include "taglib_export.h" +#include "modfilebase.h" +#include "modtag.h" +#include "s3mproperties.h" + +namespace TagLib { + + namespace S3M { + + class TAGLIB_EXPORT File : public Mod::FileBase { + public: + /*! + * Contructs a ScreamTracker III file from \a file. If \a readProperties + * is true the file's audio properties will also be read using + * \a propertiesStyle. If false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + AudioProperties::ReadStyle propertiesStyle = + AudioProperties::Average); + + /*! + * Contructs a ScreamTracker III file from \a stream. If \a readProperties + * is true the file's audio properties will also be read using + * \a propertiesStyle. If false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + AudioProperties::ReadStyle propertiesStyle = + AudioProperties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + Mod::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * Forwards to Mod::Tag::properties(). + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * Forwards to Mod::Tag::setProperties(). + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the S3M::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + S3M::Properties *audioProperties() const; + + /*! + * Save the file. + * This is the same as calling save(AllTags); + * + * \note Saving ScreamTracker III tags is not supported. + */ + bool save(); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/s3mproperties.h b/usr/local/include/taglib/s3mproperties.h new file mode 100644 index 000000000..6e9f1d293 --- /dev/null +++ b/usr/local/include/taglib/s3mproperties.h @@ -0,0 +1,88 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_S3MPROPERTIES_H +#define TAGLIB_S3MPROPERTIES_H + +#include "taglib.h" +#include "audioproperties.h" + +namespace TagLib { + namespace S3M { + class TAGLIB_EXPORT Properties : public AudioProperties { + friend class File; + public: + /*! Flag bits. */ + enum { + ST2Vibrato = 1, + ST2Tempo = 2, + AmigaSlides = 4, + Vol0MixOptimizations = 8, + AmigaLimits = 16, + EnableFilter = 32, + CustomData = 128 + }; + + Properties(AudioProperties::ReadStyle propertiesStyle); + virtual ~Properties(); + + int length() const; + int bitrate() const; + int sampleRate() const; + int channels() const; + + ushort lengthInPatterns() const; + bool stereo() const; + ushort sampleCount() const; + ushort patternCount() const; + ushort flags() const; + ushort trackerVersion() const; + ushort fileFormatVersion() const; + uchar globalVolume() const; + uchar masterVolume() const; + uchar tempo() const; + uchar bpmSpeed() const; + + void setChannels(int channels); + + void setLengthInPatterns (ushort lengthInPatterns); + void setStereo (bool stereo); + void setSampleCount (ushort sampleCount); + void setPatternCount (ushort patternCount); + void setFlags (ushort flags); + void setTrackerVersion (ushort trackerVersion); + void setFileFormatVersion(ushort fileFormatVersion); + void setGlobalVolume (uchar globalVolume); + void setMasterVolume (uchar masterVolume); + void setTempo (uchar tempo); + void setBpmSpeed (uchar bpmSpeed); + + private: + Properties(const Properties&); + Properties &operator=(const Properties&); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/speexfile.h b/usr/local/include/taglib/speexfile.h new file mode 100644 index 000000000..dfe51ec4d --- /dev/null +++ b/usr/local/include/taglib/speexfile.h @@ -0,0 +1,110 @@ +/*************************************************************************** + copyright : (C) 2006 by Lukáš Lalinský + email : lalinsky@gmail.com + + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + (original Vorbis implementation) +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_SPEEXFILE_H +#define TAGLIB_SPEEXFILE_H + +#include "oggfile.h" +#include "xiphcomment.h" + +#include "speexproperties.h" + +namespace TagLib { + + namespace Ogg { + + //! A namespace containing classes for Speex metadata + + namespace Speex { + + //! An implementation of Ogg::File with Speex specific methods + + /*! + * This is the central class in the Ogg Speex metadata processing collection + * of classes. It's built upon Ogg::File which handles processing of the Ogg + * logical bitstream and breaking it down into pages which are handled by + * the codec implementations, in this case Speex specifically. + */ + + class TAGLIB_EXPORT File : public Ogg::File + { + public: + /*! + * Contructs a Speex file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs a Speex file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the XiphComment for this file. XiphComment implements the tag + * interface, so this serves as the reimplementation of + * TagLib::File::tag(). + */ + virtual Ogg::XiphComment *tag() const; + + /*! + * Returns the Speex::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + virtual bool save(); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + + class FilePrivate; + FilePrivate *d; + }; + } + } +} + +#endif diff --git a/usr/local/include/taglib/speexproperties.h b/usr/local/include/taglib/speexproperties.h new file mode 100644 index 000000000..4720bd881 --- /dev/null +++ b/usr/local/include/taglib/speexproperties.h @@ -0,0 +1,89 @@ +/*************************************************************************** + copyright : (C) 2006 by Lukáš Lalinský + email : lalinsky@gmail.com + + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + (original Vorbis implementation) +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_SPEEXPROPERTIES_H +#define TAGLIB_SPEEXPROPERTIES_H + +#include "audioproperties.h" + +namespace TagLib { + + namespace Ogg { + + namespace Speex { + + class File; + + //! An implementation of audio property reading for Ogg Speex + + /*! + * This reads the data from an Ogg Speex stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of Speex::Properties with the data read from the + * Speex::File \a file. + */ + Properties(File *file, ReadStyle style = Average); + + /*! + * Destroys this Speex::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * Returns the Speex version, currently "0" (as specified by the spec). + */ + int speexVersion() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } + } +} + +#endif diff --git a/usr/local/include/taglib/tag.h b/usr/local/include/taglib/tag.h new file mode 100644 index 000000000..76c9a82af --- /dev/null +++ b/usr/local/include/taglib/tag.h @@ -0,0 +1,201 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_TAG_H +#define TAGLIB_TAG_H + +#include "taglib_export.h" +#include "tstring.h" + +namespace TagLib { + + //! A simple, generic interface to common audio meta data fields + + /*! + * This is an attempt to abstract away the difference in the meta data formats + * of various audio codecs and tagging schemes. As such it is generally a + * subset of what is available in the specific formats but should be suitable + * for most applications. This is meant to compliment the generic APIs found + * in TagLib::AudioProperties, TagLib::File and TagLib::FileRef. + */ + + class PropertyMap; + + class TAGLIB_EXPORT Tag + { + public: + + /*! + * Detroys this Tag instance. + */ + virtual ~Tag(); + + /*! + * Exports the tags of the file as dictionary mapping (human readable) tag + * names (Strings) to StringLists of tag values. + * The default implementation in this class considers only the usual built-in + * tags (artist, album, ...) and only one value per key. + */ + PropertyMap properties() const; + + /*! + * Removes unsupported properties, or a subset of them, from the tag. + * The parameter \a properties must contain only entries from + * properties().unsupportedData(). + * BIC: Will become virtual in future releases. Currently the non-virtual + * standard implementation of TagLib::Tag does nothing, since there are + * no unsupported elements. + */ + void removeUnsupportedProperties(const StringList& properties); + + /*! + * Sets the tags of this File to those specified in \a properties. This default + * implementation sets only the tags for which setter methods exist in this class + * (artist, album, ...), and only one value per key; the rest will be contained + * in the returned PropertyMap. + */ + PropertyMap setProperties(const PropertyMap &properties); + + /*! + * Returns the track name; if no track name is present in the tag + * String::null will be returned. + */ + virtual String title() const = 0; + + /*! + * Returns the artist name; if no artist name is present in the tag + * String::null will be returned. + */ + virtual String artist() const = 0; + + /*! + * Returns the album name; if no album name is present in the tag + * String::null will be returned. + */ + virtual String album() const = 0; + + /*! + * Returns the track comment; if no comment is present in the tag + * String::null will be returned. + */ + virtual String comment() const = 0; + + /*! + * Returns the genre name; if no genre is present in the tag String::null + * will be returned. + */ + virtual String genre() const = 0; + + /*! + * Returns the year; if there is no year set, this will return 0. + */ + virtual uint year() const = 0; + + /*! + * Returns the track number; if there is no track number set, this will + * return 0. + */ + virtual uint track() const = 0; + + /*! + * Sets the title to \a s. If \a s is String::null then this value will be + * cleared. + */ + virtual void setTitle(const String &s) = 0; + + /*! + * Sets the artist to \a s. If \a s is String::null then this value will be + * cleared. + */ + virtual void setArtist(const String &s) = 0; + + /*! + * Sets the album to \a s. If \a s is String::null then this value will be + * cleared. + */ + virtual void setAlbum(const String &s) = 0; + + /*! + * Sets the comment to \a s. If \a s is String::null then this value will be + * cleared. + */ + virtual void setComment(const String &s) = 0; + + /*! + * Sets the genre to \a s. If \a s is String::null then this value will be + * cleared. For tag formats that use a fixed set of genres, the appropriate + * value will be selected based on a string comparison. A list of available + * genres for those formats should be available in that type's + * implementation. + */ + virtual void setGenre(const String &s) = 0; + + /*! + * Sets the year to \a i. If \a s is 0 then this value will be cleared. + */ + virtual void setYear(uint i) = 0; + + /*! + * Sets the track to \a i. If \a s is 0 then this value will be cleared. + */ + virtual void setTrack(uint i) = 0; + + /*! + * Returns true if the tag does not contain any data. This should be + * reimplemented in subclasses that provide more than the basic tagging + * abilities in this class. + */ + virtual bool isEmpty() const; + + /*! + * Copies the generic data from one tag to another. + * + * \note This will no affect any of the lower level details of the tag. For + * instance if any of the tag type specific data (maybe a URL for a band) is + * set, this will not modify or copy that. This just copies using the API + * in this class. + * + * If \a overwrite is true then the values will be unconditionally copied. + * If false only empty values will be overwritten. + */ + static void duplicate(const Tag *source, Tag *target, bool overwrite = true); + + protected: + /*! + * Construct a Tag. This is protected since tags should only be instantiated + * through subclasses. + */ + Tag(); + + private: + Tag(const Tag &); + Tag &operator=(const Tag &); + + class TagPrivate; + TagPrivate *d; + }; +} + +#endif diff --git a/usr/local/include/taglib/tag_c.h b/usr/local/include/taglib/tag_c.h new file mode 100644 index 000000000..ab5dd2020 --- /dev/null +++ b/usr/local/include/taglib/tag_c.h @@ -0,0 +1,297 @@ +/*************************************************************************** + copyright : (C) 2003 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * + * USA * + ***************************************************************************/ + +#ifndef TAGLIB_TAG_C +#define TAGLIB_TAG_C + +/* Do not include this in the main TagLib documentation. */ +#ifndef DO_NOT_DOCUMENT + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(_WIN32) || defined(_WIN64) +#ifdef MAKE_TAGLIB_C_LIB +#define TAGLIB_C_EXPORT __declspec(dllexport) +#else +#define TAGLIB_C_EXPORT __declspec(dllimport) +#endif +#elif defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 1) +#define TAGLIB_C_EXPORT __attribute__ ((visibility("default"))) +#else +#define TAGLIB_C_EXPORT +#endif + +#ifndef BOOL +#define BOOL int +#endif + +/******************************************************************************* + * [ TagLib C Binding ] + * + * This is an interface to TagLib's "simple" API, meaning that you can read and + * modify media files in a generic, but not specialized way. This is a rough + * representation of TagLib::File and TagLib::Tag, for which the documentation + * is somewhat more complete and worth consulting. + *******************************************************************************/ + +/* + * These are used for type provide some type safety to the C API (as opposed to + * using void *, but pointers to them are simply cast to the corresponding C++ + * types in the implementation. + */ + +typedef struct { int dummy; } TagLib_File; +typedef struct { int dummy; } TagLib_Tag; +typedef struct { int dummy; } TagLib_AudioProperties; + +/*! + * By default all strings coming into or out of TagLib's C API are in UTF8. + * However, it may be desirable for TagLib to operate on Latin1 (ISO-8859-1) + * strings in which case this should be set to FALSE. + */ +TAGLIB_C_EXPORT void taglib_set_strings_unicode(BOOL unicode); + +/*! + * TagLib can keep track of strings that are created when outputting tag values + * and clear them using taglib_tag_clear_strings(). This is enabled by default. + * However if you wish to do more fine grained management of strings, you can do + * so by setting \a management to FALSE. + */ +TAGLIB_C_EXPORT void taglib_set_string_management_enabled(BOOL management); + +/*! + * Explicitly free a string returned from TagLib + */ +TAGLIB_C_EXPORT void taglib_free(void* pointer); + +/******************************************************************************* + * File API + ******************************************************************************/ + +typedef enum { + TagLib_File_MPEG, + TagLib_File_OggVorbis, + TagLib_File_FLAC, + TagLib_File_MPC, + TagLib_File_OggFlac, + TagLib_File_WavPack, + TagLib_File_Speex, + TagLib_File_TrueAudio, + TagLib_File_MP4, + TagLib_File_ASF +} TagLib_File_Type; + +/*! + * Creates a TagLib file based on \a filename. TagLib will try to guess the file + * type. + * + * \returns NULL if the file type cannot be determined or the file cannot + * be opened. + */ +TAGLIB_C_EXPORT TagLib_File *taglib_file_new(const char *filename); + +/*! + * Creates a TagLib file based on \a filename. Rather than attempting to guess + * the type, it will use the one specified by \a type. + */ +TAGLIB_C_EXPORT TagLib_File *taglib_file_new_type(const char *filename, TagLib_File_Type type); + +/*! + * Frees and closes the file. + */ +TAGLIB_C_EXPORT void taglib_file_free(TagLib_File *file); + +/*! + * Returns true if the file is open and readble and valid information for + * the Tag and / or AudioProperties was found. + */ + +TAGLIB_C_EXPORT BOOL taglib_file_is_valid(const TagLib_File *file); + +/*! + * Returns a pointer to the tag associated with this file. This will be freed + * automatically when the file is freed. + */ +TAGLIB_C_EXPORT TagLib_Tag *taglib_file_tag(const TagLib_File *file); + +/*! + * Returns a pointer to the the audio properties associated with this file. This + * will be freed automatically when the file is freed. + */ +TAGLIB_C_EXPORT const TagLib_AudioProperties *taglib_file_audioproperties(const TagLib_File *file); + +/*! + * Saves the \a file to disk. + */ +TAGLIB_C_EXPORT BOOL taglib_file_save(TagLib_File *file); + +/****************************************************************************** + * Tag API + ******************************************************************************/ + +/*! + * Returns a string with this tag's title. + * + * \note By default this string should be UTF8 encoded and its memory should be + * freed using taglib_tag_free_strings(). + */ +TAGLIB_C_EXPORT char *taglib_tag_title(const TagLib_Tag *tag); + +/*! + * Returns a string with this tag's artist. + * + * \note By default this string should be UTF8 encoded and its memory should be + * freed using taglib_tag_free_strings(). + */ +TAGLIB_C_EXPORT char *taglib_tag_artist(const TagLib_Tag *tag); + +/*! + * Returns a string with this tag's album name. + * + * \note By default this string should be UTF8 encoded and its memory should be + * freed using taglib_tag_free_strings(). + */ +TAGLIB_C_EXPORT char *taglib_tag_album(const TagLib_Tag *tag); + +/*! + * Returns a string with this tag's comment. + * + * \note By default this string should be UTF8 encoded and its memory should be + * freed using taglib_tag_free_strings(). + */ +TAGLIB_C_EXPORT char *taglib_tag_comment(const TagLib_Tag *tag); + +/*! + * Returns a string with this tag's genre. + * + * \note By default this string should be UTF8 encoded and its memory should be + * freed using taglib_tag_free_strings(). + */ +TAGLIB_C_EXPORT char *taglib_tag_genre(const TagLib_Tag *tag); + +/*! + * Returns the tag's year or 0 if year is not set. + */ +TAGLIB_C_EXPORT unsigned int taglib_tag_year(const TagLib_Tag *tag); + +/*! + * Returns the tag's track number or 0 if track number is not set. + */ +TAGLIB_C_EXPORT unsigned int taglib_tag_track(const TagLib_Tag *tag); + +/*! + * Sets the tag's title. + * + * \note By default this string should be UTF8 encoded. + */ +TAGLIB_C_EXPORT void taglib_tag_set_title(TagLib_Tag *tag, const char *title); + +/*! + * Sets the tag's artist. + * + * \note By default this string should be UTF8 encoded. + */ +TAGLIB_C_EXPORT void taglib_tag_set_artist(TagLib_Tag *tag, const char *artist); + +/*! + * Sets the tag's album. + * + * \note By default this string should be UTF8 encoded. + */ +TAGLIB_C_EXPORT void taglib_tag_set_album(TagLib_Tag *tag, const char *album); + +/*! + * Sets the tag's comment. + * + * \note By default this string should be UTF8 encoded. + */ +TAGLIB_C_EXPORT void taglib_tag_set_comment(TagLib_Tag *tag, const char *comment); + +/*! + * Sets the tag's genre. + * + * \note By default this string should be UTF8 encoded. + */ +TAGLIB_C_EXPORT void taglib_tag_set_genre(TagLib_Tag *tag, const char *genre); + +/*! + * Sets the tag's year. 0 indicates that this field should be cleared. + */ +TAGLIB_C_EXPORT void taglib_tag_set_year(TagLib_Tag *tag, unsigned int year); + +/*! + * Sets the tag's track number. 0 indicates that this field should be cleared. + */ +TAGLIB_C_EXPORT void taglib_tag_set_track(TagLib_Tag *tag, unsigned int track); + +/*! + * Frees all of the strings that have been created by the tag. + */ +TAGLIB_C_EXPORT void taglib_tag_free_strings(void); + +/****************************************************************************** + * Audio Properties API + ******************************************************************************/ + +/*! + * Returns the length of the file in seconds. + */ +TAGLIB_C_EXPORT int taglib_audioproperties_length(const TagLib_AudioProperties *audioProperties); + +/*! + * Returns the bitrate of the file in kb/s. + */ +TAGLIB_C_EXPORT int taglib_audioproperties_bitrate(const TagLib_AudioProperties *audioProperties); + +/*! + * Returns the sample rate of the file in Hz. + */ +TAGLIB_C_EXPORT int taglib_audioproperties_samplerate(const TagLib_AudioProperties *audioProperties); + +/*! + * Returns the number of channels in the audio stream. + */ +TAGLIB_C_EXPORT int taglib_audioproperties_channels(const TagLib_AudioProperties *audioProperties); + +/******************************************************************************* + * Special convenience ID3v2 functions + *******************************************************************************/ + +typedef enum { + TagLib_ID3v2_Latin1, + TagLib_ID3v2_UTF16, + TagLib_ID3v2_UTF16BE, + TagLib_ID3v2_UTF8 +} TagLib_ID3v2_Encoding; + +/*! + * This sets the default encoding for ID3v2 frames that are written to tags. + */ + +TAGLIB_C_EXPORT void taglib_id3v2_set_default_text_encoding(TagLib_ID3v2_Encoding encoding); + +#ifdef __cplusplus +} +#endif +#endif /* DO_NOT_DOCUMENT */ +#endif diff --git a/usr/local/include/taglib/taglib.h b/usr/local/include/taglib/taglib.h new file mode 100644 index 000000000..e941ca784 --- /dev/null +++ b/usr/local/include/taglib/taglib.h @@ -0,0 +1,228 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_H +#define TAGLIB_H + +#define TAGLIB_MAJOR_VERSION 1 +#define TAGLIB_MINOR_VERSION 8 +#define TAGLIB_PATCH_VERSION 0 + +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 1)) +#define TAGLIB_IGNORE_MISSING_DESTRUCTOR _Pragma("GCC diagnostic ignored \"-Wnon-virtual-dtor\"") +#else +#define TAGLIB_IGNORE_MISSING_DESTRUCTOR +#endif + +#if (defined(_MSC_VER) && _MSC_VER >= 1600) +#define TAGLIB_CONSTRUCT_BITSET(x) static_cast(x) +#else +#define TAGLIB_CONSTRUCT_BITSET(x) static_cast(x) +#endif + +#include + +#ifdef __APPLE__ +# include +# define TAGLIB_ATOMIC_MAC +#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if !defined(NOMINMAX) +# define NOMINMAX +# endif +# include +# define TAGLIB_ATOMIC_WIN +#elif defined (__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 401) \ + && (defined(__i386__) || defined(__i486__) || defined(__i586__) || \ + defined(__i686__) || defined(__x86_64) || defined(__ia64)) \ + && !defined(__INTEL_COMPILER) +# define TAGLIB_ATOMIC_GCC +#elif defined(__ia64) && defined(__INTEL_COMPILER) +# include +# define TAGLIB_ATOMIC_GCC +#endif + +//! A namespace for all TagLib related classes and functions + +/*! + * This namespace contains everything in TagLib. For projects working with + * TagLib extensively it may be convenient to add a + * \code + * using namespace TagLib; + * \endcode + */ + +namespace TagLib { + + class String; + + typedef wchar_t wchar; + typedef unsigned char uchar; + typedef unsigned short ushort; + typedef unsigned int uint; + typedef unsigned long ulong; + + /*! + * Unfortunately std::wstring isn't defined on some systems, (i.e. GCC < 3) + * so I'm providing something here that should be constant. + */ + typedef std::basic_string wstring; + +#ifndef DO_NOT_DOCUMENT // Tell Doxygen to skip this class. + /*! + * \internal + * This is just used as a base class for shared classes in TagLib. + * + * \warning This is not part of the TagLib public API! + */ + + class RefCounter + { + public: + RefCounter() : refCount(1) {} + +#ifdef TAGLIB_ATOMIC_MAC + void ref() { OSAtomicIncrement32Barrier(const_cast(&refCount)); } + bool deref() { return ! OSAtomicDecrement32Barrier(const_cast(&refCount)); } + int32_t count() { return refCount; } + private: + volatile int32_t refCount; +#elif defined(TAGLIB_ATOMIC_WIN) + void ref() { InterlockedIncrement(&refCount); } + bool deref() { return ! InterlockedDecrement(&refCount); } + long count() { return refCount; } + private: + volatile long refCount; +#elif defined(TAGLIB_ATOMIC_GCC) + void ref() { __sync_add_and_fetch(&refCount, 1); } + bool deref() { return ! __sync_sub_and_fetch(&refCount, 1); } + int count() { return refCount; } + private: + volatile int refCount; +#else + void ref() { refCount++; } + bool deref() { return ! --refCount; } + int count() { return refCount; } + private: + uint refCount; +#endif + + }; + +#endif // DO_NOT_DOCUMENT + +} + +/*! + * \mainpage TagLib + * + * \section intro Introduction + * + * TagLib is a library for reading and editing audio meta data, commonly know as \e tags. + * + * Features: + * - A clean, high level, C++ API to handling audio meta data. + * - Format specific APIs for advanced API users. + * - ID3v1, ID3v2, APE, FLAC, Xiph, iTunes-style MP4 and WMA tag formats. + * - MP3, MPC, FLAC, MP4, ASF, AIFF, WAV, TrueAudio, WavPack, Ogg FLAC, Ogg Vorbis, Speex and Opus file formats. + * - Basic audio file properties such as length, sample rate, etc. + * - Long term binary and source compatibility. + * - Extensible design, notably the ability to add other formats or extend current formats as a library user. + * - Full support for unicode and internationalized tags. + * - Dual MPL and + * LGPL licenses. + * - No external toolkit dependancies. + * + * \section why Why TagLib? + * + * TagLib originally was written to provide an updated and improved ID3v2 implementation in C++ for use + * in a variety of Open Source projects. Since development began in 2002 and the 1.0 release in 2004 + * it has expanded to cover a wide variety of tag and file formats and is used in a wide variety of + * Open Source and proprietary applications. It now supports a variety of UNIXes, including Apple's OS + * X, as well as Microsoft Windows. + * + * \section commercial Usage in Commercial Applications + * + * TagLib's licenses \e do allow usage within propriety (\e closed) applications, however TagLib is \e not + * public domain. Please note the requirements of the LGPL or MPL, and adhere to at least one of them. + * In simple terms, you must at a minimum note your usage of TagLib, note the licensing terms of TagLib and + * if you make changes to TagLib publish them. Please review the licenses above before using TagLib in your + * software. Note that you may choose either the MPL or the LGPL, you do not have to fulfill the + * requirements of both. + * + * \section installing Installing TagLib + * + * Please see the TagLib website for the latest + * downloads. + * + * TagLib can be built using the CMake build system. TagLib installs a taglib-config and pkg-config file to + * make it easier to integrate into various build systems. Note that TagLib's include install directory \e must + * be included in the header include path. Simply adding will \e not work. + * + * \section start Getting Started + * + * TagLib provides both simple, abstract APIs which make it possible to ignore the differences between tagging + * formats and format specific APIs which allow programmers to work with the features of specific tagging + * schemes. There is a similar abstraction mechanism for AudioProperties. + * + * The best place to start is with the Class Hierarchy linked at the top of the page. The File and + * AudioProperties classes and their subclasses are the core of TagLib. The FileRef class is also a convenient + * way for using a value-based handle. + * + * \note When working with FileRef please consider that it has only the most basic (extension-based) file + * type resolution. Please see its documentation on how to plug in more advanced file type resolution. (Such + * resolution may be part of later TagLib releases by default.) + * + * Here's a very simple example with TagLib: + * + * \code + * + * TagLib::FileRef f("Latex Solar Beef.mp3"); + * TagLib::String artist = f.tag()->artist(); // artist == "Frank Zappa" + * + * f.tag()->setAlbum("Fillmore East"); + * f.save(); + * + * TagLib::FileRef g("Free City Rhymes.ogg"); + * TagLib::String album = g.tag()->album(); // album == "NYC Ghosts & Flowers" + * + * g.tag()->setTrack(1); + * g.save(); + * + * \endcode + * + * More examples can be found in the \e examples directory of the source distribution. + * + * \section Contact + * + * Questions about TagLib should be directed to the TagLib mailing list, not directly to the author. + * + * - TagLib Homepage + * - TagLib Mailing List (taglib-devel@kde.org) + * + * \author Scott Wheeler et al. + * + */ + +#endif diff --git a/usr/local/include/taglib/taglib_config.h b/usr/local/include/taglib/taglib_config.h new file mode 100644 index 000000000..0f499e2c2 --- /dev/null +++ b/usr/local/include/taglib/taglib_config.h @@ -0,0 +1,4 @@ +/* taglib_config.h. Generated by cmake from taglib_config.h.cmake */ + +#define TAGLIB_WITH_ASF 1 +#define TAGLIB_WITH_MP4 1 diff --git a/usr/local/include/taglib/taglib_export.h b/usr/local/include/taglib/taglib_export.h new file mode 100644 index 000000000..3e8685517 --- /dev/null +++ b/usr/local/include/taglib/taglib_export.h @@ -0,0 +1,47 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_EXPORT_H +#define TAGLIB_EXPORT_H + +#if defined(TAGLIB_STATIC) +#define TAGLIB_EXPORT +#elif (defined(_WIN32) || defined(_WIN64)) +#ifdef MAKE_TAGLIB_LIB +#define TAGLIB_EXPORT __declspec(dllexport) +#else +#define TAGLIB_EXPORT __declspec(dllimport) +#endif +#elif defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 1) +#define TAGLIB_EXPORT __attribute__ ((visibility("default"))) +#else +#define TAGLIB_EXPORT +#endif + +#ifndef TAGLIB_NO_CONFIG +#include "taglib_config.h" +#endif + +#endif diff --git a/usr/local/include/taglib/tbytevector.h b/usr/local/include/taglib/tbytevector.h new file mode 100644 index 000000000..0c5832630 --- /dev/null +++ b/usr/local/include/taglib/tbytevector.h @@ -0,0 +1,425 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_BYTEVECTOR_H +#define TAGLIB_BYTEVECTOR_H + +#include "taglib.h" +#include "taglib_export.h" + +#include +#include + +namespace TagLib { + + //! A byte vector + + /*! + * This class provides a byte vector with some methods that are useful for + * tagging purposes. Many of the search functions are tailored to what is + * useful for finding tag related paterns in a data array. + */ + + class TAGLIB_EXPORT ByteVector + { + public: +#ifndef DO_NOT_DOCUMENT + typedef std::vector::iterator Iterator; + typedef std::vector::const_iterator ConstIterator; +#endif + + /*! + * Constructs an empty byte vector. + */ + ByteVector(); + + /*! + * Construct a vector of size \a size with all values set to \a value by + * default. + */ + ByteVector(uint size, char value = 0); + + /*! + * Contructs a byte vector that is a copy of \a v. + */ + ByteVector(const ByteVector &v); + + /*! + * Contructs a byte vector that contains \a c. + */ + ByteVector(char c); + + /*! + * Constructs a byte vector that copies \a data for up to \a length bytes. + */ + ByteVector(const char *data, uint length); + + /*! + * Constructs a byte vector that copies \a data up to the first null + * byte. The behavior is undefined if \a data is not null terminated. + * This is particularly useful for constructing byte arrays from string + * constants. + */ + ByteVector(const char *data); + + /*! + * Destroys this ByteVector instance. + */ + virtual ~ByteVector(); + + /*! + * Sets the data for the byte array using the first \a length bytes of \a data + */ + ByteVector &setData(const char *data, uint length); + + /*! + * Sets the data for the byte array copies \a data up to the first null + * byte. The behavior is undefined if \a data is not null terminated. + */ + ByteVector &setData(const char *data); + + /*! + * Returns a pointer to the internal data structure. + * + * \warning Care should be taken when modifying this data structure as it is + * easy to corrupt the ByteVector when doing so. Specifically, while the + * data may be changed, its length may not be. + */ + char *data(); + + /*! + * Returns a pointer to the internal data structure which may not be modified. + */ + const char *data() const; + + /*! + * Returns a byte vector made up of the bytes starting at \a index and + * for \a length bytes. If \a length is not specified it will return the bytes + * from \a index to the end of the vector. + */ + ByteVector mid(uint index, uint length = 0xffffffff) const; + + /*! + * This essentially performs the same as operator[](), but instead of causing + * a runtime error if the index is out of bounds, it will return a null byte. + */ + char at(uint index) const; + + /*! + * Searches the ByteVector for \a pattern starting at \a offset and returns + * the offset. Returns -1 if the pattern was not found. If \a byteAlign is + * specified the pattern will only be matched if it starts on a byte divisible + * by \a byteAlign (starting from \a offset). + */ + int find(const ByteVector &pattern, uint offset = 0, int byteAlign = 1) const; + + /*! + * Searches the ByteVector for \a pattern starting from either the end of the + * vector or \a offset and returns the offset. Returns -1 if the pattern was + * not found. If \a byteAlign is specified the pattern will only be matched + * if it starts on a byte divisible by \a byteAlign (starting from \a offset). + */ + int rfind(const ByteVector &pattern, uint offset = 0, int byteAlign = 1) const; + + /*! + * Checks to see if the vector contains the \a pattern starting at position + * \a offset. Optionally, if you only want to search for part of the pattern + * you can specify an offset within the pattern to start from. Also, you can + * specify to only check for the first \a patternLength bytes of \a pattern with + * the \a patternLength argument. + */ + bool containsAt(const ByteVector &pattern, uint offset, uint patternOffset = 0, uint patternLength = 0xffffffff) const; + + /*! + * Returns true if the vector starts with \a pattern. + */ + bool startsWith(const ByteVector &pattern) const; + + /*! + * Returns true if the vector ends with \a pattern. + */ + bool endsWith(const ByteVector &pattern) const; + + /*! + * Replaces \a pattern with \a with and returns a reference to the ByteVector + * after the operation. This \e does modify the vector. + */ + ByteVector &replace(const ByteVector &pattern, const ByteVector &with); + + /*! + * Checks for a partial match of \a pattern at the end of the vector. It + * returns the offset of the partial match within the vector, or -1 if the + * pattern is not found. This method is particularly useful when searching for + * patterns that start in one vector and end in another. When combined with + * startsWith() it can be used to find a pattern that overlaps two buffers. + * + * \note This will not match the complete pattern at the end of the string; use + * endsWith() for that. + */ + int endsWithPartialMatch(const ByteVector &pattern) const; + + /*! + * Appends \a v to the end of the ByteVector. + */ + ByteVector &append(const ByteVector &v); + + /*! + * Clears the data. + */ + ByteVector &clear(); + + /*! + * Returns the size of the array. + */ + uint size() const; + + /*! + * Resize the vector to \a size. If the vector is currently less than + * \a size, pad the remaining spaces with \a padding. Returns a reference + * to the resized vector. + */ + ByteVector &resize(uint size, char padding = 0); + + /*! + * Returns an Iterator that points to the front of the vector. + */ + Iterator begin(); + + /*! + * Returns a ConstIterator that points to the front of the vector. + */ + ConstIterator begin() const; + + /*! + * Returns an Iterator that points to the back of the vector. + */ + Iterator end(); + + /*! + * Returns a ConstIterator that points to the back of the vector. + */ + ConstIterator end() const; + + /*! + * Returns true if the vector is null. + * + * \note A vector may be empty without being null. + * \see isEmpty() + */ + bool isNull() const; + + /*! + * Returns true if the ByteVector is empty. + * + * \see size() + * \see isNull() + */ + bool isEmpty() const; + + /*! + * Returns a CRC checksum of the byte vector's data. + */ + uint checksum() const; + + /*! + * Converts the first 4 bytes of the vector to an unsigned integer. + * + * If \a mostSignificantByteFirst is true this will operate left to right + * evaluating the integer. For example if \a mostSignificantByteFirst is + * true then $00 $00 $00 $01 == 0x00000001 == 1, if false, $01 00 00 00 == + * 0x01000000 == 1. + * + * \see fromUInt() + */ + uint toUInt(bool mostSignificantByteFirst = true) const; + + /*! + * Converts the first 2 bytes of the vector to a short. + * + * If \a mostSignificantByteFirst is true this will operate left to right + * evaluating the integer. For example if \a mostSignificantByteFirst is + * true then $00 $01 == 0x0001 == 1, if false, $01 00 == 0x01000000 == 1. + * + * \see fromShort() + */ + short toShort(bool mostSignificantByteFirst = true) const; + + /*! + * Converts the first 2 bytes of the vector to a unsigned short. + * + * If \a mostSignificantByteFirst is true this will operate left to right + * evaluating the integer. For example if \a mostSignificantByteFirst is + * true then $00 $01 == 0x0001 == 1, if false, $01 00 == 0x01000000 == 1. + * + * \see fromShort() + */ + unsigned short toUShort(bool mostSignificantByteFirst = true) const; + + /*! + * Converts the first 8 bytes of the vector to a (signed) long long. + * + * If \a mostSignificantByteFirst is true this will operate left to right + * evaluating the integer. For example if \a mostSignificantByteFirst is + * true then $00 00 00 00 00 00 00 01 == 0x0000000000000001 == 1, + * if false, $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1. + * + * \see fromUInt() + */ + long long toLongLong(bool mostSignificantByteFirst = true) const; + + /*! + * Creates a 4 byte ByteVector based on \a value. If + * \a mostSignificantByteFirst is true, then this will operate left to right + * in building the ByteVector. For example if \a mostSignificantByteFirst is + * true then $00 00 00 01 == 0x00000001 == 1, if false, $01 00 00 00 == + * 0x01000000 == 1. + * + * \see toUInt() + */ + static ByteVector fromUInt(uint value, bool mostSignificantByteFirst = true); + + /*! + * Creates a 2 byte ByteVector based on \a value. If + * \a mostSignificantByteFirst is true, then this will operate left to right + * in building the ByteVector. For example if \a mostSignificantByteFirst is + * true then $00 01 == 0x0001 == 1, if false, $01 00 == 0x0100 == 1. + * + * \see toShort() + */ + static ByteVector fromShort(short value, bool mostSignificantByteFirst = true); + + /*! + * Creates a 8 byte ByteVector based on \a value. If + * \a mostSignificantByteFirst is true, then this will operate left to right + * in building the ByteVector. For example if \a mostSignificantByteFirst is + * true then $00 00 00 01 == 0x0000000000000001 == 1, if false, + * $01 00 00 00 00 00 00 00 == 0x0100000000000000 == 1. + * + * \see toLongLong() + */ + static ByteVector fromLongLong(long long value, bool mostSignificantByteFirst = true); + + /*! + * Returns a ByteVector based on the CString \a s. + */ + static ByteVector fromCString(const char *s, uint length = 0xffffffff); + + /*! + * Returns a const refernence to the byte at \a index. + */ + const char &operator[](int index) const; + + /*! + * Returns a reference to the byte at \a index. + */ + char &operator[](int index); + + /*! + * Returns true if this ByteVector and \a v are equal. + */ + bool operator==(const ByteVector &v) const; + + /*! + * Returns true if this ByteVector and \a v are not equal. + */ + bool operator!=(const ByteVector &v) const; + + /*! + * Returns true if this ByteVector and the null terminated C string \a s + * contain the same data. + */ + bool operator==(const char *s) const; + + /*! + * Returns true if this ByteVector and the null terminated C string \a s + * do not contain the same data. + */ + bool operator!=(const char *s) const; + + /*! + * Returns true if this ByteVector is less than \a v. The value of the + * vectors is determined by evaluating the character from left to right, and + * in the event one vector is a superset of the other, the size is used. + */ + bool operator<(const ByteVector &v) const; + + /*! + * Returns true if this ByteVector is greater than \a v. + */ + bool operator>(const ByteVector &v) const; + + /*! + * Returns a vector that is \a v appended to this vector. + */ + ByteVector operator+(const ByteVector &v) const; + + /*! + * Copies ByteVector \a v. + */ + ByteVector &operator=(const ByteVector &v); + + /*! + * Copies ByteVector \a v. + */ + ByteVector &operator=(char c); + + /*! + * Copies ByteVector \a v. + */ + ByteVector &operator=(const char *data); + + /*! + * A static, empty ByteVector which is convenient and fast (since returning + * an empty or "null" value does not require instantiating a new ByteVector). + */ + static ByteVector null; + + /*! + * Returns a hex-encoded copy of the byte vector. + */ + ByteVector toHex() const; + + protected: + /* + * If this ByteVector is being shared via implicit sharing, do a deep copy + * of the data and separate from the shared members. This should be called + * by all non-const subclass members. + */ + void detach(); + + private: + class ByteVectorPrivate; + ByteVectorPrivate *d; + }; + +} + +/*! + * \relates TagLib::ByteVector + * Streams the ByteVector \a v to the output stream \a s. + */ +TAGLIB_EXPORT std::ostream &operator<<(std::ostream &s, const TagLib::ByteVector &v); + +#endif diff --git a/usr/local/include/taglib/tbytevectorlist.h b/usr/local/include/taglib/tbytevectorlist.h new file mode 100644 index 000000000..5852583a0 --- /dev/null +++ b/usr/local/include/taglib/tbytevectorlist.h @@ -0,0 +1,91 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_BYTEVECTORLIST_H +#define TAGLIB_BYTEVECTORLIST_H + +#include "taglib_export.h" +#include "tbytevector.h" +#include "tlist.h" + +namespace TagLib { + + //! A list of ByteVectors + + /*! + * A List specialization with some handy features useful for ByteVectors. + */ + + class TAGLIB_EXPORT ByteVectorList : public List + { + public: + + /*! + * Construct an empty ByteVectorList. + */ + ByteVectorList(); + + /*! + * Destroys this ByteVectorList instance. + */ + virtual ~ByteVectorList(); + + /*! + * Make a shallow, implicitly shared, copy of \a l. Because this is + * implicitly shared, this method is lightweight and suitable for + * pass-by-value usage. + */ + ByteVectorList(const ByteVectorList &l); + + /*! + * Convert the ByteVectorList to a ByteVector separated by \a separator. By + * default a space is used. + */ + ByteVector toByteVector(const ByteVector &separator = " ") const; + + /*! + * Splits the ByteVector \a v into several strings at \a pattern. This will + * not include the pattern in the returned ByteVectors. + */ + static ByteVectorList split(const ByteVector &v, const ByteVector &pattern, + int byteAlign = 1); + /*! + * Splits the ByteVector \a v into several strings at \a pattern. This will + * not include the pattern in the returned ByteVectors. \a max is the + * maximum number of entries that will be separated. If \a max for instance + * is 2 then a maximum of 1 match will be found and the vector will be split + * on that match. + */ + // BIC: merge with the function above + static ByteVectorList split(const ByteVector &v, const ByteVector &pattern, + int byteAlign, int max); + private: + class ByteVectorListPrivate; + ByteVectorListPrivate *d; + }; + +} + +#endif diff --git a/usr/local/include/taglib/tbytevectorstream.h b/usr/local/include/taglib/tbytevectorstream.h new file mode 100644 index 000000000..456b854e0 --- /dev/null +++ b/usr/local/include/taglib/tbytevectorstream.h @@ -0,0 +1,145 @@ +/*************************************************************************** + copyright : (C) 2011 by Lukas Lalinsky + email : lalinsky@gmail.com + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_BYTEVECTORSTREAM_H +#define TAGLIB_BYTEVECTORSTREAM_H + +#include "taglib_export.h" +#include "taglib.h" +#include "tbytevector.h" +#include "tiostream.h" + +namespace TagLib { + + class String; + class Tag; + class AudioProperties; + + //! In-memory Stream class using ByteVector for its storage. + + class TAGLIB_EXPORT ByteVectorStream : public IOStream + { + public: + /*! + * Construct a File object and opens the \a file. \a file should be a + * be a C-string in the local file system encoding. + */ + ByteVectorStream(const ByteVector &data); + + /*! + * Destroys this ByteVectorStream instance. + */ + virtual ~ByteVectorStream(); + + /*! + * Returns the file name in the local file system encoding. + */ + FileName name() const; + + /*! + * Reads a block of size \a length at the current get pointer. + */ + ByteVector readBlock(ulong length); + + /*! + * Attempts to write the block \a data at the current get pointer. If the + * file is currently only opened read only -- i.e. readOnly() returns true -- + * this attempts to reopen the file in read/write mode. + * + * \note This should be used instead of using the streaming output operator + * for a ByteVector. And even this function is significantly slower than + * doing output with a char[]. + */ + void writeBlock(const ByteVector &data); + + /*! + * Insert \a data at position \a start in the file overwriting \a replace + * bytes of the original content. + * + * \note This method is slow since it requires rewriting all of the file + * after the insertion point. + */ + void insert(const ByteVector &data, ulong start = 0, ulong replace = 0); + + /*! + * Removes a block of the file starting a \a start and continuing for + * \a length bytes. + * + * \note This method is slow since it involves rewriting all of the file + * after the removed portion. + */ + void removeBlock(ulong start = 0, ulong length = 0); + + /*! + * Returns true if the file is read only (or if the file can not be opened). + */ + bool readOnly() const; + + /*! + * Since the file can currently only be opened as an argument to the + * constructor (sort-of by design), this returns if that open succeeded. + */ + bool isOpen() const; + + /*! + * Move the I/O pointer to \a offset in the file from position \a p. This + * defaults to seeking from the beginning of the file. + * + * \see Position + */ + void seek(long offset, Position p = Beginning); + + /*! + * Reset the end-of-file and error flags on the file. + */ + void clear(); + + /*! + * Returns the current offset within the file. + */ + long tell() const; + + /*! + * Returns the length of the file. + */ + long length(); + + /*! + * Truncates the file to a \a length. + */ + void truncate(long length); + + ByteVector *data(); + + protected: + + private: + class ByteVectorStreamPrivate; + ByteVectorStreamPrivate *d; + }; + +} + +#endif diff --git a/usr/local/include/taglib/textidentificationframe.h b/usr/local/include/taglib/textidentificationframe.h new file mode 100644 index 000000000..58ed63e69 --- /dev/null +++ b/usr/local/include/taglib/textidentificationframe.h @@ -0,0 +1,313 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_TEXTIDENTIFICATIONFRAME_H +#define TAGLIB_TEXTIDENTIFICATIONFRAME_H + +#include "tstringlist.h" +#include "tmap.h" +#include "taglib_export.h" + +#include "id3v2frame.h" + +namespace TagLib { + + namespace ID3v2 { + + class Tag; + typedef Map KeyConversionMap; + + //! An ID3v2 text identification frame implementation + + /*! + * This is an implementation of the most common type of ID3v2 frame -- text + * identification frames. There are a number of variations on this. Those + * enumerated in the ID3v2.4 standard are: + * + *
    + *
  • TALB Album/Movie/Show title
  • + *
  • TBPM BPM (beats per minute)
  • + *
  • TCOM Composer
  • + *
  • TCON Content type
  • + *
  • TCOP Copyright message
  • + *
  • TDEN Encoding time
  • + *
  • TDLY Playlist delay
  • + *
  • TDOR Original release time
  • + *
  • TDRC Recording time
  • + *
  • TDRL Release time
  • + *
  • TDTG Tagging time
  • + *
  • TENC Encoded by
  • + *
  • TEXT Lyricist/Text writer
  • + *
  • TFLT File type
  • + *
  • TIPL Involved people list
  • + *
  • TIT1 Content group description
  • + *
  • TIT2 Title/songname/content description
  • + *
  • TIT3 Subtitle/Description refinement
  • + *
  • TKEY Initial key
  • + *
  • TLAN Language(s)
  • + *
  • TLEN Length
  • + *
  • TMCL Musician credits list
  • + *
  • TMED Media type
  • + *
  • TMOO Mood
  • + *
  • TOAL Original album/movie/show title
  • + *
  • TOFN Original filename
  • + *
  • TOLY Original lyricist(s)/text writer(s)
  • + *
  • TOPE Original artist(s)/performer(s)
  • + *
  • TOWN File owner/licensee
  • + *
  • TPE1 Lead performer(s)/Soloist(s)
  • + *
  • TPE2 Band/orchestra/accompaniment
  • + *
  • TPE3 Conductor/performer refinement
  • + *
  • TPE4 Interpreted, remixed, or otherwise modified by
  • + *
  • TPOS Part of a set
  • + *
  • TPRO Produced notice
  • + *
  • TPUB Publisher
  • + *
  • TRCK Track number/Position in set
  • + *
  • TRSN Internet radio station name
  • + *
  • TRSO Internet radio station owner
  • + *
  • TSOA Album sort order
  • + *
  • TSOP Performer sort order
  • + *
  • TSOT Title sort order
  • + *
  • TSRC ISRC (international standard recording code)
  • + *
  • TSSE Software/Hardware and settings used for encoding
  • + *
  • TSST Set subtitle
  • + *
+ * + * The ID3v2 Frames document gives a description of each of these formats + * and the expected order of strings in each. ID3v2::Header::frameID() can + * be used to determine the frame type. + * + * \note If non-Latin1 compatible strings are used with this class, even if + * the text encoding is set to Latin1, the frame will be written using UTF8 + * (with the encoding flag appropriately set in the output). + */ + + class TAGLIB_EXPORT TextIdentificationFrame : public Frame + { + friend class FrameFactory; + + public: + /*! + * Construct an empty frame of type \a type. Uses \a encoding as the + * default text encoding. + * + * \note In this case you must specify the text encoding as it + * resolves the ambiguity between constructors. + * + * \note Please see the note in the class description regarding Latin1. + */ + TextIdentificationFrame(const ByteVector &type, String::Type encoding); + + /*! + * This is a dual purpose constructor. \a data can either be binary data + * that should be parsed or (at a minimum) the frame ID. + */ + explicit TextIdentificationFrame(const ByteVector &data); + + /*! + * This is a special factory method to create a TIPL (involved people list) + * frame from the given \a properties. Will parse key=[list of values] data + * into the TIPL format as specified in the ID3 standard. + */ + static TextIdentificationFrame *createTIPLFrame(const PropertyMap &properties); + + /*! + * This is a special factory method to create a TMCL (musician credits list) + * frame from the given \a properties. Will parse key=[list of values] data + * into the TMCL format as specified in the ID3 standard, where key should be + * of the form instrumentPrefix:instrument. + */ + static TextIdentificationFrame *createTMCLFrame(const PropertyMap &properties); + /*! + * Destroys this TextIdentificationFrame instance. + */ + virtual ~TextIdentificationFrame(); + + /*! + * Text identification frames are a list of string fields. + * + * This function will accept either a StringList or a String (using the + * StringList constructor that accepts a single String). + * + * \note This will not change the text encoding of the frame even if the + * strings passed in are not of the same encoding. Please use + * setEncoding(s.type()) if you wish to change the encoding of the frame. + */ + void setText(const StringList &l); + + // Reimplementations. + + virtual void setText(const String &s); + virtual String toString() const; + + /*! + * Returns the text encoding that will be used in rendering this frame. + * This defaults to the type that was either specified in the constructor + * or read from the frame when parsed. + * + * \note Please see the note in the class description regarding Latin1. + * + * \see setTextEncoding() + * \see render() + */ + String::Type textEncoding() const; + + /*! + * Sets the text encoding to be used when rendering this frame to + * \a encoding. + * + * \note Please see the note in the class description regarding Latin1. + * + * \see textEncoding() + * \see render() + */ + void setTextEncoding(String::Type encoding); + + /*! + * Returns a list of the strings in this frame. + */ + StringList fieldList() const; + + /*! + * Returns a KeyConversionMap mapping a role as it would be used in a PropertyMap + * to the corresponding key used in a TIPL ID3 frame to describe that role. + */ + static const KeyConversionMap &involvedPeopleMap(); + + PropertyMap asProperties() const; + + protected: + // Reimplementations. + + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + /*! + * The constructor used by the FrameFactory. + */ + TextIdentificationFrame(const ByteVector &data, Header *h); + + private: + TextIdentificationFrame(const TextIdentificationFrame &); + TextIdentificationFrame &operator=(const TextIdentificationFrame &); + + /*! + * Parses the special structure of a TIPL frame + * Only the whitelisted roles "ARRANGER", "ENGINEER", "PRODUCER", + * "DJMIXER" (ID3: "DJ-MIX") and "MIXER" (ID3: "MIX") are allowed. + */ + PropertyMap makeTIPLProperties() const; + /*! + * Parses the special structure of a TMCL frame. + */ + PropertyMap makeTMCLProperties() const; + class TextIdentificationFramePrivate; + TextIdentificationFramePrivate *d; + }; + + /*! + * This is a specialization of text identification frames that allows for + * user defined entries. Each entry has a description in addition to the + * normal list of fields that a text identification frame has. + * + * This description identifies the frame and must be unique. + */ + + //! An ID3v2 custom text identification frame implementationx + + class TAGLIB_EXPORT UserTextIdentificationFrame : public TextIdentificationFrame + { + friend class FrameFactory; + + public: + /*! + * Constructs an empty user defined text identification frame. For this to be + * a useful frame both a description and text must be set. + */ + explicit UserTextIdentificationFrame(String::Type encoding = String::Latin1); + + /*! + * Creates a frame based on \a data. + */ + explicit UserTextIdentificationFrame(const ByteVector &data); + + /*! + * Creates a user defined text identification frame with the given \a description + * and \a values. + */ + UserTextIdentificationFrame(const String &description, const StringList &values, String::Type encoding = String::UTF8); + + virtual String toString() const; + + /*! + * Returns the description for this frame. + */ + String description() const; + + /*! + * Sets the description of the frame to \a s. \a s must be unique. You can + * check for the presence of another user defined text frame of the same type + * using find() and testing for null. + */ + void setDescription(const String &s); + + StringList fieldList() const; + void setText(const String &text); + void setText(const StringList &fields); + + /*! + * A UserTextIdentificationFrame is parsed into a PropertyMap as follows: + * - the key is the frame's description, uppercased + * - if the description contains '::', only the substring after that + * separator is considered as key (compatibility with exfalso) + * - if the above rules don't yield a valid key (e.g. containing non-ASCII + * characters), the returned map will contain an entry "TXXX/" + * in its unsupportedData() list. + * - The values will be copies of the fieldList(). + * - If the description() appears as value in fieldList(), it will be omitted + * in the value list, in order to be compatible with TagLib which copies + * the description() into the fieldList(). + */ + PropertyMap asProperties() const; + + /*! + * Searches for the user defined text frame with the description \a description + * in \a tag. This returns null if no matching frames were found. + */ + static UserTextIdentificationFrame *find(Tag *tag, const String &description); + + private: + UserTextIdentificationFrame(const ByteVector &data, Header *h); + UserTextIdentificationFrame(const TextIdentificationFrame &); + UserTextIdentificationFrame &operator=(const UserTextIdentificationFrame &); + + void checkFields(); + + class UserTextIdentificationFramePrivate; + UserTextIdentificationFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/tfile.h b/usr/local/include/taglib/tfile.h new file mode 100644 index 000000000..7e6f2b936 --- /dev/null +++ b/usr/local/include/taglib/tfile.h @@ -0,0 +1,298 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_FILE_H +#define TAGLIB_FILE_H + +#include "taglib_export.h" +#include "taglib.h" +#include "tag.h" +#include "tbytevector.h" +#include "tiostream.h" + +namespace TagLib { + + class String; + class Tag; + class AudioProperties; + class PropertyMap; + + //! A file class with some useful methods for tag manipulation + + /*! + * This class is a basic file class with some methods that are particularly + * useful for tag editors. It has methods to take advantage of + * ByteVector and a binary search method for finding patterns in a file. + */ + + class TAGLIB_EXPORT File + { + public: + /*! + * Position in the file used for seeking. + */ + enum Position { + //! Seek from the beginning of the file. + Beginning, + //! Seek from the current position in the file. + Current, + //! Seek from the end of the file. + End + }; + + /*! + * Destroys this File instance. + */ + virtual ~File(); + + /*! + * Returns the file name in the local file system encoding. + */ + FileName name() const; + + /*! + * Returns a pointer to this file's tag. This should be reimplemented in + * the concrete subclasses. + */ + virtual Tag *tag() const = 0; + + /*! + * Exports the tags of the file as dictionary mapping (human readable) tag + * names (Strings) to StringLists of tag values. Calls the according specialization + * in the File subclasses. + * For each metadata object of the file that could not be parsed into the PropertyMap + * format, the returend map's unsupportedData() list will contain one entry identifying + * that object (e.g. the frame type for ID3v2 tags). Use removeUnsupportedProperties() + * to remove (a subset of) them. + * BIC: Will be made virtual in future releases. + */ + PropertyMap properties() const; + + /*! + * Removes unsupported properties, or a subset of them, from the file's metadata. + * The parameter \a properties must contain only entries from + * properties().unsupportedData(). + * BIC: Will be mad virtual in future releases. + */ + void removeUnsupportedProperties(const StringList& properties); + + /*! + * Sets the tags of this File to those specified in \a properties. Calls the + * according specialization method in the subclasses of File to do the translation + * into the format-specific details. + * If some value(s) could not be written imported to the specific metadata format, + * the returned PropertyMap will contain those value(s). Otherwise it will be empty, + * indicating that no problems occured. + * BIC: will become pure virtual in the future + */ + PropertyMap setProperties(const PropertyMap &properties); + /*! + * Returns a pointer to this file's audio properties. This should be + * reimplemented in the concrete subclasses. If no audio properties were + * read then this will return a null pointer. + */ + virtual AudioProperties *audioProperties() const = 0; + + /*! + * Save the file and its associated tags. This should be reimplemented in + * the concrete subclasses. Returns true if the save succeeds. + * + * \warning On UNIX multiple processes are able to write to the same file at + * the same time. This can result in serious file corruption. If you are + * developing a program that makes use of TagLib from multiple processes you + * must insure that you are only doing writes to a particular file from one + * of them. + */ + virtual bool save() = 0; + + /*! + * Reads a block of size \a length at the current get pointer. + */ + ByteVector readBlock(ulong length); + + /*! + * Attempts to write the block \a data at the current get pointer. If the + * file is currently only opened read only -- i.e. readOnly() returns true -- + * this attempts to reopen the file in read/write mode. + * + * \note This should be used instead of using the streaming output operator + * for a ByteVector. And even this function is significantly slower than + * doing output with a char[]. + */ + void writeBlock(const ByteVector &data); + + /*! + * Returns the offset in the file that \a pattern occurs at or -1 if it can + * not be found. If \a before is set, the search will only continue until the + * pattern \a before is found. This is useful for tagging purposes to search + * for a tag before the synch frame. + * + * Searching starts at \a fromOffset, which defaults to the beginning of the + * file. + * + * \note This has the practial limitation that \a pattern can not be longer + * than the buffer size used by readBlock(). Currently this is 1024 bytes. + */ + long find(const ByteVector &pattern, + long fromOffset = 0, + const ByteVector &before = ByteVector::null); + + /*! + * Returns the offset in the file that \a pattern occurs at or -1 if it can + * not be found. If \a before is set, the search will only continue until the + * pattern \a before is found. This is useful for tagging purposes to search + * for a tag before the synch frame. + * + * Searching starts at \a fromOffset and proceeds from the that point to the + * beginning of the file and defaults to the end of the file. + * + * \note This has the practial limitation that \a pattern can not be longer + * than the buffer size used by readBlock(). Currently this is 1024 bytes. + */ + long rfind(const ByteVector &pattern, + long fromOffset = 0, + const ByteVector &before = ByteVector::null); + + /*! + * Insert \a data at position \a start in the file overwriting \a replace + * bytes of the original content. + * + * \note This method is slow since it requires rewriting all of the file + * after the insertion point. + */ + void insert(const ByteVector &data, ulong start = 0, ulong replace = 0); + + /*! + * Removes a block of the file starting a \a start and continuing for + * \a length bytes. + * + * \note This method is slow since it involves rewriting all of the file + * after the removed portion. + */ + void removeBlock(ulong start = 0, ulong length = 0); + + /*! + * Returns true if the file is read only (or if the file can not be opened). + */ + bool readOnly() const; + + /*! + * Since the file can currently only be opened as an argument to the + * constructor (sort-of by design), this returns if that open succeeded. + */ + bool isOpen() const; + + /*! + * Returns true if the file is open and readble. + */ + bool isValid() const; + + /*! + * Move the I/O pointer to \a offset in the file from position \a p. This + * defaults to seeking from the beginning of the file. + * + * \see Position + */ + void seek(long offset, Position p = Beginning); + + /*! + * Reset the end-of-file and error flags on the file. + */ + void clear(); + + /*! + * Returns the current offset within the file. + */ + long tell() const; + + /*! + * Returns the length of the file. + */ + long length(); + + /*! + * Returns true if \a file can be opened for reading. If the file does not + * exist, this will return false. + * + * \deprecated + */ + static bool isReadable(const char *file); + + /*! + * Returns true if \a file can be opened for writing. + * + * \deprecated + */ + static bool isWritable(const char *name); + + protected: + /*! + * Construct a File object and opens the \a file. \a file should be a + * be a C-string in the local file system encoding. + * + * \note Constructor is protected since this class should only be + * instantiated through subclasses. + */ + File(FileName file); + + /*! + * Construct a File object and use the \a stream instance. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + * + * \note Constructor is protected since this class should only be + * instantiated through subclasses. + */ + File(IOStream *stream); + + /*! + * Marks the file as valid or invalid. + * + * \see isValid() + */ + void setValid(bool valid); + + /*! + * Truncates the file to a \a length. + */ + void truncate(long length); + + /*! + * Returns the buffer size that is used for internal buffering. + */ + static uint bufferSize(); + + private: + File(const File &); + File &operator=(const File &); + + class FilePrivate; + FilePrivate *d; + }; + +} + +#endif diff --git a/usr/local/include/taglib/tfilestream.h b/usr/local/include/taglib/tfilestream.h new file mode 100644 index 000000000..fa113b738 --- /dev/null +++ b/usr/local/include/taglib/tfilestream.h @@ -0,0 +1,154 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_FILESTREAM_H +#define TAGLIB_FILESTREAM_H + +#include "taglib_export.h" +#include "taglib.h" +#include "tbytevector.h" +#include "tiostream.h" + +namespace TagLib { + + class String; + class Tag; + class AudioProperties; + + //! A file class with some useful methods for tag manipulation + + /*! + * This class is a basic file class with some methods that are particularly + * useful for tag editors. It has methods to take advantage of + * ByteVector and a binary search method for finding patterns in a file. + */ + + class TAGLIB_EXPORT FileStream : public IOStream + { + public: + /*! + * Construct a File object and opens the \a file. \a file should be a + * be a C-string in the local file system encoding. + */ + FileStream(FileName file, bool openReadOnly = false); + + /*! + * Destroys this FileStream instance. + */ + virtual ~FileStream(); + + /*! + * Returns the file name in the local file system encoding. + */ + FileName name() const; + + /*! + * Reads a block of size \a length at the current get pointer. + */ + ByteVector readBlock(ulong length); + + /*! + * Attempts to write the block \a data at the current get pointer. If the + * file is currently only opened read only -- i.e. readOnly() returns true -- + * this attempts to reopen the file in read/write mode. + * + * \note This should be used instead of using the streaming output operator + * for a ByteVector. And even this function is significantly slower than + * doing output with a char[]. + */ + void writeBlock(const ByteVector &data); + + /*! + * Insert \a data at position \a start in the file overwriting \a replace + * bytes of the original content. + * + * \note This method is slow since it requires rewriting all of the file + * after the insertion point. + */ + void insert(const ByteVector &data, ulong start = 0, ulong replace = 0); + + /*! + * Removes a block of the file starting a \a start and continuing for + * \a length bytes. + * + * \note This method is slow since it involves rewriting all of the file + * after the removed portion. + */ + void removeBlock(ulong start = 0, ulong length = 0); + + /*! + * Returns true if the file is read only (or if the file can not be opened). + */ + bool readOnly() const; + + /*! + * Since the file can currently only be opened as an argument to the + * constructor (sort-of by design), this returns if that open succeeded. + */ + bool isOpen() const; + + /*! + * Move the I/O pointer to \a offset in the file from position \a p. This + * defaults to seeking from the beginning of the file. + * + * \see Position + */ + void seek(long offset, Position p = Beginning); + + /*! + * Reset the end-of-file and error flags on the file. + */ + void clear(); + + /*! + * Returns the current offset within the file. + */ + long tell() const; + + /*! + * Returns the length of the file. + */ + long length(); + + /*! + * Truncates the file to a \a length. + */ + void truncate(long length); + + protected: + + /*! + * Returns the buffer size that is used for internal buffering. + */ + static uint bufferSize(); + + private: + class FileStreamPrivate; + FileStreamPrivate *d; + }; + +} + +#endif diff --git a/usr/local/include/taglib/tiostream.h b/usr/local/include/taglib/tiostream.h new file mode 100644 index 000000000..3e7de22aa --- /dev/null +++ b/usr/local/include/taglib/tiostream.h @@ -0,0 +1,160 @@ +/*************************************************************************** + copyright : (C) 2011 by Lukas Lalinsky + email : lalinsky@gmail.com + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_IOSTREAM_H +#define TAGLIB_IOSTREAM_H + +#include "taglib_export.h" +#include "taglib.h" +#include "tbytevector.h" + +namespace TagLib { + +#ifdef _WIN32 + class TAGLIB_EXPORT FileName + { + public: + FileName(const wchar_t *name) : m_wname(name) {} + FileName(const char *name) : m_name(name) {} + operator const wchar_t *() const { return m_wname.c_str(); } + operator const char *() const { return m_name.c_str(); } + private: + std::string m_name; + std::wstring m_wname; + }; +#else + typedef const char *FileName; +#endif + + //! An abstract class that provides operations on a sequence of bytes + + class TAGLIB_EXPORT IOStream + { + public: + /*! + * Position in the file used for seeking. + */ + enum Position { + //! Seek from the beginning of the file. + Beginning, + //! Seek from the current position in the file. + Current, + //! Seek from the end of the file. + End + }; + + IOStream(); + + /*! + * Destroys this IOStream instance. + */ + virtual ~IOStream(); + + /*! + * Returns the stream name in the local file system encoding. + */ + virtual FileName name() const = 0; + + /*! + * Reads a block of size \a length at the current get pointer. + */ + virtual ByteVector readBlock(ulong length) = 0; + + /*! + * Attempts to write the block \a data at the current get pointer. If the + * file is currently only opened read only -- i.e. readOnly() returns true -- + * this attempts to reopen the file in read/write mode. + * + * \note This should be used instead of using the streaming output operator + * for a ByteVector. And even this function is significantly slower than + * doing output with a char[]. + */ + virtual void writeBlock(const ByteVector &data) = 0; + + /*! + * Insert \a data at position \a start in the file overwriting \a replace + * bytes of the original content. + * + * \note This method is slow since it requires rewriting all of the file + * after the insertion point. + */ + virtual void insert(const ByteVector &data, ulong start = 0, ulong replace = 0) = 0; + + /*! + * Removes a block of the file starting a \a start and continuing for + * \a length bytes. + * + * \note This method is slow since it involves rewriting all of the file + * after the removed portion. + */ + virtual void removeBlock(ulong start = 0, ulong length = 0) = 0; + + /*! + * Returns true if the file is read only (or if the file can not be opened). + */ + virtual bool readOnly() const = 0; + + /*! + * Since the file can currently only be opened as an argument to the + * constructor (sort-of by design), this returns if that open succeeded. + */ + virtual bool isOpen() const = 0; + + /*! + * Move the I/O pointer to \a offset in the stream from position \a p. This + * defaults to seeking from the beginning of the stream. + * + * \see Position + */ + virtual void seek(long offset, Position p = Beginning) = 0; + + /*! + * Reset the end-of-stream and error flags on the stream. + */ + virtual void clear(); + + /*! + * Returns the current offset within the stream. + */ + virtual long tell() const = 0; + + /*! + * Returns the length of the stream. + */ + virtual long length() = 0; + + /*! + * Truncates the stream to a \a length. + */ + virtual void truncate(long length) = 0; + + private: + IOStream(const IOStream &); + IOStream &operator=(const IOStream &); + }; + +} + +#endif diff --git a/usr/local/include/taglib/tlist.h b/usr/local/include/taglib/tlist.h new file mode 100644 index 000000000..0099dad56 --- /dev/null +++ b/usr/local/include/taglib/tlist.h @@ -0,0 +1,257 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_LIST_H +#define TAGLIB_LIST_H + +#include "taglib.h" + +#include + +namespace TagLib { + + //! A generic, implicitly shared list. + + /*! + * This is basic generic list that's somewhere between a std::list and a + * QValueList. This class is implicitly shared. For example: + * + * \code + * + * TagLib::List l = someOtherIntList; + * + * \endcode + * + * The above example is very cheap. This also makes lists suitable for the + * return types of functions. The above example will just copy a pointer rather + * than copying the data in the list. When your \e shared list's data changes, + * only \e then will the data be copied. + */ + + template class List + { + public: +#ifndef DO_NOT_DOCUMENT + typedef typename std::list::iterator Iterator; + typedef typename std::list::const_iterator ConstIterator; +#endif + + /*! + * Constructs an empty list. + */ + List(); + + /*! + * Make a shallow, implicitly shared, copy of \a l. Because this is + * implicitly shared, this method is lightweight and suitable for + * pass-by-value usage. + */ + List(const List &l); + + /*! + * Destroys this List instance. If auto deletion is enabled and this list + * contains a pointer type all of the memebers are also deleted. + */ + virtual ~List(); + + /*! + * Returns an STL style iterator to the beginning of the list. See + * std::list::const_iterator for the semantics. + */ + Iterator begin(); + + /*! + * Returns an STL style constant iterator to the beginning of the list. See + * std::list::iterator for the semantics. + */ + ConstIterator begin() const; + + /*! + * Returns an STL style iterator to the end of the list. See + * std::list::iterator for the semantics. + */ + Iterator end(); + + /*! + * Returns an STL style constant iterator to the end of the list. See + * std::list::const_iterator for the semantics. + */ + ConstIterator end() const; + + /*! + * Inserts a copy of \a value before \a it. + */ + Iterator insert(Iterator it, const T &value); + + /*! + * Inserts the \a value into the list. This assumes that the list is + * currently sorted. If \a unique is true then the value will not + * be inserted if it is already in the list. + */ + List &sortedInsert(const T &value, bool unique = false); + + /*! + * Appends \a item to the end of the list and returns a reference to the + * list. + */ + List &append(const T &item); + + /*! + * Appends all of the values in \a l to the end of the list and returns a + * reference to the list. + */ + List &append(const List &l); + + /*! + * Prepends \a item to the beginning list and returns a reference to the + * list. + */ + List &prepend(const T &item); + + /*! + * Prepends all of the items in \a l to the beginning list and returns a + * reference to the list. + */ + List &prepend(const List &l); + + /*! + * Clears the list. If auto deletion is enabled and this list contains a + * pointer type the members are also deleted. + * + * \see setAutoDelete() + */ + List &clear(); + + /*! + * Returns the number of elements in the list. + */ + uint size() const; + bool isEmpty() const; + + /*! + * Find the first occurrence of \a value. + */ + Iterator find(const T &value); + + /*! + * Find the first occurrence of \a value. + */ + ConstIterator find(const T &value) const; + + /*! + * Returns true if the list contains \a value. + */ + bool contains(const T &value) const; + + /*! + * Erase the item at \a it from the list. + */ + Iterator erase(Iterator it); + + /*! + * Returns a reference to the first item in the list. + */ + const T &front() const; + + /*! + * Returns a reference to the first item in the list. + */ + T &front(); + + /*! + * Returns a reference to the last item in the list. + */ + const T &back() const; + + /*! + * Returns a reference to the last item in the list. + */ + T &back(); + + /*! + * Auto delete the members of the list when the last reference to the list + * passes out of scope. This will have no effect on lists which do not + * contain a pointer type. + * + * \note This relies on partial template instantiation -- most modern C++ + * compilers should now support this. + */ + void setAutoDelete(bool autoDelete); + + /*! + * Returns a reference to item \a i in the list. + * + * \warning This method is slow. Use iterators to loop through the list. + */ + T &operator[](uint i); + + /*! + * Returns a const reference to item \a i in the list. + * + * \warning This method is slow. Use iterators to loop through the list. + */ + const T &operator[](uint i) const; + + /*! + * Make a shallow, implicitly shared, copy of \a l. Because this is + * implicitly shared, this method is lightweight and suitable for + * pass-by-value usage. + */ + List &operator=(const List &l); + + /*! + * Compares this list with \a l and returns true if all of the elements are + * the same. + */ + bool operator==(const List &l) const; + + /*! + * Compares this list with \a l and returns true if the lists differ. + */ + bool operator!=(const List &l) const; + + protected: + /* + * If this List is being shared via implicit sharing, do a deep copy of the + * data and separate from the shared members. This should be called by all + * non-const subclass members. + */ + void detach(); + + private: +#ifndef DO_NOT_DOCUMENT + template class ListPrivate; + ListPrivate *d; +#endif + }; + +} + +// Since GCC doesn't support the "export" keyword, we have to include the +// implementation. + +#include "tlist.tcc" + +#endif diff --git a/usr/local/include/taglib/tlist.tcc b/usr/local/include/taglib/tlist.tcc new file mode 100644 index 000000000..37817f059 --- /dev/null +++ b/usr/local/include/taglib/tlist.tcc @@ -0,0 +1,322 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#include + +namespace TagLib { + +//////////////////////////////////////////////////////////////////////////////// +// public members +//////////////////////////////////////////////////////////////////////////////// + +// The functionality of List::setAutoDelete() is implemented here partial +// template specialization. This is implemented in such a way that calling +// setAutoDelete() on non-pointer types will simply have no effect. + +// A base for the generic and specialized private class types. New +// non-templatized members should be added here. + +class ListPrivateBase : public RefCounter +{ +public: + ListPrivateBase() : autoDelete(false) {} + bool autoDelete; +}; + +// A generic implementation + +template +template class List::ListPrivate : public ListPrivateBase +{ +public: + ListPrivate() : ListPrivateBase() {} + ListPrivate(const std::list &l) : ListPrivateBase(), list(l) {} + void clear() { + list.clear(); + } + std::list list; +}; + +// A partial specialization for all pointer types that implements the +// setAutoDelete() functionality. + +template +template class List::ListPrivate : public ListPrivateBase +{ +public: + ListPrivate() : ListPrivateBase() {} + ListPrivate(const std::list &l) : ListPrivateBase(), list(l) {} + ~ListPrivate() { + clear(); + } + void clear() { + if(autoDelete) { + typename std::list::const_iterator it = list.begin(); + for(; it != list.end(); ++it) + delete *it; + } + list.clear(); + } + std::list list; +}; + +//////////////////////////////////////////////////////////////////////////////// +// public members +//////////////////////////////////////////////////////////////////////////////// + +template +List::List() +{ + d = new ListPrivate; +} + +template +List::List(const List &l) : d(l.d) +{ + d->ref(); +} + +template +List::~List() +{ + if(d->deref()) + delete d; +} + +template +typename List::Iterator List::begin() +{ + detach(); + return d->list.begin(); +} + +template +typename List::ConstIterator List::begin() const +{ + return d->list.begin(); +} + +template +typename List::Iterator List::end() +{ + detach(); + return d->list.end(); +} + +template +typename List::ConstIterator List::end() const +{ + return d->list.end(); +} + +template +typename List::Iterator List::insert(Iterator it, const T &item) +{ + detach(); + return d->list.insert(it, item); +} + +template +List &List::sortedInsert(const T &value, bool unique) +{ + detach(); + Iterator it = begin(); + while(it != end() && *it < value) + ++it; + if(unique && it != end() && *it == value) + return *this; + insert(it, value); + return *this; +} + +template +List &List::append(const T &item) +{ + detach(); + d->list.push_back(item); + return *this; +} + +template +List &List::append(const List &l) +{ + detach(); + d->list.insert(d->list.end(), l.begin(), l.end()); + return *this; +} + +template +List &List::prepend(const T &item) +{ + detach(); + d->list.push_front(item); + return *this; +} + +template +List &List::prepend(const List &l) +{ + detach(); + d->list.insert(d->list.begin(), l.begin(), l.end()); + return *this; +} + +template +List &List::clear() +{ + detach(); + d->clear(); + return *this; +} + +template +TagLib::uint List::size() const +{ + return d->list.size(); +} + +template +bool List::isEmpty() const +{ + return d->list.empty(); +} + +template +typename List::Iterator List::find(const T &value) +{ + return std::find(d->list.begin(), d->list.end(), value); +} + +template +typename List::ConstIterator List::find(const T &value) const +{ + return std::find(d->list.begin(), d->list.end(), value); +} + +template +bool List::contains(const T &value) const +{ + return std::find(d->list.begin(), d->list.end(), value) != d->list.end(); +} + +template +typename List::Iterator List::erase(Iterator it) +{ + return d->list.erase(it); +} + +template +const T &List::front() const +{ + return d->list.front(); +} + +template +T &List::front() +{ + detach(); + return d->list.front(); +} + +template +const T &List::back() const +{ + return d->list.back(); +} + +template +void List::setAutoDelete(bool autoDelete) +{ + d->autoDelete = autoDelete; +} + +template +T &List::back() +{ + detach(); + return d->list.back(); +} + +template +T &List::operator[](uint i) +{ + Iterator it = d->list.begin(); + + for(uint j = 0; j < i; j++) + ++it; + + return *it; +} + +template +const T &List::operator[](uint i) const +{ + ConstIterator it = d->list.begin(); + + for(uint j = 0; j < i; j++) + ++it; + + return *it; +} + +template +List &List::operator=(const List &l) +{ + if(&l == this) + return *this; + + if(d->deref()) + delete d; + d = l.d; + d->ref(); + return *this; +} + +template +bool List::operator==(const List &l) const +{ + return d->list == l.d->list; +} + +template +bool List::operator!=(const List &l) const +{ + return d->list != l.d->list; +} + +//////////////////////////////////////////////////////////////////////////////// +// protected members +//////////////////////////////////////////////////////////////////////////////// + +template +void List::detach() +{ + if(d->count() > 1) { + d->deref(); + d = new ListPrivate(d->list); + } +} + +} // namespace TagLib diff --git a/usr/local/include/taglib/tmap.h b/usr/local/include/taglib/tmap.h new file mode 100644 index 000000000..a7d993035 --- /dev/null +++ b/usr/local/include/taglib/tmap.h @@ -0,0 +1,199 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_MAP_H +#define TAGLIB_MAP_H + +#include + +#include "taglib.h" + +namespace TagLib { + + //! A generic, implicitly shared map. + + /*! + * This implements a standard map container that associates a key with a value + * and has fast key-based lookups. This map is also implicitly shared making + * it suitable for pass-by-value usage. + */ + + template class Map + { + public: +#ifndef DO_NOT_DOCUMENT +#ifdef WANT_CLASS_INSTANTIATION_OF_MAP + // Some STL implementations get snippy over the use of the + // class keyword to distinguish different templates; Sun Studio + // in particular finds multiple specializations in certain rare + // cases and complains about that. GCC doesn't seem to mind, + // and uses the typedefs further below without the class keyword. + // Not all the specializations of Map can use the class keyword + // (when T is not actually a class type), so don't apply this + // generally. + typedef typename std::map::iterator Iterator; + typedef typename std::map::const_iterator ConstIterator; +#else + typedef typename std::map::iterator Iterator; + typedef typename std::map::const_iterator ConstIterator; +#endif +#endif + + /*! + * Constructs an empty Map. + */ + Map(); + + /*! + * Make a shallow, implicitly shared, copy of \a m. Because this is + * implicitly shared, this method is lightweight and suitable for + * pass-by-value usage. + */ + Map(const Map &m); + + /*! + * Destroys this instance of the Map. + */ + virtual ~Map(); + + /*! + * Returns an STL style iterator to the beginning of the map. See + * std::map::iterator for the semantics. + */ + Iterator begin(); + + /*! + * Returns an STL style iterator to the beginning of the map. See + * std::map::const_iterator for the semantics. + */ + ConstIterator begin() const; + + /*! + * Returns an STL style iterator to the end of the map. See + * std::map::iterator for the semantics. + */ + Iterator end(); + + /*! + * Returns an STL style iterator to the end of the map. See + * std::map::const_iterator for the semantics. + */ + ConstIterator end() const; + + /*! + * Inserts \a value under \a key in the map. If a value for \a key already + * exists it will be overwritten. + */ + Map &insert(const Key &key, const T &value); + + /*! + * Removes all of the elements from elements from the map. This however + * will not delete pointers if the mapped type is a pointer type. + */ + Map &clear(); + + /*! + * The number of elements in the map. + * + * \see isEmpty() + */ + uint size() const; + + /*! + * Returns true if the map is empty. + * + * \see size() + */ + bool isEmpty() const; + + /*! + * Find the first occurrence of \a key. + */ + Iterator find(const Key &key); + + /*! + * Find the first occurrence of \a key. + */ + ConstIterator find(const Key &key) const; + + /*! + * Returns true if the map contains an instance of \a key. + */ + bool contains(const Key &key) const; + + /*! + * Erase the item at \a it from the list. + */ + Map &erase(Iterator it); + + /*! + * Erase the item with \a key from the list. + */ + Map &erase(const Key &key); + + /*! + * Returns a reference to the value associated with \a key. + * + * \note This has undefined behavior if the key is not present in the map. + */ + const T &operator[](const Key &key) const; + + /*! + * Returns a reference to the value associated with \a key. + * + * \note This has undefined behavior if the key is not present in the map. + */ + T &operator[](const Key &key); + + /*! + * Make a shallow, implicitly shared, copy of \a m. Because this is + * implicitly shared, this method is lightweight and suitable for + * pass-by-value usage. + */ + Map &operator=(const Map &m); + + protected: + /* + * If this List is being shared via implicit sharing, do a deep copy of the + * data and separate from the shared members. This should be called by all + * non-const subclass members. + */ + void detach(); + + private: +#ifndef DO_NOT_DOCUMENT + template class MapPrivate; + MapPrivate *d; +#endif + }; + +} + +// Since GCC doesn't support the "export" keyword, we have to include the +// implementation. + +#include "tmap.tcc" + +#endif diff --git a/usr/local/include/taglib/tmap.tcc b/usr/local/include/taglib/tmap.tcc new file mode 100644 index 000000000..0f2b99332 --- /dev/null +++ b/usr/local/include/taglib/tmap.tcc @@ -0,0 +1,196 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +namespace TagLib { + +//////////////////////////////////////////////////////////////////////////////// +// public members +//////////////////////////////////////////////////////////////////////////////// + +template +template +class Map::MapPrivate : public RefCounter +{ +public: + MapPrivate() : RefCounter() {} +#ifdef WANT_CLASS_INSTANTIATION_OF_MAP + MapPrivate(const std::map& m) : RefCounter(), map(m) {} + std::map map; +#else + MapPrivate(const std::map& m) : RefCounter(), map(m) {} + std::map map; +#endif +}; + +template +Map::Map() +{ + d = new MapPrivate; +} + +template +Map::Map(const Map &m) : d(m.d) +{ + d->ref(); +} + +template +Map::~Map() +{ + if(d->deref()) + delete(d); +} + +template +typename Map::Iterator Map::begin() +{ + detach(); + return d->map.begin(); +} + +template +typename Map::ConstIterator Map::begin() const +{ + return d->map.begin(); +} + +template +typename Map::Iterator Map::end() +{ + detach(); + return d->map.end(); +} + +template +typename Map::ConstIterator Map::end() const +{ + return d->map.end(); +} + +template +Map &Map::insert(const Key &key, const T &value) +{ + detach(); + d->map[key] = value; + return *this; +} + +template +Map &Map::clear() +{ + detach(); + d->map.clear(); + return *this; +} + +template +bool Map::isEmpty() const +{ + return d->map.empty(); +} + +template +typename Map::Iterator Map::find(const Key &key) +{ + detach(); + return d->map.find(key); +} + +template +typename Map::ConstIterator Map::find(const Key &key) const +{ + return d->map.find(key); +} + +template +bool Map::contains(const Key &key) const +{ + return d->map.find(key) != d->map.end(); +} + +template +Map &Map::erase(Iterator it) +{ + detach(); + d->map.erase(it); + return *this; +} + +template +Map &Map::erase(const Key &key) +{ + detach(); + Iterator it = d->map.find(key); + if(it != d->map.end()) + d->map.erase(it); + return *this; +} + +template +TagLib::uint Map::size() const +{ + return d->map.size(); +} + +template +const T &Map::operator[](const Key &key) const +{ + return d->map[key]; +} + +template +T &Map::operator[](const Key &key) +{ + detach(); + return d->map[key]; +} + +template +Map &Map::operator=(const Map &m) +{ + if(&m == this) + return *this; + + if(d->deref()) + delete(d); + d = m.d; + d->ref(); + return *this; +} + +//////////////////////////////////////////////////////////////////////////////// +// protected members +//////////////////////////////////////////////////////////////////////////////// + +template +void Map::detach() +{ + if(d->count() > 1) { + d->deref(); + d = new MapPrivate(d->map); + } +} + +} // namespace TagLib diff --git a/usr/local/include/taglib/tpropertymap.h b/usr/local/include/taglib/tpropertymap.h new file mode 100644 index 000000000..7f59b21ea --- /dev/null +++ b/usr/local/include/taglib/tpropertymap.h @@ -0,0 +1,174 @@ +/*************************************************************************** + copyright : (C) 2012 by Michael Helmling + email : helmling@mathematik.uni-kl.de + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef PROPERTYMAP_H_ +#define PROPERTYMAP_H_ + +#include "tmap.h" +#include "tstringlist.h" + +namespace TagLib { + + typedef Map SimplePropertyMap; + + //! A map for format-independent tag representations. + + /*! + * This map implements a generic representation of textual audio metadata + * ("tags") realized as pairs of a case-insensitive key + * and a nonempty list of corresponding values, each value being an an arbitrary + * unicode String. + * + * Note that most metadata formats pose additional conditions on the tag keys. The + * most popular ones (Vorbis, APE, ID3v2) should support all ASCII only words of + * length between 2 and 16. + */ + + class TAGLIB_EXPORT PropertyMap: public SimplePropertyMap + { + public: + + typedef SimplePropertyMap::Iterator Iterator; + typedef SimplePropertyMap::ConstIterator ConstIterator; + + PropertyMap(); + + PropertyMap(const PropertyMap &m); + + /*! + * Creates a PropertyMap initialized from a SimplePropertyMap. Copies all + * entries from \a m that have valid keys. + * Invalid keys will be appended to the unsupportedData() list. + */ + PropertyMap(const SimplePropertyMap &m); + + virtual ~PropertyMap(); + + /*! + * Inserts \a values under \a key in the map. If \a key already exists, + * then \values will be appended to the existing StringList. + * The returned value indicates success, i.e. whether \a key is a + * valid key. + */ + bool insert(const String &key, const StringList &values); + + /*! + * Replaces any existing values for \a key with the given \a values, + * and simply insert them if \a key did not exist before. + * The returned value indicates success, i.e. whether \a key is a + * valid key. + */ + bool replace(const String &key, const StringList &values); + + /*! + * Find the first occurrence of \a key. + */ + Iterator find(const String &key); + + /*! + * Find the first occurrence of \a key. + */ + ConstIterator find(const String &key) const; + + /*! + * Returns true if the map contains values for \a key. + */ + bool contains(const String &key) const; + + /*! + * Returns true if this map contains all keys of \a other + * and the values coincide for that keys. Does not take + * the unsupportedData list into account. + */ + bool contains(const PropertyMap &other) const; + + /*! + * Erase the \a key and its values from the map. + */ + PropertyMap &erase(const String &key); + + /*! + * Erases from this map all keys that appear in \a other. + */ + PropertyMap &erase(const PropertyMap &other); + + /*! + * Merge the contents of \a other into this PropertyMap. + * If a key is contained in both maps, the values of the second + * are appended to that of the first. + * The unsupportedData() lists are concatenated as well. + */ + PropertyMap &merge(const PropertyMap &other); + + /*! + * Returns a reference to the value associated with \a key. + * + * \note: If \a key is not contained in the map, an empty + * StringList is returned without error. + */ + const StringList &operator[](const String &key) const; + + /*! + * Returns a reference to the value associated with \a key. + * + * \note: If \a key is not contained in the map, an empty + * StringList is returned. You can also directly add entries + * by using this function as an lvalue. + */ + StringList &operator[](const String &key); + + /*! + * Returns true if and only if \other has the same contents as this map. + */ + bool operator==(const PropertyMap &other) const; + + /*! + * Returns false if and only \other has the same contents as this map. + */ + bool operator!=(const PropertyMap &other) const; + + /*! + * If a PropertyMap is read from a File object using File::properties(), + * the StringList returned from this function will represent metadata + * that could not be parsed into the PropertyMap representation. This could + * be e.g. binary data, unknown ID3 frames, etc. + * You can remove items from the returned list, which tells TagLib to remove + * those unsupported elements if you call File::setProperties() with the + * same PropertyMap as argument. + */ + StringList &unsupportedData(); + const StringList &unsupportedData() const; + + /*! + * Removes all entries which have an empty value list. + */ + void removeEmpty(); + + String toString() const; + + private: + + + StringList unsupported; + }; + +} +#endif /* PROPERTYMAP_H_ */ diff --git a/usr/local/include/taglib/trueaudiofile.h b/usr/local/include/taglib/trueaudiofile.h new file mode 100644 index 000000000..e3e1fe628 --- /dev/null +++ b/usr/local/include/taglib/trueaudiofile.h @@ -0,0 +1,218 @@ +/*************************************************************************** + copyright : (C) 2006 by Lukáš Lalinský + email : lalinsky@gmail.com + + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + (original MPC implementation) + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_TRUEAUDIOFILE_H +#define TAGLIB_TRUEAUDIOFILE_H + +#include "tfile.h" +#include "trueaudioproperties.h" + +namespace TagLib { + + class Tag; + + namespace ID3v2 { class Tag; class FrameFactory; } + namespace ID3v1 { class Tag; } + + //! An implementation of TrueAudio metadata + + /*! + * This is implementation of TrueAudio metadata. + * + * This supports ID3v1 and ID3v2 tags as well as reading stream + * properties from the file. + */ + + namespace TrueAudio { + + //! An implementation of TagLib::File with TrueAudio specific methods + + /*! + * This implements and provides an interface for TrueAudio files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to TrueAudio files. + */ + + class TAGLIB_EXPORT File : public TagLib::File + { + public: + /*! + * This set of flags is used for various operations and is suitable for + * being OR-ed together. + */ + enum TagTypes { + //! Empty set. Matches no tag types. + NoTags = 0x0000, + //! Matches ID3v1 tags. + ID3v1 = 0x0001, + //! Matches ID3v2 tags. + ID3v2 = 0x0002, + //! Matches all tag types. + AllTags = 0xffff + }; + + /*! + * Contructs an TrueAudio file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an TrueAudio file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. The frames will be created using + * \a frameFactory. + */ + File(FileName file, ID3v2::FrameFactory *frameFactory, + bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an TrueAudio file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an TrueAudio file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. The frames will be created using + * \a frameFactory. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, ID3v2::FrameFactory *frameFactory, + bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the Tag for this file. + */ + virtual TagLib::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * If the file contains both ID3v1 and v2 tags, only ID3v2 will be + * converted to the PropertyMap. + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * As with the export, only one tag is taken into account. If the file + * has no tag at all, ID3v2 will be created. + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the TrueAudio::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Set the ID3v2::FrameFactory to something other than the default. + * + * \see ID3v2FrameFactory + */ + void setID3v2FrameFactory(const ID3v2::FrameFactory *factory); + + /*! + * Saves the file. + */ + virtual bool save(); + + /*! + * Returns a pointer to the ID3v2 tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid ID3v2 tag. If \a create is true it will create + * an ID3v1 tag if one does not exist. If there is already an APE tag, the + * new ID3v1 tag will be placed after it. + * + * \note The Tag is still owned by the TrueAudio::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v1::Tag *ID3v1Tag(bool create = false); + + /*! + * Returns a pointer to the ID3v1 tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid ID3v1 tag. If \a create is true it will create + * an ID3v1 tag if one does not exist. If there is already an APE tag, the + * new ID3v1 tag will be placed after it. + * + * \note The Tag is still owned by the TrueAudio::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v2::Tag *ID3v2Tag(bool create = false); + + /*! + * This will remove the tags that match the OR-ed together TagTypes from the + * file. By default it removes all tags. + * + * \note This will also invalidate pointers to the tags + * as their memory will be freed. + * \note In order to make the removal permanent save() still needs to be called + */ + void strip(int tags = AllTags); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + void scan(); + long findID3v1(); + long findID3v2(); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/trueaudioproperties.h b/usr/local/include/taglib/trueaudioproperties.h new file mode 100644 index 000000000..126b6788b --- /dev/null +++ b/usr/local/include/taglib/trueaudioproperties.h @@ -0,0 +1,98 @@ +/*************************************************************************** + copyright : (C) 2006 by Lukáš Lalinský + email : lalinsky@gmail.com + + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + (original MPC implementation) + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_TRUEAUDIOPROPERTIES_H +#define TAGLIB_TRUEAUDIOPROPERTIES_H + +#include "audioproperties.h" + +namespace TagLib { + + namespace TrueAudio { + + class File; + + static const uint HeaderSize = 18; + + //! An implementation of audio property reading for TrueAudio + + /*! + * This reads the data from an TrueAudio stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of TrueAudio::Properties with the data read from the + * ByteVector \a data. + */ + Properties(const ByteVector &data, long streamLength, ReadStyle style = Average); + + /*! + * Destroys this TrueAudio::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * Returns number of bits per sample. + */ + int bitsPerSample() const; + + /*! + * Returns the total number of sample frames + */ + uint sampleFrames() const; + + /*! + * Returns the major version number. + */ + int ttaVersion() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/tstring.h b/usr/local/include/taglib/tstring.h new file mode 100644 index 000000000..759a175ae --- /dev/null +++ b/usr/local/include/taglib/tstring.h @@ -0,0 +1,496 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_STRING_H +#define TAGLIB_STRING_H + +#include "taglib_export.h" +#include "taglib.h" +#include "tbytevector.h" + +#include +#include + +/*! + * \relates TagLib::String + * + * Converts a QString to a TagLib::String without a requirement to link to Qt. + * + * \note consider conversion via usual char-by-char for loop to avoid UTF16->UTF8->UTF16 + * conversion happening in the background + */ +#define QStringToTString(s) TagLib::String(s.utf8().data(), TagLib::String::UTF8) + +/*! + * \relates TagLib::String + * + * Converts a TagLib::String to a QString without a requirement to link to Qt. + * + * \note consider conversion via usual char-by-char for loop to avoid UTF16->UTF8->UTF16 + * conversion happening in the background + * + */ +#define TStringToQString(s) QString::fromUtf8(s.toCString(true)) + +namespace TagLib { + + class StringList; + + //! A \e wide string class suitable for unicode. + + /*! + * This is an implicitly shared \e wide string. For storage it uses + * TagLib::wstring, but as this is an implementation detail this of + * course could change. Strings are stored internally as UTF-16BE. (Without + * the BOM (Byte Order Mark) + * + * The use of implicit sharing means that copying a string is cheap, the only + * \e cost comes into play when the copy is modified. Prior to that the string + * just has a pointer to the data of the \e parent String. This also makes + * this class suitable as a function return type. + * + * In addition to adding implicit sharing, this class keeps track of four + * possible encodings, which are the four supported by the ID3v2 standard. + */ + + class TAGLIB_EXPORT String + { + public: + +#ifndef DO_NOT_DOCUMENT + typedef std::basic_string::iterator Iterator; + typedef std::basic_string::const_iterator ConstIterator; +#endif + + /** + * The four types of string encodings supported by the ID3v2 specification. + * ID3v1 is assumed to be Latin1 and Ogg Vorbis comments use UTF8. + */ + enum Type { + /*! + * IS08859-1, or Latin1 encoding. 8 bit characters. + */ + Latin1 = 0, + /*! + * UTF16 with a byte order mark. 16 bit characters. + */ + UTF16 = 1, + /*! + * UTF16 big endian. 16 bit characters. This is the encoding used + * internally by TagLib. + */ + UTF16BE = 2, + /*! + * UTF8 encoding. Characters are usually 8 bits but can be up to 32. + */ + UTF8 = 3, + /*! + * UTF16 little endian. 16 bit characters. + */ + UTF16LE = 4 + }; + + /*! + * Constructs an empty String. + */ + String(); + + /*! + * Make a shallow, implicitly shared, copy of \a s. Because this is + * implicitly shared, this method is lightweight and suitable for + * pass-by-value usage. + */ + String(const String &s); + + /*! + * Makes a deep copy of the data in \a s. + * + * \note This should only be used with the 8-bit codecs Latin1 and UTF8, when + * used with other codecs it will simply print a warning and exit. + */ + String(const std::string &s, Type t = Latin1); + + /*! + * Makes a deep copy of the data in \a s. + */ + String(const wstring &s, Type t = UTF16BE); + + /*! + * Makes a deep copy of the data in \a s. + */ + String(const wchar_t *s, Type t = UTF16BE); + + /*! + * Makes a deep copy of the data in \a c. + * + * \note This should only be used with the 8-bit codecs Latin1 and UTF8, when + * used with other codecs it will simply print a warning and exit. + */ + String(char c, Type t = Latin1); + + /*! + * Makes a deep copy of the data in \a c. + */ + String(wchar_t c, Type t = Latin1); + + + /*! + * Makes a deep copy of the data in \a s. + * + * \note This should only be used with the 8-bit codecs Latin1 and UTF8, when + * used with other codecs it will simply print a warning and exit. + */ + String(const char *s, Type t = Latin1); + + /*! + * Makes a deep copy of the data in \a s. + * + * \note This should only be used with the 8-bit codecs Latin1 and UTF8, when + * used with other codecs it will simply print a warning and exit. + */ + String(const ByteVector &v, Type t = Latin1); + + /*! + * Destroys this String instance. + */ + virtual ~String(); + + /*! + * If \a unicode if false (the default) this will return a \e Latin1 encoded + * std::string. If it is true the returned std::wstring will be UTF-8 + * encoded. + */ + std::string to8Bit(bool unicode = false) const; + + /*! + * Returns a wstring version of the TagLib string as a wide string. + */ + wstring toWString() const; + + /*! + * Creates and returns a C-String based on the data. This string is still + * owned by the String (class) and as such should not be deleted by the user. + * + * If \a unicode if false (the default) this string will be encoded in + * \e Latin1. If it is true the returned C-String will be UTF-8 encoded. + * + * This string remains valid until the String instance is destroyed or + * another export method is called. + * + * \warning This however has the side effect that this C-String will remain + * in memory in addition to other memory that is consumed by the + * String instance. So, this method should not be used on large strings or + * where memory is critical. + */ + const char *toCString(bool unicode = false) const; + + /*! + * Returns an iterator pointing to the beginning of the string. + */ + Iterator begin(); + + /*! + * Returns a const iterator pointing to the beginning of the string. + */ + ConstIterator begin() const; + + /*! + * Returns an iterator pointing to the end of the string (the position + * after the last character). + */ + Iterator end(); + + /*! + * Returns a const iterator pointing to the end of the string (the position + * after the last character). + */ + ConstIterator end() const; + + /*! + * Finds the first occurrence of pattern \a s in this string starting from + * \a offset. If the pattern is not found, -1 is returned. + */ + int find(const String &s, int offset = 0) const; + + /*! + * Finds the last occurrence of pattern \a s in this string, searched backwards, + * either from the end of the string or starting from \a offset. If the pattern + * is not found, -1 is returned. + */ + int rfind(const String &s, int offset = -1) const; + + /*! + * Splits the string on each occurrence of \a separator. + */ + StringList split(const String &separator = " ") const; + + /*! + * Returns true if the strings starts with the substring \a s. + */ + bool startsWith(const String &s) const; + + /*! + * Extract a substring from this string starting at \a position and + * continuing for \a n characters. + */ + String substr(uint position, uint n = 0xffffffff) const; + + /*! + * Append \a s to the current string and return a reference to the current + * string. + */ + String &append(const String &s); + + /*! + * Returns an upper case version of the string. + * + * \warning This only works for the characters in US-ASCII, i.e. A-Z. + */ + String upper() const; + + /*! + * Returns the size of the string. + */ + uint size() const; + + /*! + * Returns the length of the string. Equivalent to size(). + */ + uint length() const; + + /*! + * Returns true if the string is empty. + * + * \see isNull() + */ + bool isEmpty() const; + + /*! + * Returns true if this string is null -- i.e. it is a copy of the + * String::null string. + * + * \note A string can be empty and not null. + * \see isEmpty() + */ + bool isNull() const; + + /*! + * Returns a ByteVector containing the string's data. If \a t is Latin1 or + * UTF8, this will return a vector of 8 bit characters, otherwise it will use + * 16 bit characters. + */ + ByteVector data(Type t) const; + + /*! + * Convert the string to an integer. + * + * Returns the integer if the conversion was successfull or 0 if the + * string does not represent a number. + */ + // BIC: merge with the method below + int toInt() const; + + /*! + * Convert the string to an integer. + * + * If the conversion was successfull, it sets the value of \a *ok to + * true and returns the integer. Otherwise it sets \a *ok to false + * and the result is undefined. + */ + int toInt(bool *ok) const; + + /*! + * Returns a string with the leading and trailing whitespace stripped. + */ + String stripWhiteSpace() const; + + /*! + * Returns true if the file only uses characters required by Latin1. + */ + bool isLatin1() const; + + /*! + * Returns true if the file only uses characters required by (7-bit) ASCII. + */ + bool isAscii() const; + + /*! + * Converts the base-10 integer \a n to a string. + */ + static String number(int n); + + /*! + * Returns a reference to the character at position \a i. + */ + wchar &operator[](int i); + + /*! + * Returns a const reference to the character at position \a i. + */ + const wchar &operator[](int i) const; + + /*! + * Compares each character of the String with each character of \a s and + * returns true if the strings match. + */ + bool operator==(const String &s) const; + + /*! + * Compares each character of the String with each character of \a s and + * returns false if the strings match. + */ + bool operator!=(const String &s) const; + + /*! + * Appends \a s to the end of the String. + */ + String &operator+=(const String &s); + + /*! + * Appends \a s to the end of the String. + */ + String &operator+=(const wchar_t* s); + + /*! + * Appends \a s to the end of the String. + */ + String &operator+=(const char* s); + + /*! + * Appends \a s to the end of the String. + */ + String &operator+=(wchar_t c); + + /*! + * Appends \a c to the end of the String. + */ + String &operator+=(char c); + + /*! + * Performs a shallow, implicitly shared, copy of \a s, overwriting the + * String's current data. + */ + String &operator=(const String &s); + + /*! + * Performs a deep copy of the data in \a s. + */ + String &operator=(const std::string &s); + + /*! + * Performs a deep copy of the data in \a s. + */ + String &operator=(const wstring &s); + + /*! + * Performs a deep copy of the data in \a s. + */ + String &operator=(const wchar_t *s); + + /*! + * Performs a deep copy of the data in \a s. + */ + String &operator=(char c); + + /*! + * Performs a deep copy of the data in \a s. + */ + String &operator=(wchar_t c); + + /*! + * Performs a deep copy of the data in \a s. + */ + String &operator=(const char *s); + + /*! + * Performs a deep copy of the data in \a v. + */ + String &operator=(const ByteVector &v); + + /*! + * To be able to use this class in a Map, this operator needed to be + * implemented. Returns true if \a s is less than this string in a bytewise + * comparison. + */ + bool operator<(const String &s) const; + + /*! + * A null string provided for convenience. + */ + static String null; + + protected: + /*! + * If this String is being shared via implicit sharing, do a deep copy of the + * data and separate from the shared members. This should be called by all + * non-const subclass members. + */ + void detach(); + + private: + /*! + * This checks to see if the string is in \e UTF-16 (with BOM) or \e UTF-8 + * format and if so converts it to \e UTF-16BE for internal use. \e Latin1 + * does not require conversion since it is a subset of \e UTF-16BE and + * \e UTF16-BE requires no conversion since it is used internally. + */ + void prepare(Type t); + + class StringPrivate; + StringPrivate *d; + }; + +} + +/*! + * \relates TagLib::String + * + * Concatenates \a s1 and \a s2 and returns the result as a string. + */ +TAGLIB_EXPORT const TagLib::String operator+(const TagLib::String &s1, const TagLib::String &s2); + +/*! + * \relates TagLib::String + * + * Concatenates \a s1 and \a s2 and returns the result as a string. + */ +TAGLIB_EXPORT const TagLib::String operator+(const char *s1, const TagLib::String &s2); + +/*! + * \relates TagLib::String + * + * Concatenates \a s1 and \a s2 and returns the result as a string. + */ +TAGLIB_EXPORT const TagLib::String operator+(const TagLib::String &s1, const char *s2); + + +/*! + * \relates TagLib::String + * + * Send the string to an output stream. + */ +TAGLIB_EXPORT std::ostream &operator<<(std::ostream &s, const TagLib::String &str); + +#endif diff --git a/usr/local/include/taglib/tstringlist.h b/usr/local/include/taglib/tstringlist.h new file mode 100644 index 000000000..f94b50f5a --- /dev/null +++ b/usr/local/include/taglib/tstringlist.h @@ -0,0 +1,115 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_STRINGLIST_H +#define TAGLIB_STRINGLIST_H + +#include "tstring.h" +#include "tlist.h" +#include "tbytevectorlist.h" +#include "taglib_export.h" + +#include + +namespace TagLib { + + //! A list of strings + + /*! + * This is a spcialization of the List class with some members convention for + * string operations. + */ + + class TAGLIB_EXPORT StringList : public List + { + public: + + /*! + * Constructs an empty StringList. + */ + StringList(); + + /*! + * Make a shallow, implicitly shared, copy of \a l. Because this is + * implicitly shared, this method is lightweight and suitable for + * pass-by-value usage. + */ + StringList(const StringList &l); + + /*! + * Constructs a StringList with \a s as a member. + */ + StringList(const String &s); + + /*! + * Makes a deep copy of the data in \a vl. + * + * \note This should only be used with the 8-bit codecs Latin1 and UTF8, when + * used with other codecs it will simply print a warning and exit. + */ + StringList(const ByteVectorList &vl, String::Type t = String::Latin1); + + /*! + * Destroys this StringList instance. + */ + virtual ~StringList(); + + /*! + * Concatenate the list of strings into one string separated by \a separator. + */ + String toString(const String &separator = " ") const; + + /*! + * Appends \a s to the end of the list and returns a reference to the + * list. + */ + StringList &append(const String &s); + + /*! + * Appends all of the values in \a l to the end of the list and returns a + * reference to the list. + */ + StringList &append(const StringList &l); + + /*! + * Splits the String \a s into several strings at \a pattern. This will not include + * the pattern in the returned strings. + */ + static StringList split(const String &s, const String &pattern); + + private: + class StringListPrivate; + StringListPrivate *d; + }; + +} + +/*! + * \related TagLib::StringList + * Send the StringList to an output stream. + */ +std::ostream &operator<<(std::ostream &s, const TagLib::StringList &l); + +#endif diff --git a/usr/local/include/taglib/uniquefileidentifierframe.h b/usr/local/include/taglib/uniquefileidentifierframe.h new file mode 100644 index 000000000..0cf4b8f6e --- /dev/null +++ b/usr/local/include/taglib/uniquefileidentifierframe.h @@ -0,0 +1,113 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_UNIQUEFILEIDENTIFIERFRAME +#define TAGLIB_UNIQUEFILEIDENTIFIERFRAME + +#include "id3v2frame.h" + +namespace TagLib { + + namespace ID3v2 { + + /*! + * This is an implementation of ID3v2 unique file identifier frames. This + * frame is used to identify the file in an arbitrary database identified + * by the owner field. + */ + + //! An implementation of ID3v2 unique identifier frames + + class TAGLIB_EXPORT UniqueFileIdentifierFrame : public ID3v2::Frame + { + friend class FrameFactory; + + public: + /*! + * Creates a uniqe file identifier frame based on \a data. + */ + UniqueFileIdentifierFrame(const ByteVector &data); + + /*! + * Creates a unique file identifier frame with the owner \a owner and + * the identification \a id. + */ + UniqueFileIdentifierFrame(const String &owner, const ByteVector &id); + + /*! + * Destroys the frame. + */ + ~UniqueFileIdentifierFrame(); + + /*! + * Returns the owner for the frame; essentially this is the key for + * determining which identification scheme this key belongs to. This + * will usually either be an email address or URL for the person or tool + * used to create the unique identifier. + * + * \see setOwner() + */ + String owner() const; + + /*! + * Returns the unique identifier. Though sometimes this is a text string + * it also may be binary data and as much should be assumed when handling + * it. + */ + ByteVector identifier() const; + + /*! + * Sets the owner of the identification scheme to \a s. + * + * \see owner() + */ + void setOwner(const String &s); + + /*! + * Sets the unique file identifier to \a v. + * + * \see identifier() + */ + void setIdentifier(const ByteVector &v); + + virtual String toString() const; + + protected: + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + UniqueFileIdentifierFrame(const UniqueFileIdentifierFrame &); + UniqueFileIdentifierFrame &operator=(const UniqueFileIdentifierFrame &); + + UniqueFileIdentifierFrame(const ByteVector &data, Header *h); + + class UniqueFileIdentifierFramePrivate; + UniqueFileIdentifierFramePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/unknownframe.h b/usr/local/include/taglib/unknownframe.h new file mode 100644 index 000000000..6559f4ed2 --- /dev/null +++ b/usr/local/include/taglib/unknownframe.h @@ -0,0 +1,79 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_UNKNOWNFRAME_H +#define TAGLIB_UNKNOWNFRAME_H + +#include "id3v2frame.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace ID3v2 { + + //! A frame type \e unknown to TagLib. + + /*! + * This class represents a frame type not known (or more often simply + * unimplemented) in TagLib. This is here provide a basic API for + * manipulating the binary data of unknown frames and to provide a means + * of rendering such \e unknown frames. + * + * Please note that a cleaner way of handling frame types that TagLib + * does not understand is to subclass ID3v2::Frame and ID3v2::FrameFactory + * to have your frame type supported through the standard ID3v2 mechanism. + */ + + class TAGLIB_EXPORT UnknownFrame : public Frame + { + friend class FrameFactory; + + public: + UnknownFrame(const ByteVector &data); + virtual ~UnknownFrame(); + + virtual String toString() const; + + /*! + * Returns the field data (everything but the header) for this frame. + */ + ByteVector data() const; + + protected: + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + UnknownFrame(const ByteVector &data, Header *h); + UnknownFrame(const UnknownFrame &); + UnknownFrame &operator=(const UnknownFrame &); + + class UnknownFramePrivate; + UnknownFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/unsynchronizedlyricsframe.h b/usr/local/include/taglib/unsynchronizedlyricsframe.h new file mode 100644 index 000000000..3af354fcd --- /dev/null +++ b/usr/local/include/taglib/unsynchronizedlyricsframe.h @@ -0,0 +1,179 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + copyright : (C) 2006 by Urs Fleisch + email : ufleisch@users.sourceforge.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_UNSYNCHRONIZEDLYRICSFRAME_H +#define TAGLIB_UNSYNCHRONIZEDLYRICSFRAME_H + +#include "id3v2frame.h" + +namespace TagLib { + + namespace ID3v2 { + + //! ID3v2 unsynchronized lyrics frame + /*! + * An implementation of ID3v2 unsynchronized lyrics. + */ + class TAGLIB_EXPORT UnsynchronizedLyricsFrame : public Frame + { + friend class FrameFactory; + + public: + /*! + * Construct an empty unsynchronized lyrics frame that will use the text encoding + * \a encoding. + */ + explicit UnsynchronizedLyricsFrame(String::Type encoding = String::Latin1); + + /*! + * Construct a unsynchronized lyrics frame based on the data in \a data. + */ + explicit UnsynchronizedLyricsFrame(const ByteVector &data); + + /*! + * Destroys this UnsynchronizedLyricsFrame instance. + */ + virtual ~UnsynchronizedLyricsFrame(); + + /*! + * Returns the text of this unsynchronized lyrics frame. + * + * \see text() + */ + virtual String toString() const; + + /*! + * Returns the language encoding as a 3 byte encoding as specified by + * ISO-639-2. + * + * \note Most taggers simply ignore this value. + * + * \see setLanguage() + */ + ByteVector language() const; + + /*! + * Returns the description of this unsynchronized lyrics frame. + * + * \note Most taggers simply ignore this value. + * + * \see setDescription() + */ + String description() const; + + /*! + * Returns the text of this unsynchronized lyrics frame. + * + * \see setText() + */ + String text() const; + + /*! + * Set the language using the 3 byte language code from + * ISO-639-2 to + * \a languageCode. + * + * \see language() + */ + void setLanguage(const ByteVector &languageCode); + + /*! + * Sets the description of the unsynchronized lyrics frame to \a s. + * + * \see decription() + */ + void setDescription(const String &s); + + /*! + * Sets the text portion of the unsynchronized lyrics frame to \a s. + * + * \see text() + */ + virtual void setText(const String &s); + + /*! + * Returns the text encoding that will be used in rendering this frame. + * This defaults to the type that was either specified in the constructor + * or read from the frame when parsed. + * + * \see setTextEncoding() + * \see render() + */ + String::Type textEncoding() const; + + /*! + * Sets the text encoding to be used when rendering this frame to + * \a encoding. + * + * \see textEncoding() + * \see render() + */ + void setTextEncoding(String::Type encoding); + + + /*! Parses this frame as PropertyMap with a single key. + * - if description() is empty or "LYRICS", the key will be "LYRICS" + * - if description() is not a valid PropertyMap key, the frame will be + * marked unsupported by an entry "USLT/" in the unsupportedData() + * attribute of the returned map. + * - otherwise, the key will be "LYRICS:" + * - The single value will be the frame's text(). + * Note that currently the language() field is not supported by the PropertyMap + * interface. + */ + PropertyMap asProperties() const; + + /*! + * LyricsFrames each have a unique description. This searches for a lyrics + * frame with the decription \a d and returns a pointer to it. If no + * frame is found that matches the given description null is returned. + * + * \see description() + */ + static UnsynchronizedLyricsFrame *findByDescription(const Tag *tag, const String &d); + + protected: + // Reimplementations. + + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + private: + /*! + * The constructor used by the FrameFactory. + */ + UnsynchronizedLyricsFrame(const ByteVector &data, Header *h); + UnsynchronizedLyricsFrame(const UnsynchronizedLyricsFrame &); + UnsynchronizedLyricsFrame &operator=(const UnsynchronizedLyricsFrame &); + + class UnsynchronizedLyricsFramePrivate; + UnsynchronizedLyricsFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/urllinkframe.h b/usr/local/include/taglib/urllinkframe.h new file mode 100644 index 000000000..7ac966b2c --- /dev/null +++ b/usr/local/include/taglib/urllinkframe.h @@ -0,0 +1,189 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + copyright : (C) 2006 by Urs Fleisch + email : ufleisch@users.sourceforge.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_URLLINKFRAME_H +#define TAGLIB_URLLINKFRAME_H + +#include "id3v2frame.h" + +namespace TagLib { + + namespace ID3v2 { + + //! ID3v2 URL frame + /*! + * An implementation of ID3v2 URL link frames. + */ + class TAGLIB_EXPORT UrlLinkFrame : public Frame + { + friend class FrameFactory; + + public: + /*! + * This is a dual purpose constructor. \a data can either be binary data + * that should be parsed or (at a minimum) the frame ID. + */ + explicit UrlLinkFrame(const ByteVector &data); + + /*! + * Destroys this UrlLinkFrame instance. + */ + virtual ~UrlLinkFrame(); + + /*! + * Returns the URL. + */ + virtual String url() const; + + /*! + * Sets the URL to \a s. + */ + virtual void setUrl(const String &s); + + // Reimplementations. + + virtual void setText(const String &s); + virtual String toString() const; + PropertyMap asProperties() const; + + protected: + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + /*! + * The constructor used by the FrameFactory. + */ + UrlLinkFrame(const ByteVector &data, Header *h); + + private: + UrlLinkFrame(const UrlLinkFrame &); + UrlLinkFrame &operator=(const UrlLinkFrame &); + + class UrlLinkFramePrivate; + UrlLinkFramePrivate *d; + }; + + //! ID3v2 User defined URL frame + + /*! + * This is a specialization of URL link frames that allows for + * user defined entries. Each entry has a description in addition to the + * normal list of fields that a URL link frame has. + * + * This description identifies the frame and must be unique. + */ + class TAGLIB_EXPORT UserUrlLinkFrame : public UrlLinkFrame + { + friend class FrameFactory; + + public: + /*! + * Constructs an empty user defined URL link frame. For this to be + * a useful frame both a description and text must be set. + */ + explicit UserUrlLinkFrame(String::Type encoding = String::Latin1); + + /*! + * This is a dual purpose constructor. \a data can either be binary data + * that should be parsed or (at a minimum) the frame ID. + */ + explicit UserUrlLinkFrame(const ByteVector &data); + + /*! + * Destroys this UserUrlLinkFrame instance. + */ + virtual ~UserUrlLinkFrame(); + + // Reimplementations. + + virtual String toString() const; + + /*! + * Returns the text encoding that will be used in rendering this frame. + * This defaults to the type that was either specified in the constructor + * or read from the frame when parsed. + * + * \see setTextEncoding() + * \see render() + */ + String::Type textEncoding() const; + + /*! + * Sets the text encoding to be used when rendering this frame to + * \a encoding. + * + * \see textEncoding() + * \see render() + */ + void setTextEncoding(String::Type encoding); + + /*! + * Returns the description for this frame. + */ + String description() const; + + /*! + * Sets the description of the frame to \a s. \a s must be unique. + */ + void setDescription(const String &s); + + /*! + * Parses the UserUrlLinkFrame as PropertyMap. The description() is taken as key, + * and the URL as single value. + * - if description() is empty, the key will be "URL". + * - otherwise, if description() is not a valid key (e.g. containing non-ASCII + * characters), the returned map will contain an entry "WXXX/" + * in its unsupportedData() list. + */ + PropertyMap asProperties() const; + + /*! + * Searches for the user defined url frame with the description \a description + * in \a tag. This returns null if no matching frames were found. + */ + static UserUrlLinkFrame *find(Tag *tag, const String &description); + + protected: + virtual void parseFields(const ByteVector &data); + virtual ByteVector renderFields() const; + + /*! + * The constructor used by the FrameFactory. + */ + UserUrlLinkFrame(const ByteVector &data, Header *h); + + private: + UserUrlLinkFrame(const UserUrlLinkFrame &); + UserUrlLinkFrame &operator=(const UserUrlLinkFrame &); + + class UserUrlLinkFramePrivate; + UserUrlLinkFramePrivate *d; + }; + + } +} +#endif diff --git a/usr/local/include/taglib/vorbisfile.h b/usr/local/include/taglib/vorbisfile.h new file mode 100644 index 000000000..6e4d4fc42 --- /dev/null +++ b/usr/local/include/taglib/vorbisfile.h @@ -0,0 +1,142 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_VORBISFILE_H +#define TAGLIB_VORBISFILE_H + +#include "taglib_export.h" +#include "oggfile.h" +#include "xiphcomment.h" + +#include "vorbisproperties.h" + +namespace TagLib { + +/* + * This is just to make this appear to be in the Ogg namespace in the + * documentation. The typedef below will make this work with the current code. + * In the next BIC version of TagLib this will be really moved into the Ogg + * namespace. + */ + +#ifdef DOXYGEN + namespace Ogg { +#endif + + //! A namespace containing classes for Vorbis metadata + + namespace Vorbis { + + + //! An implementation of Ogg::File with Vorbis specific methods + + /*! + * This is the central class in the Ogg Vorbis metadata processing collection + * of classes. It's built upon Ogg::File which handles processing of the Ogg + * logical bitstream and breaking it down into pages which are handled by + * the codec implementations, in this case Vorbis specifically. + */ + + class TAGLIB_EXPORT File : public Ogg::File + { + public: + /*! + * Contructs a Vorbis file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs a Vorbis file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the XiphComment for this file. XiphComment implements the tag + * interface, so this serves as the reimplementation of + * TagLib::File::tag(). + */ + virtual Ogg::XiphComment *tag() const; + + + /*! + * Implements the unified property interface -- export function. + * This forwards directly to XiphComment::properties(). + */ + PropertyMap properties() const; + + /*! + * Implements the unified tag dictionary interface -- import function. + * Like properties(), this is a forwarder to the file's XiphComment. + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the Vorbis::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + virtual bool save(); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + + class FilePrivate; + FilePrivate *d; + }; + } + +/* + * To keep compatibility with the current version put Vorbis in the Ogg namespace + * only in the docs and provide a typedef to make it work. In the next BIC + * version this will be removed and it will only exist in the Ogg namespace. + */ + +#ifdef DOXYGEN + } +#else + namespace Ogg { namespace Vorbis { typedef TagLib::Vorbis::File File; } } +#endif + +} + +#endif diff --git a/usr/local/include/taglib/vorbisproperties.h b/usr/local/include/taglib/vorbisproperties.h new file mode 100644 index 000000000..de46985b6 --- /dev/null +++ b/usr/local/include/taglib/vorbisproperties.h @@ -0,0 +1,125 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_VORBISPROPERTIES_H +#define TAGLIB_VORBISPROPERTIES_H + +#include "taglib_export.h" +#include "audioproperties.h" + +namespace TagLib { + +/* + * This is just to make this appear to be in the Ogg namespace in the + * documentation. The typedef below will make this work with the current code. + * In the next BIC version of TagLib this will be really moved into the Ogg + * namespace. + */ + +#ifdef DOXYGEN + namespace Ogg { +#endif + + namespace Vorbis { + + class File; + + //! An implementation of audio property reading for Ogg Vorbis + + /*! + * This reads the data from an Ogg Vorbis stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of Vorbis::Properties with the data read from the + * Vorbis::File \a file. + */ + Properties(File *file, ReadStyle style = Average); + + /*! + * Destroys this VorbisProperties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * Returns the Vorbis version, currently "0" (as specified by the spec). + */ + int vorbisVersion() const; + + /*! + * Returns the maximum bitrate as read from the Vorbis identification + * header. + */ + int bitrateMaximum() const; + + /*! + * Returns the nominal bitrate as read from the Vorbis identification + * header. + */ + int bitrateNominal() const; + + /*! + * Returns the minimum bitrate as read from the Vorbis identification + * header. + */ + int bitrateMinimum() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } + +/* + * To keep compatibility with the current version put Vorbis in the Ogg namespace + * only in the docs and provide a typedef to make it work. In the next BIC + * version this will be removed and it will only exist in the Ogg namespace. + */ + +#ifdef DOXYGEN + } +#else + namespace Ogg { namespace Vorbis { typedef TagLib::AudioProperties AudioProperties; } } +#endif + +} + +#endif diff --git a/usr/local/include/taglib/wavfile.h b/usr/local/include/taglib/wavfile.h new file mode 100644 index 000000000..18ce2336f --- /dev/null +++ b/usr/local/include/taglib/wavfile.h @@ -0,0 +1,159 @@ +/*************************************************************************** + copyright : (C) 2008 by Scott Wheeler + email : wheeler@kde.org +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_WAVFILE_H +#define TAGLIB_WAVFILE_H + +#include "rifffile.h" +#include "id3v2tag.h" +#include "infotag.h" +#include "wavproperties.h" + +namespace TagLib { + + namespace RIFF { + + //! An implementation of WAV metadata + + /*! + * This is implementation of WAV metadata. + * + * This supports an ID3v2 tag as well as reading stream from the ID3 RIFF + * chunk as well as properties from the file. + */ + + namespace WAV { + + //! An implementation of TagLib::File with WAV specific methods + + /*! + * This implements and provides an interface for WAV files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to WAV files. + */ + + class TAGLIB_EXPORT File : public TagLib::RIFF::File + { + public: + enum TagTypes { + //! Empty set. Matches no tag types. + NoTags = 0x0000, + //! Matches ID3v2 tags. + ID3v2 = 0x0001, + //! Matches Info tags. + Info = 0x0002, + //! Matches all tag types. + AllTags = 0xffff + }; + + /*! + * Contructs an WAV file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an WAV file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the ID3v2 Tag for this file. + * + * \note This method does not return all the tags for this file for + * backward compatibility. Will be fixed in TagLib 2.0. + */ + ID3v2::Tag *tag() const; + + /*! + * Returns the ID3v2 Tag for this file. + */ + ID3v2::Tag *ID3v2Tag() const; + + /*! + * Returns the RIFF INFO Tag for this file. + */ + Info::Tag *InfoTag() const; + + /*! + * Implements the unified property interface -- export function. + * This method forwards to ID3v2::Tag::properties(). + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * This method forwards to ID3v2::Tag::setProperties(). + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the WAV::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Saves the file. + */ + virtual bool save(); + + bool save(TagTypes tags, bool stripOthers = true, int id3v2Version = 4); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + + void strip(TagTypes tags); + + /*! + * Returns the index of the chunk that its name is "LIST" and list type is "INFO". + */ + uint findInfoTagChunk(); + + class FilePrivate; + FilePrivate *d; + }; + } + } +} + +#endif diff --git a/usr/local/include/taglib/wavpackfile.h b/usr/local/include/taglib/wavpackfile.h new file mode 100644 index 000000000..5bbbc65a1 --- /dev/null +++ b/usr/local/include/taglib/wavpackfile.h @@ -0,0 +1,189 @@ +/*************************************************************************** + copyright : (C) 2006 by Lukáš Lalinský + email : lalinsky@gmail.com + + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + (original MPC implementation) + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_WVFILE_H +#define TAGLIB_WVFILE_H + +#include "tfile.h" +#include "taglib_export.h" +#include "wavpackproperties.h" + +namespace TagLib { + + class Tag; + + namespace ID3v1 { class Tag; } + namespace APE { class Tag; } + + //! An implementation of WavPack metadata + + /*! + * This is implementation of WavPack metadata. + * + * This supports ID3v1 and APE (v1 and v2) style comments as well as reading stream + * properties from the file. + */ + + namespace WavPack { + + //! An implementation of TagLib::File with WavPack specific methods + + /*! + * This implements and provides an interface for WavPack files to the + * TagLib::Tag and TagLib::AudioProperties interfaces by way of implementing + * the abstract TagLib::File API as well as providing some additional + * information specific to WavPack files. + */ + + class TAGLIB_EXPORT File : public TagLib::File + { + public: + /*! + * This set of flags is used for various operations and is suitable for + * being OR-ed together. + */ + enum TagTypes { + //! Empty set. Matches no tag types. + NoTags = 0x0000, + //! Matches ID3v1 tags. + ID3v1 = 0x0001, + //! Matches APE tags. + APE = 0x0002, + //! Matches all tag types. + AllTags = 0xffff + }; + + /*! + * Contructs an WavPack file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Contructs an WavPack file from \a file. If \a readProperties is true the + * file's audio properties will also be read using \a propertiesStyle. If + * false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + Properties::ReadStyle propertiesStyle = Properties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + /*! + * Returns the Tag for this file. This will be an APE tag, an ID3v1 tag + * or a combination of the two. + */ + virtual TagLib::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * If the file contains both an APE and an ID3v1 tag, only APE + * will be converted to the PropertyMap. + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * As for the export, only one tag is taken into account. If the file + * has no tag at all, APE will be created. + */ + PropertyMap setProperties(const PropertyMap&); + + /*! + * Returns the MPC::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + virtual Properties *audioProperties() const; + + /*! + * Saves the file. + */ + virtual bool save(); + + /*! + * Returns a pointer to the ID3v1 tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid ID3v1 tag. If \a create is true it will create + * an ID3v1 tag if one does not exist. If there is already an APE tag, the + * new ID3v1 tag will be placed after it. + * + * \note The Tag is still owned by the APE::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + ID3v1::Tag *ID3v1Tag(bool create = false); + + /*! + * Returns a pointer to the APE tag of the file. + * + * If \a create is false (the default) this will return a null pointer + * if there is no valid APE tag. If \a create is true it will create + * a APE tag if one does not exist. + * + * \note The Tag is still owned by the APE::File and should not be + * deleted by the user. It will be deleted when the file (object) is + * destroyed. + */ + APE::Tag *APETag(bool create = false); + + /*! + * This will remove the tags that match the OR-ed together TagTypes from the + * file. By default it removes all tags. + * + * \note This will also invalidate pointers to the tags + * as their memory will be freed. + * \note In order to make the removal permanent save() still needs to be called + */ + void strip(int tags = AllTags); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties, Properties::ReadStyle propertiesStyle); + void scan(); + long findID3v1(); + long findAPE(); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/wavpackproperties.h b/usr/local/include/taglib/wavpackproperties.h new file mode 100644 index 000000000..bd2209da2 --- /dev/null +++ b/usr/local/include/taglib/wavpackproperties.h @@ -0,0 +1,105 @@ +/*************************************************************************** + copyright : (C) 2006 by Lukáš Lalinský + email : lalinsky@gmail.com + + copyright : (C) 2004 by Allan Sandfeld Jensen + email : kde@carewolf.org + (original MPC implementation) + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_WVPROPERTIES_H +#define TAGLIB_WVPROPERTIES_H + +#include "taglib_export.h" +#include "audioproperties.h" + +namespace TagLib { + + namespace WavPack { + + class File; + + static const uint HeaderSize = 32; + + //! An implementation of audio property reading for WavPack + + /*! + * This reads the data from an WavPack stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of WavPack::Properties with the data read from the + * ByteVector \a data. + * + * \deprecated This constructor will be dropped in favor of the one below + * in a future version. + */ + Properties(const ByteVector &data, long streamLength, ReadStyle style = Average); + + /*! + * Create an instance of WavPack::Properties. + */ + // BIC: merge with the above constructor + Properties(File *file, long streamLength, ReadStyle style = Average); + + /*! + * Destroys this WavPack::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + /*! + * Returns number of bits per sample. + */ + int bitsPerSample() const; + uint sampleFrames() const; + + /*! + * Returns WavPack version. + */ + int version() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(); + unsigned int seekFinalIndex(); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/wavproperties.h b/usr/local/include/taglib/wavproperties.h new file mode 100644 index 000000000..2023f5392 --- /dev/null +++ b/usr/local/include/taglib/wavproperties.h @@ -0,0 +1,92 @@ +/*************************************************************************** + copyright : (C) 2008 by Scott Wheeler + email : wheeler@kde.org +***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_WAVPROPERTIES_H +#define TAGLIB_WAVPROPERTIES_H + +#include "taglib.h" +#include "audioproperties.h" + +namespace TagLib { + + class ByteVector; + + namespace RIFF { + + namespace WAV { + + class File; + + //! An implementation of audio property reading for WAV + + /*! + * This reads the data from an WAV stream found in the AudioProperties + * API. + */ + + class TAGLIB_EXPORT Properties : public AudioProperties + { + public: + /*! + * Create an instance of WAV::Properties with the data read from the + * ByteVector \a data. + */ + Properties(const ByteVector &data, ReadStyle style); + + /*! + * Create an instance of WAV::Properties with the data read from the + * ByteVector \a data and the length calculated using \a streamLength. + */ + Properties(const ByteVector &data, uint streamLength, ReadStyle style); + + /*! + * Destroys this WAV::Properties instance. + */ + virtual ~Properties(); + + // Reimplementations. + + virtual int length() const; + virtual int bitrate() const; + virtual int sampleRate() const; + virtual int channels() const; + + int sampleWidth() const; + uint sampleFrames() const; + + private: + Properties(const Properties &); + Properties &operator=(const Properties &); + + void read(const ByteVector &data); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } + } +} + +#endif diff --git a/usr/local/include/taglib/xingheader.h b/usr/local/include/taglib/xingheader.h new file mode 100644 index 000000000..ffe7494d5 --- /dev/null +++ b/usr/local/include/taglib/xingheader.h @@ -0,0 +1,100 @@ +/*************************************************************************** + copyright : (C) 2003 by Ismael Orenstein + email : orenstein@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_XINGHEADER_H +#define TAGLIB_XINGHEADER_H + +#include "mpegheader.h" +#include "taglib_export.h" + +namespace TagLib { + + class ByteVector; + + namespace MPEG { + + //! An implementation of the Xing VBR headers + + /*! + * This is a minimalistic implementation of the Xing VBR headers. Xing + * headers are often added to VBR (variable bit rate) MP3 streams to make it + * easy to compute the length and quality of a VBR stream. Our implementation + * is only concerned with the total size of the stream (so that we can + * calculate the total playing time and the average bitrate). It uses + * this text + * and the XMMS sources as references. + */ + + class TAGLIB_EXPORT XingHeader + { + public: + /*! + * Parses a Xing header based on \a data. The data must be at least 16 + * bytes long (anything longer than this is discarded). + */ + XingHeader(const ByteVector &data); + + /*! + * Destroy this XingHeader instance. + */ + virtual ~XingHeader(); + + /*! + * Returns true if the data was parsed properly and if there is a valid + * Xing header present. + */ + bool isValid() const; + + /*! + * Returns the total number of frames. + */ + uint totalFrames() const; + + /*! + * Returns the total size of stream in bytes. + */ + uint totalSize() const; + + /*! + * Returns the offset for the start of this Xing header, given the + * version and channels of the frame + */ + // BIC: rename to offset() + static int xingHeaderOffset(TagLib::MPEG::Header::Version v, + TagLib::MPEG::Header::ChannelMode c); + + private: + XingHeader(const XingHeader &); + XingHeader &operator=(const XingHeader &); + + void parse(const ByteVector &data); + + class XingHeaderPrivate; + XingHeaderPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/xiphcomment.h b/usr/local/include/taglib/xiphcomment.h new file mode 100644 index 000000000..54f3070bf --- /dev/null +++ b/usr/local/include/taglib/xiphcomment.h @@ -0,0 +1,225 @@ +/*************************************************************************** + copyright : (C) 2002 - 2008 by Scott Wheeler + email : wheeler@kde.org + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * + * 02110-1301 USA * + * * + * Alternatively, this file is available under the Mozilla Public * + * License Version 1.1. You may obtain a copy of the License at * + * http://www.mozilla.org/MPL/ * + ***************************************************************************/ + +#ifndef TAGLIB_VORBISCOMMENT_H +#define TAGLIB_VORBISCOMMENT_H + +#include "tag.h" +#include "tlist.h" +#include "tmap.h" +#include "tstring.h" +#include "tstringlist.h" +#include "tbytevector.h" +#include "taglib_export.h" + +namespace TagLib { + + namespace Ogg { + + /*! + * A mapping between a list of field names, or keys, and a list of values + * associated with that field. + * + * \see XiphComment::fieldListMap() + */ + typedef Map FieldListMap; + + //! Ogg Vorbis comment implementation + + /*! + * This class is an implementation of the Ogg Vorbis comment specification, + * to be found in section 5 of the Ogg Vorbis specification. Because this + * format is also used in other (currently unsupported) Xiph.org formats, it + * has been made part of a generic implementation rather than being limited + * to strictly Vorbis. + * + * Vorbis comments are a simple vector of keys and values, called fields. + * Multiple values for a given key are supported. + * + * \see fieldListMap() + */ + + class TAGLIB_EXPORT XiphComment : public TagLib::Tag + { + public: + /*! + * Constructs an empty Vorbis comment. + */ + XiphComment(); + + /*! + * Constructs a Vorbis comment from \a data. + */ + XiphComment(const ByteVector &data); + + /*! + * Destroys this instance of the XiphComment. + */ + virtual ~XiphComment(); + + virtual String title() const; + virtual String artist() const; + virtual String album() const; + virtual String comment() const; + virtual String genre() const; + virtual uint year() const; + virtual uint track() const; + + virtual void setTitle(const String &s); + virtual void setArtist(const String &s); + virtual void setAlbum(const String &s); + virtual void setComment(const String &s); + virtual void setGenre(const String &s); + virtual void setYear(uint i); + virtual void setTrack(uint i); + + virtual bool isEmpty() const; + + /*! + * Returns the number of fields present in the comment. + */ + uint fieldCount() const; + + /*! + * Returns a reference to the map of field lists. Because Xiph comments + * support multiple fields with the same key, a pure Map would not work. + * As such this is a Map of string lists, keyed on the comment field name. + * + * The standard set of Xiph/Vorbis fields (which may or may not be + * contained in any specific comment) is: + * + *
    + *
  • TITLE
  • + *
  • VERSION
  • + *
  • ALBUM
  • + *
  • ARTIST
  • + *
  • PERFORMER
  • + *
  • COPYRIGHT
  • + *
  • ORGANIZATION
  • + *
  • DESCRIPTION
  • + *
  • GENRE
  • + *
  • DATE
  • + *
  • LOCATION
  • + *
  • CONTACT
  • + *
  • ISRC
  • + *
+ * + * For a more detailed description of these fields, please see the Ogg + * Vorbis specification, section 5.2.2.1. + * + * \note The Ogg Vorbis comment specification does allow these key values + * to be either upper or lower case. However, it is conventional for them + * to be upper case. As such, TagLib, when parsing a Xiph/Vorbis comment, + * converts all fields to uppercase. When you are using this data + * structure, you will need to specify the field name in upper case. + * + * \warning You should not modify this data structure directly, instead + * use addField() and removeField(). + */ + const FieldListMap &fieldListMap() const; + + /*! + * Implements the unified property interface -- export function. + * The result is a one-to-one match of the Xiph comment, since it is + * completely compatible with the property interface (in fact, a Xiph + * comment is nothing more than a map from tag names to list of values, + * as is the dict interface). + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * The tags from the given map will be stored one-to-one in the file, + * except for invalid keys (less than one character, non-ASCII, or + * containing '=' or '~') in which case the according values will + * be contained in the returned PropertyMap. + */ + PropertyMap setProperties(const PropertyMap&); + + /*! + * Check if the given String is a valid Xiph comment key. + */ + static bool checkKey(const String&); + + /*! + * Returns the vendor ID of the Ogg Vorbis encoder. libvorbis 1.0 as the + * most common case always returns "Xiph.Org libVorbis I 20020717". + */ + String vendorID() const; + + /*! + * Add the field specified by \a key with the data \a value. If \a replace + * is true, then all of the other fields with the same key will be removed + * first. + * + * If the field value is empty, the field will be removed. + */ + void addField(const String &key, const String &value, bool replace = true); + + /*! + * Remove the field specified by \a key with the data \a value. If + * \a value is null, all of the fields with the given key will be removed. + */ + void removeField(const String &key, const String &value = String::null); + + /*! + * Returns true if the field is contained within the comment. + * + * \note This is safer than checking for membership in the FieldListMap. + */ + bool contains(const String &key) const; + + /*! + * Renders the comment to a ByteVector suitable for inserting into a file. + */ + ByteVector render() const; // BIC: remove and merge with below + + /*! + * Renders the comment to a ByteVector suitable for inserting into a file. + * + * If \a addFramingBit is true the standard Vorbis comment framing bit will + * be appended. However some formats (notably FLAC) do not work with this + * in place. + */ + ByteVector render(bool addFramingBit) const; + + protected: + /*! + * Reads the tag from the file specified in the constructor and fills the + * FieldListMap. + */ + void parse(const ByteVector &data); + + private: + XiphComment(const XiphComment &); + XiphComment &operator=(const XiphComment &); + + class XiphCommentPrivate; + XiphCommentPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/xmfile.h b/usr/local/include/taglib/xmfile.h new file mode 100644 index 000000000..9d1bb71c6 --- /dev/null +++ b/usr/local/include/taglib/xmfile.h @@ -0,0 +1,104 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_XMFILE_H +#define TAGLIB_XMFILE_H + +#include "tfile.h" +#include "audioproperties.h" +#include "taglib_export.h" +#include "modfilebase.h" +#include "modtag.h" +#include "xmproperties.h" + +namespace TagLib { + + namespace XM { + + class TAGLIB_EXPORT File : public Mod::FileBase { + public: + /*! + * Contructs a Extended Module file from \a file. If \a readProperties + * is true the file's audio properties will also be read using + * \a propertiesStyle. If false, \a propertiesStyle is ignored. + */ + File(FileName file, bool readProperties = true, + AudioProperties::ReadStyle propertiesStyle = + AudioProperties::Average); + + /*! + * Contructs a Extended Module file from \a stream. If \a readProperties + * is true the file's audio properties will also be read using + * \a propertiesStyle. If false, \a propertiesStyle is ignored. + * + * \note TagLib will *not* take ownership of the stream, the caller is + * responsible for deleting it after the File object. + */ + File(IOStream *stream, bool readProperties = true, + AudioProperties::ReadStyle propertiesStyle = + AudioProperties::Average); + + /*! + * Destroys this instance of the File. + */ + virtual ~File(); + + Mod::Tag *tag() const; + + /*! + * Implements the unified property interface -- export function. + * Forwards to Mod::Tag::properties(). + */ + PropertyMap properties() const; + + /*! + * Implements the unified property interface -- import function. + * Forwards to Mod::Tag::setProperties(). + */ + PropertyMap setProperties(const PropertyMap &); + + /*! + * Returns the XM::Properties for this file. If no audio properties + * were read then this will return a null pointer. + */ + XM::Properties *audioProperties() const; + + /*! + * Save the file. + * This is the same as calling save(AllTags); + * + * \note Saving Extended Module tags is not supported. + */ + bool save(); + + private: + File(const File &); + File &operator=(const File &); + + void read(bool readProperties); + + class FilePrivate; + FilePrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/taglib/xmproperties.h b/usr/local/include/taglib/xmproperties.h new file mode 100644 index 000000000..9b6624a77 --- /dev/null +++ b/usr/local/include/taglib/xmproperties.h @@ -0,0 +1,79 @@ +/*************************************************************************** + copyright : (C) 2011 by Mathias Panzenböck + email : grosser.meister.morti@gmx.net + ***************************************************************************/ + +/*************************************************************************** + * This library is free software; you can redistribute it and/or modify * + * it under the terms of the GNU Lesser General Public License version * + * 2.1 as published by the Free Software Foundation. * + * * + * This library is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library; if not, write to the Free Software * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * + * MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef TAGLIB_XMPROPERTIES_H +#define TAGLIB_XMPROPERTIES_H + +#include "taglib.h" +#include "tstring.h" +#include "audioproperties.h" + +namespace TagLib { + namespace XM { + class Properties : public AudioProperties { + friend class File; + public: + /*! Flag bits. */ + enum { + LinearFreqTable = 1 // otherwise its the amiga freq. table + }; + + Properties(AudioProperties::ReadStyle propertiesStyle); + virtual ~Properties(); + + int length() const; + int bitrate() const; + int sampleRate() const; + int channels() const; + + ushort lengthInPatterns() const; + ushort version() const; + ushort restartPosition() const; + ushort patternCount() const; + ushort instrumentCount() const; + uint sampleCount() const; + ushort flags() const; + ushort tempo() const; + ushort bpmSpeed() const; + + void setChannels(int channels); + + void setLengthInPatterns(ushort lengthInPatterns); + void setVersion(ushort version); + void setRestartPosition(ushort restartPosition); + void setPatternCount(ushort patternCount); + void setInstrumentCount(ushort instrumentCount); + void setSampleCount(uint sampleCount); + void setFlags(ushort flags); + void setTempo(ushort tempo); + void setBpmSpeed(ushort bpmSpeed); + + private: + Properties(const Properties&); + Properties &operator=(const Properties&); + + class PropertiesPrivate; + PropertiesPrivate *d; + }; + } +} + +#endif diff --git a/usr/local/include/xbian-config/config/services b/usr/local/include/xbian-config/config/services new file mode 100755 index 000000000..280c777d3 --- /dev/null +++ b/usr/local/include/xbian-config/config/services @@ -0,0 +1,13 @@ +xbmc:xbmc.bin +samba:smbd,nmbd +lirc: +apache2: +ssh: +transmission: +headphones: +sickbeard: +nzbget: +couchpotato: +sabnzbd: +sysklogd:syslogd +klogd: diff --git a/usr/local/include/xbian-config/functions/array b/usr/local/include/xbian-config/functions/array new file mode 100755 index 000000000..b3411cb1e --- /dev/null +++ b/usr/local/include/xbian-config/functions/array @@ -0,0 +1,30 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function searchArrayFn() { + VALUE=$1 + shift; + ARRAY=($@) + for KEY in ${!ARRAY[@]}; do + if [ "${ARRAY[$KEY]}" == "$VALUE" ]; then + return $KEY; + fi + done; + return 99 +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/functions/config b/usr/local/include/xbian-config/functions/config new file mode 100755 index 000000000..b85e44aa4 --- /dev/null +++ b/usr/local/include/xbian-config/functions/config @@ -0,0 +1,40 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see +# + +# update/insert Raspberry PI config variable +# $1 [String] Key +# $2 [Mixed] Value +updateConfigVarFn() { + sed -i "/$1=/d" /boot/config.txt + echo "$1=$2" >> /boot/config.txt + sed -i '/^$/d' /boot/config.txt +} + +# select Raspberry PI config variable +# $1 [String] Key +selectConfigVarFn() { + RETURN=$(cat /boot/config.txt | grep $1= | cut -f 2 -d= | sed -e 's/\r//g'); +} + +# remove Raspberry PI config variable +# $1 [String] Key +deleteConfigVarFn() { + sed -i "/$1=/d" /boot/config.txt +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/functions/dialogs b/usr/local/include/xbian-config/functions/dialogs new file mode 100755 index 000000000..603671e94 --- /dev/null +++ b/usr/local/include/xbian-config/functions/dialogs @@ -0,0 +1,469 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo & Hexagon +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +DEFAULTWIDTH=55; +DEFAULTHEIGHT=7; +DEFAULTCOLSEP="!" +DEFAULTDELIMITER="%" + +# Show a normal dialog (messagebox) +# $1 Text +# $2 (optional) Height +# $3 (optional) Width +# $4 (optional) OK Label +showMsgDlg() { + OKLABEL="$_CLOSE" + + # Default width and height + HEIGHT=$DEFAULTHEIGHT + WIDTH=$DEFAULTWIDTH + # Override width and height + if [ $# -gt 1 ]; then + HEIGHT=$2 + fi + if [ $# -gt 2 ]; then + WIDTH=$3 + fi + if [ $# -gt 3 ]; then + OKLABEL=$4 + fi + + # Show messagebox + dialog \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --ok-label "$OKLABEL" \ + --msgbox "$1" $HEIGHT $WIDTH +} + +# Show a information box +# $1 Text +# $2 (optional) Height +# $3 (optional) Width +showInfoDlg() { + # Default width and height + HEIGHT=$DEFAULTHEIGHT + WIDTH=$DEFAULTWIDTH + # Override width and height + if [ $# -gt 1 ]; then + HEIGHT=$2 + fi + if [ $# -gt 2 ]; then + WIDTH=$3 + fi + + # Show messagebox + dialog \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --infobox "\n$1" $HEIGHT $WIDTH +} + +# Show a text dialog +# $1 File +# $2 (optional) Height +# $3 (optional) Width +# $4 (optional) OK Label +showTextDlg() { + OKLABEL="$_CLOSE" + + # Default width and height + HEIGHT=$DEFAULTHEIGHT + WIDTH=$DEFAULTWIDTH + # Override width and height + if [ $# -gt 1 ]; then + HEIGHT=$2 + fi + if [ $# -gt 2 ]; then + WIDTH=$3 + fi + if [ $# -gt 3 ]; then + OKLABEL=$4 + fi + + # Show messagebox + dialog \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --ok-label "$OKLABEL" \ + --textbox "$1" $HEIGHT $WIDTH +} + +# Show a yes/no dialog +# $1 Text +# $2 (optional) Height +# $3 (optional) Width +# $4 (optional) Yes label +# $5 (optional) No Label +showConfirmDlg() { + YESLABEL="$_YES" + NOLABEL="$_NO" + + # Default width and height + HEIGHT=$DEFAULTHEIGHT + WIDTH=$DEFAULTWIDTH + + # Override width and height + if [ $# -gt 1 ]; then + HEIGHT=$2 + fi + if [ $# -gt 2 ]; then + WIDTH=$3 + fi + if [ $# -gt 3 ]; then + YESLABEL=$4 + fi + if [ $# -gt 4 ]; then + NOLABEL=$5 + fi + # Show yes/no dialog + dialog \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --yes-label $YESLABEL \ + --no-label $NOLABEL \ + --yesno "$1" $HEIGHT $WIDTH +} + +#Show menu +# $1 Descriptive text +# $2 Menu items +# $3 (optional) Rows +# $4 (optional) Height +# $5 (optional) Width +# $6 (optional) Yes label +# $7 (optional) No Label +function showMenuDlg() { + YESLABEL="$_SELECT" + NOLABEL="$_RETURN" + + if [ $# -gt 2 ]; then + ROWS=$3; + else + ROWS=5; + fi + HEIGHT=$(($ROWS+5)) + WIDTH=$(($DEFAULTWIDTH+15)); + + if [ $# -gt 3 ]; then + HEIGHT=$4 + fi + if [ $# -gt 4 ]; then + WIDTH=$5 + fi + if [ $# -gt 5 ]; then + YESLABEL=$6 + fi + if [ $# -gt 6 ]; then + NOLABEL=$7 + fi + IFS=$DEFAULTDELIMITER; + RETURN=$( \ + dialog \ + --no-kill \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --ok-label $YESLABEL \ + --colors \ + --cancel-label $NOLABEL \ + --column-separator "$DEFAULTCOLSEP" \ + --menu "\n$1" $HEIGHT $WIDTH $ROWS \ + $2 3>&1 1>&2 2>&3) +} + +# Show radio list +# $1 Descriptive text +# $2 Items +# $3 Rows +# $4 (optional) Height +# $5 (optional) Width +# $6 (optional) Yes label +# $7 (optional) No Label +function showRadioDlg() { + YESLABEL="$_SELECT" + NOLABEL="$_RETURN" + HEADER=$1; + + if [ $# -gt 2 ]; then + ROWS=$3; + else + ROWS=5; + fi + WIDTH=$(($DEFAULTWIDTH+15)) + if [ $# -gt 4 ]; then + WIDTH=$5 + fi + + centerTxtFn "$_SPACEOPTIONSELECT" $(($DEFAULTWIDTH+11)) + HEIGHT=$(($DEFAULTHEIGHT+5)); + if [ $# -gt 3 ]; then + HEIGHT=$4 + fi + if [ $# -gt 5 ]; then + YESLABEL=$6 + fi + if [ $# -gt 6 ]; then + NOLABEL=$7 + fi + + IFS=$DEFAULTDELIMITER; + RETURN=$( \ + dialog \ + --no-kill \ + --ok-label $YESLABEL \ + --colors \ + --cancel-label $NOLABEL \ + --title "$TITLE" \ + --backtitle "$BACKTITLE" \ + --column-separator "$DEFAULTCOLSEP" \ + --no-collapse \ + --radiolist "\n$CENTEREDTXT\n $HEADER" $HEIGHT $WIDTH $ROWS \ + $2 3>&1 1>&2 2>&3); +} + +# Show checklist +# $1 Descriptive text +# $2 Items +# $3 Rows +# $4 (optional) Height +# $5 (optional) Width +# $6 (optional) Yes label +# $7 (optional) No Label +# $8 (optional) Opt. label +function showChecklistDlg() { + YESLABEL="$_SELECT" + NOLABEL="$_RETURN" + OPTLABEL=0; + HEADER=$1; + + if [ $# -gt 2 ]; then + ROWS=$3; + else + ROWS=5; + fi + WIDTH=$(($DEFAULTWIDTH+15)) + if [ $# -gt 4 ]; then + WIDTH=$5 + fi + + centerTxtFn "$_SPACECHECKSELECT" $(($DEFAULTWIDTH+11)); + HEIGHT=$(($DEFAULTHEIGHT+5)); + if [ $# -gt 3 ]; then + HEIGHT=$4 + fi + if [ $# -gt 5 ]; then + YESLABEL=$6 + fi + if [ $# -gt 6 ]; then + NOLABEL=$7 + fi + if [ $# -gt 7 ]; then + OPTLABEL="$8" + fi + + IFS=$DEFAULTDELIMITER; + RETURN=$( \ + dialog \ + --no-kill \ + --ok-label $YESLABEL \ + --colors \ + --cancel-label $NOLABEL \ + --title "$TITLE" \ + --backtitle "$BACKTITLE" \ + --column-separator "$DEFAULTCOLSEP" \ + --no-collapse \ + --checklist "\n$CENTEREDTXT\n $HEADER" $HEIGHT $WIDTH $ROWS \ + $2 3>&1 1>&2 2>&3); +} + +# Show input dialog +# $1 Descriptive text +# $2 Value +# $3 (optional) Height +# $4 (optional) Width +# $5 (optional) Change Label +# $6 (optional) Cancel Label +function showInputDlg() { + CHANGELABEL="$_CHANGE" + CANCELLABEL="$_CANCEL" + VALUE=$2; + WIDTH=$DEFAULTWIDTH; + HEIGHT=$(($DEFAULTHEIGHT+1)) + + if [ $# -gt 2 ]; then + HEIGHT=$3 + fi + if [ $# -gt 3 ]; then + WIDTH=$4 + fi + if [ $# -gt 4 ]; then + CHANGELABEL=$5 + fi + if [ $# -gt 5 ]; then + CANCELLABEL=$6 + fi + + RETURN=$( \ + dialog \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --ok-label $CHANGELABEL \ + --cancel-label $CANCELLABEL \ + --inputbox "$1" $HEIGHT $WIDTH $VALUE \ + 3>&1 1>&2 2>&3); +} + +# Show password dialog +# $1 Descriptive text +# $3 (optional) Height +# $4 (optional) Width +# $5 (optional) Change Label +# $6 (optional) Cancel Label +function showPassDlg() { + WIDTH=$DEFAULTWIDTH; + HEIGHT=$(($DEFAULTHEIGHT+2)) + CHANGELABEL=$_CHANGE + CANCELLABEL=$_CANCEL + + if [ $# -gt 2 ]; then + HEIGHT=$3 + fi + if [ $# -gt 3 ]; then + WIDTH=$4 + fi + if [ $# -gt 4 ]; then + CHANGELABEL=$5 + fi + if [ $# -gt 5 ]; then + CANCELLABEL=$6 + fi + + VALUES=$(dialog \ + --ok-label "$CHANGELABEL" \ + --cancel-label "$CANCELLABEL" \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --insecure \ + --passwordform "$1" \ + $HEIGHT $WIDTH 0 \ + "$_PASSWORD" 1 3 "" 1 15 15 0 \ + "$_CONFIRM" 2 3 "" 2 15 15 0 \ + 3>&1 1>&2 2>&3); +} + +# Standard error dialog +function showErrorDlg() { + centerTxtFn "$_ERROR" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $DEFAULTHEIGHT; +} + +function showLoadingDlg() { + centerTxtFn "$_LOADING" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $DEFAULTHEIGHT; +} + +# Show an input form with 2 text fields +# Arguments +# $1 Descriptive text +# $2 Label 1 +# $3 Value 1 +# $4 Label 2 +# $5 Value 2 +function showInputForm2Dlg() { + + CHANGELABEL="$_CHANGE" + CANCELLABEL="$_CANCEL" + + WIDTH=$DEFAULTWIDTH; + HEIGHT=$(($DEFAULTHEIGHT+3)) + + RETURN=$( \ + dialog \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --ok-label "$CHANGELABEL" \ + --cancel-label "$CANCELLABEL" \ + --form "$1" $HEIGHT $WIDTH 2 \ + "$2" 1 3 "$3" 1 16 32 0 \ + "$4" 2 3 "$5" 2 16 32 0 \ + 3>&1 1>&2 2>&3); +} + + +# Show an input form with 5 text fields +# Arguments +# $1 Descriptive text +# $2 Label 1 +# $3 Value 1 +# $4 Label 2 +# $5 Value 2 +# $6 Label 3 +# $7 Value 3 +# $8 Label 4 +# $9 Value 4 +# $10 Label 5 +# $11 Value 5 +function showInputForm5Dlg() { + + LABELW=16; + + LABEL1=$2; + LABEL2=$4; + LABEL3=$6; + LABEL4=$8; + LABEL5=${10}; + if [ ${#LABEL1} -gt $LABELW ]; then + LABELW=${#LABEL1}; + fi + if [ ${#LABEL2} -gt $LABELW ]; then + LABELW=${#LABEL2}; + fi + if [ ${#LABEL3} -gt $LABELW ]; then + LABELW=${#LABEL3}; + fi + if [ ${#LABEL4} -gt $LABELW ]; then + LABELW=${#LABEL4}; + fi + if [ ${#LABEL5} -gt $LABELW ]; then + LABELW=${#LABEL5}; + fi + LABELW=$(($LABELW+5)); + + CHANGELABEL="$_CHANGE" + CANCELLABEL="$_CANCEL" + + WIDTH=$DEFAULTWIDTH; + HEIGHT=$(($DEFAULTHEIGHT+6)) + + RETURN=$( \ + dialog \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --ok-label "$CHANGELABEL" \ + --cancel-label "$CANCELLABEL" \ + --form "$1" $HEIGHT $WIDTH 5 \ + "$2" 1 3 "$3" 1 $LABELW 16 15 \ + "$4" 2 3 "$5" 2 $LABELW 16 15 \ + "$6" 3 3 "$7" 3 $LABELW 16 15 \ + "$8" 4 3 "$9" 4 $LABELW 16 15 \ + "${10}" 5 3 "${11}" 5 $LABELW 16 15 \ + 3>&1 1>&2 2>&3); +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/functions/language b/usr/local/include/xbian-config/functions/language new file mode 100755 index 000000000..918060fd1 --- /dev/null +++ b/usr/local/include/xbian-config/functions/language @@ -0,0 +1,57 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see +# + +# XBMC language array +declare -A LANGARRAY +LANGARRAY[Dutch]=nl +LANGARRAY[English]=en +LANGARRAY[French]=fr +LANGARRAY[Slovak]=sk +LANGARRAY[Spanish]=es +LANGARRAY[German]=de +LANGARRAY[Danish]=dk +LANGARRAY[Russian]=ru + +# Language translations +_DUTCH="Nederlands" +_ENGLISH="English" +_FRENCH="Français" +_SLOVAK="SlovenÄina" +_SPANISH="Español" +_GERMAN="Deutsch" +_DANISH="Dansk" +_RUSSIAN="РуÑÑкий" + +function getLanguageFn() { + # Get XBMC language setting + if [ -f $BASEPATH"/config/xbconfig" ]; then + USERLANG=$(cat $BASEPATH"/config/xbconfig" | grep language | cut -f2 -d":"); + else + USERLANG=""; + fi + XBMCLANG=$(cat /home/xbian/.xbmc/userdata/guisettings.xml | sed '//!d;s//\n/;s/[^\n]*\n//;:a;$!{/<\/language/!N;//!ba};y/\n/ /;s/<\/language>/\n/;P;D' | sed -ne 's/\([A-Za-z]\{1,\}\)\([\ ](.*\|.*\)/\1/p') + + # Prefered language of xbian-config + if [ -z $USERLANG ]; then + LANGUAGE=${LANGARRAY[$XBMCLANG]}; + else + LANGUAGE=${LANGARRAY[$USERLANG]}; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/functions/markup b/usr/local/include/xbian-config/functions/markup new file mode 100755 index 000000000..7a1d07aa7 --- /dev/null +++ b/usr/local/include/xbian-config/functions/markup @@ -0,0 +1,266 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#Disable or enable table column +TBLCOLUMNCENTER=1; + +# Wrap text fit in dialog width +# $1 [String] Text +# $2 [Integer] Width (optional) +# Returns +# $HEIGHT [Integer] Needed height for the dialog +# $WRAPPEDTEXT [String] String wrapped in newlines to fit width +function wrapTxtFn() { + TEXT=$1; + + if [ $# -gt 1 ]; then + WIDTH=$2; + else + WIDTH=$DEFAULTWIDTH; + fi + IFS=" "; + WORDS=($TEXT); + RAWLINES=(); + LINES=(); + IFS=$'\n'; + for WORD in ${WORDS[@]}; do + if [ $((${#RAWLINES}+${#WORD})) -lt $(($WIDTH)) ]; then + RAWLINES+=$WORD" "; + else + LINES+=($(echo $RAWLINES | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')); + RAWLINES=$WORD" "; + fi + done; + LINES+=($RAWLINES); + RAWLINES=""; + WRAPPEDTXT="\n"; + HEIGHT=6; + for LINE in ${LINES[@]}; do + HEIGHT=$(($HEIGHT+1)); + WRAPPEDTXT+=$LINE"\n"; + done + IFS=$ORIGINALIFS; + return $HEIGHT; +} + +# Centers text in predefined width +# $1 [String] Text +# $2 [Integer] Width (optional) +# Returns +# $CENTEREDTXT [String] +function centerTxtFn() { + TEXT=$1; + IFS=$'\n'; + if [ $# -gt 1 ]; then + WIDTH=$2; + else + WIDTH=$DEFAULTWIDTH; + fi + LINES=($(echo -e "$TEXT")); + + CENTEREDTXT=""; + for LINE in ${LINES[@]}; do + NEWLINE=$(echo $LINE | sed 's/\\Z[0-9a-z]\{1\}//g'); + NRSPACES=$(($(($WIDTH/2))-$((${#LINE}/2)))); + + if [ $(($NRSPACES%2)) -eq 1 ] && [ $((${#NEWLINE}%2)) -eq 1 ] && [ $((${#LINE}%2)) -eq 1 ]; then + NRSPACES=$(($NRSPACES)); + elif [ $(($NRSPACES%2)) -eq 0 ] && [ $((${#NEWLINE}%2)) -eq 1 ] && [ $((${#LINE}%2)) -eq 1 ]; then + NRSPACES=$(($NRSPACES)); + fi + if [ $NRSPACES -le 0 ]; then + NRSPACES=1; + fi + for (( c=0; c<$NRSPACES; c++ )); do + CENTEREDTXT+=" "; + done; + if [ ${#LINES[@]} -gt 1 ]; then + CENTEREDTXT+=$LINE"\n"; + else + CENTEREDTXT+=$LINE; + fi + done; +} + +function valignTxtFn() { + TEXT=$1; + IFS=$'\n'; + if [ $# -gt 1 ]; then + NEWHEIGHT=$2; + else + NEWHEIGHT=$DEFAULTHEIGHT; + fi + + LINES=($(echo -e "$TEXT")); + ALIGNEDTXT="\n"; + for (( c=0; c<=$(($(($NEWHEIGHT/2))-4-${#LINES[@]})); c++ )); do + ALIGNEDTXT+="\n"; + done; + ALIGNEDTXT+=$TEXT; +} + +# Trim trailing and leading spaces from line +# $1 [String] Line +# Returns +# $TRIMMEDLN [String] +function trimLnFn() { + TRIMMEDLN=$(echo -e "$1" | sed 's/^\ //;s/\ $//'); +} + +# Create table header used inside table +# $1 [String] Radio/Menu: Are we creating a row for a menu or radio dialog? +# $2 [String] Rows: Strings with the values likes used in dialogs +# $3 [String] Header: A string with names of the header words seperated by commas +# Returns +# $HEADER [String] String containing the outlined header +# $ROWS [String] String with all outlined rows +function createTableFn() { + TYPE=$1; + shift; + IFS=","; + OLDHEADER=($1) + shift + OLDROWS=(); + NEWROW=""; + IFS=$ORIGINALIFS; + KEY=-1; + for ROW in $@; do + if [[ "$ROW" =~ ^[0-9] ]]; then + KEY=$(($KEY+1)); + OLDROWS[$KEY]+=$ROW; + else + OLDROWS[$KEY]+=" "$ROW; + fi + done; + NRCOLUMNS=0; + WORDLENGTH=(); + for (( c=0; c<${#OLDROWS[@]}; c++ )); do + IFS=","; + OLDROW=(${OLDROWS[$c]}); + NRCOLUMNS=${#OLDROW[@]}; + for (( d=0; d<${#OLDROW[@]}; d++ )); do + if [ $c -eq 0 ]; then + WORDLENGTH+=(${#OLDROW[$d]}); + elif [[ "${WORDLENGTH[$d]}" =~ ^[0-9] ]] && [ ${WORDLENGTH[$d]} -lt ${#OLDROW[$d]} ]; then + WORDLENGTH[$d]=${#OLDROW[$d]} + fi + done + done + IFS=$ORIGINALIFS; + + # if [ $TYPE == "radio" ]; then + # NRCOLUMNS=$(($NRCOLUMNS-1)); + # fi + + if [ $TYPE == "radio" ]; then + HEADER=" "${OLDHEADER[0]}; + elif [ $TYPE == "check" ]; then + HEADER=" "${OLDHEADER[0]}; + else + HEADER=${OLDHEADER[0]}; + fi + if [ ${#OLDROWS[@]} -ge 10 ]; then + HEADER+=" "; + else + HEADER+=" "; + fi + shift + CENTERED=(); + + for (( c=0; c<$NRCOLUMNS; c++ )); do + if [ ${WORDLENGTH[$c]} -lt ${#OLDHEADER[$c]} ]; then + if [ $TBLCOLUMNCENTER -eq 1 ]; then + CENTERED[$c]=1; + else + CENTERED[$c]=0; + fi + WORDLENGTH[$c]=${#OLDHEADER[$c]}; + else + CENTERED[$c]=0; + fi + ENDOFCOLUMN="true"; + if [ $TYPE != "radio" ] && [ $TYPE != "check" ] && [ $c -gt 0 ] && [ $c -lt $NRCOLUMNS ]; then + ENDOFCOLUMN="false" + fi + if [[ $TYPE == "radio" || $TYPE == "check" ]] && [ $c -gt 0 ] && [ $c -lt $(($NRCOLUMNS-1)) ]; then + ENDOFCOLUMN="false" + fi + if [ $ENDOFCOLUMN == "false" ]; then + LENGTH=$((${WORDLENGTH[$c]}-${#OLDHEADER[$c]})); + + HEADER+="\Zb[ "; + HEADER+=${OLDHEADER[$c]}; + + for (( d=0; d<$(($LENGTH)); d++ )); do + HEADER+=" "; + done + HEADER+="\Zb ] "; + fi + shift; + done + + ROWS=""; + for (( c=0; c<${#OLDROWS[@]}; c++ )); do + IFS=","; + OLDROW=(${OLDROWS[$c]}); + for (( d=0; d<$NRCOLUMNS; d++ )); do + LENGTH=$((${WORDLENGTH[$d]}-${#OLDROW[$d]})); + ENDOFCOLUMN="true"; + if [ $TYPE != "radio" ] && [ $TYPE != "check" ] && [ $d -gt 0 ] && [ $d -lt $NRCOLUMNS ]; then + ENDOFCOLUMN="false" + fi + if [[ $TYPE == "radio" || $TYPE == "check" ]] && [ $d -gt 0 ] && [ $d -lt $(($NRCOLUMNS-1)) ]; then + ENDOFCOLUMN="false" + fi + if [ $ENDOFCOLUMN == "false" ]; then + if [ $d -gt 1 ]; then + ROWS+="$DEFAULTCOLSEP" + fi + ROWS+="\Zn[ "; + if [ ${CENTERED[$d]} -eq 1 ]; then + for (( e=0; e<$(($LENGTH/2)); e++ )); do + ROWS+=" "; + done + ROWS+=${OLDROW[$d]}; + for (( e=0; e<$(($LENGTH/2)); e++ )); do + ROWS+=" "; + done + + if ! [ $(($e+$e)) -eq $LENGTH ]; then + ROWS+=" "; + fi; + else + ROWS+=${OLDROW[$d]}; + for (( e=0; e<$LENGTH; e++ )); do + ROWS+=" "; + done + fi + ROWS+="\Zn ]"; + else + if [ $d -gt 0 ] && [[ $TYPE == "radio" || $TYPE == "check" ]]; then + ROWS+="$DEFAULTDELIMITER"${OLDROW[$d]}"$DEFAULTDELIMITER"; + elif [ $c -gt 0 ] && [ $TYPE != "radio" ] && [ $TYPE != "check" ]; then + ROWS+="$DEFAULTDELIMITER"${OLDROW[$d]}"$DEFAULTDELIMITER"; + else + ROWS+=${OLDROW[$d]}"$DEFAULTDELIMITER"; + fi + fi + done + done +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/functions/packages b/usr/local/include/xbian-config/functions/packages new file mode 100755 index 000000000..fc05256aa --- /dev/null +++ b/usr/local/include/xbian-config/functions/packages @@ -0,0 +1,107 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see +# + +function updateAptMirrorsFn() { + if [ $(wget --spider http://apt.xbian.org/mirror.txt >/dev/null 1>/dev/null 2>/dev/null; echo $?) -eq 0 ]; then + URL=$APTBASE"mirror.txt" + wget -O - "$URL" > $BASEPATH/config/aptmirror 2>/dev/null + return 1; + else + return 0; + fi + +} + +function localPackageDBOutdatedFn() { + if [ -f "/var/lib/apt/periodic/update-success-stamp" ]; then + if [ $(find /var/lib/apt/periodic/update-success-stamp -mtime +7 | wc -l) -gt 0 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "/var/lib/apt/lists/apt.xbian.org*Packages" ]; then + if [ "$(md5sum /var/lib/apt/lists/apt.xbian.org*Packages | awk '{print $1}')" == "$(md5sum $BASEPATH/config/pkglist | awk '{print $1}')" ]; then + return 0; + else + return 1; + fi + else + return 1; + fi + else + return 0; + fi + else + return 1; + fi +} + +function downloadPackageListFn() { + RETURN=0; + if [ -f "$BASEPATH/config/aptmirror" ]; then + IFS=$'\n'; + MIRRORS=($(cat $BASEPATH/config/aptmirror)); + for MIRROR in ${MIRRORS[@]}; do + URL=$MIRROR"/dists/wheezy/main/binary-armhf/Packages" + if [ $(wget --spider $URL >/dev/null 1>/dev/null 2>/dev/null; echo $?) -eq 0 ]; then + wget -O - $URL > $BASEPATH/config/pkglist 2>/dev/null + RETURN=1; + break; + fi + done + IFS=$ORIGINALIFS; + fi + return $RETURN; +} + +#Retrieves the package version +# $1: Full name of the package +function getPackageVersionFn() { + dpkg-query -W -f='${Version}\n' "$1" 2>/dev/null +} + +function updateAptFn() { + apt-get update &>/tmp/aptstatus + if [ $? -eq 0 ]; then + return 1; + else + return 0; + fi +} + +function getAllPackagesForInstallFn() { + ALLPACKAGES=$(cat /tmp/aptstatus | awk '/upgraded:/ {flag=1;next} /upgraded/{flag=0} flag{print}' | sed 's/ *$//g' | sed 's/^ *//g' | sed ':a;N;$!ba;s/\n/ /g'); +} + +function getAptErrorCodeFn() { + if [ $(cat /tmp/aptstatus | grep "already the newest version" | wc -l) -eq 1 ]; then + return 1; + elif [ $(cat /tmp/aptstatus | grep "was not found" | wc -l) -eq 1 ]; then + return 2; + elif [ $(cat /tmp/aptstatus | grep "Unable to locate package" | wc -l) -eq 1 ]; then + return 3; + elif [ $(cat /tmp/aptstatus | grep "DOWNGRADED" | wc -l) -eq 1 ]; then + return 4; + elif [ $(cat /tmp/aptstatus | grep -i "size mismatch" | wc -l) -eq 1 ]; then + return 5; + elif [ $(cat /tmp/aptstatus | grep -i "returned an error code" | wc -l) -eq 1 ]; then + return 6; + elif [ $(cat /tmp/aptstatus | grep -i "impossible situation" | wc -l) -eq 1 ]; then + return 6; + else + return 0; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/functions/system b/usr/local/include/xbian-config/functions/system new file mode 100755 index 000000000..6067b2beb --- /dev/null +++ b/usr/local/include/xbian-config/functions/system @@ -0,0 +1,34 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Clear the systems memory +function clrMemCacheFn() { + echo 1 | sudo tee /proc/sys/vm/drop_caches >/dev/null +} + +# Clear the FS cache +function clrFSCacheFn() { + rm -rf /tmp/xbianpackages + rm -rf /tmp/xbiancache +} + +function askForRebootFn() { + ASKFORREBOOT=1; + echo 1 > /tmp/xbian-config-reboot +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/lang/de b/usr/local/include/xbian-config/lang/de new file mode 100755 index 000000000..04cc5c9d9 --- /dev/null +++ b/usr/local/include/xbian-config/lang/de @@ -0,0 +1,65 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Main Menu | +#|------------------------------------| +_TITLE="Konfiguration" +_REBOOTREQUIRED="Ein Neustart ist notwendig. Soll dieser jetzt durchgeführt werden?" + +#|------------------------------------| +#| Menu Items | +#|------------------------------------| +_ITEMSETTINGSNAME="Einstellungen" +_ITEMSETTINGSDESC="Konfiguration der Systemeinstellungen" +_ITEMSYSTEMNAME="System" +_ITEMSYSTEMDESC="u.a. Resize SD, Übertaktung, Hostname" +_ITEMACCOUNTSNAME="Konten" +_ITEMACCOUNTSDESC="Ändern von Kennwörtern, SSH root login" +_ITEMLICENSESNAME="Lizenzen" +_ITEMLICENSESDESC="Hinzufügen oder Entfernen von Lizenzen" +_ITEMCONNECTIVITYNAME="Ein- und Ausgabe" +_ITEMCONNECTIVITYDESC="z.B. Video Ausgabe" + +#|------------------------------------| +#| Dialogs | +#|------------------------------------| +_YES="Ja" +_NO="Nein" +_ON="An" +_OFF="Aus" +_INSERT="Einfügen" +_REMOVE="Entfernen" +_UPDATE="Aktualisieren" +_CANCEL="Abbruch" +_SELECT="Auswählen" +_RETURN="Zurück" +_ERROR="Ein Fehler ist aufgetreten" +_CLOSE="Schließen" +_CHANGE="Ändern" +_EXIT="Beenden" +_ENABLE="Aktivieren" +_DISABLE="Deaktivieren" +_PASSWORD="Kennwort:" +_CONFIRM="Bestätigen:" +_RETRY="Wiederholen" +_SPACEOPTIONSELECT="Drücke [Leertaste], um eine anderen Option auszuwählen" +_SPACECHECKSELECT="Drücke [Leertaste], um die Option zu de-/aktivieren" +_LOADING="Module werden geladen, bitte warten..." +_REQUIREDPACKAGES="Das Programm benötigt die folgenden Pakete:" \ No newline at end of file diff --git a/usr/local/include/xbian-config/lang/dk b/usr/local/include/xbian-config/lang/dk new file mode 100755 index 000000000..bf498bce7 --- /dev/null +++ b/usr/local/include/xbian-config/lang/dk @@ -0,0 +1,65 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Main Menu | +#|------------------------------------| +_TITLE="Konfiguration" +_REBOOTREQUIRED="Genstart er pÃ¥krævet. Ønsker du at genstarte nu?" + +#|------------------------------------| +#| Menu Items | +#|------------------------------------| +_ITEMSETTINGSNAME="Indstillinger" +_ITEMSETTINGSDESC="Rediger systemindstillinger" +_ITEMSYSTEMNAME="System" +_ITEMSYSTEMDESC="f.eks. Tilpas SD, Overclocking, Værtsnavn" +_ITEMACCOUNTSNAME="Konti" +_ITEMACCOUNTSDESC="e.g. Skift adgangskode, SSH root login" +_ITEMLICENSESNAME="Licenser" +_ITEMLICENSESDESC="Tilføj/Fjern hardwarelicenser" +_ITEMCONNECTIVITYNAME="Opkobling" +_ITEMCONNECTIVITYDESC="f.eks. Video-output" + +#|------------------------------------| +#| Dialogs | +#|------------------------------------| +_YES="Ja" +_NO="Nej" +_ON="Til" +_OFF="Fra" +_INSERT="Indsæt" +_REMOVE="Fjern" +_UPDATE="Opdater" +_CANCEL="Afbryd" +_SELECT="Vælg" +_RETURN="Tilbage" +_ERROR="Der opstod en uventet fejl" +_CLOSE="Luk" +_CHANGE="Skift" +_EXIT="Afslut" +_ENABLE="Aktiver" +_DISABLE="Deaktiver" +_PASSWORD="Adgangskode:" +_CONFIRM="Bekræft:" +_RETRY="Forsøg igen" +_SPACEOPTIONSELECT="Tryk [space] for at ændre valgmulighed" +_SPACECHECKSELECT="Tryk [space] for at de-/aktivere valgmulighed" +_LOADING="Indlæser modul. Vent venligst..." +_REQUIREDPACKAGES="Dette program kræver følgende pakker:" \ No newline at end of file diff --git a/usr/local/include/xbian-config/lang/en b/usr/local/include/xbian-config/lang/en new file mode 100755 index 000000000..f69368c1e --- /dev/null +++ b/usr/local/include/xbian-config/lang/en @@ -0,0 +1,65 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Main Menu | +#|------------------------------------| +_TITLE="Config" +_REBOOTREQUIRED="A reboot is required. Do you want to reboot now?" + +#|------------------------------------| +#| Menu Items | +#|------------------------------------| +_ITEMSETTINGSNAME="Settings" +_ITEMSETTINGSDESC="Change various system settings" +_ITEMSYSTEMNAME="System" +_ITEMSYSTEMDESC="e.g. Resize SD, Overclocking, Hostname" +_ITEMACCOUNTSNAME="Accounts" +_ITEMACCOUNTSDESC="e.g. Change passwords, SSH root login" +_ITEMLICENSESNAME="Licenses" +_ITEMLICENSESDESC="Add/Remove hardware licenses" +_ITEMCONNECTIVITYNAME="Connectivity" +_ITEMCONNECTIVITYDESC="e.g. Video output" + +#|------------------------------------| +#| Dialogs | +#|------------------------------------| +_YES="Yes" +_NO="No" +_ON="On" +_OFF="Off" +_INSERT="Insert" +_REMOVE="Remove" +_UPDATE="Update" +_CANCEL="Cancel" +_SELECT="Select" +_RETURN="Return" +_ERROR="An unexpected error occurred" +_CLOSE="Close" +_CHANGE="Change" +_EXIT="Exit" +_ENABLE="Enable" +_DISABLE="Disable" +_PASSWORD="Password:" +_CONFIRM="Confirm:" +_RETRY="Retry" +_SPACEOPTIONSELECT="Press [space] to select a different option" +_SPACECHECKSELECT="Press [space] to enable or disable an option" +_LOADING="Loading module. Please wait..." +_REQUIREDPACKAGES="This program requires the following packages:" \ No newline at end of file diff --git a/usr/local/include/xbian-config/lang/es b/usr/local/include/xbian-config/lang/es new file mode 100755 index 000000000..a4e935cb1 --- /dev/null +++ b/usr/local/include/xbian-config/lang/es @@ -0,0 +1,64 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Main Menu | +#|------------------------------------| +_TITLE="Configuración" +_REBOOTREQUIRED="Se necesita reinicar, ¿quieres reinicar ahora?" + +#|------------------------------------| +#| Menu Items | +#|------------------------------------| +_ITEMSETTINGSNAME="Ajustes" +_ITEMSETTINGSDESC="Cambiar ajustes del sistema" +_ITEMSYSTEMNAME="Sistema" +_ITEMSYSTEMDESC="Ej. Cambiar tamaño SD, Overclocking" +_ITEMACCOUNTSNAME="Cuentas" +_ITEMACCOUNTSDESC="Ej. Cambiar contraseña, conexión SSH" +_ITEMLICENSESNAME="Licencias" +_ITEMLICENSESDESC="Añadir/Quitar licencias de hardware" +_ITEMCONNECTIVITYNAME="Conectividad" +_ITEMCONNECTIVITYDESC="Ej. salidas de video" + +#|------------------------------------| +#| Dialogs | +#|------------------------------------| +_YES="Si" +_NO="No" +_ON="Encender" +_OFF="Apagar" +_INSERT="Insertar" +_REMOVE="Eliminar" +_UPDATE="Actualizar" +_CANCEL="Cancelar" +_SELECT="Seleccionar" +_RETURN="Volver" +_ERROR="Un error inesperado ha ocurrido" +_CLOSE="Cerrar" +_CHANGE="Cambiar" +_EXIT="Salir" +_ENABLE="Activar" +_DISABLE="Desactivar" +_PASSWORD="Contraseña:" +_CONFIRM="Confirmar:" +_RETRY="Reintentar" +_SPACEOPTIONSELECT="Presiona [espacio] para seleccionar otra opción" +_SPACECHECKSELECT="Presiona [espacio] para activar o desactivar una opción" +_LOADING="Cargándo módulos. Por favor espere..." \ No newline at end of file diff --git a/usr/local/include/xbian-config/lang/fr b/usr/local/include/xbian-config/lang/fr new file mode 100755 index 000000000..91a904445 --- /dev/null +++ b/usr/local/include/xbian-config/lang/fr @@ -0,0 +1,65 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Main Menu | +#|------------------------------------| +_TITLE="Config" +_REBOOTREQUIRED="Un redémarrage est nécessaire, voulez vous redémarrer maintenant?" + +#|------------------------------------| +#| Menu Items | +#|------------------------------------| +_ITEMSETTINGSNAME="Paramètres" +_ITEMSETTINGSDESC="Modifier les paramètres systèmes" +_ITEMSYSTEMNAME="Système" +_ITEMSYSTEMDESC="ex. Redimensionner carte SD, overclocking" +_ITEMACCOUNTSNAME="Comptes" +_ITEMACCOUNTSDESC="ex. Modifier les mots de passe, SSH root" +_ITEMLICENSESNAME="Licenses" +_ITEMLICENSESDESC="Ajouter/Supprimer les licenses matérielles" +_ITEMCONNECTIVITYNAME="Connectivitée" +_ITEMCONNECTIVITYDESC="e.g. Sortie vidéo" + +#|------------------------------------| +#| Dialogs | +#|------------------------------------| +_YES="Oui" +_NO="Non" +_ON="On" +_OFF="Off" +_INSERT="Insérer" +_REMOVE="Supprimer" +_UPDATE="Mettre à jour" +_CANCEL="Annuler" +_SELECT="Selectionner" +_RETURN="Retour" +_ERROR="Une erreur inattendue est survenue" +_CLOSE="Fermer" +_CHANGE="Modifier" +_EXIT="Quitter" +_ENABLE="Activer" +_DISABLE="Désactiver" +_PASSWORD="Mot de passe:" +_CONFIRM="Confirmation:" +_RETRY="Réessayer" +_SPACEOPTIONSELECT="Appuyer [espace] pour sélectionner les différentes options" +_SPACECHECKSELECT="Appuyer [espace] pour activer ou désactiver une option" +_LOADING="Chargement des modules, veuillez patienter..." +_REQUIREDPACKAGES="Ce programme requiert les paquets suivants:" diff --git a/usr/local/include/xbian-config/lang/nl b/usr/local/include/xbian-config/lang/nl new file mode 100755 index 000000000..2791dbae9 --- /dev/null +++ b/usr/local/include/xbian-config/lang/nl @@ -0,0 +1,65 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Main Menu | +#|------------------------------------| +_TITLE="Config" +_REBOOTREQUIRED="Een herstart is vereist. Wilt u nu herstarten?" + +#|------------------------------------| +#| Menu Items | +#|------------------------------------| +_ITEMSETTINGSNAME="Instellingen" +_ITEMSETTINGSDESC="Verander systeem instellingen" +_ITEMSYSTEMNAME="Systeem" +_ITEMSYSTEMDESC="e.g. Vul SD, Overclocking, Systeemnaam" +_ITEMACCOUNTSNAME="Accounts" +_ITEMACCOUNTSDESC="e.g. Verander wachtwoorden, SSH root" +_ITEMLICENSESNAME="Licenties" +_ITEMLICENSESDESC="Voeg toe/verwijder hardware licenties" +_ITEMCONNECTIVITYNAME="Connectiviteit" +_ITEMCONNECTIVITYDESC="e.g. Video uitvoer" + +#|------------------------------------| +#| Dialogs | +#|------------------------------------| +_YES="Ja" +_NO="Nee" +_ON="Aan" +_OFF="Uit" +_INSERT="Invoegen" +_REMOVE="Verwijderen" +_UPDATE="Bijwerken" +_CANCEL="Annuleren" +_SELECT="Selecteren" +_RETURN="Terugkeren" +_ERROR="Er is een onverwachte fout opgetreden" +_CLOSE="Sluiten" +_CHANGE="Veranderen" +_EXIT="Afsluiten" +_ENABLE="Aanzetten" +_DISABLE="Uitzetten" +_PASSWORD="Wachtwoord:" +_CONFIRM="Herhaal:" +_RETRY="Opnieuw" +_SPACEOPTIONSELECT="Druk op [spatie] om een andere optie te selecteren" +_SPACECHECKSELECT="Druk op [spatie] om een optie aan of uit te zetten" +_LOADING="De module is aan het laden. Een ogenblik geduld..." +_REQUIREDPACKAGES="Dit programma vereist de volgende paketten:" \ No newline at end of file diff --git a/usr/local/include/xbian-config/lang/ru b/usr/local/include/xbian-config/lang/ru new file mode 100755 index 000000000..87b290b08 --- /dev/null +++ b/usr/local/include/xbian-config/lang/ru @@ -0,0 +1,65 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Main Menu | +#|------------------------------------| +_TITLE="Параметры" +_REBOOTREQUIRED="ТребуетÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°. Перезагрузить ÑейчаÑ?" + +#|------------------------------------| +#| Menu Items | +#|------------------------------------| +_ITEMSETTINGSNAME="ÐаÑтройки" +_ITEMSETTINGSDESC="Изменение различных наÑтроек ÑиÑтемы" +_ITEMSYSTEMNAME="СиÑтема" +_ITEMSYSTEMDESC="напр. заполнение SD, разгон, Hostname" +_ITEMACCOUNTSNAME="Ðккаунты" +_ITEMACCOUNTSDESC="напр. Ñмена паролей, вход root по SSH" +_ITEMLICENSESNAME="Лицензии" +_ITEMLICENSESDESC="Управление лицензиÑми" +_ITEMCONNECTIVITYNAME="Connectivity" +_ITEMCONNECTIVITYDESC="напр. видеовыход" + +#|------------------------------------| +#| Dialogs | +#|------------------------------------| +_YES="Да" +_NO="Ðет" +_ON="Вкл" +_OFF="Выкл" +_INSERT="Insert" +_REMOVE="Remove" +_UPDATE="Update" +_CANCEL="Отмена" +_SELECT="Выбор" +_RETURN="Ðазад" +_ERROR="ÐÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" +_CLOSE="Закрыть" +_CHANGE="Change" +_EXIT="Выход" +_ENABLE="Enable" +_DISABLE="Disable" +_PASSWORD="Пароль:" +_CONFIRM="Подтвержд.:" +_RETRY="Retry" +_SPACEOPTIONSELECT="Ðажмите [space] чтобы выбрать другой пункт" +_SPACECHECKSELECT="Ðажмите [space] выбрать или ÑнÑть выбор" +_LOADING="Загрузка модулей, ждите..." +_REQUIREDPACKAGES="Этой программе необходимы Ñледующие пакеты:" \ No newline at end of file diff --git a/usr/local/include/xbian-config/lang/sk b/usr/local/include/xbian-config/lang/sk new file mode 100755 index 000000000..7d9c366d7 --- /dev/null +++ b/usr/local/include/xbian-config/lang/sk @@ -0,0 +1,65 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Main Menu | +#|------------------------------------| +_TITLE="Config" +_REBOOTREQUIRED="Je potrebný reÅ¡tart. ChceÅ¡ reÅ¡tartovaÅ¥ teraz?" + +#|------------------------------------| +#| Menu Items | +#|------------------------------------| +_ITEMSETTINGSNAME="Nadstavenia" +_ITEMSETTINGSDESC="Zmena rôznych systémových nadstavení" +_ITEMSYSTEMNAME="Systém" +_ITEMSYSTEMDESC="napr. Pretaktovanie, Hostname" +_ITEMACCOUNTSNAME="ÚÄty" +_ITEMACCOUNTSDESC="napr. zmena hesla, SSH root prihlásenie" +_ITEMLICENSESNAME="Licencie" +_ITEMLICENSESDESC="Pridaj/Odsráň licencie" +_ITEMCONNECTIVITYNAME="Pripojenia" +_ITEMCONNECTIVITYDESC="napr. Video výstup" + +#|------------------------------------| +#| Dialogs | +#|------------------------------------| +_YES="Ãno" +_NO="Nie" +_ON="Zapnúť" +_OFF="Vypnúť" +_INSERT="VložiÅ¥" +_REMOVE="OdstrániÅ¥" +_UPDATE="AktualizovaÅ¥" +_CANCEL="ZruÅ¡iÅ¥" +_SELECT="VybraÅ¥" +_RETURN="Návrat" +_ERROR="Veskytla sa neoÄakávaná chyba" +_CLOSE="ZatvoriÅ¥" +_CHANGE="ZmeniÅ¥" +_EXIT="Exit" +_ENABLE="AktivovaÅ¥" +_DISABLE="DeaktivovaÅ¥" +_PASSWORD="Heslo:" +_CONFIRM="PotvrdiÅ¥:" +_RETRY="Zopakuj" +_SPACEOPTIONSELECT="StlaÄ [medzerník] pre výber inej možnosti" +_SPACECHECKSELECT="StlaÄ [medzerník] pre aktiváciu-deaktiváciu možnosti" +_LOADING="Nahrávam modul. Prosím ÄakaÅ¥..." +_REQUIREDPACKAGES="Tento program potrebuje nasledovné balíky:" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/dialogs b/usr/local/include/xbian-config/modules/hostname/dialogs new file mode 100755 index 000000000..09beaa101 --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/dialogs @@ -0,0 +1,37 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows the dialog in which users can enter the new hostname +# $1 [string] Current Hostname +# Returns +# $? [Integer] +# - 1: Change +# - 0: Cancel +function showHostnameInputDlg() { + showInputDlg "$_HOSTNAME:" $1 +} + +#Shows hostname successfully changed dialog +function showHostnameSuccessDlg() { + wrapTxtFn "$_HOSTNAMECHANGED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" + return $?; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/functions b/usr/local/include/xbian-config/modules/hostname/functions new file mode 100755 index 000000000..4ba78de40 --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/functions @@ -0,0 +1,45 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Get the current hostname +# $1 [Container] Hostname +# Returns +# $HOSTNAME [String] +function getCurrentHostnameFn() { + HOSTNAME=$(cat /etc/hostname); + eval "$1=$HOSTNAME"; +} + +# Get the current hostname +# $1 [String] New hostname +# $2 [String] Old hostname +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function setHostnameFn() { + echo "$1" > /etc/hostname + hostname $1 + eval "sed -i 's/$2/$1/g' /etc/hosts"; + if [ $(hostname) == $1 ]; then + return 1; + else + return 0; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/lang/de b/usr/local/include/xbian-config/modules/hostname/lang/de new file mode 100755 index 000000000..2cf81177b --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/lang/de @@ -0,0 +1,23 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Hostname" +_DESC="Hostname ändern" +_HOSTNAME="Hostname" +_HOSTNAMECHANGED="Der Hostname wurde erfolgreich geändert" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/lang/dk b/usr/local/include/xbian-config/modules/hostname/lang/dk new file mode 100755 index 000000000..b910344e9 --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/lang/dk @@ -0,0 +1,23 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Værtsnavn" +_DESC="Skift værtsnavn" +_HOSTNAME="Værtsnavn" +_HOSTNAMECHANGED="Værtsnavnet blev ændret" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/lang/en b/usr/local/include/xbian-config/modules/hostname/lang/en new file mode 100755 index 000000000..ae527ff71 --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/lang/en @@ -0,0 +1,23 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Hostname" +_DESC="Change the default hostname" +_HOSTNAME="Hostname" +_HOSTNAMECHANGED="Hostname successfully changed" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/lang/es b/usr/local/include/xbian-config/modules/hostname/lang/es new file mode 100755 index 000000000..22d7b81d3 --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/lang/es @@ -0,0 +1,23 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Nombre del Host" +_DESC="Cambiar el nombre del host" +_HOSTNAME="Nombre del host" +_HOSTNAMECHANGED="Nombre del host cambiado con exito" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/lang/fr b/usr/local/include/xbian-config/modules/hostname/lang/fr new file mode 100755 index 000000000..0d47fcc38 --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/lang/fr @@ -0,0 +1,23 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Nom d'hôte" +_DESC="Changer le nom d'hôte par defaut" +_HOSTNAME="Nom d'hôte" +_HOSTNAMECHANGED="Nom d'hôte correctement modifié" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/lang/nl b/usr/local/include/xbian-config/modules/hostname/lang/nl new file mode 100755 index 000000000..28d67d624 --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/lang/nl @@ -0,0 +1,23 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Systeemnaam" +_DESC="Verander de standaard systeennaam" +_HOSTNAME="Systeemnaam"; +_HOSTNAMECHANGED="Systeemnaam succesvol veranderd" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/lang/ru b/usr/local/include/xbian-config/modules/hostname/lang/ru new file mode 100755 index 000000000..5c3685301 --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/lang/ru @@ -0,0 +1,23 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Hostname" +_DESC="Изменение имени хоÑта" +_HOSTNAME="ИмÑ" +_HOSTNAMECHANGED="Ð˜Ð¼Ñ Ñ…Ð¾Ñта уÑпешно изменено" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/lang/sk b/usr/local/include/xbian-config/modules/hostname/lang/sk new file mode 100755 index 000000000..918da5fcb --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/lang/sk @@ -0,0 +1,23 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Hostname" +_DESC="ZmeniÅ¥ prednadstavené hostname" +_HOSTNAME="Hostname" +_HOSTNAMECHANGED="Hostname úspeÅ¡ne zmenené" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/hostname/main b/usr/local/include/xbian-config/modules/hostname/main new file mode 100755 index 000000000..e7b58dbfd --- /dev/null +++ b/usr/local/include/xbian-config/modules/hostname/main @@ -0,0 +1,84 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(select update); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/hostname/functions +source $BASEPATH/modules/hostname/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + getCurrentHostnameFn HOSTNAME + CURRENTHOSTNAME=$HOSTNAME; + showHostnameInputDlg $CURRENTHOSTNAME; + + CODE=$? + if [ $CODE -eq 1 ] || [ $CODE -eq 0 ]; then + if [ ! -z $RETURN ]; then + setHostnameFn $RETURN $CURRENTHOSTNAME + if [ $? -eq 1 ]; then + showHostnameSuccessDlg; + askForRebootFn; + else + showErrorDlg; + fi + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 Hostname [String] +# Returns +# *Select [String] +# - Hostname +# *Update [Integer] +# - 1: Success +# - 0: Failed +function showCMDFn() { + case $1 in + "select") + getCurrentHostnameFn HOSTNAME; + echo $HOSTNAME; + ;; + "update") + shift; + if [ $# -eq 1 ]; then + getCurrentHostnameFn HOSTNAME + setHostnameFn $1 $HOSTNAME; + echo $?; + else + echo 0; + fi + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/information/lang/de b/usr/local/include/xbian-config/modules/information/lang/de new file mode 100755 index 000000000..ec169d1fc --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/lang/de @@ -0,0 +1,22 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Informationen" +_DESC="Allgemeine Informationen zum Tool" +_INFORMATION="XBian ist eine freie Open-Source Media Anwendung für den Raspberry Pi und kann über http://www.xbian.org heruntergeladen werden. Unser Slogan ist \"XBMC on Raspberry Pi, bleeding edge\" und wir möchten die schnellste und beste Mediacenter Anwendung für den Raspberry Pi bereitstellen. Jeder kann helfen XBian weiter zu verbessern! Für weitere Fragen, Meinungen, Vorschläge oder Supportanfragen gehe bitte auf unsere Homepage und nutze das Forum, das Wiki oder die FAQ-Liste. Viel Spaß!" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/information/lang/dk b/usr/local/include/xbian-config/modules/information/lang/dk new file mode 100755 index 000000000..e7167da08 --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/lang/dk @@ -0,0 +1,22 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Oplysninger" +_DESC="Oplysninger om denne distribution" +_INFORMATION="XBian er en fri, Open Source medie center distribution for Raspberry Pi, som kan hentes fra http://www.xbian.org. Vores slogan er \"XBMC on Raspberry Pi, bleeding edge\" da vores primære fokus ligger pÃ¥ levering af den hurtigste mediecenterløsning til Raspberry Pi. Vi er overbeviste om at alle kan bidrage til at gøre XBian bedre. Besøg venligst vores hjemmeside for fÃ¥ hjælp eller komme med forslag, ønsker eller bidrag, del endelig disse med os!" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/information/lang/en b/usr/local/include/xbian-config/modules/information/lang/en new file mode 100755 index 000000000..ef861b730 --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/lang/en @@ -0,0 +1,22 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Information" +_DESC="Information about this distribution" +_INFORMATION="XBian is a free, Open Source media center distribution for the Raspberry Pi, which can be downloaded at http://www.xbian.org. Our slogan is \"XBMC on Raspberry Pi, bleeding edge\" as our main focus is delivering the fastest mediacenter solution for the Raspberry Pi. We believe that everyone can help make XBian better. Please visit our website for support and if you have suggestions, wishes or contributions, please share them with us!" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/information/lang/es b/usr/local/include/xbian-config/modules/information/lang/es new file mode 100755 index 000000000..964507139 --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/lang/es @@ -0,0 +1,22 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Información" +_DESC="Información sobre esta herramienta" +_INFORMATION="XBian es un software de código abierto, gratuito, que provee al Rapberry Pi de una distribución que funcione como mediacenter y puede ser descargado desde http://www.xbian.org. Nuestro eslogan es \"XBMC en Raspberry Pi, a la vanguardia\", centrándonos en desarrollar el mediacenter más rápido para Raspberry Pi. Creemos que todo el mundo puede ayudar a hacer XBian mejor. Por favor visita nuestra página web para apoyarnos y si tienes alguna sugerencia, deseo o contribución, por favor ¡compártela con nosotros!" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/information/lang/fr b/usr/local/include/xbian-config/modules/information/lang/fr new file mode 100755 index 000000000..1c386b645 --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/lang/fr @@ -0,0 +1,22 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Information" +_DESC="Information à propos de cet outil" +_INFORMATION="XBian est un media center Open Source et gratuit pour le Raspberry Pi. Il peut être télécharger à l'adresse http://www.xbian.org. Notre slogan est \"XBMC on Raspberry Pi, bleeding edge\", notre objectif étant de délivrer un media center rapide et complet pour le Raspberry Pi. Nous pensons que tout le monde peut rendre XBian meilleur. Visitez Notre site web pour tout support. Si vous avez des suggestions, souhaits, ou contribution, partagez les avec nous!" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/information/lang/nl b/usr/local/include/xbian-config/modules/information/lang/nl new file mode 100755 index 000000000..6a20bed20 --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/lang/nl @@ -0,0 +1,22 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Informatie" +_DESC="Informatie over dit besturingssysteem" +_INFORMATION="XBian is een gratis, Open Source media center besturingssysteem voor de Raspberry Pi, dat gedownload kan worden op http://www.xbian.org. Onze slogan is \"XBMC on Raspberry Pi, bleeding edge\" aangezien onze voornamelijke focus ligt in het leveren van de snelste media center voor Raspberry Pi. Wij geloven dat iedereen XBian beter kan maken. Bezoek onze website voor ondersteuning en als je vragen, suggesties of wensen hebt, deel ze met ons!" diff --git a/usr/local/include/xbian-config/modules/information/lang/ru b/usr/local/include/xbian-config/modules/information/lang/ru new file mode 100755 index 000000000..5bffc7359 --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/lang/ru @@ -0,0 +1,22 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="ИнформациÑ" +_DESC="Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ программе" +_INFORMATION="XBian Ñто беÑплатный, открытый (Open Source) медиа-центр Ð´Ð»Ñ Raspberry Pi, который может быть загружен Ñ http://www.xbian.org. Ðаш Ñлоган \"XBMC on Raspberry Pi, bleeding edge\" отражает нашу главную цель - разработку быÑтрейшего медиацентра Ð´Ð»Ñ Raspberry Pi. Мы верим, что каждый может помочь Ñделать XBian лучше. ПожалуйÑта, поÑетите наш Ñайт еÑли вам нужна помощь или еÑли у Ð²Ð°Ñ ÐµÑть пожеланиÑ, Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ вы хотите приÑоединитьÑÑ Ðº разработчикам, ÑвÑжитеÑÑŒ Ñ Ð½Ð°Ð¼Ð¸!" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/information/lang/sk b/usr/local/include/xbian-config/modules/information/lang/sk new file mode 100755 index 000000000..de0226a01 --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/lang/sk @@ -0,0 +1,22 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Informácia" +_DESC="Informácia o tejto aplikácii" +_INFORMATION="XBian je voľne šíriteľný, bezplatný \"Open Source\" média centrum softvér pre Raspberry Pi a je dostupný na prebratie z http://www.xbian.org. Náš slogan je \"XBMC na Raspberry Pi, drsne dobrý\" pretože naším cieľom je poskytnúť najrýchlejÅ¡ie média centrum pre Raspberry Pi. Taktiež veríme, že každý môže pomôcÅ¥ urobiÅ¥ XBian eÅ¡te lepším. Prosím, navÅ¡tívte naÅ¡u stránku kde nájdete podporu a taktiež môžete písaÅ¥ návrhy, priania a prÅ›pevky. Prosím neváhajte sa podeliÅ¥ o Äokoľvek!" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/information/main b/usr/local/include/xbian-config/modules/information/main new file mode 100755 index 000000000..f51a586db --- /dev/null +++ b/usr/local/include/xbian-config/modules/information/main @@ -0,0 +1,45 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + wrapTxtFn "$_INFORMATION" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +function showCMDFn() { + echo; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/dialogs b/usr/local/include/xbian-config/modules/kernel/dialogs new file mode 100755 index 000000000..f5ff1277d --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/dialogs @@ -0,0 +1,57 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows a radio with available kernel versions +# Returns +# $? [Integer] +# - 1: Change +# - 0: Cancel +function showKernelVersionsDlg() { + TBLCOLUMNCENTER=0; + createTableFn "radio" \ + "#,\Zb$_KERNELVERSION"\ + "${KERNELMENU[@]}" + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+8)) + showRadioDlg "$CENTEREDTXT" "$ROWS" ${#KERNELMENU[@]} $((${#KERNELMENU[@]}+9)) +} + +# Show the kernel has successfully switched message +function showKernelSwitchedSuccesfullDlg() { + wrapTxtFn "$_KERNELSWITCHSUCCESS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" +} + +# Show the kernel version is already running message +function showKernelAlreadyRunningDlg() { + wrapTxtFn "$_KERNELALREADYRUNNING" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" +} + +# Show the only one kernel installed message +function showKernelSingleInstalledDlg() { + wrapTxtFn "$_SINGLEKERNELINSTALLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/functions b/usr/local/include/xbian-config/modules/kernel/functions new file mode 100755 index 000000000..2c7fbbc4e --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/functions @@ -0,0 +1,111 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Get the current file list of installed kernels +# Returns +# - $KERNELS [Array] +function getInstalledKernelsFn() { + KERNELS=($(ls -Al /boot/*.img | awk '{print $9}' | grep -iv kernel.img)); + return ${#KERNELS[@]}; +} + +# Get the current version list of installed kernels +# Returns +# - $KERNELV [Array] +function getInstalledKernelVersionsFn() { + KERNELS=($(ls -Al /boot/*.img | awk '{print $9}' | grep -iv kernel.img)); + KERNELV=(); + for VALUE in ${KERNELS[@]}; do + KERNEL=${VALUE##*/}; + KERNEL=${KERNEL%.*}; + KERNEL=$(echo $KERNEL | sed -e 's/kernel//g' | sed -e 's/\_/./g'); + KERNELV+=($KERNEL); + done +} + +# Get the current kernel version +# Returns +# - $CURRENTKERNEL [String] +function getCurrentKernelVersionFn() { + CKERNEL=$(ls -Al /boot/kernel.img | awk '{print $5}'); + NKERNEL=$(ls -Al /boot/*.img | grep -w $CKERNEL | awk '{print $9}' | grep -iv kernel.img); + if [ -z $NKERNEL ]; then + CURRENTKERNEL=$(uname -r | sed -e 's/+//g'); + else + NKERNEL=${NKERNEL##*/}; + NKERNEL=${NKERNEL%.*}; + CURRENTKERNEL=$(echo $NKERNEL | sed -e 's/kernel//g' | sed -e 's/\_/./g'); + fi +} + +# Change the current kernel version +# $1 [Integer] Array index of new kernel +# Returns +# - 0: Failed +# - 1: Success +# - 2: Already running this kernel version +# - 3: Kernel version isn't installed +function setKernelVersionFn() { + KERNEL=$1; + + NKERNEL=$(ls -Al $KERNEL | awk '{print $5}'); + CKERNEL=$(ls -Al /boot/kernel.img | awk '{print $5}'); + if [ $NKERNEL -eq $CKERNEL ]; then + return 2; + else + if [ -f $KERNEL ]; then + cp $KERNEL /boot/kernel.img + getCurrentKernelVersionFn; + KERNEL=${KERNEL##*/}; + KERNEL=${KERNEL%.*}; + KERNEL=$(echo $KERNEL | sed -e 's/kernel//g' | sed -e 's/\_/./g') + if [ $KERNEL == $CURRENTKERNEL ]; then + return 1; + else + return 0; + fi + else + return 3; + fi + fi +} + +# Parse the overclock values in a menu structure +# $1 [Array] Current kernel version +# $2 [Array] Installed kernels +# Returns +# $KERNELMENU [Array] +# - * Rows of the kernel menu +function createKernelsMenu() { + CURRENTKERNEL=$1; + KERNELS=$2; + KERNELMENU=() + I=0; + for VALUE in ${KERNELS[@]}; do + I=$(($I+1)); + VALUE=${VALUE##*/}; + VALUE=${VALUE%.*}; + VALUE=$(echo $VALUE | sed -e 's/kernel//g' | sed -e 's/\_/./g'); + if [ $CURRENTKERNEL == $VALUE ]; then + KERNELMENU+=($I",\Zn"$VALUE",on"); + else + KERNELMENU+=($I",\Zn"$VALUE",off"); + fi + done; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/lang/de b/usr/local/include/xbian-config/modules/kernel/lang/de new file mode 100755 index 000000000..c97921650 --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/lang/de @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Kernel" +_DESC="Wechsle zw. den installierten Kernels" +_KERNELVERSION="Version" +_KERNELSWITCHSUCCESS="Der Kernel wurde erfolgreich ausgetauscht" +_KERNELALREADYRUNNING="Der Kernel wird bereits verwendet" +_SINGLEKERNELINSTALLED="Es ist nur ein Kernel installiert" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/lang/dk b/usr/local/include/xbian-config/modules/kernel/lang/dk new file mode 100755 index 000000000..a3ee1f14b --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/lang/dk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Kerne" +_DESC="Skift mellem installerede kerner" +_KERNELVERSION="Version" +_KERNELSWITCHSUCCESS="Skift af kerne-version lykkedes" +_KERNELALREADYRUNNING="Du bruger allerede denne kerne-version" +_SINGLEKERNELINSTALLED="Der er kun en kerne installeret" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/lang/en b/usr/local/include/xbian-config/modules/kernel/lang/en new file mode 100755 index 000000000..ef9d1439a --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/lang/en @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Kernel" +_DESC="Switch between installed kernels" +_KERNELVERSION="Version" +_KERNELSWITCHSUCCESS="Successfully switched kernel versions" +_KERNELALREADYRUNNING="You're already running this kernel version" +_SINGLEKERNELINSTALLED="There is only one kernel installed" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/lang/es b/usr/local/include/xbian-config/modules/kernel/lang/es new file mode 100755 index 000000000..374dc20e5 --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/lang/es @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Kernel" +_DESC="Seleccione uno de los kernels" +_KERNELVERSION="Version" +_KERNELSWITCHSUCCESS="Eleccion del kernel completada con exito" +_KERNELALREADYRUNNING="Ya estas usando esta version del kernel" +_SINGLEKERNELINSTALLED="Solo hay un kernel instalado" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/lang/fr b/usr/local/include/xbian-config/modules/kernel/lang/fr new file mode 100755 index 000000000..7292fcac9 --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/lang/fr @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Kernel" +_DESC="Sélectionner un kernel installé" +_KERNELVERSION="Version" +_KERNELSWITCHSUCCESS="Version du kernel correctement changée" +_KERNELALREADYRUNNING="Vous utilisez déja cette version de kernel" +_SINGLEKERNELINSTALLED="Il n'y a qu'un kernel installé" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/lang/nl b/usr/local/include/xbian-config/modules/kernel/lang/nl new file mode 100755 index 000000000..4153e944d --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/lang/nl @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Kernel" +_DESC="Wissel tussen geïnstalleerde kernels" +_KERNELVERSION="Versie" +_KERNELSWITCHSUCCESS="Succesvol gewisseld van kernel versie" +_KERNELALREADYRUNNING="U draait al op deze kernel versie" +_SINGLEKERNELINSTALLED="Er is maar één kernel geïnstalleerd" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/lang/ru b/usr/local/include/xbian-config/modules/kernel/lang/ru new file mode 100755 index 000000000..c25730da9 --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/lang/ru @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Ядро" +_DESC="Переключение между уÑтановленными Ñдрами" +_KERNELVERSION="ВерÑиÑ" +_KERNELSWITCHSUCCESS="ВерÑÐ¸Ñ Ñдра уÑпешно изменена" +_KERNELALREADYRUNNING="Это Ñдро уже иÑпользуетÑÑ" +_SINGLEKERNELINSTALLED="УÑтановлено только одно Ñдро" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/lang/sk b/usr/local/include/xbian-config/modules/kernel/lang/sk new file mode 100755 index 000000000..8b28ade24 --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/lang/sk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Kernel" +_DESC="Voľba medzi nainÅ¡talovanými kernelmi" +_KERNELVERSION="Verzia" +_KERNELSWITCHSUCCESS="Verzia kernelu úspeÅ¡ne zmenená" +_KERNELALREADYRUNNING="Táto verzia kernelu je momentálne používaná" +_SINGLEKERNELINSTALLED="Iba jedna verzia kernelu je dostupná" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/kernel/main b/usr/local/include/xbian-config/modules/kernel/main new file mode 100755 index 000000000..f2ee43fca --- /dev/null +++ b/usr/local/include/xbian-config/modules/kernel/main @@ -0,0 +1,123 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(select update list); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/kernel/functions +source $BASEPATH/modules/kernel/dialogs +source $BASEPATH/functions/array + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + getInstalledKernelsFn; + if [ $? -gt 1 ]; then + getCurrentKernelVersionFn; + createKernelsMenu $CURRENTKERNEL "${KERNELS[@]}"; + showKernelVersionsDlg; + if [ $? -eq 0 ]; then + setKernelVersionFn "${KERNELS[$(($RETURN-1))]}" + RETURN=$?; + if [ $RETURN -eq 1 ]; then + showKernelSwitchedSuccesfullDlg; + askForRebootFn; + elif [ $RETURN -eq 2 ]; then + showKernelAlreadyRunningDlg; + else + showErrorDlg; + fi + fi + else + showKernelSingleInstalledDlg; + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 Version [String] +# Returns +# *Update [Integer] +# - 1: Success +# - 0: Failed +# - -1: Wrong number of arguments +# - -2: Kernel already running +# - -3: Kernel version doesn't exist +# *Select [String] +# - * Current kernel version +# *List [Array] +# - * Installed kernel versions +function showCMDFn() { + case $1 in + "select") + getCurrentKernelVersionFn; + echo $CURRENTKERNEL; + ;; + "update") + shift; + if [ $# -eq 1 ]; then + getInstalledKernelsFn; + VERSION=$(echo $1 | sed -e 's/\./\_/g'); + if [ -f "/boot/kernel$VERSION.img" ]; then + searchArrayFn "/boot/kernel$VERSION.img" "${KERNELS[@]}" + RETURN=$? + setKernelVersionFn ${KERNELS[$RETURN]}; + RETURN=$? + if [ $RETURN -eq 2 ]; then + echo -2; + elif [ $RETURN -eq 1 ]; then + askForRebootFn; + echo 1; + elif [ $RETURN -eq 3 ]; then + echo -3; + else + echo 0; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + "list") + shift; + getInstalledKernelVersionsFn; + if [ ${#KERNELV[@]} -gt 0 ]; then + for VALUE in ${KERNELV[@]}; do + echo $VALUE; + done + else + getCurrentKernelVersionFn; + echo $CURRENTKERNEL; + fi + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/dialogs b/usr/local/include/xbian-config/modules/licensempg2/dialogs new file mode 100755 index 000000000..1ce9c415b --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/dialogs @@ -0,0 +1,63 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows the dialog in which users can enter the mpg2 license +# $1 [string] Current License +# Returns +# $? [Integer] +# - 1: Change +# - 0: Cancel +function showLicenseMPG2InputDlg() { + showInputDlg "$_MPG2LICENSE:" $1 +} + +#Shows the license successfully inserted dialog +function showLicenseMPG2InsertedDlg() { + wrapTxtFn "$_MPG2INSERTED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" + return $?; +} + +#Shows the license successfully updated dialog +function showLicenseMPG2UpdatedDlg() { + wrapTxtFn "$_MPG2UPDATED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" + return $?; +} + +#Shows the license successfully removed dialog +function showLicenseMPG2DeletedDlg() { + wrapTxtFn "$_MPG2DELETED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" + return $?; +} + +function showInvalidLicenseFormatDlg() { + wrapTxtFn "$_MPG2LICENSEINVALID" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" + return $?; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/functions b/usr/local/include/xbian-config/modules/licensempg2/functions new file mode 100755 index 000000000..c7b149f79 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/functions @@ -0,0 +1,83 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Get the current license +# $1 [Container] License +# Returns +# $LICENSE [String] +function getCurrentLicenseMPG2Fn() { + LICENSE=$(cat /boot/config.txt | grep 'decode_MPG2' | cut -f 2 -d=); +} + +# Insert the current license +# $1 [String] License +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function insertLicenseMPG2Fn() { + NEWLICENSE=$1; + if [ "${NEWLICENSE:0:2}" == "0x" ] && [[ "${NEWLICENSE:2:8}" =~ ^[0-9a-f]{1,8}$ ]] && [ ${#NEWLICENSE} -le 10 ] && [ ${#NEWLICENSE} -ge 9 ]; then + echo "decode_MPG2=$1" >> /boot/config.txt + if [ $(cat /boot/config.txt | grep $1 | wc -l) -eq 1 ]; then + return 1; + else + return 0; + fi + else + return 2; + fi +} + + +# Update the current license +# $1 [String] Current License +# $2 [String] Old License +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function updateLicenseMPG2Fn() { + NEWLICENSE=$1; + if [ "${NEWLICENSE:0:2}" == "0x" ] && [[ "${NEWLICENSE:2:8}" =~ ^[0-9a-f]{1,8}$ ]] && [ ${#NEWLICENSE} -le 10 ] && [ ${#NEWLICENSE} -ge 9 ]; then + sed -i "s/decode_MPG2=$2/decode_MPG2=$1/g" /boot/config.txt + if [ $(cat /boot/config.txt | grep $1 | wc -l) -eq 1 ]; then + return 1; + else + return 0; + fi + else + return 2; + fi +} + +# Delete the current license +# $1 [String] Current License +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function deleteLicenseMPG2Fn() { + sed -i "/decode_MPG2=$1/d" /boot/config.txt; + if [ $(cat /boot/config.txt | grep $1 | wc -l) -eq 0 ]; then + return 1; + else + return 0; + fi +} diff --git a/usr/local/include/xbian-config/modules/licensempg2/lang/de b/usr/local/include/xbian-config/modules/licensempg2/lang/de new file mode 100755 index 000000000..e425e57a9 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/lang/de @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="MPG2" +_DESC="MPG2 Lizenz verwalten" +_MPG2LICENSE="MPG2 Lizenz" +_MPG2INSERTED="MPG2 wurde erfolgreich installiert"; +_MPG2DELETED="MPG2 wurde erfolgreich entfernt"; +_MPG2UPDATED="MPG2 wurde erfolgreich aktualisiert"; +_MPG2LICENSEINVALID="Das Format der eingegebenen MPG2 Lizenz ist ungültig" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/lang/dk b/usr/local/include/xbian-config/modules/licensempg2/lang/dk new file mode 100755 index 000000000..9a57e8557 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/lang/dk @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="MPG2" +_DESC="HÃ¥ndtering af MPG2-licens" +_MPG2LICENSE="MPG2-Licens" +_MPG2INSERTED="Tilføjelse af MPG2-licens lykkedes"; +_MPG2DELETED="Fjernelse af MPG2-licens lykkedes"; +_MPG2UPDATED="Opdatering af MPG2-licens lykkedes"; +_MPG2LICENSEINVALID="Den indtastede MPG2-licens har et ugyldigt format" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/lang/en b/usr/local/include/xbian-config/modules/licensempg2/lang/en new file mode 100755 index 000000000..fea30122c --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/lang/en @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="MPG2" +_DESC="Manage your MPG2 license" +_MPG2LICENSE="MPG2 License" +_MPG2INSERTED="MPG2 license successfully inserted"; +_MPG2DELETED="MPG2 license successfully removed"; +_MPG2UPDATED="MPG2 license successfully updated"; +_MPG2LICENSEINVALID="The MPG2 license you entered is of an incorrect format" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/lang/es b/usr/local/include/xbian-config/modules/licensempg2/lang/es new file mode 100755 index 000000000..408672d6f --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/lang/es @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="MPG2" +_DESC="Configurar tu licencia MPG2" +_MPG2LICENSE="Licencia MPG2" +_MPG2INSERTED="Licencia de MPG2 insertada con exito"; +_MPG2DELETED="Licencia de MPG2 eliminada con exito"; +_MPG2UPDATED="Licencia de MPG2 actualizada con exito"; +_MPG2LICENSEINVALID="La licencia de MPG2, que has introducido, presenta un formato incorrecto" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/lang/fr b/usr/local/include/xbian-config/modules/licensempg2/lang/fr new file mode 100755 index 000000000..528ddb9c0 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/lang/fr @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="MPG2" +_DESC="Configurer votre license MPG2" +_MPG2LICENSE="License MPG2" +_MPG2INSERTED="License MPG2 installée" +_MPG2DELETED="License MPG2 supprimée"; +_MPG2UPDATED="License MPG2 mise à jour"; +_MPG2LICENSEINVALID="La license MPG2 n'a pas le bon format" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/lang/nl b/usr/local/include/xbian-config/modules/licensempg2/lang/nl new file mode 100755 index 000000000..baaa16c2f --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/lang/nl @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="MPG2" +_DESC="Beheer uw MPG2 licentie" +_MPG2LICENSE="MPG2 Licentie" +_MPG2INSERTED="MPG2 licentie succesvol ingevoegd"; +_MPG2DELETED="MPG2 licentie succesvol verwijderd"; +_MPG2UPDATED="MPG2 licentie succesvol bijgewerkt"; +_MPG2LICENSEINVALID="De MPG2 licentie die u heeft ingevoerd heeft een incorrect formaat" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/lang/ru b/usr/local/include/xbian-config/modules/licensempg2/lang/ru new file mode 100755 index 000000000..1c6a6c18b --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/lang/ru @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="MPG2" +_DESC="Управление лицензией MPG2" +_MPG2LICENSE="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ MPG2" +_MPG2INSERTED="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ MPG2 уÑпешно добавлена"; +_MPG2DELETED="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ MPG2 уÑпешно удалена"; +_MPG2UPDATED="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ MPG2 уÑпешно обновлена"; +_MPG2LICENSEINVALID="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ MPG2 не раÑпознана" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/lang/sk b/usr/local/include/xbian-config/modules/licensempg2/lang/sk new file mode 100755 index 000000000..2d81c091d --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/lang/sk @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="MPG2" +_DESC="Správa MPEG2 Licencie" +_MPG2LICENSE="MPG2 Licencia" +_MPG2INSERTED="MPG2 licencia úspeÅ¡ne zadaná"; +_MPG2DELETED="MPG2 licencia úspeÅ¡ne odstránená"; +_MPG2UPDATED="MPG2 licencia úspeÅ¡ne aktualizovaná"; +_MPG2LICENSEINVALID="Zadaná MPEG2 licencia nemá správny tvar" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensempg2/main b/usr/local/include/xbian-config/modules/licensempg2/main new file mode 100755 index 000000000..632218473 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensempg2/main @@ -0,0 +1,134 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(select insert delete update); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/licensempg2/functions +source $BASEPATH/modules/licensempg2/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + getCurrentLicenseMPG2Fn + CURRENTLICENSE=$LICENSE; + showLicenseMPG2InputDlg $CURRENTLICENSE; + CODE=$? + if [ $CODE -eq 1 ] || [ $CODE -eq 0 ]; then + if [ ! -z $RETURN ] && [ ! -z $CURRENTLICENSE ]; then + updateLicenseMPG2Fn $RETURN $CURRENTLICENSE + if [ $? -eq 1 ]; then + showLicenseMPG2UpdatedDlg; + askForRebootFn; + elif [ $? -eq 0 ]; then + showErrorDlg; + else + showInvalidLicenseFormatDlg; + fi + elif [ ! -z $RETURN ] && [ -z $CURRENTLICENSE ]; then + insertLicenseMPG2Fn $RETURN; + if [ $? -eq 1 ]; then + showLicenseMPG2InsertedDlg; + askForRebootFn; + elif [ $? -eq 0 ]; then + showErrorDlg; + else + showInvalidLicenseFormatDlg; + fi + elif [ -z $RETURN ] && [ -z $CURRENTLICENSE ]; then + return 1; + else + deleteLicenseMPG2Fn $CURRENTLICENSE; + if [ $? -eq 1 ]; then + showLicenseMPG2DeletedDlg; + askForRebootFn; + else + showErrorDlg; + fi + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 License [String] +# Returns +# *Select [String] +# - License +# *Update [Integer] +# - 1: Success +# - 0: Failed +# - -1: License incorrect format +function showCMDFn() { + case $1 in + "select") + getCurrentLicenseMPG2Fn; + echo $LICENSE; + ;; + "update") + shift; + if [ $# -eq 1 ]; then + getCurrentLicenseMPG2Fn + updateLicenseMPG2Fn $1 $LICENSE; + RETURN=$?; + if [ $RETURN -eq 1 ]; then + echo 1; + elif [ $RETURN -eq 2 ]; then + echo -1; + else + echo 0; + fi + else + echo 0; + fi + ;; + "insert") + shift; + if [ $# -eq 1 ]; then + insertLicenseMPG2Fn $1; + RETURN=$?; + if [ $RETURN -eq 1 ]; then + echo 1; + elif [ $RETURN -eq 2 ]; then + echo -1; + else + echo 0; + fi + else + echo 0; + fi + ;; + "delete") + getCurrentLicenseMPG2Fn + deleteLicenseMPG2Fn $LICENSE; + echo $?; + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/dialogs b/usr/local/include/xbian-config/modules/licensevc1/dialogs new file mode 100755 index 000000000..f2d31a0c0 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/dialogs @@ -0,0 +1,54 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows the dialog in which users can enter the vc1 license +# $1 [string] Current License +# Returns +# $? [Integer] +# - 1: Change +# - 0: Cancel +function showLicenseVC1InputDlg() { + showInputDlg "$_VC1LICENSE:" $1 +} + +#Shows the license successfully inserted dialog +function showLicenseVC1InsertedDlg() { + wrapTxtFn "$_VC1INSERTED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" + return $?; +} + +#Shows the license successfully updated dialog +function showLicenseVC1UpdatedDlg() { + wrapTxtFn "$_VC1UPDATED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" + return $?; +} + +function showInvalidLicenseFormatDlg() { + wrapTxtFn "$_VC1LICENSEINVALID" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" + return $?; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/functions b/usr/local/include/xbian-config/modules/licensevc1/functions new file mode 100755 index 000000000..82cfe49bc --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/functions @@ -0,0 +1,84 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Get the current license +# $1 [Container] License +# Returns +# $LICENSE [String] +function getCurrentLicenseVC1Fn() { + LICENSE=$(cat /boot/config.txt | grep 'decode_WVC1' | cut -f 2 -d=); +} + +# Insert the current license +# $1 [String] License +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function insertLicenseVC1Fn() { + NEWLICENSE=$1; + if [ "${NEWLICENSE:0:2}" == "0x" ] && [[ "${NEWLICENSE:2:8}" =~ ^[0-9a-f]{1,8}$ ]] && [ ${#NEWLICENSE} -le 10 ] && [ ${#NEWLICENSE} -ge 9 ]; then + echo "decode_WVC1=$1" >> /boot/config.txt + if [ $(cat /boot/config.txt | grep $1 | wc -l) -eq 1 ]; then + return 1; + else + return 0; + fi + else + return 2; + fi +} + + +# Update the current license +# $1 [String] Current License +# $2 [String] Old License +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function updateLicenseVC1Fn() { + NEWLICENSE=$1; + if [ "${NEWLICENSE:0:2}" == "0x" ] && [[ "${NEWLICENSE:2:8}" =~ ^[0-9a-f]{1,8}$ ]] && [ ${#NEWLICENSE} -le 10 ] && [ ${#NEWLICENSE} -ge 9 ]; then + sed -i "s/decode_WVC1=$2/decode_WVC1=$1/g" /boot/config.txt; + if [ $(cat /boot/config.txt | grep $1 | wc -l) -eq 1 ]; then + return 1; + else + return 0; + fi + else + return 2; + fi +}i +} + +# Delete the current license +# $1 [String] Current License +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function deleteLicenseVC1Fn() { + sed -i "/decode_WVC1=$1/d" /boot/config.txt; + if [ $(cat /boot/config.txt | grep $1 | wc -l) -eq 0 ]; then + return 1; + else + return 0; + fi +} diff --git a/usr/local/include/xbian-config/modules/licensevc1/lang/de b/usr/local/include/xbian-config/modules/licensevc1/lang/de new file mode 100755 index 000000000..e243b8fc8 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/lang/de @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="VC1" +_DESC="VC1 lizenz verwalten" +_VC1LICENSE="VC1 lizenz" +_VC1INSERTED="Die VC1 lizenz wurde erfolgreich installiert"; +_VC1DELETED="Die VC1 lizenz wurde erfolgreich entfernt"; +_VC1UPDATED="Die VC1 lizenz wurde erfolgreich aktualisiert"; +_VC1LICENSEINVALID="Das Format der eingegebenen VC1 Lizenz ist ungültig" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/lang/dk b/usr/local/include/xbian-config/modules/licensevc1/lang/dk new file mode 100755 index 000000000..3818fb473 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/lang/dk @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="VC1" +_DESC="HÃ¥ndtering af VC1-licens" +_VC1LICENSE="VC1-Licens" +_VC1INSERTED="Tilføjelse af VC1-licens lykkedes"; +_VC1DELETED="Fjernelse af VC1-licens lykkedes"; +_VC1UPDATED="Opdatering af VC1-licens lykkedes"; +_VC1LICENSEINVALID="Den indtastede VC1-licens har et ugyldigt format" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/lang/en b/usr/local/include/xbian-config/modules/licensevc1/lang/en new file mode 100755 index 000000000..2e7e348f3 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/lang/en @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="VC1" +_DESC="Manage your VC1 license" +_VC1LICENSE="VC1 License" +_VC1INSERTED="VC1 license successfully inserted"; +_VC1DELETED="VC1 license successfully removed"; +_VC1UPDATED="VC1 license successfully updated"; +_VC1LICENSEINVALID="The VC1 license you entered is of an incorrect format" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/lang/es b/usr/local/include/xbian-config/modules/licensevc1/lang/es new file mode 100755 index 000000000..aeae90a5e --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/lang/es @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="VC1" +_DESC="Configurar tu licencia de VC1" +_VC1LICENSE="Licencia VC1" +_VC1INSERTED="VC1 license successfully inserted"; +_VC1DELETED="Licencia de VC1 removida con exito"; +_VC1UPDATED="Licencia de VC1 actualizada con exito"; +_VC1LICENSEINVALID="La licencia de VC1, que has introducido, presenta un formato incorrecto" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/lang/fr b/usr/local/include/xbian-config/modules/licensevc1/lang/fr new file mode 100755 index 000000000..21345e635 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/lang/fr @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="VC1" +_DESC="Configurer votre license VC1" +_VC1LICENSE="VC1 License" +_VC1INSERTED="License VC1 installée "; +_VC1DELETED="License VC1 supprimée"; +_VC1UPDATED="License VC1 mise à jour"; +_VC1LICENSEINVALID="La license VC1 n'a pas le bon format" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/lang/nl b/usr/local/include/xbian-config/modules/licensevc1/lang/nl new file mode 100755 index 000000000..642d8b17a --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/lang/nl @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="VC1" +_DESC="Beheer uw VC1 licentie" +_VC1LICENSE="VC1 Licentie" +_VC1INSERTED="VC1 licentie succesvol ingevoegd"; +_VC1DELETED="VC1 licentie succesvol verwijderd"; +_VC1UPDATED="VC1 licentie succesvol bijgewerkt"; +_VC1LICENSEINVALID="De VC1 licentie die u heeft ingevoerd heeft een incorrect formaat" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/lang/ru b/usr/local/include/xbian-config/modules/licensevc1/lang/ru new file mode 100755 index 000000000..959f5a9e2 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/lang/ru @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="VC1" +_DESC="Управление лицензией VC1" +_VC1LICENSE="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ VC1" +_VC1INSERTED="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ VC1 уÑпешно добавлена"; +_VC1DELETED="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ VC1 уÑпешно удалена"; +_VC1UPDATED="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ VC1 уÑпешно обновлена"; +_VC1LICENSEINVALID="Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ VC1 не раÑпознана" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/lang/sk b/usr/local/include/xbian-config/modules/licensevc1/lang/sk new file mode 100755 index 000000000..7b0b5751b --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/lang/sk @@ -0,0 +1,26 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="VC1" +_DESC="Správa VC1 Licencie" +_VC1LICENSE="VC1 Licencia" +_VC1INSERTED="VC1 licencia úspeÅ¡ne zadaná"; +_VC1DELETED="VC1 licencia úspeÅ¡ne odstránená"; +_VC1UPDATED="VC1 licencia úspeÅ¡ne aktualizovaná"; +_VC1LICENSEINVALID="Zadaná VC1 licencia nemá správny tvar" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/licensevc1/main b/usr/local/include/xbian-config/modules/licensevc1/main new file mode 100755 index 000000000..969adbeb1 --- /dev/null +++ b/usr/local/include/xbian-config/modules/licensevc1/main @@ -0,0 +1,135 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(select insert delete update); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/licensevc1/functions +source $BASEPATH/modules/licensevc1/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + getCurrentLicenseVC1Fn + CURRENTLICENSE=$LICENSE; + showLicenseVC1InputDlg $CURRENTLICENSE; + + CODE=$? + if [ $CODE -eq 1 ] || [ $CODE -eq 0 ]; then + if [ ! -z $RETURN ] && [ ! -z $CURRENTLICENSE ]; then + updateLicenseVC1Fn $RETURN $CURRENTLICENSE + if [ $? -eq 1 ]; then + showLicenseVC1UpdatedDlg; + askForRebootFn; + elif [ $? -eq 0 ]; then + showErrorDlg; + else + showInvalidLicenseFormatDlg; + fi + elif [ ! -z $RETURN ] && [ -z $CURRENTLICENSE ]; then + insertLicenseVC1Fn $RETURN; + if [ $? -eq 1 ]; then + showLicenseVC1InsertedDlg; + askForRebootFn; + elif [ $? -eq 0 ]; then + showErrorDlg; + else + showInvalidLicenseFormatDlg; + fi + elif [ -z $RETURN ] && [ -z $CURRENTLICENSE ]; then + return 1; + else + deleteLicenseVC1Fn $CURRENTLICENSE; + if [ $? -eq 1 ]; then + showLicenseVC1DeletedDlg; + askForRebootFn; + elif [ $? -eq 0 ]; then + showErrorDlg; + else + showInvalidLicenseFormatDlg; + fi + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 License [String] +# Returns +# *Select [String] +# - License +# *Update [Integer] +# - 1: Success +# - 0: Failed +# - -1: License incorrect format +function showCMDFn() { + case $1 in + "select") + getCurrentLicenseVC1Fn; + echo $LICENSE; + ;; + "update") + shift; + if [ $# -eq 1 ]; then + getCurrentLicenseVC1Fn + updateLicenseVC1Fn $1 $LICENSE; + RETURN=$?; + if [ $RETURN -eq 1 ]; then + echo 1; + elif [ $RETURN -eq 2 ]; then + echo -1; + else + echo 0; + fi + else + echo 0; + fi + ;; + "insert") + shift; + if [ $# -eq 1 ]; then + insertLicenseVC1Fn $1; + RETURN=$?; + if [ $RETURN -eq 1 ]; then + echo 1; + elif [ $RETURN -eq 2 ]; then + echo -1; + else + echo 0; + fi + fi + ;; + "delete") + getCurrentLicenseVC1Fn + deleteLicenseVC1Fn $LICENSE; + echo $?; + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/dialogs b/usr/local/include/xbian-config/modules/network/dialogs new file mode 100755 index 000000000..fa87948bd --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/dialogs @@ -0,0 +1,290 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Show a menu for selecting interfaces +# $1 List of interfaces +function showInterfacesSelectDlg() { + MENU=() + IFACES="$1" + I=1 + for IFACE in ${IFACES[@]}; do + IPADDR=$(ifconfig $IFACE | grep 'inet' | cut -d: -f2 | awk '{print $1}') + NETMASK=$(ifconfig $IFACE | grep 'inet' | cut -d: -f4 | awk '{print $1}') + MENU+=($I",\Zn"$IFACE",\Zn"$IPADDR",\Zn"$NETMASK) + I=$(($I+1)) + done + TBLCOLUMNCENTER=0; + createTableFn "menu"\ + "#,\Zb$_NETWORKINTERFACES,\Zb$_NETWORKADDRESS,\Zb$_NETWORKMASK"\ + "${MENU[@]}"; + TBLCOLUMNCENTER=1; + + # Show interface selector dialog + centerTxtFn "$_SELECTINTERFACE" $(($DEFAULTWIDTH+11)); + HEADER1=$CENTEREDTXT; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)); + showMenuDlg "$HEADER1\n$CENTEREDTXT" "$ROWS" ${#MENU[@]} $((${#MENU[@]}+9)) +} + +# Show a radio dialog for selecting DHCP or Static configuration +# Arguments +# $1 Current mode (DHCP|Static) +function showIPModeConfigDlg() { + MENU=(); + # Radio states + STATUSDHCP="off" + STATUSSTATIC="off" + + # Pre-select current state + if [ "$1" == "static" ]; then + STATUSSTATIC="on" + else + STATUSDHCP="on" + fi + IFS=$ORIGINALIFS; + MENU+=(1",\Zn"$_IPDHCP","$STATUSDHCP); + MENU+=(2",\Zn"$_IPSTATIC","$STATUSSTATIC); + + createTableFn "radio" \ + "#,\Zb$_NETWORKTYPE"\ + "${MENU[@]}" + + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+6)); + showRadioDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $((${#MENU[@]}+8)) +} + +# Show a radio dialog for selecting WLAN Protection mode +# Arguments +# $1 Current status (WPA|WEP|Open) +function showWlanModeConfigDlg() { + + MENU=(); + + # Radio states + STATUSWPA="off" + STATUSWEP="off" + STATUSOPEN="off" + + # Pre-select current state + if [ "$1" = "WPA" ]; then + STATUSWPA="on" + elif [ "$1" = "WEP" ]; then + STATUSWEP="on" + elif [ "$1" = "Open" ]; then + STATUSOPEN="on" + else + STATUSOPEN="on" + fi + + IFS=$ORIGINALIFS; + MENU+=(1",\Zn"$_WLANWPA","$STATUSWPA); + MENU+=(2",\Zn"$_WLANWEP","$STATUSWEP); + MENU+=(3",\Zn"$_WLANOPEN","$STATUSOPEN); + createTableFn "radio" \ + "#,\Zb$_NETWORKPROTECTION"\ + "${MENU[@]}" + + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+6)); + showRadioDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $((${#MENU[@]}+9)) + +} + +function showInterfacesLoadingDlg() { + wrapTxtFn "$_LOADINGINTERFACES" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT +} + +function showNoInterfacesAvailableDlg() { + wrapTxtFn "$_NOINTERFACES" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +function showScanningForNetworksDlg() { + wrapTxtFn "$_SCANNINGFORWLAN" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT +} + +# Ask for credentials for the selected interface +# Arguments +# $1 Current SSID +# $2 Current KEY +function showInterfaceCredentialsDlg() { + wrapTxtFn "$_ENTERCREDENTIALS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInputForm2Dlg "$ALIGNEDTXT" "$_SSID:" "$1" "$_KEY:" "$2" +} + +# Ask for static IP configuration +# Arguments +# $1 Current IP +# $2 Current Netmask +# $3 Current Gateway +# $4 Current Nameserver 1 +# $5 Current Nameserver 2 +function showInterfaceStaticDlg() { + wrapTxtFn "$_ENTERSTATICCONFIG" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInputForm5Dlg "$ALIGNEDTXT" "$_NETWORKADDRESS*:" "$1" "$_NETWORKMASK*:" "$2" "$_NETWORKGATEWAY*:" "$3" "$_NAMESERVER:" "$4" "$_NAMESERVER:" "$5" +} + +function showInterfaceCredentialsErrorDlg() { + wrapTxtFn "$_INVALIDCREDENTIALS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +function showInterfaceCredentialsSuccessDlg() { + wrapTxtFn "$_CREDENTIALSUPDATED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +function showInterfaceStaticErrorDlg() { + wrapTxtFn "$_INVALIDSTATICCONFIG" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +function showInterfaceStaticSuccessDlg() { + wrapTxtFn "$_STATICCONFIGUPDATED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +function showInterfaceDhcpSuccessDlg() { + wrapTxtFn "$_DHCPCONFIGUPDATED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +# Shows available wlan networks +# Arguments +# $1 Current SSID +# $2 Current networklist +function showAvailableWLANDlg() { + MENU=(); + IFS=$'\n'; + SSID=$1 + shift; + WNETWORKS=($@) + X=1; + SIGNAL=""; + for WNETWORK in ${WNETWORKS[@]}; do + IFS=","; + VALUES=($WNETWORK); + + NAME=$(echo "${VALUES[0]}" | awk '{print substr($0,2,length-2)}'); + if [ ${#NAME} -gt 13 ]; then + NAME=${NAME:0:10}"..."; + fi + SECURITY=${VALUES[2]}; + if [ "$SECURITY" == "on" ]; then + SECURITY="$_YES" + else + SECURITY="$_NO" + fi + SELECTED="off"; + if [ "$NAME" == "$SSID" ]; then + SELECTED="on"; + fi + if [ ${VALUES[3]} -eq 100 ]; then + SIGNAL="*****"; + elif [ ${VALUES[3]} -gt 80 ]; then + SIGNAL="****"; + elif [ ${VALUES[3]} -gt 60 ]; then + SIGNAL="***"; + elif [ ${VALUES[3]} -gt 40 ]; then + SIGNAL="**"; + else + SIGNAL="*"; + fi + MENU+=($X",\Zn"$NAME",\Zn"$SECURITY",\Zn"${VALUES[1]}",\Zn"$SIGNAL","$SELECTED); + X=$(($X+1)); + done + TBLCOLUMNCENTER=0; + createTableFn "radio" \ + "#,\Zb"$_NETWORKNAME",\Zb"$_NETWORKPROTECTION",\Zb"$_NETWORKTYPE,"\Zb"$_WLANSIGNAL"" \ + "${MENU[@]}" + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+7)); + showRadioDlg "$CENTEREDTXT" "$ROWS" 6 15 +} + +function showScanForWLANDlg() { + MENU=() + + TBLCOLUMNCENTER=0; + createTableFn "menu" \ + "#,\Zb"$_NETWORKWLAN"" \ + "1,\Zn"$_NETWORKSCANAVAILABLE"" \ + "2,\Zn"$_NETWORKCUSTOM"" + TBLCOLUMNCENTER=1; + + # Show interface selector dialog + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)); + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $((${#MENU[@]}+8)) +} + +# Ask for network SSID in case of open protection +# Arguments +# $1 Current SSID +function showInterfaceSSIDDlg() { + showInputDlg "$_SSID:" $1 +} + +function showRestartWLANDlg() { + wrapTxtFn "$_RESTARTINGADAPTER $1" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT +} + +function showWLANConnectingDlg() { + wrapTxtFn "$_TRYINGCONNECTINGTO $1" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT +} + +function showWLANConnectionFailedDlg() { + wrapTxtFn "$_FAILEDTOCONNECTTO $1" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +function showWLANConnectionSuccessDlg() { + wrapTxtFn "$_SUCCESSFULLYCONNECTEDTO $1" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} diff --git a/usr/local/include/xbian-config/modules/network/functions b/usr/local/include/xbian-config/modules/network/functions new file mode 100755 index 000000000..37ff55b5a --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/functions @@ -0,0 +1,536 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Set wlan credentials +# Arguments +# $1 Interface name +# $2 Protection (WPA|WEP|Open) +# $3 ESSID +# $4 WLANKEY (Only needed for WPA and WEP) +# Return +# 1: Success +# 0: Failure +# Error codes +# -10: Invalid wireless protection +setInterfaceWlanCredentials() { + + # Check that supplied interface is valid + isValidInterfaceFn "$1" + if [ $? -eq 1 ]; then + + # Create buffer for holding configuration + WLANBUFFER="" + case $2 in + "WEP") + WLANBUFFER+="\nwireless-essid $3\nwireless-key $4" + ;; + "WPA") + WLANBUFFER+="\nwpa-ssid \"$3\"\nwpa-psk \"$4\"" + ;; + "Open") + WLANBUFFER+="\nwireless-mode managed\nwireless-essid $3" + ;; + *) + return 2 + ;; + esac + + if [ $(grep "^iface $1" /etc/network/interfaces | wc -l) -gt 0 ]; then + + # Interface already present, store it + any subsequent ifaces in an buffer + IFACEBUFFER=$(grep -A100 "^iface $1" /etc/network/interfaces | sed '1d'); + + # Extract DHCP or Static + MODE=$(grep "iface $1" /etc/network/interfaces | cut -f 4 -d " "); + + # Remove what's now in the buffer from the file + sed -i "/^iface $1/,+100d" /etc/network/interfaces + + # Extract subsequent ifaces to a separate buffer + MORE=$(echo -e "$IFACEBUFFER" | sed -n '/\(allow-hotplug.*\|^iface.*\)/,$p') + + # Get a cleaned verson of current clause + ME=$(echo -e "$IFACEBUFFER" | sed '/\(allow-hotplug.*\|^iface.*\)/,$d' | sed '/\(^wireless.*\|^wpa.*\)/d') + + # Re-add current interface withouth previous cruft + echo -e "iface $1 inet $MODE" >> /etc/network/interfaces + echo -e "$WLANBUFFER" >> /etc/network/interfaces + echo -e "$ME\n" >> /etc/network/interfaces + + # Re-add subsequent interfaces + echo -e "$MORE" >> /etc/network/interfaces + + return 1; + else + # Interface not present, add it to the end + echo -e "iface $1 inet dhcp" >> /etc/network/interfaces + echo -e "$WLANBUFFER\n" >> /etc/network/interfaces + + return 1; + fi + + + else + return 3; + fi +} + +# Sets an interface to use dhcp +# Arguments +# $1 Interface name +setInterfaceDhcpFn() { + isValidInterfaceFn "$1" + if [ $? -eq 1 ]; then + if [ $(grep "^iface $1" /etc/network/interfaces | wc -l) -gt 0 ]; then + + # Interface already present, store it + any subsequent ifaces in an buffer + IFACEBUFFER=$(grep -A100 "^iface $1" /etc/network/interfaces | sed '1d'); + + # Remove what's now in the buffer from the file + sed -i "/^iface $1/,+100d" /etc/network/interfaces + + # Extract subsequent ifaces to a separate buffer + MORE=$(echo -e "$IFACEBUFFER" | sed -n '/\(allow-hotplug.*\|^iface.*\)/,$p') + + # Get a cleaned verson of current clause + ME=$(echo -e "$IFACEBUFFER" | sed '/\(allow-hotplug.*\|^iface.*\)/,$d' | sed '/\(^address.*\|^netmask.*\|^gateway.*\)/d') + + # Re-add current interface withouth previous cruft + echo -e "iface $1 inet dhcp" >> /etc/network/interfaces + echo -e "$ME\n" >> /etc/network/interfaces + + # Re-add subsequent interfaces + echo -e "$MORE" >> /etc/network/interfaces + + return 1; + else + # Interface not present, add it to the end + sudo echo -e "iface $1 inet dhcp\n" >> /etc/network/interfaces + + return 1; + fi + else + return 0; + fi +} + +# Sets an interface to use static ip +# Arguments +# $1 Interface name +# $2 IP +# $3 Netmask +# $4 Gateway +# $5 DNS1 (optional) +# $6 DNS2 (optional) +# Returns +# 0: Failed +# 1: Succeede +# Error codes +# -3: Invalid interface +# -6: Invalid IP +# -7: Invalid netmask +# -8: Invalid Gateway +# -9: Invalid DNS +setInterfaceStaticFn() { + isValidInterfaceFn "$1" + if [ $? -eq 1 ]; then + + # Configuration buffer + BUFFERIFACES="" + BUFFERRESOLV="" + + # Validate input & preparation of configuration buffers + checkValidIpNumberFn "$2" + if [ ! $? -eq 1 ]; then + return 6; + else + BUFFERIFACES+="address $2" + fi + checkValidIpNetmaskFn "$3" + if [ ! $? -eq 1 ]; then + return 7; + else + BUFFERIFACES+="\nnetmask $3" + fi + checkValidIpNumberFn "$4" + if [ ! $? -eq 1 ]; then + return 8; + else + BUFFERIFACES+="\ngateway $4" + fi + if [ $# -gt 4 ] && [ ! -z "$5" ]; then + checkValidIpNumberFn "$5" + if [ ! $? -eq 1 ]; then + return 9; + else + BUFFERRESOLV+="nameserver $5" + fi + fi + if [ $# -gt 5 ] && [ ! -z "$6" ]; then + checkValidIpNumberFn "$6" + if [ ! $? -eq 1 ]; then + return 9; + else + BUFFERRESOLV+="\nnameserver $6" + fi + fi + + # Process /etc/network/interfaces + if [ $(grep "^iface $1" /etc/network/interfaces | wc -l) -gt 0 ]; then + + # Interface already present, store it + any subsequent ifaces in an buffer + IFACETMP=$(grep -A100 "^iface $1" /etc/network/interfaces | sed '1d'); + + # Remove what's now in the buffer from the file + sed -i "/^iface $1/,+100d" /etc/network/interfaces + + # Extract subsequent ifaces to a separate buffer + MORE=$(echo -e "$IFACETMP" | sed -n '/\(allow-hotplug.*\|^iface.*\)/,$p') + ME=$(echo -e "$IFACETMP" | sed '/\(allow-hotplug.*\|^iface.*\)/,$d' | sed '/\(^address.*\|^netmask.*\|^gateway.*\)/d') + + # Re-add current interface withouth previous cruft + echo -e "iface $1 inet static" >> /etc/network/interfaces + echo -e "$ME" >> /etc/network/interfaces + echo -e "$BUFFERIFACES\n" >> /etc/network/interfaces + + # Re-add subsequent interfaces + echo -e "$MORE" >> /etc/network/interfaces + + else + # Interface not present, add it to the end + sudo echo -e "iface $1 inet static" >> /etc/network/interfaces + echo -e "$BUFFERIFACES\n" >> /etc/network/interfaces + + fi + + # Process /etc/resolv.conf + sed -i "/nameserver/d" /etc/resolv.conf + echo -e "$BUFFERRESOLV" >> /etc/resolv.conf + + return 1; + else + return 0; + fi +} + +# List all available network interfaces +# Echoes @return +# @1: Available interfaces +# @2: Error code +# Returns +# 1: Success +# 0: Error +function listNetworkInterfacesFn() { + IFACES=$(ip addr | grep state | grep -v lo: | cut -f 2 -d":" | sed 's/ //g'); + if [ ! -z "$IFACES" ]; then + echo -e "$IFACES" + return 1 + else + return 0 + fi +} + +# Check if a given string is a valid interface name +# Parameters +# $1: Interface name +# Returns +# 1: Valid +# 0: Invalid +function isValidInterfaceFn() { + INTERFACE=$(listNetworkInterfacesFn | grep "$1") + if [ ! -z "$INTERFACE" ]; then + return 1; + else + return 0; + fi +} + +# Reads various netowrk configuration options from related files +# Arguments +# $1 Interface +# Return +# 1: Success +# 0: Failure +# Echoes +# @1: Textual table +# ----------------------- +# mode dhcp|static|manual +# state UP|DOWN +# ip X.X.X.X +# netmask X.X.X:X +# gateway X.X.X.X +# nameserver1 X.X.X.X +# namserver2 X.X.X.X +# protection WEP|WPA|open (only for wlan interfaces) +# SSID XXXX (only for wlan interfaces) +# WLANKEY XXXX (only for wlan interfaces) +# @0: Error code +# Error codes +# -4: Invalid interface +function readNetworkConfigurationFn() { + isValidInterfaceFn "$1" + if [ $? -eq 1 ]; then + # Read network configuration from /etc/network/interfaces + TFILEIFACES=$(cat /etc/network/interfaces) + + # Place everything after matching iface in a variable + CONTENT=$(echo -e "$TFILEIFACES" | grep -A20 "^iface $1 inet" | sed '1d'); + + # Delete (possible) subsequent ifaces from variable + CONTENT=$(echo -e "$CONTENT" | sed '/iface/,$d'); + + # Extract DHCP or Static + MODE=$(echo -e "$TFILEIFACES" | grep "iface $1" | cut -f 4 -d " "); + CIP=$(ifconfig $1 | sed -n -e 's/:127\.0\.0\.1 //g' -e 's/ *inet addr:\([0-9.]\+\).*/\1/gp'); + if [ $MODE == "dhcp" ]; then + # Extract ip address given by dhcp server + CSM=$(ifconfig $1 | grep Mask | awk '{print $4}' | cut -f2 -d:); + CGW=$(grep dhcp-server-identifier /var/lib/dhcp/dhclient.eth0.leases | tail -1 | awk '{print $3}' | awk '{print substr($0,0,length)}'); + else + # Extract manual ip configuration + CSM=$(echo -e "$CONTENT" | grep netmask | cut -f 2 -d " "); + CGW=$(echo -e "$CONTENT" | grep gateway | cut -f 2 -d " "); + fi + + # Extract wlan configuration + PROTECTION="" + MODEOPEN=$(echo -e "$CONTENT" | grep ^wireless-mode) + MODEWPA=$(echo -e "$CONTENT" | grep ^wpa-) + MODEWEP=$(echo -e "$CONTENT" | grep ^wireless-essid) + if [ ! -z "$MODEOPEN" ]; then + PROTECTION="open" + elif [ ! -z "$MODEWPA" ]; then + PROTECTION="WPA" + elif [ ! -z "$MODEWEP" ]; then + PROTECTION="WEP" + fi + + # Extract wlan credentials + SSID="" + WLANKEY="" + if [ ! -z "$PROTECTION" ]; then + if [ "$PROTECTION" == "WEP" ]; then + SSID=$(echo -e "$CONTENT" | grep wireless-essid | cut -f 2 -d" ") + WLANKEY=$(echo -e "$CONTENT" | grep wireless-key | cut -f 2 -d" ") + elif [ "$PROTECTION" == "WPA" ]; then + SSID=$(echo -e "$CONTENT" | grep wpa-ssid | cut -f 2 -d" " | sed 's/\"//g') + WLANKEY=$(echo -e "$CONTENT" | grep wpa-psk | cut -f 2 -d" " | sed "s/\"//g") + elif [ "$PROTECTION" == "open" ]; then + SSID=$(echo -e "$CONTENT" | grep wireless-essid | cut -f 2 -d" ") + fi + fi + + # Get current state + STATE=$(ip addr | grep state | grep "$1" | sed 's/.*state/state/g' | cut -f 2 -d" ") + + # Read nameservers from /etc/resolv.conf + NS1=""; + NS2=""; + if [ $(grep nameserver /etc/resolv.conf | wc -l) -gt 0 ]; then + NS=($(grep nameserver /etc/resolv.conf | sed 's/nameserver //g' )) + if [ ${#NS[@]} -gt 0 ]; then + NS1=$(echo -e "${NS[0]}"); + fi + if [ ${#NS[@]} -gt 1 ]; then + NS2=$(echo -e "${NS[1]}"); + fi + fi + + echo "mode $MODE" + echo "state $STATE" + echo "ip $CIP" + echo "netmask $CSM" + echo "gateway $CGW" + echo "nameserver1 $NS1" + echo "namserver2 $NS2" + if [ ! -z "$PROTECTION" ]; then + echo "protection $PROTECTION" + echo "ssid $SSID" + echo "key $WLANKEY" + fi + return 1; + else + return 0; + fi +} + +# Validate a given ip address +# Arguments +# $1 Ip address +# Return +# 1: Valid +# 0: Invalid +function checkValidIpNumberFn() { + if case $1 in + *[!.0-9]* | *.*.*.*.* | *..* | [!0-9]* | *[!0-9] ) false ;; + *25[6-9]* | *2[6-9][0-9]* | *[3-9][0-9][0-9]* | *[0-9][0-9][0-9][0-9]* ) false ;; + [!1-9].*.*.* | *.*.*.[!1-9] ) false ;; + *.*.*.* ) true ;; + *) false ;; + esac; then + # Ip were valid + return 1; + else + # Ip were invalid + return 0; + fi +} + +# Validate a given netmask +# Arguments +# $1 Netmask +# Return +# 1: Valid +# 0: Invalid +function checkValidIpNetmaskFn() { + if case $1 in + 255.0.0.0 | 255.255.0.0 | 255.255.255.0 | 255.255.255.255 ) true ;; + *) false ;; + esac; then + return 1 + else + return 0 + fi +} + +# Validate a given netmask +# Arguments +# $1 Netmask +# Return +# 1: Valid +# 0: Invalid +function scanWLANNetworksFn() { + IFS=$'\n' + OUTPUT=($(iwlist $1 scan)); + + WNETWORKS=(); + WLAN=(); + NUMBERS=(); + X=-1; + READ=0; + for LINE in ${OUTPUT[@]}; do + if [[ $LINE =~ "Cell" ]]; then + if [ $READ -eq 1 ]; then + if [ -z ${WLAN[1]} ]; then + WLAN[1]="Open"; + fi + if [ "${WLAN[2]}" == "on" ] && [ "${WLAN[1]}" == "Open" ]; then + WLAN[1]="WEP"; + fi + if [ ${#WLAN[0]} -gt 2 ]; then + X=$(($X+1)); + WNETWORKS[$X]="${WLAN[0]},${WLAN[1]},${WLAN[2]},${WLAN[3]}"; + fi + WLAN=(); + WLAN[1]="Open"; + fi + READ=1; + fi + if [[ $LINE =~ "ESSID" ]]; then + WLAN[0]=$(echo $LINE | cut -f2 -d":"); + fi + if [ ${#WLAN[0]} -gt 2 ]; then + if [[ $LINE =~ "WPA" ]]; then + WLAN[1]="WPA" + fi + if [[ $LINE =~ "Encryption key" ]]; then + WLAN[2]=$(echo $LINE | cut -f2 -d":"); + fi + if [[ $LINE =~ "Signal level" ]]; then + WLAN[3]=$(echo $LINE | sed -ne 's/.*Signal level[^\s]\([0-9]\{1,3\}\).*/\1/p'); + fi + fi + done; + X=$(($X+1)); + if [ ${#WLAN[0]} -gt 2 ]; then + WNETWORKS[$X]="${WLAN[0]},${WLAN[1]},${WLAN[2]},${WLAN[3]}"; + fi + IFS=","; + SWITCH=1; + while [ $SWITCH -eq 1 ]; do + SWITCH=0; + for((C=0;C<=$X;C++)); do + VALUES=(${WNETWORKS[$C]}); + VALUES1=(${WNETWORKS[$(($C+1))]}); + if [[ "${VALUES1[3]}" =~ [0-9]{1,3} ]] && [[ "${VALUES[3]}" =~ [0-9]{1,3} ]]; then + if [ ${VALUES[3]} -lt ${VALUES1[3]} ]; then + TEMP=${WNETWORKS[$C]}; + WNETWORKS[$C]=${WNETWORKS[$(($C+1))]}; + WNETWORKS[$(($C+1))]=$TEMP; + SWITCH=1; + fi + fi + done; + done; + IFS=$ORIGINALIFS; +} + +# Restart a wlan adapter +# Arguments +# $1 Interface name +# Return +# @: Process id of the ifup process +# 0: Process ifup not running +function restartWLANAdapterFn() { + if [ $(kill -0 $(pgrep ifup) 2>/dev/null >/dev/null; echo $?) -eq 1 ]; then + ifdown $1 2>/dev/null 1>/dev/null 3>/dev/null; + (nohup ifup $1 2>/tmp/wlanstatus 1>/dev/null >/dev/null 3>/dev/null &) + PROCESSID=$(pgrep ifup); + else + PROCESSID="0"; + fi + return $PROCESSID; +} + +# Gets the status of the wlan restart +# Return +# 0: The wlan status file does not exist +# 1: Connecting to wlan network +# 2: Successfully connected to network +# 3: Failed to connected to network +function getWLANConnectStatusFn() { + STATUS=0; + if [ -f /tmp/wlanstatus ]; then + if [ $(grep "bound" /tmp/wlanstatus | wc -l) -gt 0 ]; then + STATUS=3; + elif [ $(grep 'RTNETLINK' /tmp/wlanstatus | wc -l) -gt 0 ]; then + STATUS=3; + elif [ $(grep 'DHCPOFFERS\|Terminated' /tmp/wlanstatus | wc -l) -gt 0 ]; then + STATUS=2; + elif [ $(grep "DHCPDISCOVER" /tmp/wlanstatus | wc -l) -gt 0 ]; then + STATUS=1; + fi; + fi + + return $STATUS; +} + +function clearWLANStatusFn() { + if [ -f /tmp/wlanstatus ]; then + rm /tmp/wlanstatus + fi +} + +function getAdapterTypeFn() { + if [ ! -d "/sys/class/net/$1/wireless" ] && [ -d "/sys/class/net/$1" ]; then + return 0; + else + return 1; + fi +} diff --git a/usr/local/include/xbian-config/modules/network/lang/de b/usr/local/include/xbian-config/modules/network/lang/de new file mode 100755 index 000000000..60dbafeaf --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/lang/de @@ -0,0 +1,58 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Netzwerk" +_DESC="Konfiguriere die Netzwerkschnittstellen" +_LOADINGINTERFACES="Netzwerkschnittstellen werden geladen..." +_NOINTERFACES="Keine Netzwerkschnittstellen verfügbar oder verbunden" +_SELECTINTERFACE="Bitte wähle eine Schnittstelle aus" +_IPDHCP="DHCP" +_IPSTATIC="Statische IP" +_SELECTHOW="Bitte wähle aus"; +_OBTAINIP="wie die IP Adresse zugewiesen werden soll" +_SSID="SSID" +_KEY="Schlüssel (Key)" +_ENTERCREDENTIALS="Bitte trage die Zugangsdaten für die ausgewählte Schnittstelle ein" +_INVALIDCREDENTIALS="Ungültige Zugangsdaten eingetragen" +_WLANWEP="WEP" +_WLANWPA="WPA" +_WLANOPEN="Offen" +_WLANSIGNAL="Signal" +_CREDENTIALSUPDATED="WLAN Zugangsdaten erfolgreich gespeichert" +_ENTERSTATICCONFIG="Bitte gib eine statische IP-Adresse an" +_NETWORKINTERFACES="Schnittstellen" +_NETWORKADDRESS="IP-Adresse" +_NETWORKMASK="Netmask" +_NETWORKGATEWAY="Gateway" +_NAMESERVER="Nameserver" +_INVALIDSTATICCONFIG="Ungültige statische IP-Adresse, bitte versuche es erneut" +_STATICCONFIGUPDATED="Statische IP-Adresse wurde aktualisiert" +_DHCPCONFIGUPDATED="DHCP ist nun aktiv" +_NETWORKTYPE="Typ" +_NETWORKPROTECTION="Sicherheit" +_WLANSCAN="Scannen" +_NETWORKNAME="Name" +_NETWORKSCANAVAILABLE="Scannen" +_NETWORKCUSTOM="benutzerdefiniert" +_NETWORKWLAN="WLAN" +_SCANNINGFORWLAN="Suche verfügbare Netzwerke..." +_RESTARTINGADAPTER="Neustart" +_TRYINGCONNECTINGTO="Verbindungsaufbau wird geprüft, bitte warten..." +_FAILEDTOCONNECTTO="Verbindungsaufbau fehlgeschlagen" +_SUCCESSFULLYCONNECTEDTO="Verbindungsaufbau erfolgreich" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/lang/dk b/usr/local/include/xbian-config/modules/network/lang/dk new file mode 100755 index 000000000..75a83fbff --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/lang/dk @@ -0,0 +1,58 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Netværk" +_DESC="Konfigurer netværksgrænseflader" +_LOADINGINTERFACES="Netværksgrænseflader indlæses..." +_NOINTERFACES="Ingen netværksgrænseflader tilgængelige eller tilsluttet" +_SELECTINTERFACE="Vælg grænseflade at konfigurere" +_IPDHCP="DHCP" +_IPSTATIC="Statisk IP" +_SELECTHOW="Vælg hvordan"; +_OBTAINIP="skal fÃ¥ sin IP-addresse" +_SSID="SSID" +_KEY="Nøgle (Key)" +_ENTERCREDENTIALS="Angiv adgangsoplysninger for valgt grænseflade" +_INVALIDCREDENTIALS="Ugyldige adgangsoplysninger angivet, bÃ¥de SSID og Nøgle skal angives" +_WLANWEP="WEP" +_WLANWPA="WPA" +_WLANOPEN="Ã…ben" +_WLANSIGNAL="Signal" +_CREDENTIALSUPDATED="WLAN adgangsoplysninger blev opdateret" +_ENTERSTATICCONFIG="Angiv detaljer om statisk IP" +_NETWORKINTERFACES="Grænseflader" +_NETWORKADDRESS="IP-Addresse" +_NETWORKMASK="Netmaske" +_NETWORKGATEWAY="Gateway" +_NAMESERVER="Navneserver" +_INVALIDSTATICCONFIG="Ugyldige oplysninger for statisk IP, forsøg igen" +_STATICCONFIGUPDATED="Statisk IP konfiguration blev opdateret" +_DHCPCONFIGUPDATED="Grænsefladen konfigureres nu med DHCP" +_NETWORKTYPE="Type" +_NETWORKPROTECTION="Beskyttelse" +_WLANSCAN="Skan" +_NETWORKNAME="Navn" +_NETWORKSCANAVAILABLE="Skan" +_NETWORKCUSTOM="Tilpasset" +_NETWORKWLAN="WLAN" +_SCANNINGFORWLAN="Søger tilgængelige netværk..." +_RESTARTINGADAPTER="Genstarter" +_TRYINGCONNECTINGTO="Vent venligst. Forsøger at forbinde til" +_FAILEDTOCONNECTTO="Kunne ikke forbinde til" +_SUCCESSFULLYCONNECTEDTO="Forbindelsen er oprettet til" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/lang/en b/usr/local/include/xbian-config/modules/network/lang/en new file mode 100755 index 000000000..4d820eff6 --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/lang/en @@ -0,0 +1,58 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Network" +_DESC="Configure network interfaces" +_LOADINGINTERFACES="Interfaces loading, please wait ..." +_NOINTERFACES="No network interfaces available or they are not connected" +_SELECTINTERFACE="Select interface to configure" +_IPDHCP="DHCP" +_IPSTATIC="Static IP" +_SELECTHOW="Select how"; +_OBTAINIP="should obtain it's IP address" +_SSID="SSID" +_KEY="KEY" +_ENTERCREDENTIALS="Enter credentials for selected interface" +_INVALIDCREDENTIALS="Invalid WLAN credentials entered, both SSID and KEY has to be entered" +_WLANWEP="WEP" +_WLANWPA="WPA" +_WLANOPEN="Open" +_WLANSIGNAL="Signal" +_CREDENTIALSUPDATED="WLAN credentials successfully updated" +_ENTERSTATICCONFIG="Enter static IP details" +_NETWORKINTERFACES="Interfaces" +_NETWORKADDRESS="IP Address" +_NETWORKMASK="Netmask" +_NETWORKGATEWAY="Gateway" +_NAMESERVER="Nameserver" +_INVALIDSTATICCONFIG="Invalid static IP details, please try again" +_STATICCONFIGUPDATED="Static IP configuration updated" +_DHCPCONFIGUPDATED="Interface is now configured using DHCP" +_NETWORKTYPE="Type" +_NETWORKPROTECTION="Protection" +_WLANSCAN="Scan" +_NETWORKNAME="Name" +_NETWORKSCANAVAILABLE="Scan" +_NETWORKCUSTOM="Custom" +_NETWORKWLAN="WLAN" +_SCANNINGFORWLAN="Scanning for available networks..." +_RESTARTINGADAPTER="Restarting" +_TRYINGCONNECTINGTO="Please wait. Trying to connect to" +_FAILEDTOCONNECTTO="Failed to connect to" +_SUCCESSFULLYCONNECTEDTO="Successfully connected to" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/lang/es b/usr/local/include/xbian-config/modules/network/lang/es new file mode 100755 index 000000000..57e759fb6 --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/lang/es @@ -0,0 +1,58 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Red" +_DESC="Configurar una interfaz de red" +_LOADINGINTERFACES="Cargando interfaces, por favor espere ..." +_NOINTERFACES="No hay interfaces de red disponibles o no estan conectadas" +_SELECTINTERFACE="Selecciona la interfaz a configurar" +_IPDHCP="DHCP" +_IPSTATIC="IP estatica" +_SELECTHOW="Selecciona como"; +_OBTAINIP="deberia obtener una direccion IP" +_SSID="SSID" +_KEY="Clave" +_ENTERCREDENTIALS="Introduce los credenciales para la interfaz seleccionada" +_INVALIDCREDENTIALS="Credenciales WLAN invalidos, tanto SSID como la clave debenser introducidas" +_WLANWEP="WEP" +_WLANWPA="WPA" +_WLANOPEN="Abierta" +_WLANSIGNAL="Señal" +_CREDENTIALSUPDATED="Credenciales WLAN actualizados con exito" +_ENTERSTATICCONFIG="Introduce la configuracion de IP estatica" +_NETWORKINTERFACES="Interfaces" +_NETWORKADDRESS="Direccion IP" +_NETWORKMASK="Mascara de red" +_NETWORKGATEWAY="Gateway" +_NAMESERVER="Nombre del servidor" +_INVALIDSTATICCONFIG="Ajuste de IP estaticos invalidos, por favor vuelva a intentarlo" +_STATICCONFIGUPDATED="Configuracion de IP estatica actualizada" +_DHCPCONFIGUPDATED="la interfaz esta ahora configurada para usar DHCP" +_NETWORKTYPE="Tipo" +_NETWORKPROTECTION="Proteccion" +_WLANSCAN="Escanear" +_NETWORKNAME="Nombre" +_NETWORKSCANAVAILABLE="Escanear" +_NETWORKCUSTOM="A medida" +_NETWORKWLAN="WLAN" +_SCANNINGFORWLAN="Escaneando redes disponibles..." +_RESTARTINGADAPTER="Reiniciando" +_TRYINGCONNECTINGTO="Por favor espere, intentando conectar con" +_FAILEDTOCONNECTTO="Fallo en la conexion con" +_SUCCESSFULLYCONNECTEDTO="Se consiguio conectar con" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/lang/fr b/usr/local/include/xbian-config/modules/network/lang/fr new file mode 100755 index 000000000..8d678fe9f --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/lang/fr @@ -0,0 +1,58 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Réseau" +_DESC="Configurer les interfaces réseaux" +_LOADINGINTERFACES="Chargement, veuillez patienter ..." +_NOINTERFACES="Pas d'interface réseau disponible ou elles ne sont pas connectées" +_SELECTINTERFACE="Choisissez l'inteface a configurer" +_IPDHCP="DHCP" +_IPSTATIC="IP fixe" +_SELECTHOW="Choisisser comment l'inteface"; +_OBTAINIP="obtient son adress ip" +_SSID="SSID" +_KEY="Clé de sécurité" +_ENTERCREDENTIALS="Entrer la clé de securité pour l'interface sélectionnée" +_INVALIDCREDENTIALS="Données erronées, vous devez introduire le SSID et la clé de sécurité" +_WLANWEP="WEP" +_WLANWPA="WPA" +_WLANOPEN="Ouvert" +_WLANSIGNAL="Signal" +_CREDENTIALSUPDATED="Clé de sécurité du WLAN modifiée" +_ENTERSTATICCONFIG="Entrer la configuration IP" +_NETWORKINTERFACES="Interfaces" +_NETWORKADDRESS="Addresse IP" +_NETWORKMASK="Masque de sous-réseau" +_NETWORKGATEWAY="Passerelle" +_NAMESERVER="DNS" +_INVALIDSTATICCONFIG="Configuration IP invalide, veuillez réessayer" +_STATICCONFIGUPDATED="Configuration IP modifiée" +_DHCPCONFIGUPDATED="L'interface est maintenant configurée en DHCP" +_NETWORKTYPE="Type" +_NETWORKPROTECTION="Protection" +_WLANSCAN="Scan" +_NETWORKNAME="Nom" +_NETWORKSCANAVAILABLE="Scan" +_NETWORKCUSTOM="Personnel" +_NETWORKWLAN="WLAN" +_SCANNINGFORWLAN="Recherche des réseaux disponible..." +_RESTARTINGADAPTER="Dedémarrage" +_TRYINGCONNECTINGTO="Veuillez patienter, tentative de connection à" +_FAILEDTOCONNECTTO="Connection échouée à" +_SUCCESSFULLYCONNECTEDTO="Connecté à" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/lang/nl b/usr/local/include/xbian-config/modules/network/lang/nl new file mode 100755 index 000000000..7fc40af54 --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/lang/nl @@ -0,0 +1,58 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Netwerk" +_DESC="Configureer netwerk adapters" +_LOADINGINTERFACES="Adapter aan het laden, een ogenblik geduld aub..." +_NOINTERFACES="Geen netwerk adapters beschikbaar en ze zijn niet verbonden" +_SELECTINTERFACE="Selecteer de adapter die u wilt configureren" +_IPDHCP="DHCP" +_IPSTATIC="Statisch IP" +_SELECTHOW="Selecteer hoe"; +_OBTAINIP="aan zijn IP adres moet komen" +_SSID="SSID" +_KEY="Sleutel" +_ENTERCREDENTIALS="Vul de waarden van de adapter in" +_INVALIDCREDENTIALS="Ongeldige WLAN waardes ingevuld, zowel de SSID als de sleutel moeten ingevuld worden" +_WLANWEP="WEP" +_WLANWPA="WPA" +_WLANOPEN="Open" +_WLANSIGNAL="Signaal" +_CREDENTIALSUPDATED="WLAN waardes succesvol bijgewerkt" +_ENTERSTATICCONFIG="Geef statische IP gegevens" +_NETWORKINTERFACES="Adapters" +_NETWORKADDRESS="IP adres" +_NETWORKMASK="Netmask" +_GATEWAY="Gateway" +_NAMESERVER="Nameserver" +_INVALIDSTATICCONFIG="Ongeldige IP waardes, probeer het nogmaals" +_STATICCONFIGUPDATED="Statische IP waardes bijgewerkt" +_DHCPCONFIGUPDATED="Adapter werkt nu via DHCP" +_NETWORKTYPE="Type" +_NETWORKPROTECTION="Beveiliging" +_WLANSCAN="Zoeken" +_NETWORKNAME="Naam" +_NETWORKSCANAVAILABLE="Zoeken" +_NETWORKCUSTOM="Handmatig" +_NETWORKWLAN="WLAN" +_SCANNINGFORWLAN="Aan het zoeken naar beschikbare netwerken..." +_RESTARTINGADAPTER="Bezig met herstarten van" +_TRYINGCONNECTINGTO="Een moment geduld aub. Proberen te verbinden met" +_FAILEDTOCONNECTTO="Kan niet verbinden met" +_SUCCESSFULLYCONNECTEDTO="Succesvol verbonden met" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/lang/ru b/usr/local/include/xbian-config/modules/network/lang/ru new file mode 100755 index 000000000..737157ab6 --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/lang/ru @@ -0,0 +1,58 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Сети" +_DESC="ÐаÑтройка Ñетевых интерфейÑов" +_LOADINGINTERFACES="Загрузка Ñетевых интерфейÑов..." +_NOINTERFACES="Сетевые интерфейÑÑ‹ не обнаружены или они не подключены" +_SELECTINTERFACE="Выберите Ñеть Ð´Ð»Ñ Ð½Ð°Ñтройки" +_IPDHCP="DHCP" +_IPSTATIC="Статич. IP" +_SELECTHOW="Select how"; +_OBTAINIP="should obtain it's IP address" +_SSID="SSID" +_KEY="KEY" +_ENTERCREDENTIALS="Введите параметры Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ интерфейÑа" +_INVALIDCREDENTIALS="Указаны неправильные параметры, должны быть указаны SSID и KEY" +_WLANWEP="WEP" +_WLANWPA="WPA" +_WLANOPEN="Open" +_WLANSIGNAL="Сигнал" +_CREDENTIALSUPDATED="Параметры WLAN уÑпешно обновлены" +_ENTERSTATICCONFIG="Введите параметры Ñтатич. IP" +_NETWORKINTERFACES="ИнтерфейÑÑ‹" +_NETWORKADDRESS="IP адреÑ" +_NETWORKMASK="МаÑка подÑети" +_NETWORKGATEWAY="Шлюз" +_NAMESERVER="DNS" +_INVALIDSTATICCONFIG="Ðеправильные параметры Ñтатич. IP, попробуйте еще раз" +_STATICCONFIGUPDATED="ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñтатич. IP обновлена" +_DHCPCONFIGUPDATED="Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð°Ñтроен Ñ Ð¸Ñпользованием DHCP" +_NETWORKTYPE="Тип" +_NETWORKPROTECTION="Защита" +_WLANSCAN="Сканировать" +_NETWORKNAME="ИмÑ" +_NETWORKSCANAVAILABLE="Scan" +_NETWORKCUSTOM="Вручную" +_NETWORKWLAN="WLAN" +_SCANNINGFORWLAN="ПоиÑк доÑтупных Ñетей..." +_RESTARTINGADAPTER="Restarting" +_TRYINGCONNECTINGTO="ПытаюÑÑŒ подключитьÑÑ Ðº" +_FAILEDTOCONNECTTO="Ðе удалоÑÑŒ подключитьÑÑ Ðº" +_SUCCESSFULLYCONNECTEDTO="УÑпешно подключилиÑÑŒ к" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/lang/sk b/usr/local/include/xbian-config/modules/network/lang/sk new file mode 100755 index 000000000..9d8a19679 --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/lang/sk @@ -0,0 +1,58 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="SieÅ¥" +_DESC="Nadstavenie sieÅ¥ových rozhraní" +_LOADINGINTERFACES="NÄítavajú sa rozhrania, prosím ÄakaÅ¥ ..." +_NOINTERFACES="Žiadne sieÅ¥ové rozhrania niesú dostupné, alebo niesú pripojené" +_SELECTINTERFACE="Vyber rozhranie pre konfiguráciu" +_IPDHCP="DHCP" +_IPSTATIC="Statická IP" +_SELECTHOW="Vyber ako"; +_OBTAINIP="by mali byÅ¥ odzískané IP adresy" +_SSID="SSID" +_KEY="KEY" +_ENTERCREDENTIALS="Zadaj údaje pre vybrané rozhranie" +_INVALIDCREDENTIALS="Nesprávne WLAN údaje boli zadané, musía byÅ¥ zadané oba údaje, SSID aj KEY" +_WLANWEP="WEP" +_WLANWPA="WPA" +_WLANOPEN="Open" +_WLANSIGNAL="Signál" +_CREDENTIALSUPDATED="WLAN údaje boli úspeÅ¡ne zmenené" +_ENTERSTATICCONFIG="Zadaj statickú IP adresu" +_NETWORKINTERFACES="Rozhrania" +_NETWORKADDRESS="IP adresa" +_NETWORKMASK="Maska siete" +_NETWORKGATEWAY="Brána" +_NAMESERVER="Nameserver" +_INVALIDSTATICCONFIG="Nesprávna statická IP adresa, skús znovu" +_STATICCONFIGUPDATED="Nadstavenie statickej IP bolo aktualizované" +_DHCPCONFIGUPDATED="Rozhranie používa DHCP nadstavenia" +_NETWORKTYPE="Typ" +_NETWORKPROTECTION="Ochrana" +_WLANSCAN="Skenovanie" +_NETWORKNAME="Meno" +_NETWORKSCANAVAILABLE="Skenovanie" +_NETWORKCUSTOM="Vlastné" +_NETWORKWLAN="WLAN" +_SCANNINGFORWLAN="Skenovanie dostupných sietí..." +_RESTARTINGADAPTER="ReÅ¡tart" +_TRYINGCONNECTINGTO="Prosím ÄakaÅ¥. Pripájanie do" +_FAILEDTOCONNECTTO="Nepodarilo sa pripojiÅ¥ do" +_SUCCESSFULLYCONNECTEDTO="ÚspeÅ¡ne pripojené do" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/network/main b/usr/local/include/xbian-config/modules/network/main new file mode 100755 index 000000000..e1c455f83 --- /dev/null +++ b/usr/local/include/xbian-config/modules/network/main @@ -0,0 +1,560 @@ +#!/bin/bash +# +#Copyright 2012 Hexagon & CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(list status dhcp static credentials scan restart progress type); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/network/functions +source $BASEPATH/modules/network/dialogs +source $BASEPATH/functions/markup + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + showInterfacesSelectGUIFn; + if [ $? -eq 0 ]; then + return 0 + fi +} + +function showInterfacesSelectGUIFn() { + # Notify user that interfaces are loading + showInterfacesLoadingDlg + # Fetch all available interfaces and prepare menu + IFACES=($(listNetworkInterfacesFn)) + if [ ! -z "$IFACES" ]; then + showInterfacesSelectDlg "$IFACES" + if [ $? -eq 0 ]; then + # Save selected interface to a variable + IFACE=${IFACES[$(($RETURN-1))]} + # Get current configuration + IFACE_DATA=$(readNetworkConfigurationFn "$IFACE") + # Get mode + MODE=$(echo -e "$IFACE_DATA" | grep 'mode ' | cut -f 2 -d" ") + + showIPModeConfigGUIFn; + fi + else + showNoInterfacesAvailableDlg + fi +} + +function showIPModeConfigGUIFn() { + # Show DHCP/Static selection + showIPModeConfigDlg "$MODE" + if [ $? -eq 0 ]; then + # Set Static/DHCP Settings + if [ $RETURN -eq 1 ]; then + # DHCP Selected + setInterfaceDhcpFn "$IFACE" + STATUS=$?; + #showInterfaceDhcpSuccessDlg + MODE="dhcp" + else + # Static IP Selected + showInterfaceStaticGUIFn "$IFACE" "$IFACE_DATA" + STATUS=$?; + MODE="static" + fi + + if [ $STATUS -eq 1 ]; then + # If needed, ask for wireless credentials + ISWLAN=$(echo -e "$IFACE" | grep wlan) + if [ ! -z "$ISWLAN" ]; then + showWlanScanGUIFn "$IFACE" "$IFACE_DATA" + else + # Configuration done + showGUIFn + fi + fi + else + # Configuration done + showGUIFn + fi +} + +function showInterfaceStaticGUIFn() { + IP=$(echo "$2" | grep ip | cut -f 2 -d" ") + NETMASK=$(echo "$2" | grep netmask | cut -f 2 -d" ") + GATEWAY=$(echo "$2" | grep gateway | cut -f 2 -d" ") + NAMESERVER1=$(echo "$2" | grep nameserver1 | cut -f 2 -d" ") + NAMESERVER2=$(echo "$2" | grep nameserver2 | cut -f 2 -d" ") + showInterfaceStaticDlg "$IP" "$NETMASK" "$GATEWAY" "$NAMESERVER1" "$NAMESERVER2" + if [ $? -eq 0 ]; then + STATICCONF=($(echo -e "$RETURN")) + if [ ${#STATICCONF[@]} -gt 2 ]; then + IP="${STATICCONF[0]}" + NETMASK="${STATICCONF[1]}" + GATEWAY="${STATICCONF[2]}" + NAMESERVER1="" + NAMESERVER2="" + if [ ${#STATICCONF[@]} -gt 3 ]; then + NAMESERVER1="${STATICCONF[3]}" + fi + if [ ${#STATICCONF[@]} -gt 4 ]; then + NAMESERVER2="${STATICCONF[4]}" + fi + # Validation of arguments is done inside this function + RESULT=$(setInterfaceStaticFn "$1" "$IP" "$NETMASK" "$GATEWAY" "$NAMESERVER1" "$NAMESERVER2"; echo $?) + if [ $RESULT -eq 1 ]; then + showInterfaceStaticSuccessDlg + showGUIFn; + else + showInterfaceStaticErrorDlg + showInterfaceStaticGUIFn "$1" "$2" + fi + else + showInterfaceStaticErrorDlg + showInterfaceStaticGUIFn "$1" "$2" + fi + else + showIPModeConfigGUIFn + fi +} + +function showWlanScanGUIFn() { + + SSID=$(echo -e "$2" | grep ssid | cut -f 2 -d" ") + WLANKEY=$(echo -e "$2" | grep key | cut -f 2 -d" ") + PROTECTION=$(echo "$2" | grep protection | cut -f 2 -d" ") + + showScanForWLANDlg; + + if [ $? -eq 0 ]; then + if [ $RETURN -eq 2 ]; then + CUSTOM=1; + else + CUSTOM=0; + fi + if [ $CUSTOM -eq 1 ]; then + showWlanProtectionGUIFn "$1" "$2" "$PROTECTION" "$CUSTOM" + else + showScanningForNetworksDlg; + scanWLANNetworksFn $1 + showAvailableWLANDlg "$SSID" "${WNETWORKS[@]}" + if [ $? -eq 0 ]; then + if [ ! -z $RETURN ]; then + IFS=","; + WNETWORK=(${WNETWORKS[$(($RETURN-1))]}); + if [ "${WNETWORK[2]}" == "off" ] || [ "${WNETWORK[1]}" == "Open" ]; then + PROTECTION="Open"; + elif [ "${WNETWORK[1]}" == "WPA" ] || [ "${WNETWORK[1]}" == "WPA2" ]; then + PROTECTION="WPA" + else + PROTECTION="WEP"; + fi + + if [ "$SSID" != "$(echo "${WNETWORK[0]}" | awk '{print substr($0,2,length-2)}')" ]; then + WLANKEY=""; + SSID=$(echo "${WNETWORK[0]}" | awk '{print substr($0,2,length-2)}'); + fi + showWlanProtectionGUIFn "$1" "$2" "$PROTECTION" "$CUSTOM" + else + showWlanScanGUIFn $1 $2 + fi + else + showWlanScanGUIFn $1 $2 + fi + fi + else + showIPModeConfigGUIFn; + fi +} + +function showWlanProtectionGUIFn() { + CUSTOM=$4 + PROTECTION=$3 + if [ $CUSTOM -eq 1 ]; then + showWlanModeConfigDlg "$PROTECTION" + if [ $? -eq 0 ]; then + NEWPROTECTION="$RETURN" + else + showWlanScanGUIFn $1 $2 + return 0; + fi + else + if [ $PROTECTION == "Open" ]; then + NEWPROTECTION=3; + elif [ $PROTECTION == "WPA" ]; then + NEWPROTECTION=1 + else + NEWPROTECTION=2; + fi + fi + + if [ $NEWPROTECTION -lt 3 ]; then + showInterfaceCredentialsDlg "$SSID" "$WLANKEY" + if [ $? -eq 0 ]; then + CREDENTIALS=($(echo -e "$RETURN")) + if [ ${#CREDENTIALS[@]} -eq 2 ];then + SSID=${CREDENTIALS[0]} + WLANKEY=${CREDENTIALS[1]} + if [ $NEWPROTECTION -eq 1 ]; then + setInterfaceWlanCredentials "$1" "WPA" "$SSID" "$WLANKEY" + else + setInterfaceWlanCredentials "$1" "WEP" "$SSID" "$WLANKEY" + fi + + showInterfaceCredentialsSuccessDlg + showWlanRestartGUIFn $1 $SSID + if [ $STATUS -eq 3 ]; then + showGUIFn; + elif [ $STATUS -eq 2 ]; then + showWlanProtectionGUIFn "$1" "$2" "$PROTECTION" "$CUSTOM" + fi + else + showInterfaceCredentialsErrorDlg + showWlanProtectionGUIFn "$1" "$2" "$PROTECTION" "$CUSTOM" + fi + elif [ $CUSTOM -eq 1 ]; then + showWlanProtectionGUIFn "$1" "$2" "$PROTECTION" "$CUSTOM" + else + showWlanScanGUIFn "$1" "$2" + fi + else + showInterfaceSSIDDlg "$SSID" + if [ $? -eq 0 ]; then + if [ ! -z "$RETURN" ]; then + setInterfaceWlanCredentials "$1" "Open" "$RETURN" + showInterfaceCredentialsSuccessDlg + showWlanRestartGUIFn $1 $SSID + if [ $STATUS -eq 3 ]; then + showGUIFn; + elif [ $STATUS -eq 2 ]; then + showWlanProtectionGUIFn "$1" "$2" "$PROTECTION" "$CUSTOM" + fi + else + showInterfaceCredentialsErrorDlg + showWlanProtectionGUIFn "$1" "$2" "$PROTECTION" "$CUSTOM" + fi + else + showWlanProtectionGUIFn "$1" "$2" "$PROTECTION" "$CUSTOM" + fi + fi +} + +function showWlanRestartGUIFn() { + showRestartWLANDlg $1 + restartWLANAdapterFn "$1" + LASTSTATUS=-1; + while [ $(kill -0 $PROCESSID 2>/dev/null >/dev/null; echo $?) -eq 0 ]; do + getWLANConnectStatusFn; + + if [ $LASTSTATUS -ne $STATUS ]; then + LASTSTATUS=$STATUS; + if [ $STATUS -eq 1 ]; then + showWLANConnectingDlg $2 + elif [ $STATUS -eq 2 ]; then + showWLANConnectionFailedDlg $2 + elif [ $STATUS -eq 3 ]; then + showWLANConnectionSuccessDlg $2 + fi + fi + sleep 1; + done; + + getWLANConnectStatusFn; + + if [ $LASTSTATUS -ne $STATUS ]; then + LASTSTATUS=$STATUS; + if [ $STATUS -eq 1 ]; then + showWLANConnectingDlg $2 + elif [ $STATUS -eq 2 ]; then + showWLANConnectionFailedDlg $2 + elif [ $STATUS -eq 3 ]; then + showWLANConnectionSuccessDlg $2 + fi + fi + + clearWLANStatusFn; + + return $STATUS; +} + +# Executes the command line version of this module +# Arguments: +# * +# $1 Action [String] +# list|status|dhcp|static|credentials|scan|restart|progress|type|connection +# $2 Interface [String] +# static +# $3 IP [String] +# $4 Gateway [String] +# $5 Netmask [String] +# $6 Nameserver 1 [String] (optional) +# $7 Nameserver 2 [String] (optional) +# credentials (No arguments return current settings) +# $3 Encryption mode (WEP|WPA|Open) [string] +# $4 ESSID +# $5 WLANKEY (Only used for WEP|WPA) +# Returns: +# 0: Failure +# 1: Success +# 2: Connecting to wlan +# Echoes: +# @0: Error code, see below +# @1: What the user asked for +# Error codes: +# -1: Wrong number of arguments +# -2: Invalid argument +# -3: No interfaces available +# -4: Invalid interface +# -5: Interface not configured +# -6: Invalid IP +# -7: Invalid netmask +# -8: Invalid Gateway +# -9: Invalid DNS +# -10: Invalid wireless protection +# -11: WLAN already restarting +# -12: Awaiting progress status +function showCMDFn() { + case $1 in + list) + IFACES=$(listNetworkInterfacesFn) + if [ $? -eq 1 ] && [ ! -z "$IFACES" ]; then + echo -e "$IFACES" + return 1; + else + # No interfaces available + echo "-3" + return 0; + fi + ;; + status) + # Check that we have 2 arguments ($1=action, $2=interface) + if [ $# -eq 2 ]; then + # No need to check for valid interface here as readNetworkConfigurationFn does it + NETCONF=$(readNetworkConfigurationFn "$2") + if [ $? -eq 1 ]; then + if [ ! -z "$NETCONF" ]; then + echo -e "$NETCONF" + return 1; + else + echo "-5" + return 0; + fi + else + echo "-2" + return 0; + fi + else + # Wrong number of arguments + echo "-1" + return 0; + fi + ;; + dhcp) + # Check that we have 3 arguments ($1=action, $2=interface) + if [ $# -eq 2 ]; then + isValidInterfaceFn "$2" + if [ $? -eq 1 ]; then + setInterfaceDhcpFn "$2" + echo "1" + return 1; + else + # Invalid interface + echo "-2" + return 0; + fi + else + # Wrong number of arguments + echo "-1" + return 0; + fi + ;; + static) + if [ $# -gt 3 ]; then + isValidInterfaceFn "$2" + if [ $? -eq 1 ]; then + + # $3 = IP + # $4 = Gateway + # $5 = Netmask + # $6 = Nameserver1 + # $7 = Nameserver2 + + # Handle optional name servers + NAMESERVER1="" + NAMESERVER2="" + + if [ $# -gt 5 ]; then + NAMESERVER1="$6" + fi + if [ $# -gt 6 ]; then + NAMESERVER2="$7" + fi + + # Validation of arguments is done inside this function + RESULT=$(setInterfaceStaticFn "$2" "$3" "$4" "$5" "$NAMESERVER1" "$NAMESERVER2"; echo $?) + case $RETULT in + 6) + echo -6; + ;; + 7) + echo -7; + ;; + 8) + echo -8; + ;; + 9) + echo -9; + ;; + 1) + echo 1; + ;; + 3) + echo -3; + ;; + esac; + # Return status of setInterfaceModeFn + return $RESULT; + else + # Invalid interface + echo "-2" + return 0; + fi + else + # Wrong number of arguments + echo "-1" + return 0; + fi + ;; + credentials) + if [ $# -gt 3 ]; then + isValidInterfaceFn "$2" + if [ $? -eq 1 ]; then + # Validation of the data is done inside this function + + # $2 = Interface + # $3 = WPA|WEP|Open + # $4 = ESSID + # $5 = WLANKEY (semi-optional, only needed with WPA or WEP) + + WLANKEY="" + if [ $# -gt 4 ]; then + WLANKEY="$5" + fi + + RETURN=$(setInterfaceWlanCredentials "$2" "$3" "$4" "$WLANKEY"; echo $?) + case $RETURN in + 2) + echo -10; + ;; + 1) + echo 1; + ;; + 3) + echo 3; + ;; + esac + return $?; + else + # Invalid interface + echo "-2" + return 0; + fi + else + # Wrong number of arguments + echo "-1" + return 0; + fi + ;; + scan) + if [ $# == 2 ] && [[ "$2" =~ "wlan" ]]; then + isValidInterfaceFn "$2" + if [ $? -eq 1 ]; then + scanWLANNetworksFn $2; + IFS=$ORIGNALIFS; + for WNETWORK in ${WNETWORKS[@]}; do + echo $WNETWORK; + done + else + echo -2 + fi + else + echo -1 + fi + ;; + restart) + if [ $# == 2 ]; then + getAdapterTypeFn $2; + if [ $? -eq 1 ]; then + isValidInterfaceFn "$2" + if [ $? -eq 1 ]; then + restartWLANAdapterFn $2 + if [ $PROCESSID -gt 0 ]; then + echo 1 + else + echo -11 + fi + else + echo -2 + fi + else + echo -2; + fi + else + echo -1 + fi + ;; + progress) + if [ $(kill -0 $(pgrep ifup) 2>/dev/null >/dev/null; echo $?) -eq 0 ]; then + getWLANConnectStatusFn; + if [ $STATUS -eq 0 ]; then + echo -12; + elif [ $STATUS -eq 1 ]; then + echo 2; + elif [ $STATUS -eq 2 ]; then + echo 0; + clearWLANStatusFn; + elif [ $STATUS -eq 3 ]; then + echo 1; + clearWLANStatusFn; + fi + else + echo 0; + clearWLANStatusFn + fi + ;; + type) + if [ $# == 2 ]; then + isValidInterfaceFn "$2" + if [ $? -eq 1 ]; then + getAdapterTypeFn $2; + echo $?; + else + echo -2; + fi + else + echo -1; + fi + ;; + esac +} diff --git a/usr/local/include/xbian-config/modules/overclocking/dialogs b/usr/local/include/xbian-config/modules/overclocking/dialogs new file mode 100755 index 000000000..1c447375f --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/dialogs @@ -0,0 +1,86 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License,or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful,but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not,see + +# Shows the overclocking warning +function showOCWarningDlg() { + wrapTxtFn "$_OCWARNING" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" + showMsgDlg "$WRAPPEDTXT" $HEIGHT +} + +# Shows the overclocking settings radio dialog +# $1 [Array] The rows of the radio dialog +function showOCSettingsDlg() { + OCMENU=$1; + createTableFn "radio"\ + "#,\Zb$_OCNAME,\ZbARM,\ZbCORE,\ZbSDRAM,\ZbOvervolt"\ + "${OCMENU[@]}"; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+7)) + showRadioDlg "$CENTEREDTXT" "$ROWS" ${#OCMENU[@]} 16 +} + +# Shows the overclocking settings not changed dialog +function showNoOCChangeDlg() { + wrapTxtFn "$_OCNOTCHANGED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +# Shows the overclocking settings updated dialog +function showUpdatedOCDlg() { + wrapTxtFn "$_OCCHANGED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT +} + +# Shows the custom overclocking settings dialog +# $1 [Array] Space seperated values (ARM CORE SDRAM VOLTAGE) +function showCustomOCDlg() { + IFS=" "; + SETTINGS=($1) + IFS=$ORIGINALIFS; + + VALUES=$(dialog \ + --ok-label "$_CHANGE" \ + --cancel-label "$_RETURN" \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --mixedform "" \ + 10 $DEFAULTWIDTH 4 \ + "ARM Freq:" 1 3 "${SETTINGS[0]}" 1 16 5 4 0\ + "ARM Freq:" 1 3 "Mhz (700)" 1 22 11 10 2\ + "Core Freq:" 2 3 "${SETTINGS[1]}" 2 16 4 3 0\ + "Core Freq:" 2 3 "Mhz (250)" 2 21 22 11 2\ + "SDRAM Freq:" 3 3 "${SETTINGS[2]}" 3 16 4 3 0\ + "SDRAM Freq:" 3 3 "Mhz (400)" 3 21 11 10 2\ + "Overvolt:" 4 3 "${SETTINGS[3]}" 4 16 2 1 0\ + "Overvolt:" 4 3 "* .025V + 1.2V (0)" 4 19 22 21 2\ + 3>&1 1>&2 2>&3); +} + +#Shows the empty fields dialog +function showOCEmptyFieldsDlg() { + wrapTxtFn "$_OCEMPTYFIELDS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT $DEFAULTWIDTH $_RETRY + return $?; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/functions b/usr/local/include/xbian-config/modules/overclocking/functions new file mode 100755 index 000000000..555c02ea1 --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/functions @@ -0,0 +1,186 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Retrieve the current overclocking settings +# Returns +# $CURRENTOC [Integer] +# - -1 Custom overclock +# - * Array key of current overclock +# $OCOLDSETTINGS [Array] +# - 0 ARM Frequency +# - 1 Core Frequency +# - 2 SDRAM Frequency +# - 3 Over voltage +function getCurrentOCSettingsFn() { + OCOLDSETTINGS=(); + selectConfigVarFn "arm_freq" + OCOLDSETTINGS[0]=$RETURN; + selectConfigVarFn "core_freq" + OCOLDSETTINGS[1]=$RETURN; + selectConfigVarFn "sdram_freq" + OCOLDSETTINGS[2]=$RETURN; + selectConfigVarFn "over_voltage" + OCOLDSETTINGS[3]=$RETURN; + CURRENTOC=-1; + NREMPTY=0; + for KEY in ${!OCSETTINGS[@]}; do + IFS=" "; + SETTINGS=(${OCSETTINGS[$KEY]}); + I=0; + for KEY1 in ${!SETTINGS[@]}; do + if [ ! -z ${OCOLDSETTINGS[$KEY1]} ] && [ ${SETTINGS[$KEY1]} -eq ${OCOLDSETTINGS[$KEY1]} ]; then + I=$(($I+1)); + fi + if [ $I -eq ${#SETTINGS[@]} ]; then + CURRENTOC=$KEY; + fi + done + done + X=0; + DEFAULTVALUES=(${OCSETTINGS[0]}); + for KEY in ${!OCOLDSETTINGS[@]}; do + if [ -z "${OCOLDSETTINGS[$KEY]}" ]; then + X=$(($X+1)); + OCOLDSETTINGS[$KEY]=${DEFAULTVALUES[$KEY]}; + fi + done; + if [ $X -eq 4 ]; then + CURRENTOC=0; + fi +} + +# Parse the overclock values in a menu structure +# $1 [Integer] Current OC setting +# Returns +# $OCMENU [Array] +# - * Rows of the overclock menu +function createOCDLGMenuFn() { + OCMENU=(); + for KEY in ${!OCSETTINGS[@]}; do + IFS=" "; + ROW=$(($KEY+1))"," + if [ ! -z $(echo "${OCDANGEROUS[*]}" | grep -o ${OCNAMES[$KEY]}) ]; then + ROW+="\Z1"; + SAFE=-1; + elif [ ! -z $(echo "${OCSAFE[*]}" | grep -o ${OCNAMES[$KEY]}) ]; then + ROW+="\Z2"; + SAFE=0; + else + ROW+="\Zn"; + SAFE=1; + fi + ROW+="${OCNAMES[$KEY]}"; + SETTINGS=(${OCSETTINGS[$KEY]}); + I=0; + for KEY1 in ${!SETTINGS[@]}; do + I=$(($I+1)); + ROW+=","; + if [ $SAFE -eq -1 ]; then + ROW+="\Z1"; + elif [ $SAFE -eq 0 ]; then + ROW+="\Z2"; + else + ROW+="\Zn"; + fi + ROW+=${SETTINGS[$KEY1]}; + done + + if [ $1 -eq $KEY ]; then + ROW+=",on"; + else + ROW+=",off"; + fi + OCMENU+=($ROW); + done + STATUS="off" + if [ $1 -eq -1 ]; then + STATUS="on"; + fi + if [ $CURRENTOC -eq -1 ]; then + OCMENU+=($(($KEY+2)),"\Z1"$_OCCUSTOM,"\Z1"${OCOLDSETTINGS[0]},"\Z1"${OCOLDSETTINGS[1]},"\Z1"${OCOLDSETTINGS[2]},"\Z1"${OCOLDSETTINGS[3]},$STATUS) + else + OCMENU+=($(($KEY+2)),"\Z1"$_OCCUSTOM,"\Z1...","\Z1...","\Z1...","\Z1...",$STATUS) + fi + IFS=$ORIGINALIFS; +} + +# Update the overclock settings to predefined values +# Returns +# * [Integer] +# - 1 Succes +# - 0 Failed +function updateOCSettingsFn() { + NEWOCSETTING=$1; + IFS=" "; + NEWOCVALUES=(${OCSETTINGS[$NEWOCSETTING]}); + NUMERIC=1 + for VALUES in ${NEWOCVALUES[@]}; do + if ! [[ "$VALUES" =~ ^[0-9]+$ ]]; then + NUMERIC=0 + fi + done + if [ $NUMERIC -eq 1 ]; then + updateConfigVarFn "arm_freq" ${NEWOCVALUES[0]}; + updateConfigVarFn "core_freq" ${NEWOCVALUES[1]}; + updateConfigVarFn "sdram_freq" ${NEWOCVALUES[2]}; + updateConfigVarFn "over_voltage" ${NEWOCVALUES[3]}; + IFS=$ORIGINALIFS; + getCurrentOCSettingsFn + + if [ $CURRENTOC -eq $NEWOCSETTING ]; then + return 1; + else + return 0; + fi + else + return 2; + fi +} + +# Update the overclock settings to custom values +# $1 [String] Space seperated values (ARM CORE SDRAM VOLTAGE) +# Returns +# * [Integer] +# - 1 Succes +# - 0 Failed +function updateCustomOCSettingsFn() { + NEWOCVALUES=($1); + + NUMERIC=1; + for VALUES in ${NEWOCVALUES[@]}; do + if ! [[ "$VALUES" =~ ^[0-9]+$ ]]; then + NUMERIC=0 + fi + done + if [ $NUMERIC -eq 1 ]; then + updateConfigVarFn "arm_freq" ${NEWOCVALUES[0]}; + updateConfigVarFn "core_freq" ${NEWOCVALUES[1]}; + updateConfigVarFn "sdram_freq" ${NEWOCVALUES[2]}; + updateConfigVarFn "over_voltage" ${NEWOCVALUES[3]}; + IFS=$ORIGINALIFS; + getCurrentOCSettingsFn + if [ "${OCOLDSETTINGS[*]}" == "${NEWOCVALUES[*]}" ]; then + return 1; + else + return 0; + fi + else + return 2; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/lang/de b/usr/local/include/xbian-config/modules/overclocking/lang/de new file mode 100755 index 000000000..070ba794a --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/lang/de @@ -0,0 +1,27 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Übertaktung" +_DESC="Ändere Einstellungen zur Übertaktung" +_OCWARNING="Extreme Übertaktung kann die Lebenserwartung deines Raspberry Pi verringern. XBian hat verschiedene Übertaktungseinstellungen getestet und empfehlenswerte Einstellungen erstellt. Der Modus "Turbo" kann das Filesystem beschädigen. Übertaktung auf eigene Gefahr!" +_OCNOTCHANGED="Die Einstellungen sind bereits aktiv" +_OCCHANGED="Die Einstellungen wurden erfolgreich geändert" +_OCNAME="Name" +_OCCUSTOM="~" +_OCEMPTYFIELDS="Du hast nicht alle Felder ausgefüllt" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/lang/dk b/usr/local/include/xbian-config/modules/overclocking/lang/dk new file mode 100755 index 000000000..7eb650c90 --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/lang/dk @@ -0,0 +1,27 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Overclocking" +_DESC="Konfigurer overclocking" +_OCWARNING="Ekstrem overclocking kan reducere levetiden for din Raspberry Pi. XBian har afprøvet forskellige indstillinger for overclocking og skabt en foretrukken konfiguration af indstillinger. Turbo-overclocking kan forÃ¥rsage fejl i filsystemet. Overclock pÃ¥ eget ansvar!" +_OCNOTCHANGED="Disse overclock-indstillinger er allerede sat" +_OCCHANGED="Overclock-indstillingerne er ændret" +_OCNAME="Navn" +_OCCUSTOM="~" +_OCEMPTYFIELDS="Udfyld alle felterne" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/lang/en b/usr/local/include/xbian-config/modules/overclocking/lang/en new file mode 100755 index 000000000..d3e0cc90c --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/lang/en @@ -0,0 +1,27 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Overclocking" +_DESC="Configure overclocking" +_OCWARNING="Extreme overclocking can reduce the lifetime of your Raspberry Pi. XBian has tested different overclocking settings and created a most preferable combination of settings. Turbo overclock can cause filesystem corruption. Overclock at your own risk!" +_OCNOTCHANGED="These overclock settings are already set" +_OCCHANGED="The overclock settings are successfully changed" +_OCNAME="Name" +_OCCUSTOM="~" +_OCEMPTYFIELDS="You didn't fill in all fields" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/lang/es b/usr/local/include/xbian-config/modules/overclocking/lang/es new file mode 100755 index 000000000..0752c5270 --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/lang/es @@ -0,0 +1,27 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Overclocking" +_DESC="Configurar overclocking" +_OCWARNING="Overcloking extremo puede reducir la vida util de tu Raspberry Pi. XBian ha sido probado con diversas configuraciones de overclock y se han creado una configuracion recomendada de overclock. Overclock en modo turbo puede hacer que se corrompa el sistema. ¡Haz overclock bajo tu propio riesgo!" +_OCNOTCHANGED="Estos ajustes de overclock ya estan siendo usados" +_OCCHANGED="Los ajustes de overclock han sido sustituidos con exito" +_OCNAME="Nombre" +_OCCUSTOM="~" +_OCEMPTYFIELDS="No has rellenado todo los campos" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/lang/fr b/usr/local/include/xbian-config/modules/overclocking/lang/fr new file mode 100755 index 000000000..bbcd277e4 --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/lang/fr @@ -0,0 +1,27 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Overclocking" +_DESC="Configure overclocking" +_OCWARNING="Un overclocking trop élévé peut reduire la longévité de votr RPI. Xbian a testé différentes combinaisons. Le mode Turbo peut provoquer des corruptions de la carte SD. Utiliser a votre popre risque!" +_OCNOTCHANGED="Ces paramètres d'overclocking sont déja sélectionné" +_OCCHANGED="Les paramètres d'overclocking ont été modifié" +_OCNAME="Nom" +_OCCUSTOM="~" +_OCEMPTYFIELDS="Vous n'avez pas rempli tous les champs" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/lang/nl b/usr/local/include/xbian-config/modules/overclocking/lang/nl new file mode 100755 index 000000000..c22d04a08 --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/lang/nl @@ -0,0 +1,27 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Overclocking" +_DESC="Stel overclocking in" +_OCWARNING="Extreem overclocken kan de levensduur van de Rasperry Pi verkleinen. XBian heeft verschillende overclock instelling gesteld en een ideale combinatie van waardes vastgesteld. Turbo overclock kan je bestandssysteem corrumperen. Overclock op eigen risk!" +_OCNOTCHANGED="Deze overclock instellingen staan al ingesteld" +_OCCHANGED="De overclock instellingen zijn succesvol aangepast" +_OCNAME="Naam" +_OCCUSTOM="~" +_OCEMPTYFIELDS="Je hebt niet alle velden ingevuld"; \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/lang/ru b/usr/local/include/xbian-config/modules/overclocking/lang/ru new file mode 100755 index 000000000..e1e11321e --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/lang/ru @@ -0,0 +1,27 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Разгон" +_DESC="ÐаÑтройка разгона" +_OCWARNING="ЭкÑтремальный разгон может уменьшить Ñрок Ñлужбы вашей Raspberry Pi. XBian протеÑтировал различные параметры разгона и Ñоздал наиболее предпочтительные комбинации наÑтроек. Режим Turbo может вызвать повреждение файловой ÑиÑтемы. ПользуйтеÑÑŒ разгоном оÑторожно!" +_OCNOTCHANGED="Этот вариант уже выбран" +_OCCHANGED="Значение разгона уÑпешно обновлено" +_OCNAME="ИмÑ" +_OCCUSTOM="~" +_OCEMPTYFIELDS="Ð’Ñ‹ заполнили не вÑе полÑ" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/lang/sk b/usr/local/include/xbian-config/modules/overclocking/lang/sk new file mode 100755 index 000000000..5a3961a78 --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/lang/sk @@ -0,0 +1,27 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Pretaktovanie" +_DESC="Nadstavenie pretaktovania" +_OCWARNING="Extrémne pretaktovanie môže znížiÅ¥ životnosÅ¥ tvojho Raspberry Pi.XBian testoval rôzne nadstavenia pretaktovania a boli vybrané najviac používané kombinácie. Turbo pretaktovanie môže spôsobiÅ¥ znefunkÄnenie systému. Pretaktovanie len na vlastné riziko!" +_OCNOTCHANGED="Tieto nadstavenia pretaktovania sú už momentálne použité" +_OCCHANGED="Pretaktovanie bolo úspeÅ¡ne zmenené" +_OCNAME="Meno" +_OCCUSTOM="~" +_OCEMPTYFIELDS="Neboli zadané vÅ¡etky položky" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/overclocking/main b/usr/local/include/xbian-config/modules/overclocking/main new file mode 100755 index 000000000..2fca9af06 --- /dev/null +++ b/usr/local/include/xbian-config/modules/overclocking/main @@ -0,0 +1,210 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(select update values list); + +declare -A OCSETTINGS +# Names of the overclock settings +OCNAMES=(None Modest XBian Medium High Turbo); + +# Values of the overclock settings +OCSETTINGS[0]="700 250 400 0"; +OCSETTINGS[1]="800 300 400 0"; +OCSETTINGS[2]="840 375 400 0"; +OCSETTINGS[3]="900 333 450 0"; +OCSETTINGS[4]="950 450 450 2"; +OCSETTINGS[5]="1000 500 500 6"; + +# Define the (possible) dangerous overclock settings +OCDANGEROUS=(Turbo) + +# Define the safe overclock settings +OCSAFE=(None Modest XBian) + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/overclocking/functions +source $BASEPATH/modules/overclocking/dialogs +source $BASEPATH/functions/config + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + showOCWarningDlg; + showLoadingDlg; + getCurrentOCSettingsFn; + createOCDLGMenuFn $CURRENTOC; + showOCSettingsDlg $OCMENU; + if [ $? -eq 0 ]; then + if [ $RETURN -eq $(($CURRENTOC+1)) ]; then + showNoOCChangeDlg; + elif [ $RETURN -eq $((${#OCSETTINGS[@]}+1)) ]; then + if [ $CURRENTOC -eq -1 ]; then + SETTINGS="${OCOLDSETTINGS[@]}"; + else + SETTINGS=(${OCSETTINGS[$CURRENTOC]}); + fi + showCustomOCDlg "${SETTINGS[@]}"; + if [ $? -eq 0 ]; then + NEWSETTINGS=($(echo $VALUES | sed 's/Mhz //g')); + if [ "${NEWSETTINGS[0]} ${NEWSETTINGS[2]} ${NEWSETTINGS[4]} ${NEWSETTINGS[6]}" == "${SETTINGS[*]}" ]; then + showNoOCChangeDlg; + elif [ ${#NEWSETTINGS[@]} -eq 4 ]; then + updateCustomOCSettingsFn "${NEWSETTINGS[*]}"; + if [ $? -eq 1 ]; then + showUpdatedOCDlg; + askForRebootFn; + else + showErrorDlg; + fi + else + showOCEmptyFieldsDlg; + showGUIFn; + fi + else + showGUIFn; + fi + else + updateOCSettingsFn $(($RETURN-1)); + if [ $? -eq 1 ]; then + showUpdatedOCDlg; + askForRebootFn; + else + showErrorDlg; + fi + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 Overclock preset name [String] (Update|Values) +# $3 ARM [Integer] (Update) +# $4 CORE [Integer] (Update) +# $5 SDRAM [Integer] (Update) +# $6 VOLTAGE [Integer] (Update) +# Returns +# *Select [String] The current overclock preset name or 'Custom' +# *Update [Integer] Set the overclock to a preset or use custom values +# - 1 Success +# - 0 Failure +# - -1 Preset does not exist +# - -2 Not enough arguments +# - -3 Non-numeric arguments +# *Values [String] List of current values seperated by spaces or the values of a preset +# - $ARM [Integer] +# - $CORE [Integer] +# - $SDRAM [Integer] +# - $VOLTAGE [Integer] +# *List [String] A space seperated list of all presets available +# - * [String] +function showCMDFn() { + case $1 in + "select") + getCurrentOCSettingsFn; + if [ $CURRENTOC -eq -1 ]; then + echo "custom" + else + echo ${OCNAMES[$CURRENTOC],,} + fi + ;; + "update") + shift; + if [ ${1,,} == "custom" ]; then + shift + if [ $# -eq 4 ]; then + NEWSETTINGS=($@); + updateCustomOCSettingsFn "${NEWSETTINGS[*]}" + RETURN=$?; + if [ $RETURN -eq 1 ]; then + echo 1; + askForRebootFn; + elif [ $RETURN -eq 2 ]; then + echo -3; + else + echo 0; + fi + else + echo -2; + fi + else + if [ ! -z $(echo ${OCNAMES[*]} | grep -o -i $1) ]; then + MATCH=0; + for KEY in ${!OCNAMES[@]}; do + if [ ${OCNAMES[$KEY],,} == $1 ]; then + MATCH=1; + updateOCSettingsFn $KEY; + RETURN=$? + if [ $RETURN -eq 1 ]; then + askForRebootFn; + echo 1; + elif [ $RETURN -eq 2 ]; then + echo -3; + else + echo 0; + fi + fi + done + if [ $MATCH -eq 0 ]; then + echo -1 + fi + else + echo -1; + fi + fi + ;; + "values") + shift; + if [ $# -eq 0 ]; then + getCurrentOCSettingsFn; + if [ $CURRENTOC -eq -1 ]; then + echo ${OCOLDSETTINGS[*]}; + else + echo ${OCSETTINGS[$CURRENTOC]}; + fi + else + if [ ! -z $(echo ${OCNAMES[*]} | grep -o -i $1) ]; then + for KEY in ${!OCNAMES[@]}; do + if [ ${OCNAMES[$KEY],,} == $1 ]; then + echo ${OCSETTINGS[$KEY]} + fi + done + else + echo -1; + fi + fi + ;; + "list") + for NAME in ${OCNAMES[@]}; do + echo $NAME; + done; + echo "Custom" + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/packages/dialogs b/usr/local/include/xbian-config/modules/packages/dialogs new file mode 100755 index 000000000..cb011f8fa --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/dialogs @@ -0,0 +1,299 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows rootpass successfully changed dialog +function showUpdateAptDBDlg() { + wrapTxtFn "$_UPDATINGAPTDB" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpdateAptDBFailedDlg() { + wrapTxtFn "$_UPDATEAPTDBFAILED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showDownloadPackageListDlg() { + wrapTxtFn "$_DOWNLOADINGPACKAGELIST" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showFailedToRetrieveAptMirrosDlg() { + wrapTxtFn "$_FAILEDTORETRIEVEAPTMIRRORS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showGettingLocalPackageInfoDlg() { + wrapTxtFn "$_LOADINGLOCALPACKAGEINFO" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showConfirmInstallUpdateDlg() { + wrapTxtFn "$_CONFIRMPACKAGEINSTALLUPDATE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showConfirmRemoveDlg() { + wrapTxtFn "$_CONFIRMPACKAGEREMOVE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageAlreadyInstalledDlg() { + wrapTxtFn "$_PACKAGEALREADYINSTALLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageVersionNotExistDlg() { + wrapTxtFn "$_PACKAGEVERSIONNOTEXISTS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageNotExistDlg() { + wrapTxtFn "$_PACKAGENOTEXISTS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageInstallSuccessDlg() { + wrapTxtFn "$_PACKAGEINSTALLSUCCESS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageNotInstalledDlg() { + wrapTxtFn "$_PACKAGENOTINSTALLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageEssentialDlg() { + wrapTxtFn "$_PACKAGEESSENTIAL" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageRemovedSuccessDlg() { + wrapTxtFn "$_PACKAGEREMOVED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showAskForLogDlg() { + wrapTxtFn "$_PACKAGESASKFORLOG" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageAdvErrorDlg() { + wrapTxtFn "$_PACKAGEADVERROR" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageDowngradeDlg() { + wrapTxtFn "$_PACKAGEDOWNGRADE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showInstallUpdatePackageDlg() { + wrapTxtFn "$_PACKAGEINSTALLINGUPDATING" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showRemovingPackageDlg() { + wrapTxtFn "$_PACKAGEREMOVING" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPackageNotExistsDlg() { + wrapTxtFn "$_PACKAGENOTEXISTS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showPacakgeInstallRetryDlg() { + wrapTxtFn "$_PACKAGEINSTALLRETRY" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showInstallLogDlg() { + sed -i 's/\r/\n/g' /tmp/aptstatus + showTextDlg "/tmp/aptstatus" 15 $(($DEFAULTWIDTH+11)); +} + +# Shows the categories of packages +# - $1: Array of package categories +function showPackageCategoryListDlg() { + MENU=() + IFS=" "; + ARRAY=($1); + IFS=$ORIGINALIFS; + TBLCOLUMNCENTER=0; + I=0; + updateAllPackagesListFn; + for VALUE in ${ARRAY[@]}; do + I=$(($I+1)); + getPackagesFromCategoryFn $VALUE; + X=0; + for PACKAGE in ${PACKAGES[@]}; do + getPackageStatusFn $PACKAGE; + if [ $? -eq 1 ]; then + X=$(($X+1)); + fi + done + MENU+=($I",\Zn"$VALUE",("$X"/"${#PACKAGES[@]}")"); + done; + createTableFn "menu"\ + "#,\Zb"$_PACKAGECATEGORIES","$_PACKAGES\ + "${MENU[@]}"; + + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)); + HEIGHT=$((${#MENU[@]}+8)); + if [ ${#MENU[@]} -gt 15 ]; then + HEIGHT=15; + fi + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $HEIGHT +} + +# Shows the pacakges inside category +# - $1: Array of packages in this category +function showPackagesListDlg() { + MENU=() + IFS=" "; + ARRAY=($1); + IFS=$ORIGINALIFS; + I=0; + + TBLCOLUMNCENTER=0; + for VALUE in ${ARRAY[@]}; do + I=$(($I+1)); + getPackageStatusFn $VALUE; + if [ $? -eq 1 ]; then + MENU+=($I",\Zn"$VALUE",\Z2"$_YES); + else + MENU+=($I",\Zn"$VALUE",\Z1"$_NO); + fi + done; + createTableFn "menu"\ + "#,\Zb"$_PACKAGES",\Zb"$_PACKAGEINSTALLED\ + "${MENU[@]}"; + + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)); + HEIGHT=$((${#MENU[@]}+8)); + if [ ${#MENU[@]} -gt 15 ]; then + HEIGHT=15; + fi + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $HEIGHT +} + +function showPackageOptionsDlg() { + MENU=() + IFS=" "; + IFS=$ORIGINALIFS; + TBLCOLUMNCENTER=0; + + MENU+=(1",\Zn"$_PACKAGEINFORMATION); + MENU+=(2",\Zn"$_PACKAGEINSTALLUPDATE); + MENU+=(3",\Zn"$_PACKAGEREMOVE); + createTableFn "menu"\ + "#,\Zb"$_PACKAGEACTIONS\ + "${MENU[@]}"; + + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)); + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} 11 +} + +# Shows the package information +# - $1: Information of the package +# - 0: Full package name +# - 1: Available version online +# - 2: Installed size +# - 3: Download size +# - 4: Description +# - 5: Dependencies +function showPackageInfoDlg() { + PKGINFO=($1); + MSGTXT=$_PACKAGEFULLNAME" ${PKGINFO[0]}\n"; + MSGTXT+=$_PACKAGEAVAILABLEVERSION" ${PKGINFO[1]}\n"; + MSGTXT+=$_PACKAGEINSTALLEDVERSION" $(getPackageVersionFn $1)\n"; + MSGTXT+=$_PACKAGEDOWNLOADSIZE" ${PKGINFO[3]}\n"; + MSGTXT+=$_PACKAGEINSTALLEDSIZE" ${PKGINFO[2]}\n"; + MSGTXT+=$_PACKAGEDESCRIPTION" ${PKGINFO[4]}\n"; + MSGTXT+=$_PACKAGEDEPENDENCIES" ${PKGINFO[5]}\n"; + wrapTxtFn "$MSGTXT" $(($DEFAULTWIDTH+10)); + valignTxtFn "$MSGTXT" + showMsgDlg "$ALIGNEDTXT" $(($HEIGHT+3)) $(($DEFAULTWIDTH+10)) +} diff --git a/usr/local/include/xbian-config/modules/packages/functions b/usr/local/include/xbian-config/modules/packages/functions new file mode 100755 index 000000000..0c0443ef1 --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/functions @@ -0,0 +1,124 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function getPackageCategoryListFn() { + CATEGORIES=($(echo -e "$CONTENT" | grep "Section:" | grep -v "update" | cut -f 2 -d: | sort | uniq | sed 's/^\ //;s/\ $//')); +} + +function getAllPackagesFn() { + IFS=$'\n'; + PACKAGES=($(echo -e "$CONTENT" | grep "Package:" | grep -v "xbian-update" | sed -ne 's/\(Package: xbian-package-\)\([a-z-]\{1,\}\)/\2/p' | sort | uniq)); + IFS=$ORIGINALIFS; +} + +function getPackagesFromCategoryFn() { + IFS=$'\n'; + PACKAGES=($(echo -e "$CONTENT" | grep -v "xbian-update" | awk -vRS='' "/Section: $1/"'{print $0"\n"}' | grep "Package:" | sed -ne 's/\(Package: xbian-package-\)\([a-z-]\{1,\}\)/\2/p' | sort | uniq)); + IFS=$ORIGINALIFS; +} + +function getPackageStatusFn() { + if [ $(echo -e "$ALLPKGLST" | grep -v "xbian-update" | grep "xbian[-A-Za-z]\{1,\}$1[[:space:]]\{1,\}install$" | wc -l) -ge 1 ]; then + return 1; + else + return 0; + fi +} + +function updateAllPackagesListFn() { + ALLPKGLST=$(dpkg --get-selections "xbian*"); +} + +#Gets the package information +# $1: Package name +function getPackageInformationFn() { + NAME=$1; + INFO=$(echo -e "$CONTENT" | awk -vRS='' "/Package:[A-Za-z -]+$NAME/"'{print $0"\n"}' | grep -v "xbian-update"); + IFS=$'\n'; + VERSIONS=($(echo -e "$INFO" | sed -ne 's/\(Version: \)\([0-9\.]\{1,\}\)/\2/p')); + X=0; + I=0; + for KEY in ${!VERSIONS[@]}; do + if [ $(echo "${VERSIONS[$KEY]} > $X" | bc) -eq 1 ]; then + X=${VERSIONS[$KEY]}; + I=$KEY; + fi + done; + PKGINFO=(); + INFO=$(echo -e "$INFO" | awk -vRS='' "/Version: $X/"'{print $0"\n"}'); + PKGINFO[0]=$(echo -e "$INFO" | sed -ne 's/\(Package: \)\([A-Za-z0-9. -]\{1,\}\)/\2/p' | sort -r); + PKGINFO[1]=$X; + PKGINFO[2]=$(($(echo -e "$INFO" | sed -ne 's/\(Installed-Size: \)\([0-9]\{1,\}\)/\2/p')*1024)); + PKGINFO[3]=$(echo -e "$INFO" | sed -ne 's/\(^Size: \)\([0-9]\{1,\}\)/\2/p'); + PKGINFO[4]=$(echo -e "$INFO" | sed -ne 's/\(Description: \)\([A-Za-z0-9\ ]\{1,\}\)/\2/p'); + PKGINFO[5]=$(echo -e "$INFO" | sed -ne 's/\(Depends: \)\([A-Za-z0-9\ ]\{1,\}\)/\2/p') + IFS=$ORIGNALIFS; +} + +#Installs a package +# $1: Simulate or not +# $2: Full package name +function installPackageFn() { + NAME=$2; + NAME=${NAME/xbian-package-/} + NAME=$(echo $NAME | cut -f 1 -d"="); + if [ $(getPackageStatusFn $NAME; echo $?) -eq 1 ]; then + return 1; + else + if [ $1 -eq 1 ]; then + apt-get install -s $2 &>/tmp/aptstatus + elif [ $1 -eq 0 ]; then + apt-get install -y $2 &>/tmp/aptstatus + elif [ $1 -eq 2 ]; then + nohup apt-get install -y $2 &>/tmp/aptstatus & + fi + getAptErrorCodeFn; + return $?; + fi +} + +#Remove a package +# $1: Simulate or not +# $2: Full package name +function removePackageFn() { + NAME=$2; + NAME=${NAME/xbian-package-/} + NAME=$(echo $NAME | cut -f 1 -d"="); + if [ $(getPackageStatusFn $NAME; echo $?) -eq 0 ]; then + return 1; + else + if [ $1 -eq 1 ]; then + apt-get purge -s $2 &>/tmp/aptstatus + + if [ $(cat /tmp/aptstatus | grep "is not installed, so not removed" | wc -l) -eq 1 ]; then + return 1; + elif [ $(cat /tmp/aptstatus | grep "essential package" | wc -l) -eq 1 ]; then + return 2; + elif [ $(cat /tmp/aptstatus | grep "Unable to locate" | wc -l) -eq 1 ]; then + return 3; + else + return 0; + fi + elif [ $1 -eq 0 ]; then + apt-get purge -y $2 &>/tmp/aptstatus + elif [ $1 -eq 2 ]; then + nohup apt-get purge -y $2 &>/tmp/aptstatus & + fi + fi +} diff --git a/usr/local/include/xbian-config/modules/packages/lang/de b/usr/local/include/xbian-config/modules/packages/lang/de new file mode 100755 index 000000000..3b3ccaeeb --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/lang/de @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Pakete" +_DESC="Installieren oder Entfernen von Paketen" +_UPDATINGAPTDB="Lokale Datenbank wird aktualisiert..." +_UPDATEAPTDBFAILED="Bei der Aktualisierung der Datenbank trat ein Fehler auf" +_DOWNLOADINGPACKAGELIST="Remote Datenbank wird geladen..." +_FAILEDTORETRIEVEAPTMIRRORS="Download der Download Mirrors fehlgeschlagen, daher wird eine (womöglich veraltete) lokale Liste genutzt" +_LOADINGLOCALPACKAGEINFO="Dialog wird geladen..." +_CONFIRMPACKAGEINSTALLUPDATE="Soll dieses Paket wirklich installiert bzw. aktualisiert werden?" +_CONFIRMPACKAGEREMOVE="Soll dieses Paket wirklich entfernt werden?" +_PACKAGEALREADYINSTALLED="Die aktuellste Version ist bereits installiert" +_PACKAGEVERSIONNOTEXISTS="Die ausgewählte Version konnte nicht gefunden werden" +_PACKAGENOTEXISTS="Das ausgewählte Paket konnte nicht gefunden werden" +_PACKAGEINSTALLSUCCESS="Das Paket wurde erfolgreich installiert" +_PACKAGENOTINSTALLED="Dieses Paket ist nicht installiert" +_PACKAGEESSENTIAL="Dieses Paket ist zwingend notwendig und kann nicht entfernt werden" +_PACKAGEREMOVED="Das Paket wurde erfolgreich entfernt" +_PACKAGESASKFORLOG="Soll das Installationslog angezeigt werden?" +_PACKAGEADVERROR="Während der Bearbeitung trat ein Fehler auf" +_PACKAGEDOWNGRADE="Es ist bereits eine neuere Version als offiziell verfügbar installiert" +_PACKAGEINSTALLINGUPDATING="Paket wird installiert/aktualisiert, bitte warten..." +_PACKAGEREMOVING="Paket wird entfernt, bitte warten..." +_PACKAGECATEGORIES="Kategorien" +_PACKAGES="Pakete" +_PACKAGEINSTALLED="Installiert" +_PACKAGEINFORMATION="Information" +_PACKAGEINSTALLUPDATE="Installieren/Aktualisieren" +_PACKAGEREMOVE="Entfernen" +_PACKAGEFULLNAME="Voller Name:" +_PACKAGEAVAILABLEVERSION="Verfügbare Version:" +_PACKAGEINSTALLEDVERSION="Installierte Version:" +_PACKAGEINSTALLEDSIZE="Installationsgrösse:" +_PACKAGEDOWNLOADSIZE="Downloadgrösse:" +_PACKAGEDESCRIPTION="Beschreibung:" +_PACKAGEDEPENDENCIES="Abhängigkeiten:" +_PACKAGEACTIONS="Aktionen" +_PACKAGEINSTALLRETRY="Bitte versuche erneut die Pakete zu installieren" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/packages/lang/dk b/usr/local/include/xbian-config/modules/packages/lang/dk new file mode 100755 index 000000000..f2a76b7f5 --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/lang/dk @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Pakker" +_DESC="Installer eller fjern pakker" +_UPDATINGAPTDB="Opdaterer lokal pakke-database..." +_UPDATEAPTDBFAILED="En fejl opstod under opdatering af pakke-databasen" +_DOWNLOADINGPACKAGELIST="Henter fjernpakke-database..." +_FAILEDTORETRIEVEAPTMIRRORS="Hentning af download-spejling mislykkedes, derfor anvendes en lokal (muligvis uddateret) liste" +_LOADINGLOCALPACKAGEINFO="Henter dialog for pakke-database..." +_CONFIRMPACKAGEINSTALLUPDATE="Er du sikker pÃ¥ du vil installere eller hente denne pakke?" +_CONFIRMPACKAGEREMOVE="Er du sikker pÃ¥ du vil fjerne denne pakke?" +_PACKAGEALREADYINSTALLED="Den seneste version af denne pakke er allerede installeret" +_PACKAGEVERSIONNOTEXISTS="Pakkeversionen du forsøger at installere kunne ikke findes" +_PACKAGENOTEXISTS="Pakken du forsøger at installere kunne ikke findes" +_PACKAGEINSTALLSUCCESS="Installation af pakken lykkedes" +_PACKAGENOTINSTALLED="Pakken blev ikke installeret" +_PACKAGEESSENTIAL="Denne pakke er nødvendig og kan ikke fjernes" +_PACKAGEREMOVED="Fjernelse af pakken lykkedes" +_PACKAGESASKFORLOG="Vil du se installationsloggen for pakker?" +_PACKAGEADVERROR="En alvorlig fejl opstod under behandlingen af denne pakke" +_PACKAGEDOWNGRADE="Du anvender allerede en nyere version af denne pakke end den officielt tilgængelige" +_PACKAGEINSTALLINGUPDATING="Installerer/opdaterer denne pakke, dette kan tage adskillige minutter, sÃ¥ vent venligst..." +_PACKAGEREMOVING="Fjerner denne pakke, dette kan tage adskillige minutter, sÃ¥ vent venligst..." +_PACKAGECATEGORIES="Kategorier" +_PACKAGES="Pakker" +_PACKAGEINSTALLED="Installerede" +_PACKAGEINFORMATION="Oplysninger" +_PACKAGEINSTALLUPDATE="Installer/Opdater" +_PACKAGEREMOVE="Fjern" +_PACKAGEFULLNAME="Fulde navn:" +_PACKAGEAVAILABLEVERSION="Tilgængelig version:" +_PACKAGEINSTALLEDVERSION="Installeret version:" +_PACKAGEINSTALLEDSIZE="Installet størrelse:" +_PACKAGEDOWNLOADSIZE="Hentet størrelse:" +_PACKAGEDESCRIPTION="Beskrivelse:" +_PACKAGEDEPENDENCIES="Afhængigheder:" +_PACKAGEACTIONS="Handlinger" +_PACKAGEINSTALLRETRY="Forsøg at installere pakken igen" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/packages/lang/en b/usr/local/include/xbian-config/modules/packages/lang/en new file mode 100755 index 000000000..9c180a0bf --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/lang/en @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Packages" +_DESC="Install or remove packages" +_UPDATINGAPTDB="Updating local package database..." +_UPDATEAPTDBFAILED="An error occured while updating the package database" +_DOWNLOADINGPACKAGELIST="Downloading remote package database..." +_FAILEDTORETRIEVEAPTMIRRORS="Failed to retrieve download mirrors, therefore a local (possibly outdated) list will be used" +_LOADINGLOCALPACKAGEINFO="Loading package database dialog..." +_CONFIRMPACKAGEINSTALLUPDATE="Are you sure you want to install or update this package?" +_CONFIRMPACKAGEREMOVE="Are you sure you want to remove this package?" +_PACKAGEALREADYINSTALLED="The latest version of this package is already installed" +_PACKAGEVERSIONNOTEXISTS="The package version you are trying to install could not be found" +_PACKAGENOTEXISTS="The package you are trying to install could not be found" +_PACKAGEINSTALLSUCCESS="The package was successfully installed" +_PACKAGENOTINSTALLED="This package is not installed" +_PACKAGEESSENTIAL="This is an essential package, and cannot be removed" +_PACKAGEREMOVED="This package has been successfully removed" +_PACKAGESASKFORLOG="Do you want to see the package install log?" +_PACKAGEADVERROR="A serious error occured while processing this package" +_PACKAGEDOWNGRADE="You are already running a newer version of this package than officially available" +_PACKAGEINSTALLINGUPDATING="Installing/updating this package, this could take several minutes so please wait..." +_PACKAGEREMOVING="Removing this package, this could take several minutes so please wait..." +_PACKAGECATEGORIES="Categories" +_PACKAGES="Packages" +_PACKAGEINSTALLED="Installed" +_PACKAGEINFORMATION="Information" +_PACKAGEINSTALLUPDATE="Install/Update" +_PACKAGEREMOVE="Remove" +_PACKAGEFULLNAME="Full name:" +_PACKAGEAVAILABLEVERSION="Available version:" +_PACKAGEINSTALLEDVERSION="Installed version:" +_PACKAGEINSTALLEDSIZE="Installed size:" +_PACKAGEDOWNLOADSIZE="Download size:" +_PACKAGEDESCRIPTION="Description:" +_PACKAGEDEPENDENCIES="Dependencies:" +_PACKAGEACTIONS="Actions" +_PACKAGEINSTALLRETRY="Please retry to install this packages" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/packages/lang/es b/usr/local/include/xbian-config/modules/packages/lang/es new file mode 100755 index 000000000..65ef5eaf1 --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/lang/es @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Modulos" +_DESC="Instalar o desintalar nuevos modulos" +_UPDATINGAPTDB="Actualizando base de datos de modulos..." +_UPDATEAPTDBFAILED="Un error ocurrio mientras se actualizaba la base de datos de modulos" +_DOWNLOADINGPACKAGELIST="Descargando base de datos de modulos..." +_FAILEDTORETRIEVEAPTMIRRORS="Se detecto un fallo al recibir la base de datos, se usara la local" +_LOADINGLOCALPACKAGEINFO="Cargando la base de datos de modulos..." +_CONFIRMPACKAGEINSTALLUPDATE="¿Estas seguro de que quieres instalar o actualizar este modulo?" +_CONFIRMPACKAGEREMOVE="¿Estas seguro de que quieres desinstalar este modulo?" +_PACKAGEALREADYINSTALLED="La ultima version del modulo ya esta instalada" +_PACKAGEVERSIONNOTEXISTS="La version del modulo que esta tratando de instlar podria no encontrarse" +_PACKAGENOTEXISTS="El modulo que intenta instalar podria no encontrarse" +_PACKAGEINSTALLSUCCESS="El modulo ha sido actualizado con éxito" +_PACKAGENOTINSTALLED="Este módulo no esta instalado" +_PACKAGEESSENTIAL="Este módulo es esencial en el sistema, no puede ser desinstalado" +_PACKAGEREMOVED="Este módulo ha sido desinstalado con éxito" +_PACKAGESASKFORLOG="¿Te gustaría ver el registro de módulos instalados?" +_PACKAGEADVERROR="Un grave error ha ocurrido mientras se procesaba el módulo" +_PACKAGEDOWNGRADE="Ya estás usando la versión más reciente de este módulo" +_PACKAGEINSTALLINGUPDATING="Instalando/Actualizando este módulo, esto podría llevar varios minutos, espere por favor..." +_PACKAGEREMOVING="Desinstalando este módulo, esto podría llevar varios minutos, por favor espere..." +_PACKAGECATEGORIES="Categorías" +_PACKAGES="Módulos" +_PACKAGEINSTALLED="Instalados" +_PACKAGEINFORMATION="Información" +_PACKAGEINSTALLUPDATE="Instalar/Actualizar" +_PACKAGEREMOVE="Desinstalar" +_PACKAGEFULLNAME="Nombre:" +_PACKAGEAVAILABLEVERSION="Versión disponible:" +_PACKAGEINSTALLEDVERSION="Versión instalada:" +_PACKAGEINSTALLEDSIZE="Tamaño de instalación:" +_PACKAGEDOWNLOADSIZE="Tamaño de la descarga:" +_PACKAGEDESCRIPTION="Descripción:" +_PACKAGEDEPENDENCIES="Dependencias:" +_PACKAGEACTIONS="Acciones" +_PACKAGEINSTALLRETRY="Por favor, reintenta instalar estos módulos" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/packages/lang/fr b/usr/local/include/xbian-config/modules/packages/lang/fr new file mode 100755 index 000000000..0bb1b03b7 --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/lang/fr @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Paquets" +_DESC="Installer ou supprimer des paquets" +_UPDATINGAPTDB="Mise à jour de la base de donnée locale..." +_UPDATEAPTDBFAILED="Une erreur s'est produite lors de la mise à jour des paquets" +_DOWNLOADINGPACKAGELIST="Téléchargement de la base de donnée distante..." +_FAILEDTORETRIEVEAPTMIRRORS="Téléchargement des mirroirs echoués, La base locale (peut être pas à jour) va être utilisée" +_LOADINGLOCALPACKAGEINFO="Chargement de la base de donnée des paquets..." +_CONFIRMPACKAGEINSTALLUPDATE="Voulez vous installer ou mettre a jours ces paquets?" +_CONFIRMPACKAGEREMOVE="Voulez vous suppirmer ce paquet?" +_PACKAGEALREADYINSTALLED="La dernière version de ce paquet est déja installée" +_PACKAGEVERSIONNOTEXISTS="La version du paquet que vous essayez d'installer n'existe pas" +_PACKAGENOTEXISTS="Le paquet que vous voulez installer n'a pas été trouvé" +_PACKAGEINSTALLSUCCESS="Le paquet a été installé correctement" +_PACKAGENOTINSTALLED="Ce paquet n'est pas installé" +_PACKAGEESSENTIAL="C'est un paquet essentiel, il ne peut être supprimé" +_PACKAGEREMOVED="Ce paquet a été supprimé correctement" +_PACKAGESASKFORLOG="Voulez-vous voir le log d'installation?" +_PACKAGEADVERROR="Une erreur s'est produite lors de l'installation du paquet" +_PACKAGEDOWNGRADE="La version installée est plus récente que la version officielle" +_PACKAGEINSTALLINGUPDATING="Installation/mise à jour du paquet sélectionné, cela peut prendre quelques minutes. Veuillez patienter..." +_PACKAGEREMOVING="Suppression du paquet, cela peut prendre quelques minutes, veuillez patienter" +_PACKAGECATEGORIES="Catégories" +_PACKAGES="Paquet" +_PACKAGEINSTALLED="Installé" +_PACKAGEINFORMATION="Information" +_PACKAGEINSTALLUPDATE="Installer/Mettre à jour" +_PACKAGEREMOVE="Supprimer" +_PACKAGEFULLNAME="Nom complet:" +_PACKAGEAVAILABLEVERSION="Version disponible:" +_PACKAGEINSTALLEDVERSION="Version installée:" +_PACKAGEINSTALLEDSIZE="Taille d'installation:" +_PACKAGEDOWNLOADSIZE="Taille téléchargée:" +_PACKAGEDESCRIPTION="Description:" +_PACKAGEDEPENDENCIES="Dépendences:" +_PACKAGEACTIONS="Actions" +_PACKAGEINSTALLRETRY="Veuillez réessayer l'installation de ce package" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/packages/lang/nl b/usr/local/include/xbian-config/modules/packages/lang/nl new file mode 100755 index 000000000..99903e400 --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/lang/nl @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Pakketten" +_DESC="Installeer of verwijder pakketten" +_UPDATINGAPTDB="Lokale pakketten database aan het bijwerken..." +_UPDATEAPTDBFAILED="Er is een fout opgetreden bij het bijwerken van de pakketten database" +_DOWNLOADINGPACKAGELIST="Externe pakketten database aan het ophalen..." +_FAILEDTORETRIEVEAPTMIRRORS="Het ophalen van de download mirrors is niet gelukt, er zal daarom een lokale (mogelijk verouderde) lijst worden gebruikt" +_LOADINGLOCALPACKAGEINFO="Pakketten database scherm aan het laden..." +_CONFIRMPACKAGEINSTALLUPDATE="Weet u zeker dat u dit pakket wilt installeren of bijwerken?" +_CONFIRMPACKAGEREMOVE="Weet u zeker dat u dit pakket wilt verwijderen?" +_PACKAGEALREADYINSTALLED="De laatste versie van dit pakket is al geinstalleerd" +_PACKAGEVERSIONNOTEXISTS="De versie van het pakket dat u probeert te installeren, kan niet gevonden worden" +_PACKAGENOTEXISTS="Het pakket dat u probeert te installeren, kan niet gevonden worden" +_PACKAGEINSTALLSUCCESS="Het pakket is succesvol geinstalleerd" +_PACKAGENOTINSTALLED="Dit pakket is niet geinstalleerd" +_PACKAGEESSENTIAL="Dit is een essentieel pakket en kan dus niet verwijderd worden" +_PACKAGEREMOVED="Dit pakket is sucessvol verwijderd" +_PACKAGESASKFORLOG="Wilt u het installatie log bestand inkijken?" +_PACKAGEADVERROR="Er is een serieuze fout opgetreden tijdens het verwerken van dit pakket" +_PACKAGEDOWNGRADE="U draait al een nieuwere versie van dit pakket dan officieel beschikbaar" +_PACKAGEINSTALLINGUPDATING="Bezig met het installeren/bijwerken van dit pakket, dit kan een paar minuten duren dus een ogenblik geduld aub..." +_PACKAGEREMOVING="Bezig met het verwijderen van dit pakket, dit kan een paar minuten duren dus een ogenblik geduld aub..." +_PACKAGECATEGORIES="Categorieen" +_PACKAGES="Pakketten" +_PACKAGEINSTALLED="Geinstalleerd" +_PACKAGEINFORMATION="Informatie" +_PACKAGEINSTALLUPDATE="Installeren/Bijwerken" +_PACKAGEREMOVE="Verwijderen:" +_PACKAGEFULLNAME="Volledige naam:" +_PACKAGEAVAILABLEVERSION="Beschikbare versie:" +_PACKAGEINSTALLEDVERSION="Geinstalleerde versie:" +_PACKAGEINSTALLEDSIZE="Geinstalleerde grootte:" +_PACKAGEDOWNLOADSIZE="Download grootte:" +_PACKAGEDESCRIPTION="Omschrijving:" +_PACKAGEDEPENDENCIES="Afhankelijkheden:" +_PACKAGEACTIONS="Acties" +_PACKAGEINSTALLRETRY="Probeer het pakket opnieuw te installeren" diff --git a/usr/local/include/xbian-config/modules/packages/lang/ru b/usr/local/include/xbian-config/modules/packages/lang/ru new file mode 100755 index 000000000..2a2ef2df5 --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/lang/ru @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Пакеты" +_DESC="УÑтановка и удаление пакетов" +_UPDATINGAPTDB="Обновление локальной базы пакетов..." +_UPDATEAPTDBFAILED="Во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ‹ пакетов произошла ошибка" +_DOWNLOADINGPACKAGELIST="ЗагружаетÑÑ Ð±Ð°Ð·Ð° пакетов..." +_FAILEDTORETRIEVEAPTMIRRORS="Ðе удалоÑÑŒ получить ÑпиÑок зеркал, поÑтому будет иÑпользован имеющийÑÑ (возможно, уÑтаревший) ÑпиÑок пакетов" +_LOADINGLOCALPACKAGEINFO="ЗагружаетÑÑ Ð´Ð¸Ð°Ð»Ð¾Ð³ базы пакетов..." +_CONFIRMPACKAGEINSTALLUPDATE="Ð’Ñ‹ дейÑтвительно хотите уÑтановить или обновить Ñтот пакет?" +_CONFIRMPACKAGEREMOVE="Ð’Ñ‹ дейÑтвительно хотите удалить Ñтот пакет?" +_PACKAGEALREADYINSTALLED="ПоÑледнÑÑ Ð²ÐµÑ€ÑÐ¸Ñ Ñтого пакета уже уÑтановлена" +_PACKAGEVERSIONNOTEXISTS="Ðе удалоÑÑŒ найти верÑию пакета, которую вы хотите уÑтановить" +_PACKAGENOTEXISTS="Пакет, который вы хотите уÑтановить, не найден" +_PACKAGEINSTALLSUCCESS="Пакет уÑпешно уÑтановлен" +_PACKAGENOTINSTALLED="Этот пакет не уÑтановлен" +_PACKAGEESSENTIAL="Это важный пакет, и он не может быть удален" +_PACKAGEREMOVED="Этот пакет был уÑпешно удален" +_PACKAGESASKFORLOG="Ð’Ñ‹ хотите поÑмотреть лог уÑтановки пакетов?" +_PACKAGEADVERROR="При обработке Ñтого пакета произошла ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" +_PACKAGEDOWNGRADE="Ð’Ñ‹ уже иÑпользуете более новую верÑию пакета, чем доÑтупна официально" +_PACKAGEINSTALLINGUPDATING="Пакет уÑтанавливаетÑÑ/обновлÑетÑÑ, Ñто может занÑть некоторое времÑ..." +_PACKAGEREMOVING="Пакет удалÑетÑÑ, Ñто может занÑть некоторое времÑ..." +_PACKAGECATEGORIES="Категории" +_PACKAGES="Пакеты" +_PACKAGEINSTALLED="УÑтановлен" +_PACKAGEINFORMATION="ИнформациÑ" +_PACKAGEINSTALLUPDATE="УÑтановить/Обновить" +_PACKAGEREMOVE="Удалить" +_PACKAGEFULLNAME="Полное имÑ:" +_PACKAGEAVAILABLEVERSION="ДоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ:" +_PACKAGEINSTALLEDVERSION="УÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ:" +_PACKAGEINSTALLEDSIZE="Размер поÑле уÑтановки:" +_PACKAGEDOWNLOADSIZE="Будет загружено:" +_PACKAGEDESCRIPTION="ОпиÑание:" +_PACKAGEDEPENDENCIES="ЗавиÑимоÑти:" +_PACKAGEACTIONS="ДейÑтвиÑ" +_PACKAGEINSTALLRETRY="Попробуйте уÑтановить Ñтот пакет еще раз" diff --git a/usr/local/include/xbian-config/modules/packages/lang/sk b/usr/local/include/xbian-config/modules/packages/lang/sk new file mode 100755 index 000000000..682c42d96 --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/lang/sk @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Balíky" +_DESC="NainÅ¡taluj alebo odstráň balíky" +_UPDATINGAPTDB="Aktualizuj lokálnu databázu balíkov..." +_UPDATEAPTDBFAILED="Vtskytla sa chyba pri aktualizácii databázy balíkov" +_DOWNLOADINGPACKAGELIST="Preberanie databázy balíkov..." +_FAILEDTORETRIEVEAPTMIRRORS="Nepodarilo sa naÄítaÅ¥ zoznam sererov, takže bude použitý starý lokálny zoznam" +_LOADINGLOCALPACKAGEINFO="Nahrávanie databázy balíkov..." +_CONFIRMPACKAGEINSTALLUPDATE="Si si istý že chceÅ¡ nainÅ¡talovaÅ¥ alebo aktualizovaÅ¥ tento balík?" +_CONFIRMPACKAGEREMOVE="Si si istý že chceÅ¡ odstrániÅ¥ tento balík?" +_PACKAGEALREADYINSTALLED="NajnovÅ¡ia verzia tohto balíka je už nainÅ¡talovaná" +_PACKAGEVERSIONNOTEXISTS="Verzia balíka ktorý sa snažíš nainÅ¡talovaÅ¥ nieje dostupný" +_PACKAGENOTEXISTS="Balík ktorý sa snažíš nainÅ¡talovaÅ¥ nieje dostupný" +_PACKAGEINSTALLSUCCESS="Balík bol úspeÅ¡ne nainÅ¡talovaný" +_PACKAGENOTINSTALLED="Tento balík nieje nainÅ¡talovaný" +_PACKAGEESSENTIAL="Toto je základný a dôležitý balík a tento nemôže byÅ¥ odstránený" +_PACKAGEREMOVED="Balík bol úspeÅ¡ne odstránený" +_PACKAGESASKFORLOG="ChceÅ¡ si prezrieÅ¥ log nainÅ¡talovaného balíka?" +_PACKAGEADVERROR="Nastala vážna chyba pri spracovávaní tohto balíka" +_PACKAGEDOWNGRADE="Je používaná novÅ¡ia verzia balíka ako ten ktorý je oficiálne dostupný" +_PACKAGEINSTALLINGUPDATING="InÅ¡talovanie/Aktualizácia balíka, tento proces môže trvaÅ¥ zopár minút, prosím ÄakaÅ¥..." +_PACKAGEREMOVING="Odstraňovanie balíka, tento proces môže trvaÅ¥ zopár minút, prosím ÄakaÅ¥..." +_PACKAGECATEGORIES="Kategórie" +_PACKAGES="Balíky" +_PACKAGEINSTALLED="NainÅ¡talované" +_PACKAGEINFORMATION="Informácie" +_PACKAGEINSTALLUPDATE="InÅ¡talácia/Aktualizácia" +_PACKAGEREMOVE="Odstráň" +_PACKAGEFULLNAME="Celý názov:" +_PACKAGEAVAILABLEVERSION="Dostupná verzia:" +_PACKAGEINSTALLEDVERSION="NainÅ¡talovaná verzia:" +_PACKAGEINSTALLEDSIZE="NainÅ¡talovaná veľkosÅ¥:" +_PACKAGEDOWNLOADSIZE="Preberaná veľkosÅ¥:" +_PACKAGEDESCRIPTION="Popis:" +_PACKAGEDEPENDENCIES="Závislosti:" +_PACKAGEACTIONS="Kroky/Akcie" +_PACKAGEINSTALLRETRY="Prosím skús znovu nainÅ¡talovaÅ¥ tieto balíky" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/packages/main b/usr/local/include/xbian-config/modules/packages/main new file mode 100755 index 000000000..4d9266b8f --- /dev/null +++ b/usr/local/include/xbian-config/modules/packages/main @@ -0,0 +1,445 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(list info installtest install removetest remove progress status updatedb); +if [ -f "$BASEPATH/config/pkglist" ]; then + CONTENT=$(cat $BASEPATH/config/pkglist); +else + CONTENT=""; +fi +ALLPKGLST=$(dpkg --get-selections xbian*); +PKGNOTFOUND=0; + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/packages/functions +source $BASEPATH/modules/packages/dialogs +source $BASEPATH/functions/packages + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +function showPackageActionsFn() { + PACKAGE=${PACKAGES[$2]}; + getPackageInformationFn "$PACKAGE"; + showPackageOptionsDlg; + if [ $? -eq 0 ]; then + if [ $RETURN -eq 1 ]; then + showPackageInfoDlg "${PKGINFO[*]}"; + showPackageActionsFn $1 $2; + elif [ $RETURN -eq 2 ]; then + showConfirmInstallUpdateDlg; + if [ $? -eq 0 ]; then + showInstallUpdatePackageDlg; + installPackageFn 1 "${PKGINFO[0]}=${PKGINFO[1]}"; + STATUS=$?; + if [ $STATUS -eq 1 ]; then + showPackageAlreadyInstalledDlg; + elif [ $STATUS -eq 2 ]; then + showPackageVersionNotExistDlg; + elif [ $STATUS -eq 3 ]; then + if [ $PKGNOTFOUND -eq 0 ]; then + showPackageNotExistsDlg; + showUpdateAptDBDlg; + updateAptFn; + if [ $? -eq 1 ]; then + LOCALPKGDBUPDATED=1; + showPacakgeInstallRetryDlg; + else + showUpdateAptDBFailedDlg; + fi + else + showErrorDlg; + fi + elif [ $STATUS -eq 4 ]; then + showPackageDowngradeDlg; + elif [ $STATUS -ge 5 ]; then + showPackageAdvErrorDlg; + elif [ $STATUS -eq 0 ]; then + installPackageFn 0 "${PKGINFO[0]}=${PKGINFO[1]}"; + fi + showAskForLogDlg; + if [ $? -eq 0 ]; then + showInstallLogDlg; + fi + showGUIFn; + else + showPackageActionsFn $1 $2; + fi + elif [ $RETURN -eq 3 ]; then + showConfirmRemoveDlg; + if [ $? -eq 0 ]; then + showRemovingPackageDlg; + removePackageFn 0 "${PKGINFO[0]}"; + STATUS=$?; + if [ $STATUS -eq 1 ]; then + showPackageNotInstalledDlg; + elif [ $STATUS -eq 2 ]; then + showPackageEssentialDlg + elif [ $STATUS -eq 3 ]; then + showPackageNotExistsDlg; + elif [ $STATUS -eq 0 ]; then + showPackageRemovedSuccessDlg + fi + showAskForLogDlg; + if [ $? -eq 0 ]; then + showInstallLogDlg; + fi + showGUIFn; + else + showPackageActionsFn $1 $2; + fi + else + showPackageActionsFn $1 $2; + fi + else + showPackageListFn $1 $2; + fi +} + +function showPackageListFn() { + CATEGORY=${CATEGORIES[$1]}; + getPackagesFromCategoryFn "$CATEGORY" + showPackagesListDlg "${PACKAGES[*]}" + if [ $? -eq 0 ]; then + showPackageActionsFn $1 $(($RETURN-1)); + else + showGUIFn; + fi +} + +function showGUIFn() { + if [ $REMOTEPKGDBUPDATED -eq 0 ]; then + showDownloadPackageListDlg; + updateAptMirrorsFn; + if [ $? -eq 0 ]; then + showFailedToRetrieveAptMirrosDlg; + else + downloadPackageListFn; + REMOTEPKGDBUPDATED=$? + fi; + CONTENT=$(cat $BASEPATH/config/pkglist); + fi + if [ $LOCALPKGDBUPDATED -eq 0 ]; then + if [ $REMOTEPKGDBUPDATED -eq 1 ]; then + localPackageDBOutdatedFn; + if [ $? -eq 1 ]; then + showUpdateAptDBDlg; + updateAptFn; + if [ $? -eq 1 ]; then + LOCALPKGDBUPDATED=1; + else + showUpdateAptDBFailedDlg; + fi + fi + fi + fi + showGettingLocalPackageInfoDlg; + getPackageCategoryListFn; + if [ ${#CATEGORIES[@]} -gt 0 ]; then + showPackageCategoryListDlg "${CATEGORIES[*]}"; + if [ $? -eq 0 ]; then + showPackageListFn $(($RETURN-1)); + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# list | status | info | installtest | install | removetest | remove +# $2 Package [String] +# Returns +# list | status | info | installtest | install | removetest | remove +# - 1: Success +# - 0: Failed +# - -1: Wrong number of arguments +# - -2: Package not found +# - -3: You need to run an updatedb first +# *list +# - 0 arguments +# - [categoryname],[# packages],[# installed] +# - 1 argument +# - [packagename],[installed] +# *status +# - 1: Installed, 0: Not-Installed +# *info +# - name: Full package name +# - versionl: Locally installed package version +# - versioni: Remote available package version +# - sized: Download size +# - sizei: Installed size +# - desc: Full package description +# - dep: Full dependency list +# *installtest | install - (Simulates an) apt-get install +# - 1: Package can be installed without problems +# - 2: This package is already installed +# - 3: Package version not found in apt repository +# - 4: Package not found in apt repository +# - 5: A newer version of this package is already installed +# - 6: There is a size mismatch for the remote package +# - 7: The package itself got an internal error +# *removetest | remove - (Simulates an) apt-get remove +# - 1: Package can be removed without problems +# - 2: This package is not installed +# - 3: This is an essential pacakge and cannot be removed +# - 4: Package not found in apt repository +# *progress +# - 1: Apt is still running +# - 0: Apt is not running +# *updatedb - Updates local and remote apt library (when needed) +function showCMDFn() { + case $1 in + list) + if [ $# -eq 1 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + getPackageCategoryListFn; + updateAllPackagesListFn; + for CATEGORY in ${CATEGORIES[@]}; do + getPackagesFromCategoryFn $CATEGORY; + X=0; + for PACKAGE in ${PACKAGES[@]}; do + getPackageStatusFn $PACKAGE; + if [ $? -eq 1 ]; then + X=$(($X+1)); + fi + done + echo $CATEGORY,${#PACKAGES[@]},$X; + done; + else + echo -3; + fi + elif [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + updateAllPackagesListFn; + getPackageCategoryListFn; + if [ $(echo ${CATEGORIES[*]} | grep -o $2 | wc -l) -eq 1 ]; then + getPackagesFromCategoryFn "$2" + for PACKAGE in ${PACKAGES[@]}; do + getPackageStatusFn $PACKAGE; + if [ $? -eq 1 ]; then + echo $PACKAGE,1 + else + echo $PACKAGE,0 + fi + done + else + echo -2; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + status) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + getAllPackagesFn; + if [ $(echo ${PACKAGES[*]} | grep -o $2 | wc -l) -eq 1 ]; then + updateAllPackagesListFn; + if [ $(echo ${ALLPKGLST[*]} | grep -o $2 | wc -l) -eq 1 ]; then + getPackageStatusFn $2; + if [ $? -eq 1 ]; then + echo 1; + else + echo 0; + fi + else + echo 0; + fi + else + echo -2; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + info) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + getAllPackagesFn; + if [ $(echo ${PACKAGES[*]} | grep -o $2 | wc -l) -eq 1 ]; then + getPackageInformationFn $2; + echo "name "${PKGINFO[0]} + echo "versionl "$(getPackageVersionFn ${PKGINFO[0]}); + echo "versionr "${PKGINFO[1]}; + echo "sized " ${PKGINFO[3]}; + echo "sizei " ${PKGINFO[2]}; + echo "desc" ${PKGINFO[4]}; + echo "dep" ${PKGINFO[5]}; + else + echo -2; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + installtest) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + getAllPackagesFn; + if [ $(echo ${PACKAGES[*]} | grep -o $2 | wc -l) -eq 1 ]; then + getPackageInformationFn $2; + installPackageFn 1 ${PKGINFO[0]}; + RETURN=$?; + case $RETURN in + 0) + echo 1; + ;; + *) + echo $(($RETURN+1)); + ;; + esac + else + echo -2; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + install) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + getAllPackagesFn; + if [ $(echo ${PACKAGES[*]} | grep -o $2 | wc -l) -eq 1 ]; then + getPackageInformationFn $2; + installPackageFn 2 ${PKGINFO[0]}; + RETURN=$?; + case $RETURN in + 0) + echo 1; + ;; + *) + echo $(($RETURN+1)); + ;; + esac + else + echo -2; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + removetest) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + getAllPackagesFn; + if [ $(echo ${PACKAGES[*]} | grep -o $2 | wc -l) -eq 1 ]; then + getPackageInformationFn $2; + removePackageFn 1 ${PKGINFO[0]} + RETURN=$?; + case $RETURN in + 0) + echo 1; + ;; + *) + echo $(($RETURN+1)); + ;; + esac + else + echo -2; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + remove) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + getAllPackagesFn; + if [ $(echo ${PACKAGES[*]} | grep -o $2 | wc -l) -eq 1 ]; then + getPackageInformationFn $2; + removePackageFn 2 ${PKGINFO[0]}; + RETURN=$?; + case $RETURN in + 0) + echo 1; + ;; + *) + echo $(($RETURN+1)); + ;; + esac + else + echo -2; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + progress) + if [ $(kill -0 $(pgrep apt-get) 2>/dev/null; echo $?) -eq 0 ]; then + echo 1; + else + echo 0; + fi + ;; + updatedb) + STATUS=0; + updateAptMirrorsFn; + if [ $? -eq 1 ]; then + downloadPackageListFn; + if [ $? -eq 1 ]; then + localPackageDBOutdatedFn; + if [ $? -eq 1 ]; then + updateAptFn; + if [ $? -eq 1 ]; then + STATUS=1; + else + STATUS=0; + fi + else + STATUS=1; + fi + else + STATUS=1; + fi + else + STATUS=0; + fi + echo $STATUS; + ;; + esac +} diff --git a/usr/local/include/xbian-config/modules/resizesd/dialogs b/usr/local/include/xbian-config/modules/resizesd/dialogs new file mode 100755 index 000000000..6a7685159 --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/dialogs @@ -0,0 +1,46 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function showSDConfirmationDlg() { + wrapTxtFn "$_SDCONFIRM" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showSDResizeNotNeededDlg() { + wrapTxtFn "$_SDRESIZENOTNEEDED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showSDRebootDlg() { + wrapTxtFn "$_SDREBOOT" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showSDErrorDlg() { + wrapTxtFn "$_SDERROR" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/functions b/usr/local/include/xbian-config/modules/resizesd/functions new file mode 100755 index 000000000..5b5626385 --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/functions @@ -0,0 +1,155 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function checkNeedToResizeFn() { + NEEDRESIZE=0; + PART_START=$(fdisk -l | grep mmcblk0p2 | awk '{print $2}'); + CPART_END=$(fdisk -l | grep mmcblk0p2 | awk '{print $3}'); + SDEND=$(fdisk -l | sed -n '/mmcblk0/{n;p;}' | head -1 | awk '{print $8}'); + SDEND=$(($SDEND-1)); + SWAP=$(fdisk -l | grep 'mmcblk0p3' | awk '{print $5}'); + + FDISKBLOCKSIZE=$(sfdisk -d /dev/mmcblk0 | grep Id=83 | awk '{printf "%d", $6}'); + FDISKBLOCKCOUNT=$(fdisk -l /dev/mmcblk0 | grep Units | sed -ne 's/\(.*= \)\([0-9]\{1,\}\)\( bytes\)/\2/p'); + TUNE2FS=$(tune2fs -l /dev/mmcblk0p2); + TUNEBLOCKSIZE=$(echo -e "${TUNE2FS}" | grep "Block size" | awk '{printf "%d", $3}'); + TUNEBLOCKCOUNT=$(echo -e "${TUNE2FS}" | grep "Block count" | awk '{printf "%d", $3}'); + TUNETOTALBLOCKS=$(($(($TUNEBLOCKCOUNT*$TUNEBLOCKSIZE))/1024/1024)); + FDISKTOTALBLOCKS=$(($(($FDISKBLOCKSIZE*$FDISKBLOCKCOUNT))/1024/1024)); + + # check if parition was actually resized, if not reboot + if [ $TUNETOTALBLOCKS -lt $FDISKTOTALBLOCKS ]; then + NEEDRESIZE=1; + elif [ $SDEND -gt $CPART_END ]; then + NEEDRESIZE=1; + fi + return $NEEDRESIZE; +} + +function resizeSDFn() { + ERROR=0; + + checkNeedToResizeFn; + if [ $? == 1 ]; then + PART_START=$(fdisk -l | grep mmcblk0p2 | awk '{print $2}'); + CPART_START=$PART_START; + CPART_END=$(fdisk -l | grep mmcblk0p2 | awk '{print $3}'); + SDEND=$(fdisk -l | sed -n '/mmcblk0/{n;p;}' | head -1 | awk '{print $8}'); + SDEND=$(($SDEND-1)); + SWAP=$(fdisk -l | grep 'mmcblk0p3' | awk '{print $5}'); + + PART_END=$SDEND; + + if [ ! -z $SWAP ] && [ $SWAP -eq 82 ]; then + swapoff -a + ERROR=$?; + if [ $ERROR -eq 0 ]; then +fdisk /dev/mmcblk0 2>/dev/null >/dev/null </dev/null >/dev/null < /etc/init.d/resize2fs_once +#!/bin/sh +### BEGIN INIT INFO +# Provides: resize2fs_once +# Required-Start: +# Required-Stop: +# Default-Start: 2 3 4 5 S +# Default-Stop: +# Short-Description: Resize the root filesystem to fill partition +# Description: +### END INIT INFO + +. /lib/lsb/init-functions + +case "$1" in + start) + log_daemon_msg "Starting resize2fs_once" + resize2fs /dev/mmcblk0p2 >/dev/null + rm /etc/init.d/resize2fs_once >/dev/null + update-rc.d resize2fs_once remove >/dev/null + log_end_msg $? + ;; + *) + echo "Usage: $0 start" >&2 + exit 3 + ;; +esac +EOF + ERROR=$?; + fi + if [ $ERROR -eq 0 ]; then + chmod +x /etc/init.d/resize2fs_once >/dev/null; + if [ $? -eq 0 ]; then + ERROR=0; + else + ERROR=1; + fi + else + ERROR=1; + fi + if [ $ERROR -eq 0 ]; then + update-rc.d resize2fs_once defaults >/dev/null 2>/dev/null; + if [ $? -eq 0 ]; then + ERROR=0; + else + ERROR=1; + fi + else + ERROR=1; + fi + return $ERROR; + else + return 1; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/lang/de b/usr/local/include/xbian-config/modules/resizesd/lang/de new file mode 100755 index 000000000..a3666c7dc --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/lang/de @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Resize SD" +_DESC="Größe der root Partition erweitern" +_SDCONFIRM="Soll die root Partition wirklich erweitert werden?" +_SDRESIZENOTNEEDED="Die root Partition wurde bereits erweitert. Abbruch." +_SDREBOOT="Die root Partition wurde erfolgreich erweitert. Das Filesystem wird beim nächsten Bootvorgang angepasst." +_SDERROR="Ein Fehler ist aufgetreten und hat womöglich das Filesystem beschädigt. Das System könnte daher nicht mehr bootbar sein. Es wird dringend empfohlen eine Sicherung vor dem nächsten Bootvorgang zu erstellen." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/lang/dk b/usr/local/include/xbian-config/modules/resizesd/lang/dk new file mode 100755 index 000000000..5c521ddad --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/lang/dk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Tilpas SD" +_DESC="Forøg root paritionen og udfyld SD-kortet" +_SDCONFIRM="Vil du udfylde SD-kortet?" +_SDRESIZENOTNEEDED="SD-kortet er allerede udfyldt. Afbryder." +_SDREBOOT="Root-partitionen er blevet forøget. Filsystemet forøges efter næste genstart." +_SDERROR="En fejl opstod. Det er muligt at systemet ikke kan genstarte. Foretag en sikkerhedskopiering af dine filer inden genstart." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/lang/en b/usr/local/include/xbian-config/modules/resizesd/lang/en new file mode 100755 index 000000000..475fa7de0 --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/lang/en @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Resize SD" +_DESC="Expand root parition to fill SD card" +_SDCONFIRM="Are you sure you want to resize you SD card?" +_SDRESIZENOTNEEDED="This SD card is already resized. Aborting." +_SDREBOOT="Root partition has been resized. The filesystem will be enlarged upon the next reboot." +_SDERROR="An error occurred. It is possible that the system will become unbootable. Please make a backup of your files before rebooting." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/lang/es b/usr/local/include/xbian-config/modules/resizesd/lang/es new file mode 100755 index 000000000..51728a044 --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/lang/es @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Cambiar tamaño SD" +_DESC="Expandir particion de superusuario SD" +_SDCONFIRM="¿Estas seguro de que quieres cambiar el tamaño en la tarjeta SD?" +_SDRESIZENOTNEEDED="En esta tarjeta ya ha sido cambiado el tamaño de la particion. Abortando." +_SDREBOOT="La particion de superusuario ha cambiado de tamaño. El sistema de archivos se extenderá en el siguiente reinicio" +_SDERROR="Ha ocurrido un error. Es posible que el sistema no pueda arrancar. Por favor haga una copia de seguridad de sus archivos antes de reiniciar." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/lang/fr b/usr/local/include/xbian-config/modules/resizesd/lang/fr new file mode 100755 index 000000000..35159b60a --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/lang/fr @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Redimensionner SD" +_DESC="Etendre la partion root a la taille SD" +_SDCONFIRM="Etes vous sur de vouloir redimensionner votre carte SD?" +_SDRESIZENOTNEEDED="Cette carte a déja été redimensionné, annulé." +_SDREBOOT="La partition a été redimensionnée. Le systeme de fichier sera ajusté au prochain reboot." +_SDERROR="Une erreur est survenue. Il est possible que le système ne redémarre pas. Faites une sauvegarde de vos fichiers avant de redémarrer." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/lang/nl b/usr/local/include/xbian-config/modules/resizesd/lang/nl new file mode 100755 index 000000000..673bc2d4c --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/lang/nl @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Vergroot SD" +_DESC="Gebruik de volledige SD kaart" +_SDCONFIRM="Weet u zeker dat u uw SD kaart wilt vergroten?" +_SDRESIZENOTNEEDED="De SD kaart is al volledig in gebruik. Afbreken." +_SDREBOOT="De root partitie is vergroot. Het bestandssysteem zal worden vergroot tijdens de volgende herstart." +_SDERROR="Er is een fout opgetreden. Het is mogelijk dat het systeem onbruikbaar zal worden na een herstart. Maak eerst een backup voordat het systeem zal worden herstart." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/lang/ru b/usr/local/include/xbian-config/modules/resizesd/lang/ru new file mode 100755 index 000000000..95c410c61 --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/lang/ru @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Resize SD" +_DESC="РаÑширить ÑиÑтемный раздел на вÑÑŽ SDcard" +_SDCONFIRM="Ð’Ñ‹ дейÑтвительно хотите изменить размер ÑиÑтемного раздела?" +_SDRESIZENOTNEEDED="СиÑтемный раздел уже увеличен. ДейÑтвие не требуетÑÑ." +_SDREBOOT="Размер ÑиÑтемного раздела изменен. ТребуетÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°." +_SDERROR="Возникла ошибка. Возможно, ÑиÑтема переÑтанет загружатьÑÑ. ПожалуйÑта, Ñделайте резервную копию файлов перед перезагрузкой." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/lang/sk b/usr/local/include/xbian-config/modules/resizesd/lang/sk new file mode 100755 index 000000000..773e92519 --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/lang/sk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Expanzia SD karty" +_DESC="Expanduj root na celú SD kartu" +_SDCONFIRM="Si si istý, že chceÅ¡ expandovaÅ¥ systém na celú SD kartu?" +_SDRESIZENOTNEEDED="Táto karta už bola expandovaná. Operácia ukonÄená." +_SDREBOOT="Partícia root bola expandovaná. Systém bude aktualizovaný a rozšírený pri ÄalÅ¡om reÅ¡tarte." +_SDERROR="Vyskytla sa chyba. Môže sa staÅ¥ že systém bude poÅ¡kodený a nenaÅ¡tartuje. Prosím zálohuj vÅ¡etky dáta pred reÅ¡tartom." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/resizesd/main b/usr/local/include/xbian-config/modules/resizesd/main new file mode 100755 index 000000000..0bd499dfb --- /dev/null +++ b/usr/local/include/xbian-config/modules/resizesd/main @@ -0,0 +1,99 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(check resize); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/resizesd/functions +source $BASEPATH/modules/resizesd/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + showSDConfirmationDlg; + if [ $? -eq 0 ]; then + checkNeedToResizeFn; + if [ $? -eq 0 ]; then + showSDResizeNotNeededDlg; + else + resizeSDFn; + if [ $? -eq 1 ]; then + showSDRebootDlg; + else + showSDErrorDlg; + fi + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# Returns +# *Update [Integer] +# - 1: Success +# - 0: Failed +# check +# -1: Already resized +# resize +# -1: Already resized +# -2: Wrong number of arguments +function showCMDFn() { + case $1 in + check) + if [ $# -eq 1 ]; then + checkNeedToResizeFn; + if [ $? -eq 1 ]; then + echo 1; + else + echo -1; + fi + else + echo -2; + fi + ;; + resize) + if [ $# -eq 1 ]; then + checkNeedToResizeFn; + if [ $? -eq 1 ]; then + resizeSDFn; + if [ $? -eq 0 ]; then + echo 1; + else + echo 0; + fi + else + echo -1; + fi + else + echo -2; + fi + ;; + esac; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/dialogs b/usr/local/include/xbian-config/modules/rootpass/dialogs new file mode 100755 index 000000000..a7734ce56 --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/dialogs @@ -0,0 +1,54 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows the dialog in which users can enter the new password +# Returns +# $? [Integer] +# - 1: Change +# - 0: Cancel +function showRootPassInputDlg() { + showPassDlg "$_ROOTPASS" +} + +# Shows rootpass successfully changed dialog +function showRootPassSuccessDlg() { + wrapTxtFn "$_ROOTPASSCHANGED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +# Shows rootpass password didn't match dialog +function showRootPassNoMatchDlg() { + wrapTxtFn "$_ROOTPASSNOMATCH" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT $DEFAULTWIDTH $_RETRY + return $?; +} + +# Shows rootpass there where empty fields dialog +function showRootPassEmptyFieldsDlg() { + wrapTxtFn "$_ROOTPASSEMPTYFIELDS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT $DEFAULTWIDTH $_RETRY + return $?; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/functions b/usr/local/include/xbian-config/modules/rootpass/functions new file mode 100755 index 000000000..d76e6de64 --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/functions @@ -0,0 +1,33 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Update password +# $1 [String] New password +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function setRootPassFn() { + echo "root:$1" | chpasswd + if [ $? == 1 ]; then + return 0; + else + return 1; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/lang/de b/usr/local/include/xbian-config/modules/rootpass/lang/de new file mode 100755 index 000000000..12b90dd5b --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/lang/de @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Root Kennwort" +_DESC="Kennwort für den root Benutzer ändern" +_ROOTPASSCHANGED="Das root Kennwort wurde erfolgreich geändert" +_ROOTPASS="Kennwort:"; +_ROOTPASSEMPTYFIELDS="Es müssen beide Felder ausgefüllt werden" +_ROOTPASSNOMATCH="Die Kennwörter stimmen nicht überein" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/lang/dk b/usr/local/include/xbian-config/modules/rootpass/lang/dk new file mode 100755 index 000000000..f36407a53 --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/lang/dk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Root-adgang" +_DESC="Skift adgangskode for root-bruger" +_ROOTPASSCHANGED="root-adgangskode blev ændret" +_ROOTPASS="Adgangskode:"; +_ROOTPASSEMPTYFIELDS="Angiv bÃ¥de ny adgangskode og bekræftelse" +_ROOTPASSNOMATCH="Adgangskoderne stemmer ikke overnes" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/lang/en b/usr/local/include/xbian-config/modules/rootpass/lang/en new file mode 100755 index 000000000..80043a53c --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/lang/en @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Root password" +_DESC="Change password for root user" +_ROOTPASSCHANGED="root password successfully changed" +_ROOTPASS="Password:"; +_ROOTPASSEMPTYFIELDS="You have to enter both a new password and a confirmation" +_ROOTPASSNOMATCH="Passwords didn't match" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/lang/es b/usr/local/include/xbian-config/modules/rootpass/lang/es new file mode 100755 index 000000000..062d54552 --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/lang/es @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Contraseña root" +_DESC="Cambiar la contraseña de root" +_ROOTPASSCHANGED="La contraseña de root ha sido cambiada" +_ROOTPASS="Password:"; +_ROOTPASSEMPTYFIELDS="Debes introducir tu contraseña dos veces" +_ROOTPASSNOMATCH="Las contraseñas introducidas no coinciden" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/lang/fr b/usr/local/include/xbian-config/modules/rootpass/lang/fr new file mode 100755 index 000000000..586028825 --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/lang/fr @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Mot de passe root" +_DESC="Modifier le mot de passe root" +_ROOTPASSCHANGED="Mot de passe root modifié" +_ROOTPASS="Mot de passe:"; +_ROOTPASSEMPTYFIELDS="Vous devez entrer le mot de passe et le confirmer" +_ROOTPASSNOMATCH="Les mots de passe ne correspondent pas" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/lang/nl b/usr/local/include/xbian-config/modules/rootpass/lang/nl new file mode 100755 index 000000000..8abc044d0 --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/lang/nl @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Root wachtwoord" +_DESC="Verander wachtwoord van gebruiker root" +_ROOTPASSCHANGED="root wachtwoord succesvol veranderd" +_ROOTPASS="Wachtwoord:"; +_ROOTPASSEMPTYFIELDS="Je moet je gewenste wachtwoord 2x invullen" +_ROOTPASSNOMATCH="De wachtwoorden kwamen niet overeen" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/lang/ru b/usr/local/include/xbian-config/modules/rootpass/lang/ru new file mode 100755 index 000000000..904413cd2 --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/lang/ru @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Пароль root" +_DESC="Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ root" +_ROOTPASSCHANGED="Пароль уÑпешно изменен" +_ROOTPASS="Пароль:"; +_ROOTPASSEMPTYFIELDS="Ð’Ñ‹ должны ввеÑти новый пароль и подтверждение" +_ROOTPASSNOMATCH="Пароли не Ñовпадают" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/lang/sk b/usr/local/include/xbian-config/modules/rootpass/lang/sk new file mode 100755 index 000000000..8091f16b2 --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/lang/sk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Root heslo" +_DESC="Zmena hesla pre užívateľa root" +_ROOTPASSCHANGED="root heslo úspeÅ¡ne zmenené" +_ROOTPASS="Heslo:"; +_ROOTPASSEMPTYFIELDS="Musí byÅ¥ zadané heslo aj konfirmácia" +_ROOTPASSNOMATCH="Heslá sa nezhodujú" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/rootpass/main b/usr/local/include/xbian-config/modules/rootpass/main new file mode 100755 index 000000000..af355267d --- /dev/null +++ b/usr/local/include/xbian-config/modules/rootpass/main @@ -0,0 +1,82 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(update); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/rootpass/functions +source $BASEPATH/modules/rootpass/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + showRootPassInputDlg; + CODE=$? + if [ $CODE -eq 0 ]; then + VALUES=($VALUES); + if [ ${#VALUES[@]} -eq 2 ]; then + if [ ! -z ${VALUES[0]} ] && [ ! -z ${VALUES[1]} ] && [ "${VALUES[0]}" == "${VALUES[1]}" ]; then + setRootPassFn ${VALUES[0]} + if [ $? -eq 1 ]; then + showRootPassSuccessDlg; + else + showErrorDlg; + fi + else + showRootPassNoMatchDlg + showGUIFn; + fi + else + showRootPassEmptyFieldsDlg; + showGUIFn; + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 Password [String] +# Returns +# *Update [Integer] +# - 1: Success +# - 0: Failed +function showCMDFn() { + case $1 in + "update") + shift; + if [ $# -eq 1 ]; then + setRootPassFn $1; + echo $?; + else + echo 0; + fi + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/dialogs b/usr/local/include/xbian-config/modules/services/dialogs new file mode 100755 index 000000000..0d6b3a3bf --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/dialogs @@ -0,0 +1,241 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows the dialog in which users can enter the new password +function showLoadingServiceDlg() { + wrapTxtFn "$_LOADINGSERVICES" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showServiceConfirmationDlg() { + wrapTxtFn "$_SERVICEDELETECONFIRM" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showServiceDeletedDlg() { + wrapTxtFn "$_SERVICEDELETED" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showServiceInsertedDlg() { + wrapTxtFn "$_SERVICEINSERTED" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showServiceUpdatedDlg() { + wrapTxtFn "$_SERVICEUPDATED" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showRestartServiceDlg() { + wrapTxtFn "$_RESTARTINGSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showServiceNotExistsDlg() { + wrapTxtFn "$_UNEXISTINGSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showFailedToRestartDlg() { + wrapTxtFn "$_FAILEDTORESTARTSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showStartServiceDlg() { + wrapTxtFn "$_STARTINGSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showFailedToStartDlg() { + wrapTxtFn "$_FAILEDTOSTARTSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showStopServiceDlg() { + wrapTxtFn "$_STOPPINGSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showFailedToStopDlg() { + wrapTxtFn "$_FAILEDTOSTOPSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showDisableAutoStartServiceDlg() { + wrapTxtFn "$_DISABLEAUTOSTARTSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showFailedToDisableAutoStartDlg() { + wrapTxtFn "$_FAILEDTODISABLEAUTOSTARTSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showEnableAutoStartServiceDlg() { + wrapTxtFn "$_ENABLEAUTOSTARTSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showFailedToDisableAutoStartDlg() { + wrapTxtFn "$_FAILEDTOENABLEAUTOSTARTSERVICE" $(($DEFAULTWIDTH-4)) + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)) + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showServicesListDlg() { + MENU=() + I=1 + AT=$_OFF; + RUNNING=$_NO + X=3; + for SERVICE in ${INSTSERV[@]}; do + if [ $(getServiceAutoStartStatusFn $SERVICE; echo $?) -eq 0 ]; then + AT="\Z1"$_OFF; + else + AT="\Z2"$_ON; + fi + if [ $(getServiceRunningStatusFn $SERVICE; echo $?) -eq 0 ]; then + RUNNING="\Z1"$_NO; + else + RUNNING="\Z2"$_YES; + fi + if [ ${#SERVICE} -gt $X ]; then + X=${#SERVICE}; + fi + MENU+=($I",\Zn"$SERVICE","$AT","$RUNNING); + I=$(($I+1)) + done + MENU+=($I",\Zn...,\Zn...,\Zn..."); + createTableFn "menu"\ + "#,\Zb"$_SERVICE",\Zb"$_SERVICEAUTOSTART",\Zb"$_SERVICERUNNING\ + "${MENU[@]}"; + + + HEIGHT=$((${#MENU[@]}+8)); + if [ $HEIGHT -gt 15 ]; then + HEIGHT=15; + fi + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)); + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $HEIGHT +} + +function showServiceManageDlg() { + MENU=() + + IFS=$'\n'; + SERVCONF=($(echo -e "$SERVICES")); + SERV=$(echo ${SERVCONF[$1]} | cut -f 1 -d:); + IFS=$ORIGINALIFS; + + TBLCOLUMNCENTER=0; + if [ $(getServiceAutoStartStatusFn $SERV; echo $?) -eq 0 ]; then + MENU+=("1,\Z1"$_SERVICEAUTOSTART); + else + MENU+=("1,\Z2"$_SERVICEAUTOSTART); + fi + MENU+=("2,\Zn"$_SERVICESTARTRESTART); + MENU+=("3,\Zn"$_SERVICESTOP); + MENU+=("4,\Zn"$_SERVICEEDIT); + MENU+=("5,\Zn"$_SERVICEDELETE); + createTableFn "menu"\ + "#,\Zb"$_SERVICEACTION\ + "${MENU[@]}"; + + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)); + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} 11 +} + +function showServiceEditDlg() { + IFS=" "; + DATA=($1) + IFS=$ORIGINALIFS; + + VALUES=$(dialog \ + --ok-label "$_CHANGE" \ + --cancel-label "$_RETURN" \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --mixedform "" \ + 8 $DEFAULTWIDTH 2 \ + "$_SERVICENAME:" 1 3 "${DATA[0]}" 1 16 20 19 0\ + "$_SERVICEDAEMONS:" 2 3 "${DATA[1]}" 2 16 20 19 0\ + 3>&1 1>&2 2>&3); +} + +function showServiceInsertDlg() { + IFS=" "; + DATA=($1) + IFS=$ORIGINALIFS; + + VALUES=$(dialog \ + --ok-label "$_INSERT" \ + --cancel-label "$_RETURN" \ + --backtitle "$BACKTITLE" \ + --title "$TITLE" \ + --mixedform "" \ + 8 $DEFAULTWIDTH 2 \ + "$_SERVICENAME:" 1 3 "${DATA[0]}" 1 16 20 19 0\ + "$_SERVICEDAEMONS:" 2 3 "${DATA[1]}" 2 16 20 19 0\ + 3>&1 1>&2 2>&3); +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/functions b/usr/local/include/xbian-config/modules/services/functions new file mode 100755 index 000000000..364690601 --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/functions @@ -0,0 +1,246 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Get list of installed services +function getInstalledServicesFn() { + INSTSERV=(); + SERVLIST=($SERVICES); + for SERVRAW in ${SERVLIST[@]}; do + NAME=$(echo $SERVRAW | cut -f 1 -d:); + FOUND=$(ls /etc/init.d/ | grep -io "^$NAME*"); + if [ ! -z "$FOUND" ]; then + INSTSERV+=($NAME); + fi + done +} + +function getServiceAutoStartStatusFn() { + if [ ! -z "$1" ]; then + return $(ls /etc/rc2.d/ | grep -io "S[0-9]\{1,\}$1" | wc -l); + else + return 0; + fi +} + +function getServiceRunningStatusFn() { + SERVICE=$1; + SERVCONF=$(echo -e "$SERVICES" | grep "^$SERVICE*"); + IFS=" "; + DAEMONS=($(echo $SERVCONF | cut -f 2 -d: | sed -e 's/,/ /g')); + RUNNING=0; + if [ ${#DAEMONS[@]} -eq 0 ]; then + if [ $(echo $PROCESSES | grep $SERVICE | wc -l) -ge 1 ]; then + RUNNING=1; + fi + else + for DAEMON in ${DAEMONS[@]}; do + if [ $(echo $PROCESSES | grep $DAEMON | wc -l) -ge 1 ]; then + RUNNING=$(($RUNNING+1)); + fi + done + if [ $RUNNING -eq ${#DAEMONS[@]} ]; then + RUNNING=1; + else + RUNNING=0; + fi + fi + IFS=$ORIGIGNALIFS; + return $RUNNING; +} + +function getServiceNameFn() { + IFS=$'\n'; + SERVCONF=($(echo -e "$SERVICES")); + IFS=$ORIGINALIFS; + I=0; + for SERVRAW in ${SERVCONF[@]}; do + SERV=$(echo $SERVRAW | cut -f 1 -d:); + FOUND=$(ls /etc/init.d/ | grep -i "^$SERV*"); + if [ ! -z "$FOUND" ]; then + if [ $I -eq $1 ]; then + break; + fi + I=$(($I+1)); + fi + done + NAME=$(ls -Al /etc/init.d/ | grep -m1 "$SERV" | awk '{print $9}'); +} + +function getServiceIDFn() { + IFS=$'\n'; + SERVCONF=($(echo -e "$SERVICES")); + IFS=$ORIGINALIFS; + I=0; + for SERVRAW in ${SERVCONF[@]}; do + SERV=$(echo $SERVRAW | cut -f 1 -d:); + FOUND=$(ls /etc/init.d/ | grep -i "^$SERV*"); + if [ ! -z "$FOUND" ]; then + if [ "$FOUND" == "$1" ]; then + break; + fi + I=$(($I+1)); + fi + done + return $I; +} + +function checkServiceExistsFn() { + COMMAND="ls -Al /etc/init.d/ | awk '{print \$9}' | grep ^$1\$ | wc -l" + if [ $(eval $COMMAND) -ge 1 ]; then + return 1; + else + return 0; + fi +} + +function restartServiceFn() { + getServiceNameFn $1; + if [ -f "/etc/init.d/$NAME" ]; then + /etc/init.d/$NAME restart &>/dev/null + RETURN=$?; + X=0; + while [ $(getServiceRunningStatusFn $NAME; echo $?) -eq 0 ] || [ $X -lt 10 ]; do + sleep 1; + PROCESSES=$(ps -A); + X=$(($X+1)); + done; + return $RETURN; + else + return -1; + fi +} + +function startServiceFn() { + getServiceNameFn $1; + if [ -f "/etc/init.d/$NAME" ]; then + /etc/init.d/$NAME start &>/dev/null + RETURN=$?; + X=0; + while [ $(getServiceRunningStatusFn $NAME; echo $?) -eq 0 ] && [ $X -lt 10 ]; do + sleep 1; + PROCESSES=$(ps -A); + X=$(($X+1)); + done; + return $RETURN; + else + return 1; + fi +} + +function stopServiceFn() { + getServiceNameFn $1; + if [ -f "/etc/init.d/$NAME" ]; then + /etc/init.d/$NAME stop &>/dev/null + RETURN=$?; + X=0; + while [ $(getServiceRunningStatusFn $NAME; echo $?) -eq 1 ] && [ $X -lt 10 ]; do + sleep 1; + PROCESSES=$(ps -A); + X=$(($X+1)); + done; + return $RETURN; + else + return 1; + fi +} + +function disableAutoStartFn() { + getServiceNameFn $1; + if [ -f "/etc/init.d/$NAME" ]; then + update-rc.d $NAME remove &>/dev/null + RETURN=$?; + X=0; + while [ $(getServiceAutoStartStatusFn $NAME; echo $?) -eq 1 ] && [ $X -lt 10 ]; do + sleep 1; + X=$(($X+1)); + done; + if [ $X -eq 9 ]; then + RETURN=0; + fi + return $RETURN; + else + return 1; + fi +} + +function enableAutoStartFn() { + getServiceNameFn $1; + if [ -f "/etc/init.d/$NAME" ]; then + update-rc.d $NAME defaults &>/dev/null + RETURN=$?; + X=0; + while [ $(getServiceAutoStartStatusFn $NAME; echo $?) -eq 0 ] && [ $X -lt 10 ]; do + sleep 1; + X=$(($X+1)); + done; + if [ $X -eq 9 ]; then + RETURN=0; + fi + return $RETURN; + else + return 1; + fi +} + +function getServiceConfFn() { + DATA=(); + IFS=$'\n'; + SERVCONF=($(echo -e "$SERVICES")); + IFS=$ORIGINALIFS; + I=0; + + for SERVRAW in ${SERVCONF[@]}; do + SERV=$(echo $SERVRAW | cut -f 1 -d:); + FOUND=$(ls /etc/init.d/ | grep -i "^$SERV*"); + if [ ! -z "$FOUND" ]; then + if [ $I -eq $1 ]; then + DAEMONS=$(echo $SERVRAW | cut -f 2 -d:); + DATA[0]=$SERV; + DATA[1]=$DAEMONS; + break; + fi + I=$(($I+1)); + fi + done +} + +function updateServiceConfFn() { + DATA=($2); + if [ -f "$BASEPATH/config/services" ]; then + eval "sed -i '/${DATA[0]}:/d' $BASEPATH/config/services"; + fi + echo "${DATA[0]}:${DATA[1]}" >> $BASEPATH/config/services; + if [ -f "$BASEPATH/config/services" ] && [ $(cat $BASEPATH/config/services | grep "${DATA[0]}:${DATA[1]}" | wc -l) -eq 1 ]; then + return 1; + else + return 0; + fi +} + +function deleteServiceFn() { + DATA=($2); + if [ -f "$BASEPATH/config/services" ]; then + eval "sed -i '/${DATA[0]}:/d' $BASEPATH/config/services"; + fi + if [ -f "$BASEPATH/config/services" ] && [ $(cat $BASEPATH/config/services | grep "${DATA[0]}:" | wc -l) -eq 0 ]; then + return 1; + else + return 0; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/lang/de b/usr/local/include/xbian-config/modules/services/lang/de new file mode 100755 index 000000000..cf02e4c67 --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/lang/de @@ -0,0 +1,47 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Dienste" +_DESC="Start/Stop sowie Verwalten der Dienste" +_LOADINGSERVICES="Status der Dienste wird geladen..." +_RESTARTINGSERVICE="Dienst wird neu gestartet..." +_FAILEDTORESTARTSERVICE="Abbruch beim Neustart des Dienstes..." +_STARTINGSERVICE="Dienst wird gestartet..." +_FAILEDTOSTARTSERVICE="Abbruch beim Start des Dienstes..." +_STOPPINGSERVICE="Dienst wird beendet..." +_FAILEDTOSTOPSERVICE="Abbruch beim Beenden des Dienstes..." +_FAILEDTOENABLEAUTOSTARTSERVICE="Abbruch beim Aktivieren des Autostarts..." +_FAILEDTODISABLEAUTOSTARTSERVICE="Abbruch beim Deaktivieren des Autostarts..." +_ENABLEAUTOSTARTSERVICE="Autostart wird aktiviert..." +_DISABLEAUTOSTARTSERVICE="Autostart wird deaktiviert..." +_UNEXISTINGSERVICE="Der gewählte Dienst existiert nicht..." +_SERVICEDELETECONFIRM="Soll der Dienst wirklich von der Liste entfernt werden?" +_SERVICEDELETED="Der Dienst wurde erfolgreich entfernt" +_SERVICEINSERTED="Der Dienst wurde erfolgreich hinzugefügt" +_SERVICEUPDATED="Der Dienst wurde erfolgreich aktualisiert" +_SERVICE="Dienst" +_SERVICEACTION="Aktion" +_SERVICEAUTOSTART="Autostart" +_SERVICERUNNING="Läuft" +_SERVICESTARTRESTART="(Neu)Start" +_SERVICESTOP="Beenden" +_SERVICEEDIT="Bearbeiten" +_SERVICEDELETE="Entfernen" +_SERVICENAME="Name" +_SERVICEDAEMONS="Daemon(s)" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/lang/dk b/usr/local/include/xbian-config/modules/services/lang/dk new file mode 100755 index 000000000..811f1c077 --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/lang/dk @@ -0,0 +1,47 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Tjenester" +_DESC="Start/stop og hÃ¥ndter tjenester" +_LOADINGSERVICES="Henter status for tjenester..." +_RESTARTINGSERVICE="Genstarter tjeneste..." +_FAILEDTORESTARTSERVICE="Genstart af tjeneste mislykkedes..." +_STARTINGSERVICE="Starter tjeneste..." +_FAILEDTOSTARTSERVICE="Start af tjeneste mislykkedes..." +_STOPPINGSERVICE="Stopper tjeneste..." +_FAILEDTOSTOPSERVICE="Standsning af tjeneste mislykkedes..." +_FAILEDTOENABLEAUTOSTARTSERVICE="Aktivering af autostart for tjenesten mislykkedes" +_FAILEDTODISABLEAUTOSTARTSERVICE="Deaktivering af autostart for tjenesten mislykkedes..." +_ENABLEAUTOSTARTSERVICE="Aktiverer autostart af tjenesten..." +_DISABLEAUTOSTARTSERVICE="Deaktiverer autostart af tjenesten..." +_UNEXISTINGSERVICE="Denne tjeneste kunne ikke findes..." +_SERVICEDELETECONFIRM="Er du sikker pÃ¥ du vil slette denne tjeneste fra listen?" +_SERVICEDELETED="Denne service er nu fjernet" +_SERVICEINSERTED="Denne service er nu tilføjet" +_SERVICEUPDATED="Denne service er nu opdateret" +_SERVICE="Tjeneste" +_SERVICEACTION="Handling" +_SERVICEAUTOSTART="Autostart" +_SERVICERUNNING="Kører" +_SERVICESTARTRESTART="(Gen)start" +_SERVICESTOP="Stop" +_SERVICEEDIT="Rediger" +_SERVICEDELETE="Slet" +_SERVICENAME="Navn" +_SERVICEDAEMONS="Daemon(er)" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/lang/en b/usr/local/include/xbian-config/modules/services/lang/en new file mode 100755 index 000000000..1f38f440a --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/lang/en @@ -0,0 +1,47 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Services" +_DESC="Start/stop and manage services" +_LOADINGSERVICES="Loading status of services..." +_RESTARTINGSERVICE="Restarting service..." +_FAILEDTORESTARTSERVICE="Failed to restart the service..." +_STARTINGSERVICE="Starting service..." +_FAILEDTOSTARTSERVICE="Failed to start the service..." +_STOPPINGSERVICE="Stopping service..." +_FAILEDTOSTOPSERVICE="Failed to stop the service..." +_FAILEDTOENABLEAUTOSTARTSERVICE="Failed to enable the autostart of the service..." +_FAILEDTODISABLEAUTOSTARTSERVICE="Failed to disable the autostart of the service..." +_ENABLEAUTOSTARTSERVICE="Enabling the autostart of the service..." +_DISABLEAUTOSTARTSERVICE="Disabling the autostart of the service..." +_UNEXISTINGSERVICE="This service does not exists..." +_SERVICEDELETECONFIRM="Are you sure you want to delete this service from the list?" +_SERVICEDELETED="The service has successfully been removed" +_SERVICEINSERTED="The service has successfully been inserted" +_SERVICEUPDATED="The service has successfully been updated" +_SERVICE="Service" +_SERVICEACTION="Action" +_SERVICEAUTOSTART="Autostart" +_SERVICERUNNING="Running" +_SERVICESTARTRESTART="(Re)Start" +_SERVICESTOP="Stop" +_SERVICEEDIT="Edit" +_SERVICEDELETE="Delete" +_SERVICENAME="Name" +_SERVICEDAEMONS="Daemon(s)" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/lang/es b/usr/local/include/xbian-config/modules/services/lang/es new file mode 100755 index 000000000..098f3637d --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/lang/es @@ -0,0 +1,47 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Servicios" +_DESC="Iniciar/parar y gestionar servicios" +_LOADINGSERVICES="Cargando estado de los servicios..." +_RESTARTINGSERVICE="Reiniciando servicio..." +_FAILEDTORESTARTSERVICE="Fallo al reiniciar servicio..." +_STARTINGSERVICE="Iniciando servicio..." +_FAILEDTOSTARTSERVICE="Fallo al iniciar el servicio..." +_STOPPINGSERVICE="Parando el servicio..." +_FAILEDTOSTOPSERVICE="Fallo al parar el servicio..." +_FAILEDTOENABLEAUTOSTARTSERVICE="Activar el inicio automático del servicio ha fallado..." +_FAILEDTODISABLEAUTOSTARTSERVICE="Desactivar el inicio automático del servicio ha fallado..." +_ENABLEAUTOSTARTSERVICE="Activando el inico automático del servicio..." +_DISABLEAUTOSTARTSERVICE="Desactivando el inicio automático del servicio..." +_UNEXISTINGSERVICE="Este servicio no exite..." +_SERVICEDELETECONFIRM="¿Estás seguro de que quieres borrar este servicio de la base de datos?" +_SERVICEDELETED="Este servicio ha sido desinstalado con éxito" +_SERVICEINSERTED="Este servicio ha sido insertado con éxito" +_SERVICEUPDATED="Este servicio ha sido actualizado con éxito" +_SERVICE="Servicio" +_SERVICEACTION="Acción" +_SERVICEAUTOSTART="Inicio automático" +_SERVICERUNNING="Ejecutándose" +_SERVICESTARTRESTART="Reiniciar" +_SERVICESTOP="Parar" +_SERVICEEDIT="Editar" +_SERVICEDELETE="Borrar" +_SERVICENAME="Nombre" +_SERVICEDAEMONS="Daemon(s)" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/lang/fr b/usr/local/include/xbian-config/modules/services/lang/fr new file mode 100755 index 000000000..61a8f925d --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/lang/fr @@ -0,0 +1,47 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Services" +_DESC="Gérer les services" +_LOADINGSERVICES="Chargement du statut des services..." +_RESTARTINGSERVICE="Redémarrage du service..." +_FAILEDTORESTARTSERVICE="Echec lors du redémarrage du service..." +_STARTINGSERVICE="Démarrage du service..." +_FAILEDTOSTARTSERVICE="Echec lors du démarrage du service..." +_STOPPINGSERVICE="Arrêt du service..." +_FAILEDTOSTOPSERVICE="Echec lors de l'arrêt du service..." +_FAILEDTOENABLEAUTOSTARTSERVICE="Echec lors de l'activation du démarrage automatique du service..." +_FAILEDTODISABLEAUTOSTARTSERVICE="Echec lors de la désactivation du démarrage automatique du service..." +_ENABLEAUTOSTARTSERVICE="Activation du démarrage automatique du service..." +_DISABLEAUTOSTARTSERVICE="Désactivation du démarrage automatique du service..." +_UNEXISTINGSERVICE="Ce service n'existe pas..." +_SERVICEDELETECONFIRM="Voulez vous supprimer ce service de la liste?" +_SERVICEDELETED="Le service a été correctement supprimé" +_SERVICEINSERTED="Le service a été correctement ajouté" +_SERVICEUPDATED="Le service a été correctement mis à jour" +_SERVICE="Service" +_SERVICEACTION="Action" +_SERVICEAUTOSTART="Démarrage automatique" +_SERVICERUNNING="Démarré" +_SERVICESTARTRESTART="(Re)Démarrer" +_SERVICESTOP="Arrêter" +_SERVICEEDIT="Modifier" +_SERVICEDELETE="Supprimer" +_SERVICENAME="Nom" +_SERVICEDAEMONS="Daemon(s)" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/lang/nl b/usr/local/include/xbian-config/modules/services/lang/nl new file mode 100755 index 000000000..40ddb8dad --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/lang/nl @@ -0,0 +1,47 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Diensten" +_DESC="Start/Stop en beheer diensten" +_LOADINGSERVICES="Status van diensten aan het laden..." +_RESTARTINGSERVICE="Service aan het herstarten..." +_FAILEDTORESTARTSERVICE="Het herstarten van de service is niet gelukt..." +_STARTINGSERVICE="Service aan het starten..." +_FAILEDTOSTARTSERVICE="Het starten van de service is niet gelukt..." +_STOPPINGSERVICE="Service aan het stoppen..." +_FAILEDTOSTOPSERVICE="Het stoppen van de service is niet gelukt..." +_FAILEDTOENABLEAUTOSTARTSERVICE="Het aanzetten van autostart voor deze service is niet geluk..." +_FAILEDTODISABLEAUTOSTARTSERVICE="Het uitzetten van autostart voor deze service is niet geluk..." +_ENABLEAUTOSTARTSERVICE="Autostart voor deze service aan het aanzetten..." +_DISABLEAUTOSTARTSERVICE="Autostart voor deze service aan het uitzetten..." +_UNEXISTINGSERVICE="Deze dienst bestaat niet..." +_SERVICEDELETECONFIRM="Weet u zeker dat u deze dienst uit de lijst wilt verwijderen?" +_SERVICEDELETED="De dienst is succesvol verwijderd" +_SERVICEUPDATED="De dienst is succesvol bijgewerkt" +_SERVICEINSERTED="De dienst is succesvol toegevoegd" +_SERVICE="Dienst" +_SERVICEACTION="Actie" +_SERVICEAUTOSTART="Autostart" +_SERVICERUNNING="Draaiend" +_SERVICESTARTRESTART="(Her)Starten" +_SERVICESTOP="Stoppen" +_SERVICEEDIT="Bewerken" +_SERVICEDELETE="Verwijderen" +_SERVICENAME="Naam" +_SERVICEDAEMONS="Daemon(s)" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/lang/ru b/usr/local/include/xbian-config/modules/services/lang/ru new file mode 100755 index 000000000..9265baa69 --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/lang/ru @@ -0,0 +1,47 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Службы" +_DESC="ЗапуÑк, оÑтановка и управление Ñлужбами" +_LOADINGSERVICES="Загрузка Ñлужб..." +_RESTARTINGSERVICE="ПерезапуÑк Ñлужбы..." +_FAILEDTORESTARTSERVICE="Ðе удалоÑÑŒ перезапуÑтить Ñлужбу..." +_STARTINGSERVICE="ЗапуÑк Ñлужбы..." +_FAILEDTOSTARTSERVICE="Ðе удалоÑÑŒ запуÑтить Ñлужбу..." +_STOPPINGSERVICE="ОÑтановка Ñлужбы..." +_FAILEDTOSTOPSERVICE="Ðе удалоÑÑŒ оÑтановить Ñлужбу..." +_FAILEDTOENABLEAUTOSTARTSERVICE="Ðе удалоÑÑŒ включить автозапуÑк Ñлужбы..." +_FAILEDTODISABLEAUTOSTARTSERVICE="Ðе удалоÑÑŒ выключить автозапуÑк Ñлужбы..." +_ENABLEAUTOSTARTSERVICE="Включение автозапуÑка Ñлужбы..." +_DISABLEAUTOSTARTSERVICE="Выключение автозапуÑка Ñлужбы..." +_UNEXISTINGSERVICE="Эта Ñлужба не ÑущеÑтвует..." +_SERVICEDELETECONFIRM="Ð’Ñ‹ дейÑтвительно хотите хотите удалить Ñлужбу из ÑпиÑка?" +_SERVICEDELETED="Служба была уÑпешно удалена" +_SERVICEINSERTED="Служба была уÑпешно добавлена" +_SERVICEUPDATED="Служба была уÑпешно обновлена" +_SERVICE="Службы" +_SERVICEACTION="ДейÑтвиÑ" +_SERVICEAUTOSTART="ÐвтозапуÑк" +_SERVICERUNNING="Запущена" +_SERVICESTARTRESTART="(Пере)ЗапуÑк" +_SERVICESTOP="ОÑтановить" +_SERVICEEDIT="Редактировать" +_SERVICEDELETE="Удалить" +_SERVICENAME="ИмÑ" +_SERVICEDAEMONS="Демон(Ñ‹)" diff --git a/usr/local/include/xbian-config/modules/services/lang/sk b/usr/local/include/xbian-config/modules/services/lang/sk new file mode 100755 index 000000000..93af698f8 --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/lang/sk @@ -0,0 +1,47 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Služby" +_DESC="Å tart/stop a správa služieb" +_LOADINGSERVICES="Nahrávanie stavu služieb..." +_RESTARTINGSERVICE="ReÅ¡tart služieb..." +_FAILEDTORESTARTSERVICE="ReÅ¡tart služby zlyhal..." +_STARTINGSERVICE="Spúšťanie služby..." +_FAILEDTOSTARTSERVICE="Spustenie služby zlyhalo..." +_STOPPINGSERVICE="Zastavenie služby..." +_FAILEDTOSTOPSERVICE="Zastavenie služby zlyhalo..." +_FAILEDTOENABLEAUTOSTARTSERVICE="Aktivácia autoÅ¡tartu služby zlyhala..." +_FAILEDTODISABLEAUTOSTARTSERVICE="Deaktivácia autoÅ¡tartu služby zlyhala..." +_ENABLEAUTOSTARTSERVICE="Aktivácia autoÅ¡tartu služby..." +_DISABLEAUTOSTARTSERVICE="Deaktivácia autoÅ¡tartu služby..." +_UNEXISTINGSERVICE="Táto služba neexistuje..." +_SERVICEDELETECONFIRM="Naozaj chceÅ¡ zmazaÅ¥ túto službu zo zoznamu?" +_SERVICEDELETED="Služba bola úspeÅ¡ne odstránená" +_SERVICEINSERTED="Služba bola úspeÅ¡ne vložená" +_SERVICEUPDATED="Služba bola úspeÅ¡ne aktualizovaná" +_SERVICE="Služba" +_SERVICEACTION="Úloha" +_SERVICEAUTOSTART="AutoÅ¡tart" +_SERVICERUNNING="Beží" +_SERVICESTARTRESTART="(Re)Å tart" +_SERVICESTOP="Stop" +_SERVICEEDIT="UpraviÅ¥" +_SERVICEDELETE="ZmazaÅ¥" +_SERVICENAME="Názov" +_SERVICEDAEMONS="Daemon(s)" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/services/main b/usr/local/include/xbian-config/modules/services/main new file mode 100755 index 000000000..6314f41a4 --- /dev/null +++ b/usr/local/include/xbian-config/modules/services/main @@ -0,0 +1,449 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(list select status start restart stop autostart insert update delete); +if [ -f "$BASEPATH/config/services" ]; then + SERVICES=$(cat $BASEPATH/config/services | sort); +else + SERVICES=""; +fi +PROCESSES=$(ps -A); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/services/functions +source $BASEPATH/modules/services/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + PROCESSES=$(ps -A); + showLoadingServiceDlg; + getInstalledServicesFn; + showServicesListDlg; + if [ $? -eq 0 ]; then + SERVICE=$(($RETURN-1)); + getServiceNameFn $SERVICE; + if [ $RETURN -gt $(echo -e "$SERVICES" | wc -l) ] || [ -z "$(echo $SERVICES)" ]; then + showServiceInsertDlg; + if [ $? -eq 0 ]; then + IFS=$'\n'; + DATA=($(echo -e "$VALUES")); + IFS=$ORIGINALIFS; + + if [ ! -z "${DATA[0]}" ] && [ $(checkServiceExistsFn "${DATA[0]}"; echo $?) -eq 1 ]; then + updateServiceConfFn $SERVICE "${DATA[*]}" + if [ $? -eq 1 ]; then + showServiceInsertedDlg; + SERVICES=$(cat $BASEPATH/config/services | sort); + else + showErrorDlg; + fi + showGUIFn; + else + showServiceNotExistsDlg; + showGUIFn; + fi + else + showGUIFn; + fi + else + showServiceManageDlg $SERVICE; + if [ $? -eq 0 ]; then + if [ $RETURN -eq 1 ]; then + if [ $(getServiceAutoStartStatusFn $NAME; echo $?) -eq 1 ]; then + showDisableAutoStartServiceDlg; + disableAutoStartFn $SERVICE; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + showFailedToDisableAutoStartDlg; + else + showGUIFn; + fi + else + showEnableAutoStartServiceDlg; + enableAutoStartFn $SERVICE; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + showFailedToEnableAutoStartDlg; + else + showGUIFn; + fi + fi + elif [ $RETURN -eq 2 ]; then + if [ $(getServiceRunningStatusFn $NAME; echo $?) -eq 1 ]; then + showRestartServiceDlg; + restartServiceFn $SERVICE; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + showFailedToRestartDlg; + else + showGUIFn; + fi + else + showStartServiceDlg; + startServiceFn $SERVICE; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + showFailedToStartDlg; + else + showGUIFn; + fi + fi + elif [ $RETURN -eq 3 ]; then + getServiceConfFn $SERVICE; + if [ $(getServiceRunningStatusFn $SERVICE; echo $?) -eq 1 ]; then + showStopServiceDlg; + stopServiceFn $SERVICE; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + showFailedToStopDlg; + else + showGUIFn; + fi + else + showGUIFn; + fi + elif [ $RETURN -eq 4 ]; then + getServiceConfFn $SERVICE; + showServiceEditDlg "${DATA[*]}"; + if [ $? -eq 0 ]; then + IFS=$'\n'; + DATA=($(echo -e "$VALUES")); + IFS=$ORIGINALIFS; + + if [ ! -z "${DATA[0]}" ] && [ $(checkServiceExistsFn "${DATA[0]}"; echo $?) -eq 1 ]; then + updateServiceConfFn $SERVICE "${DATA[*]}" + if [ $? -eq 1 ]; then + SERVICES=$(cat $BASEPATH/config/services | sort); + showServiceUpdatedDlg; + else + showErrorDlg; + fi + showGUIFn; + else + showServiceNotExistsDlg; + showGUIFn; + fi + else + showGUIFn; + fi + elif [ $RETURN -eq 5 ]; then + showServiceConfirmationDlg; + if [ $? -eq 0 ]; then + getServiceConfFn $SERVICE; + deleteServiceFn $SERVICE "${DATA[*]}" + if [ $? -eq 1 ]; then + showServiceDeletedDlg; + SERVICES=$(cat $BASEPATH/config/services | sort); + else + showErrorDlg; + fi + showGUIFn; + else + showGUIFn; + fi + fi + else + showGUIFn; + fi + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# status | select | start | stop | restart | autostart | insert | update | delete +# $2 Service [String] +# autostart +# $3 Action [String] Possible values 'enable' or 'disable' +# insert | update +# $3 Daemons +# Returns +# - 4: Running but autostart disabled +# - 3: Not running but autostart enabled +# - 2: Not running and autostart disabled +# - 1: Success +# - 0: Failed +# - -1: Invalid number of arguments +# - -2: Service not available +# - -3: Service already running +# - -4: Service already stopped +# - -5: Autostart already enabled +# - -6: Autostart already disabled +# - -7: Service file does not exists +function showCMDFn() { + case $1 in + list) + if [ $# -eq 1 ]; then + if [ -f "$BASEPATH/config/services" ]; then + for SERVICE in ${SERVICES[@]}; do + NAME=$(echo $SERVICE | cut -f 1 -d:); + if [ -f "/etc/init.d/$NAME" ]; then + echo $NAME; + fi + done; + else + echo -7; + fi + else + echo -1; + fi + ;; + select) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/services" ]; then + if [ $(echo -e "$SERVICES" | grep -o "^$2" | wc -l) -ge 1 ]; then + getServiceIDFn $2; + KEY=$?; + getServiceConfFn $KEY; + echo ${DATA[1]/,/ }; + else + echo -2; + fi + else + echo -7; + fi + else + echo -1; + fi + ;; + status) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/services" ]; then + if [ $(echo -e "$SERVICES" | grep -o "^$2" | wc -l) -ge 1 ]; then + RUNNING=$(getServiceRunningStatusFn $2; echo $?); + AUTOSTART=$(getServiceAutoStartStatusFn $2; echo $?); + if [ $RUNNING -eq 0 ] && [ $AUTOSTART -eq 0 ]; then + echo $2 2; + elif [ $RUNNING -eq 0 ] && [ $AUTOSTART -eq 1 ]; then + echo $2 3; + elif [ $RUNNING -eq 1 ] && [ $AUTOSTART -eq 0 ]; then + echo $2 4; + elif [ $RUNNING -eq 1 ] && [ $AUTOSTART -eq 1 ]; then + echo $2 5; + fi + else + echo -2; + fi + else + echo -7; + fi + elif [ $# -eq 1 ]; then + if [ -f "$BASEPATH/config/services" ]; then + for SERVICE in ${SERVICES[@]}; do + NAME=$(echo $SERVICE | cut -f 1 -d:); + RUNNING=$(getServiceRunningStatusFn $NAME; echo $?); + AUTOSTART=$(getServiceAutoStartStatusFn $NAME; echo $?); + if [ $RUNNING -eq 0 ] && [ $AUTOSTART -eq 0 ]; then + echo $NAME 2; + elif [ $RUNNING -eq 0 ] && [ $AUTOSTART -eq 1 ]; then + echo $NAME 3; + elif [ $RUNNING -eq 1 ] && [ $AUTOSTART -eq 0 ]; then + echo $NAME 4; + elif [ $RUNNING -eq 1 ] && [ $AUTOSTART -eq 1 ]; then + echo $NAME 5; + fi + done; + else + echo -7; + fi + else + echo -1; + fi + ;; + start) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/services" ]; then + if [ $(echo -e "$SERVICES" | grep -o "^$2" | wc -l) -ge 1 ] && [ -f "/etc/init.d/$2" ]; then + if [ $(getServiceRunningStatusFn $2; echo $?) -eq 0 ]; then + ID=$(getServiceIDFn $2; echo $?); + startServiceFn $ID; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + echo 0; + else + echo 1; + fi; + else + echo -3 + fi + else + echo -2 + fi + else + echo -7; + fi + else + echo -1; + fi + ;; + stop) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/services" ]; then + if [ $(echo -e "$SERVICES" | grep -o "^$2" | wc -l) -ge 1 ] && [ -f "/etc/init.d/$2" ]; then + if [ $(getServiceRunningStatusFn $2; echo $?) -eq 1 ]; then + ID=$(getServiceIDFn $2; echo $?); + stopServiceFn $ID; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + echo 0; + else + echo 1; + fi; + else + echo -4 + fi + else + echo -2 + fi + else + echo -7; + fi + else + echo -1; + fi + ;; + restart) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/services" ]; then + if [ $(echo -e "$SERVICES" | grep -o "^$2" | wc -l) -ge 1 ] && [ -f "/etc/init.d/$2" ]; then + if [ $(getServiceRunningStatusFn $2; echo $?) -eq 1 ]; then + ID=$(getServiceIDFn $2; echo $?); + restartServiceFn $ID; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + echo 0; + else + echo 1; + fi; + else + echo -4 + fi + else + echo -2 + fi + else + echo -7; + fi + else + echo -1; + fi + ;; + autostart) + if [ $# -eq 3 ]; then + if [ -f "$BASEPATH/config/services" ]; then + if [ $(echo -e "$SERVICES" | grep -o "^$2" | wc -l) -ge 1 ] && [ -f "/etc/init.d/$2" ]; then + if [ $3 == "disable" ]; then + if [ $(getServiceAutoStartStatusFn $2; echo $?) -eq 1 ]; then + ID=$(getServiceIDFn $2; echo $?); + disableAutoStartFn $ID; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + echo 0; + else + echo 1; + fi + else + echo -5; + fi + elif [ $3 == "enable" ]; then + if [ $(getServiceAutoStartStatusFn $2; echo $?) -eq 0 ]; then + ID=$(getServiceIDFn $2; echo $?); + enableAutoStartFn $ID; + RETURN=$?; + if [ $RETURN -gt 0 ]; then + echo 0; + else + echo 1; + fi + else + echo -6; + fi + else + echo -1; + fi + else + echo -2 + fi + else + echo -7; + fi + else + echo -1; + fi + ;; + insert | update) + if [ $# -ge 2 ]; then + DATA=($2) + shift; + shift; + if [ ! -z "${DATA[0]}" ] && [ $(checkServiceExistsFn "${DATA[0]}"; echo $?) -eq 1 ]; then + DAEMONS=($@); + DAEMON="" + ID=$(getServiceIDFn $2; echo $?); + for VALUE in ${DAEMONS[@]}; do + DAEMON=$DAEMON$VALUE","; + done; + DAEMON=$(echo $DAEMON | awk '{print substr($0,0,length)}'); + DATA+=($DAEMON); + updateServiceConfFn $ID "${DATA[*]}" + if [ $? -eq 1 ]; then + echo 1 + else + echo 0 + fi + else + echo -2 + fi + else + echo -1; + fi + ;; + delete) + if [ $# -eq 2 ]; then + DATA=($2) + shift; + if [ $(echo -e "$SERVICES" | grep -o "^$1" | wc -l) -ge 1 ]; then + ID=$(getServiceIDFn $2; echo $?); + deleteServiceFn $ID "${DATA[*]}" + if [ $? -eq 1 ]; then + echo 1 + else + echo 0 + fi + else + echo -2 + fi + else + echo -1; + fi + ;; + esac +} diff --git a/usr/local/include/xbian-config/modules/sshroot/dialogs b/usr/local/include/xbian-config/modules/sshroot/dialogs new file mode 100755 index 000000000..3536b4e28 --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/dialogs @@ -0,0 +1,55 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows the dialog in which users can choose to disable or enable root login through ssh +# Returns +# $? [Integer] +# - 1: Enable ssh root login +# - 0: Disable ssh root login +function enableDisableSSHRootLoginDlg() { + wrapTxtFn "$_SSHROOTENABLE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT 55 "$_ENABLE" "$_DISABLE" + return $?; +} + +# Warns the user that no root password was given, a requirement for ssh root login +function showEmptyRootPasswordDlg() { + wrapTxtFn "$_NOSSHROOTPASS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +# Shows a message that the SSH root login was disabled +function showSSHRootDisabledDlg() { + wrapTxtFn "$_SSHROOTDISABLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" +} + +# Shows a message that the SSH root login was enabled +function showSSHRootEnabledDlg() { + wrapTxtFn "$_SSHROOTENABLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" +} diff --git a/usr/local/include/xbian-config/modules/sshroot/functions b/usr/local/include/xbian-config/modules/sshroot/functions new file mode 100755 index 000000000..69144ec79 --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/functions @@ -0,0 +1,72 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Checks if user root has a password set +# Returns +# *[Integer] +# - 1: No root password is set +# - 0: Root password is set +function rootPasswordSetFn() { + if [ -z $(cat /etc/shadow | grep root | cut -f 2 -d:) ]; then + return 0; + else + return 1; + fi +} + +# Enables root ssh login +# Returns +# $?[Integer] +# - 1: Success +# - 0: Failed +function enableSSHRootLoginFn() { + sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config + /etc/init.d/ssh restart >/dev/null + isSSHRootLoginEnabledFn + return $?; +} + +# Disables root ssh login +# Returns +# $?[Integer] +# - 1: Success +# - 0: Failed +function disableSSHRootLoginFn() { + sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config + /etc/init.d/ssh restart >/dev/null + isSSHRootLoginEnabledFn + if [ $? -eq 0 ]; then + return 1; + else + return 0; + fi +} + +# Checks if root ssh login is enabled +# Returns +# $?[Integer] +# - 1: Enabled +# - 0: Disabled +function isSSHRootLoginEnabledFn() { + if [ $(cat /etc/ssh/sshd_config | grep "PermitRootLogin yes" | wc -l) -eq 0 ]; then + return 0; + else + return 1; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/lang/de b/usr/local/include/xbian-config/modules/sshroot/lang/de new file mode 100755 index 000000000..2c639b5d6 --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/lang/de @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="SSH root login" +_DESC="SSH root login de-/aktivieren" +_SSHROOTENABLE="Möchtest du den root ssh login de-/aktivieren?" +_NOSSHROOTPASS="Bitte setze ein Kennwort, da sich der User root nicht mit einem leeren Kennwort anmelden kann." +_SSHROOTENABLED="SSH root login wurde erfolgreich aktiviert" +_SSHROOTDISABLED="SSH root login wurde erfolgreich deaktiviert" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/lang/dk b/usr/local/include/xbian-config/modules/sshroot/lang/dk new file mode 100755 index 000000000..39c414679 --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/lang/dk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="SSH root adgang" +_DESC="De-/aktiver SSH root adgang" +_SSHROOTENABLE="Vil du de-/aktivere root ssh adgang?" +_NOSSHROOTPASS="Brugeren root har ingen adgangskode, uden en adgangskode kan brugeren root ikke fÃ¥ adgang via SSH, sÃ¥ angiv venligst denne først." +_SSHROOTENABLED="Aktivering af SSH root adgang lykkedes" +_SSHROOTDISABLED="Deaktivering af SSH root adgang lykkedes" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/lang/en b/usr/local/include/xbian-config/modules/sshroot/lang/en new file mode 100755 index 000000000..61cc29768 --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/lang/en @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="SSH root login" +_DESC="Enable/Disable SSH root login" +_SSHROOTENABLE="Do you want to enable or disable root ssh login?" +_NOSSHROOTPASS="User root has an empty password, without a password user root cannot login through SSH so please set this first." +_SSHROOTENABLED="SSH root login successfully enabled" +_SSHROOTDISABLED="SSH root login successfully disabled" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/lang/es b/usr/local/include/xbian-config/modules/sshroot/lang/es new file mode 100755 index 000000000..727214438 --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/lang/es @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Superusuario SSH" +_DESC="(Des)activar acceso superusuario SSH" +_SSHROOTENABLE="Quieres activar o desactivar el acceso al superusuario mediante SSH" +_NOSSHROOTPASS="La contraseña de superusuario esta vacia, sin contraseña no se puede acceder como superusuario mediante SSH, por favor corrigalo." +_SSHROOTENABLED="Acceso como superusuario mediante SSH activado con exito" +_SSHROOTDISABLED="Acceso como superusuario mediante SSH desactivado" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/lang/fr b/usr/local/include/xbian-config/modules/sshroot/lang/fr new file mode 100755 index 000000000..fd731901d --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/lang/fr @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="SSH root login" +_DESC="Activer/Descativer SSH root login" +_SSHROOTENABLE="Voulez vous activer ou descativer root ssh login?" +_NOSSHROOTPASS="Root n'a actuellement pas de mot de passe, et ne peut se conneter a SSH sans mot de passe. Veuiller en choisir un d'abord" +_SSHROOTENABLED="SSH root login activé" +_SSHROOTDISABLED="SSH root login désactivé" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/lang/nl b/usr/local/include/xbian-config/modules/sshroot/lang/nl new file mode 100755 index 000000000..9f31d6027 --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/lang/nl @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="SSH root toegang" +_DESC="Aan-/uitzetten SSH root toegang" +_SSHROOTENABLE="Wilt u SSH root toegang aan- of uitzetten?" +_NOROOTPASS="Gebruiker root heeft nog geen wachtwoord, zonder een wachtwoord kan gebruiker root niet inloggen via SSH. Stel deze eerst in." +_SSHROOTENABLED="SSH root toegang succesvol aangezet" +_SSHROOTDISABLED="SSH root toegang succesvol uitgezet" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/lang/ru b/usr/local/include/xbian-config/modules/sshroot/lang/ru new file mode 100755 index 000000000..38703ffba --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/lang/ru @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="SSH root login" +_DESC="Разр/Запр польз. root входить через SSH" +_SSHROOTENABLE="Ð’Ñ‹ хотите разрешить или запретить пользователю root входить через ssh?" +_NOSSHROOTPASS="Пользователь root имеет пуÑтой пароль, без Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒ root не может заходить через SSH, поÑтому, пожалуйÑта, уÑтановите пароль." +_SSHROOTENABLED="Пользователю root разрешено входить через SSH" +_SSHROOTDISABLED="Пользователю root запрещено входить через SSH" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/lang/sk b/usr/local/include/xbian-config/modules/sshroot/lang/sk new file mode 100755 index 000000000..fbc428e3e --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/lang/sk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="SSH root prihlásenie" +_DESC="Aktivuj/Deaktivuj SSH root prihlásenie" +_SSHROOTENABLE="ChceÅ¡ aktivovaÅ¥ alebo deaktivovaÅ¥ root ssh prihlásenie?" +_NOSSHROOTPASS="Užívateľ root nemá zadané heslo.Prosím zadefinuj heslo, inak použitie root cez ssh nebude možné." +_SSHROOTENABLED="SSH root prihlásenie úspeÅ¡ne povolené" +_SSHROOTDISABLED="SSH root prihlásenie úspeÅ¡ne deaktivované" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/sshroot/main b/usr/local/include/xbian-config/modules/sshroot/main new file mode 100755 index 000000000..1b18223bb --- /dev/null +++ b/usr/local/include/xbian-config/modules/sshroot/main @@ -0,0 +1,98 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(status rootpass enable disable); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/sshroot/functions +source $BASEPATH/modules/sshroot/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + rootPasswordSetFn + if [ $? -eq 0 ]; then + showEmptyRootPasswordDlg + fi + + enableDisableSSHRootLoginDlg + CODE=$? + if [ $CODE -eq 0 ]; then + enableSSHRootLoginFn + if [ $? -eq 0 ]; then + showErrorDlg; + else + showSSHRootEnabledDlg + fi + elif [ $CODE -eq 1 ]; then + disableSSHRootLoginFn + if [ $? -eq 0 ]; then + showErrorDlg; + else + showSSHRootDisabledDlg + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# Returns +# *Status [Integer] +# - 1: Enabled +# - 0: Disabled +# *Rootpass [Integer] +# - 1: Set +# - 0: Empty +# *Enable [Integer] +# - 1: Succes +# - 0: Failed +# *Disable [Integer] +# - 1: Succes +# - 0: Failed +function showCMDFn() { + case $1 in + "status") + isSSHRootLoginEnabledFn; + echo $?; + ;; + "rootpass") + rootPasswordSetFn; + echo $?; + ;; + "enable") + enableSSHRootLoginFn; + echo $?; + ;; + "disable") + disableSSHRootLoginFn; + echo $?; + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/dialogs b/usr/local/include/xbian-config/modules/timezone/dialogs new file mode 100755 index 000000000..fd2ef7a77 --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/dialogs @@ -0,0 +1,107 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function showRetrievingCurrentTZDlg() { + wrapTxtFn "$_TZLOADINGCURRENT" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showTZNoCategorySelectedDlg() { + wrapTxtFn "$_TZNOCATEGORYSELECTED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showTZNoLocationSelectedDlg() { + wrapTxtFn "$_TZNOLOCATIONSELECTED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showTZLoadingLocationsDlg() { + wrapTxtFn "$_TZLOADINGLOCATIONS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showTZCategoryDlg() { + MENU=(); + X=0; + + for TZCATEGORY in ${TZCATEGORIES[@]}; do + X=$(($X+1)); + if [ "$TZCATEGORY" == "${CURRENTTZ[0]}" ]; then + STATUS="on"; + else + STATUS="off"; + fi + MENU+=($X,"\Zn"$TZCATEGORY","$STATUS); + done; + TBLCOLUMNCENTER=0; + createTableFn "radio" \ + "#,\Zb$_TIMEZONE" \ + "${MENU[@]}" + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+5)); + showRadioDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} 15; +} + + +function showTZLocationDlg() { + CURRENTTZ=($1); + IFS=" "; + TZLOCATIONS=($2); + IFS=$ORIGINALIFS; + + MENU=(); + X=0; + for TZLOCATION in ${TZLOCATIONS[@]}; do + X=$(($X+1)); + if [ "$TZLOCATION" == "${CURRENTTZ[1]}" ]; then + STATUS="on"; + else + STATUS="off"; + fi + MENU+=($X,"\Zn"$TZLOCATION","$STATUS); + done; + + if [ $X -gt 100 ]; then + NRSIGN="# "; + else + NRSIGN="#"; + fi + TBLCOLUMNCENTER=0; + createTableFn "radio" \ + "$NRSIGN,\Zb$_TZLOCATION" \ + "${MENU[@]}" + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+5)); + showRadioDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} 15; +} + +function showCurrentDateTimeDlg() { + centerTxtFn "$_TZOLDANDNEW\n$2\n$1" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" 9; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/functions b/usr/local/include/xbian-config/modules/timezone/functions new file mode 100755 index 000000000..e0521d52c --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/functions @@ -0,0 +1,122 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Get current timezone +# Returns +# @ Array +# 1 Timezone +# 2 Location +function getCurrentTZFn() { + if [ -L /etc/localtime ]; then + IFS="\/" + CURRENTTZ=($(ls -Al /etc/localtime | awk '{print $11}')); + CURRENTTZ=("${CURRENTTZ[@]:4:2}"); + IFS=$ORIGINALIFS; + elif [ -f /etc/localtime ]; then + TZDATA=$(find /usr/share/zoneinfo/ -type f | xargs md5sum); + IFS="\/" + CURRENTTZ=($(echo -e "$TZDATA" | grep $(md5sum /etc/localtime | awk '{print $1}') | awk '{print $2}')); + CURRENTTZ=("${CURRENTTZ[@]:5:2}"); + IFS=$ORIGINALIFS; + fi +} + +# Check if argument is a valid timezone +# $1 [String] Timezone +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function checkTZValid() { + TZPATH=$(find /usr/share/zoneinfo/ -maxdepth 1 -iname $1); + if [ -z $TZPATH ]; then + return 0; + else + return 1; + fi +} + +# Check if argument is a valid location +# $1 [String] Timezone +# $2 [String] Location +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function checkTZLocationValid() { + TZPATH=$(find /usr/share/zoneinfo/ -maxdepth 1 -iname $1); + if [ -d $TZPATH ]; then + TZLOCATIONPATH=$(find $TZPATH -maxdepth 1 -iname $2); + if [ -z $TZLOCATIONPATH ]; then + return 0; + else + return 1; + fi + else + return 0; + fi +} + +# Retrieves the timezone locations list +# Array +# 1 [String] Timezone +# 2 [String] Location +# Returns +# @ Array Locations +function getTZLocationLstFn() { + ARRAY=($1); + IFS=" "; + TZPATH=$(find /usr/share/zoneinfo/ -maxdepth 1 -iname ${ARRAY[0]}); + TZLOCATIONLST=($(ls $TZPATH | sed ':a;N;$!ba;s/\n/ /g')); + IFS=$ORIGINALIFS; +} + +# Changes the current timezone +# Array +# 1 [String] Timezone +# 2 [String] Location +# Returns +# - 1: Success +# - 0: Failed +function changeCurrentTZFn() { + if [ -f /etc/localtime ]; then + rm /etc/localtime 2>/dev/null; + fi + TZPATH=$(find /usr/share/zoneinfo/ -maxdepth 1 -iname $1); + if [ -d $TZPATH ]; then + TZLOCATIONPATH=$(find $TZPATH -maxdepth 1 -iname $2); + if [ -f $TZLOCATIONPATH ] || [ -L $TZLOCATIONPATH ]; then + ln -s $TZLOCATIONPATH /etc/localtime 2>/dev/null; + if [ $? -eq 0 ]; then + return 1; + else + return 0; + fi + else + return 0; + fi + else + return 0; + fi +} + +# Returns the current date +function getCurrentDateTimeFn() { + DATETIME=$(date) +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/lang/de b/usr/local/include/xbian-config/modules/timezone/lang/de new file mode 100755 index 000000000..be82eae12 --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/lang/de @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Zeitzone" +_DESC="Ändere die Zeitzone deines RPi" +_TZLOADINGCURRENT="Aktuelle Zeitzone wird geladen..." +_TIMEZONE="Zeitzone" +_TZLOCATION="Standort" +_TZOLDANDNEW="Alte(s) und neue(s) Datum/Zeit:" +_TZNOCATEGORYSELECTED="Du hast keine Zeitzone ausgewählt" +_TZNOLOCATIONSELECTED="Du hast keinen Standort ausgewählt" +_TZLOADINGLOCATIONS="Standorte werden geladen..." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/lang/dk b/usr/local/include/xbian-config/modules/timezone/lang/dk new file mode 100755 index 000000000..bdc0f56b5 --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/lang/dk @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Tidszone" +_DESC="Skift tidszone for din RPi" +_TZLOADINGCURRENT="Bestemmer nuværende tidszone..." +_TIMEZONE="Tidszone" +_TZLOCATION="Lokation" +_TZOLDANDNEW="Tidligere og nuværende dato/tid:" +_TZNOCATEGORYSELECTED="Du har ikke valgt en tidszone" +_TZNOLOCATIONSELECTED="Du har ikke valgt en lokation" +_TZLOADINGLOCATIONS="Henter lokationer..." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/lang/en b/usr/local/include/xbian-config/modules/timezone/lang/en new file mode 100755 index 000000000..e4b601059 --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/lang/en @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Timezone" +_DESC="Change the timezone of your RPi" +_TZLOADINGCURRENT="Retrieving current timezone..." +_TIMEZONE="Timezone" +_TZLOCATION="Location" +_TZOLDANDNEW="The old and new date/time:" +_TZNOCATEGORYSELECTED="You didn't select a timezone" +_TZNOLOCATIONSELECTED="You didn't select a location" +_TZLOADINGLOCATIONS="Loading locations..." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/lang/es b/usr/local/include/xbian-config/modules/timezone/lang/es new file mode 100755 index 000000000..3f00ac3a5 --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/lang/es @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Zona horaria" +_DESC="Cambiar la zona horaria de tu RPi" +_TZLOADINGCURRENT="Cargando tu zona horaria actual..." +_TIMEZONE="Zona horaria" +_TZLOCATION="Pais" +_TZOLDANDNEW="La vieja y nueva fecha/hora:" +_TZNOCATEGORYSELECTED="No has seleccionado una zona horaria" +_TZNOLOCATIONSELECTED="No has seleccionado un pais" +_TZLOADINGLOCATIONS="Cargando paises..." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/lang/fr b/usr/local/include/xbian-config/modules/timezone/lang/fr new file mode 100755 index 000000000..abdad2e65 --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/lang/fr @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Timezone" +_DESC="Modifier le timezone du RPi" +_TZLOADINGCURRENT="Récupération du timezone actuel..." +_TIMEZONE="Timezone" +_TZLOCATION="région" +_TZOLDANDNEW="L'ancienne et nouvelle date/heure:" +_TZNOCATEGORYSELECTED="Vous n'avez pas sélectionné un timezone" +_TZNOLOCATIONSELECTED="Vous n'avez pas sélectionné une région" +_TZLOADINGLOCATIONS="Chargements des régions" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/lang/nl b/usr/local/include/xbian-config/modules/timezone/lang/nl new file mode 100755 index 000000000..42a257f4c --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/lang/nl @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Tijdzone" +_DESC="Verander de tijdzone van je RPi" +_TZLOADINGCURRENT="Huidige tijdzone aan het laden..." +_TIMEZONE="Tijdzone" +_TZLOCATION="Locatie" +_TZOLDANDNEW="De oude en de nieuwe datum/tijd:" +_TZNOCATEGORYSELECTED="U heeft geen tijdzone geselecteerd" +_TZNOLOCATIONSELECTED="U heeft geen locatie geselecteerd" +_TZLOADINGLOCATIONS="Locations aan het laden..." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/lang/ru b/usr/local/include/xbian-config/modules/timezone/lang/ru new file mode 100755 index 000000000..8e900796d --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/lang/ru @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="ЧаÑовой поÑÑ" +_DESC="Изменение чаÑового поÑÑа" +_TZLOADINGCURRENT="Получение текущего чаÑового поÑÑа..." +_TIMEZONE="ЧаÑовой поÑÑ" +_TZLOCATION="МеÑтоположение" +_TZOLDANDNEW="Ð¡Ñ‚Ð°Ñ€Ð°Ñ Ð¸ Ð½Ð¾Ð²Ð°Ñ Ð´Ð°Ñ‚Ð°/времÑ:" +_TZNOCATEGORYSELECTED="Ð’Ñ‹ не выбрали временную зону" +_TZNOLOCATIONSELECTED="Ð’Ñ‹ не выбрали меÑтоположение" +_TZLOADINGLOCATIONS="Загрузка..." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/lang/sk b/usr/local/include/xbian-config/modules/timezone/lang/sk new file mode 100755 index 000000000..c4b791204 --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/lang/sk @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="ÄŒasové pásmo" +_DESC="Změň Äasové pásmo RPi" +_TZLOADINGCURRENT="Detekuju Äasové pásmo..." +_TIMEZONE="ÄŒasové pásmo" +_TZLOCATION="Místo" +_TZOLDANDNEW="Starý a nový datum/Äas:" +_TZNOCATEGORYSELECTED="ÄŒasové pásmo zvoleno" +_TZNOLOCATIONSELECTED="Nezvolil si Äasové pásmo" +_TZLOADINGLOCATIONS="Nahrávám místa..." \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/timezone/main b/usr/local/include/xbian-config/modules/timezone/main new file mode 100755 index 000000000..2ea8a7d26 --- /dev/null +++ b/usr/local/include/xbian-config/modules/timezone/main @@ -0,0 +1,148 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(list select update date); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/timezone/functions +source $BASEPATH/modules/timezone/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +TZCATEGORIES=(Africa America Antarctica Australia Arctic Asia Atlantic Europe Indian Pacific SystemV US Etc) + +# Executes the GUI version of this module +function showGUIFn() { + showRetrievingCurrentTZDlg; + getCurrentTZFn; + getCurrentDateTimeFn; + OLDDATETIME=$DATETIME; + showTZCategoryDlg; + #Check if an actual selection was made. + if [ $? -eq 0 ]; then + if [ -z $RETURN ]; then + showTZNoCategorySelectedDlg; + showGUIFn; + else + TZNEWTIMEZONE=${TZCATEGORIES[$(($RETURN-1))]}; + showTZLoadingLocationsDlg; + getTZLocationLstFn "$TZNEWTIMEZONE"; + showTZLocationDlg "${CURRENTTZ[*]}" "${TZLOCATIONLST[*]}"; + if [ $? -eq 0 ]; then + if [ -z $RETURN ]; then + showTZNoLocationSelectedDlg; + showGUIFn; + else + TZNEWLOCATION=${TZLOCATIONLST[$(($RETURN-1))]} + changeCurrentTZFn $TZNEWTIMEZONE $TZNEWLOCATION + getCurrentDateTimeFn; + showCurrentDateTimeDlg $DATETIME $OLDDATETIME; + fi + else + showGUIFn; + fi + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# list +# $2 Timezone +# update +# $2 Timezone +# $3 Location +# Returns +# 0 Failed +# 1 Success +function showCMDFn() { + case "$1" in + list) + shift; + if [ $# -eq 0 ]; then + for TZCATEGORY in ${TZCATEGORIES[@]}; do + echo ${TZCATEGORY,,}; + done; + elif [ $# -eq 1 ]; then + checkTZValid $1; + if [ $? -eq 1 ]; then + getTZLocationLstFn $1; + for TZLOCATION in ${TZLOCATIONLST[@]}; do + echo ${TZLOCATION,,}; + done; + else + echo 0; + fi + else + echo 0; + fi + ;; + select) + shift; + getCurrentTZFn; + if [ ${#CURRENTTZ[@]} -eq 2 ]; then + echo ${CURRENTTZ[@],,} + else + echo -1; + fi + ;; + update) + shift; + if [ $# -eq 2 ]; then + checkTZValid $1; + if [ $? -eq 1 ]; then + checkTZLocationValid $1 $2; + if [ $? -eq 1 ]; then + changeCurrentTZFn $1 $2 + if [ $? -eq 1 ]; then + echo 1; + else + echo 0; + fi + else + echo 0; + fi + else + echo 0; + fi + else + echo 0; + fi + ;; + date) + shift + if [ $# -eq 0 ]; then + getCurrentDateTimeFn; + echo $DATETIME; + else + return 0; + fi + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/dialogs b/usr/local/include/xbian-config/modules/updates/dialogs new file mode 100755 index 000000000..e07ea40b5 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/dialogs @@ -0,0 +1,181 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function showUpdateAptDBDlg() { + wrapTxtFn "$_UPDATINGAPTDB" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpdateAptDBFailedDlg() { + wrapTxtFn "$_UPDATEAPTDBFAILED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showDownloadPackageListDlg() { + wrapTxtFn "$_DOWNLOADINGPACKAGELIST" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpdateDowngradeDlg() { + wrapTxtFn "$_UPDATEDOWNGRADE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showFailedToRetrieveAptMirrosDlg() { + wrapTxtFn "$_FAILEDTORETRIEVEAPTMIRRORS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showRetrievingUpdateListDlg() { + wrapTxtFn "$_UPDATEDOWNLOADLIST" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpdateAlreadyInstalledDlg() { + wrapTxtFn "$_UPDATEALREADYINSTALLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpdateVersionNotExistDlg() { + wrapTxtFn "$_UPDATEVERSIONNOTEXISTS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpdateNotExistsDlg() { + wrapTxtFn "$_UPDATENOTEXISTS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showAskForLogDlg() { + wrapTxtFn "$_UPDATEASKFORLOG" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpdateAdvErrorDlg() { + wrapTxtFn "$_UPDATEADVERROR" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showInstallUpdatesDlg() { + wrapTxtFn "$_UPDATEINSTALLS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpToDateDlg() { + wrapTxtFn "$_UPDATETODATE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showSystemUpdateConfirmDlg() { + wrapTxtFn "$_ASKFORSYSTEMUPDATE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpgradeSystemDlg() { + wrapTxtFn "$_UPGRADESYSTEM" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showInfoDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showSystemUpdateRebootDlg() { + wrapTxtFn "$_UPDATESYSTEMREBOOT" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +function showUpdateLogDlg() { + sed -i 's/\r/\n/g' /tmp/aptstatus + showTextDlg "/tmp/aptstatus" 15 $(($DEFAULTWIDTH+11)); +} + +function showSystemUpdateLogDlg() { + showTextDlg "/home/xbian/update" 15 $(($DEFAULTWIDTH+11)); +} + +function showAvailableUpdatesDlg() { + IFS=$'\n'; + ARRAY=($1); + MENU=(); + I=0; + for VALUE in ${ARRAY[@]}; do + IFS=";"; + VALUE=($VALUE); + I=$(($I+1)); + NAME=$(echo ${VALUE[0]} | rev | cut -f1 -d"-" | rev); + if ! [[ "${VALUE[0]}" =~ "xbian-update" ]]; then + if [ $(echo "${VALUE[1]} == ${VALUE[2]}" | bc) -eq 0 ]; then + MENU+=($I,"\Zb"$NAME",\Zb"${VALUE[1]}" ("${VALUE[2]}"),Off"); + fi + fi + done; + IFS=$ORIGINALIFS; + TBLCOLUMNCENTER=0; + createTableFn "check" \ + " #,\Zb"$_UPDATES",\Zb"$_UPDATEVERSION \ + "${MENU[@]}"; + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+5)); + showChecklistDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $((${#MENU[@]}+9)) +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/functions b/usr/local/include/xbian-config/modules/updates/functions new file mode 100755 index 000000000..08a70a858 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/functions @@ -0,0 +1,164 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function retrieveUpdateListFn() { + apt-get dist-upgrade -s &>/tmp/aptupdates 2>/dev/null; +} + +function getAllPackagesLisFn() { + if [ -f "/tmp/aptupdates" ]; then + IFS=$'\n'; + PACKAGES=($(cat /tmp/aptupdates | sed -ne 's/\(Inst.*\)\([\ ]\{1\}\)\(xbian-[A-Za-z0-9\.\-]\{1,\}\)\([\ ]\)\(\[\)\(.*\)\(\]\)\(.*[(]\)\([0-9A-Za-z\~\.\:\+\-]\{1,\}\)\([\ ].*\)/\3;\6;\9/p' | grep -v xbian-update | sort | uniq)); + IFS=$ORIGINALIFS; + return 1; + else + return 0; + fi +} + +function getAllUpdatesLisFn() { + if [ -f "/tmp/aptupdates" ]; then + IFS=$'\n'; + UPDATES=($(cat /tmp/aptupdates | sed -ne 's/\(Inst.*\)\([\ ]\{1\}\)\(xbian-update\)\([\ ]\)\(\[\)\(.*\)\(\]\)\(.*[(]\)\([0-9A-Za-z\~\.\:\+\-]\{1,\}\)\([\ ].*\)/\3;\6;\9/p' | sort | uniq)); + IFS=$ORIGINALIFS; + return 1; + else + return 0; + fi +} + +function updatePackagesFn() { + LIST=""; + ARRAY=($2); + for INDEX in ${ARRAY[@]}; do + INDEX=${INDEX//\"/ }; + NAME=$(echo ${PACKAGES[$((INDEX-1))]} | cut -f1 -d";"); + VERSION=$(echo ${PACKAGES[$((INDEX-1))]} | cut -f3 -d";"); + LIST+=$NAME"="$VERSION" "; + done; + + if [ $1 -eq 1 ]; then + apt-get install -s $LIST &>/tmp/aptstatus + elif [ $1 -eq 0 ]; then + apt-get install -y $LIST + elif [ $1 -eq 2 ]; then + nohup apt-get install -y $LIST &>/tmp/aptstatus & + fi + getAptErrorCodeFn; + return $?; +} + +function findNextUpdateVersionFn() { + CMAJVERSION=$1; + CMINVERSION=$2; + ISALPHA=$(echo $CMINVERSION | grep "\." | wc -l); + ISBETA=0; + ISSTABLE=0; + NEXTVERSION=""; + NEXTBETA=0; + NEXTALPHA=0; + NEXTMINSTABLE=0; + NEXTMAJSTABLE=0; + if [ $ISALPHA -eq 0 ]; then + if [ ! -z "$CMINVERSION" ]; then + ISBETA=1; + fi + fi + if [ $ISALPHA -eq 0 ] && [ $ISBETA -eq 0 ]; then + ISSTABLE=1; + fi + + if [ $ISSTABLE -eq 1 ]; then + NEXTALPHA=0.1; + CMAJVERSION=$(echo "$CMAJVERSION+0.1" | bc); + elif [ $ISBETA -eq 1 ]; then + NEXTALPHA=$(echo "$CMINVERSION+0.1" | bc); + elif [ $ISALPHA -eq 1 ]; then + CURBETA=$(echo $CMINVERSION | cut -f1 -d"."); + NEXTALPHA=$(echo $CMINVERSION | cut -f2 -d"."); + NEXTALPHA=$(echo "$NEXTALPHA+1" | bc); + NEXTALPHA=$CURBETA"."$NEXTALPHA; + fi + + if [ $(cat "$BASEPATH/config/pkglist" | grep "xbian-update_"$CMAJVERSION"-"$NEXTALPHA"_" | wc -l) -eq 1 ]; then + NEXTVERSION=$CMAJVERSION-$NEXTALPHA; + fi + + if [ -z "$NEXTVERSION" ]; then + if [ $ISSTABLE -eq 1 ]; then + NEXTBETA=1; + elif [ $ISBETA -eq 1 ]; then + NEXTBETA=$(echo "$CMINVERSION+1" | bc); + elif [ $ISALPHA -eq 1 ]; then + NEXTBETA=$(echo $CMINVERSION | cut -f1 -d"."); + NEXTBETA=$(echo "$NEXTBETA+1" | bc); + fi + fi + if [ $(cat "$BASEPATH/config/pkglist" | grep "xbian-update_"$CMAJVERSION"-"$NEXTBETA"_" | wc -l) -eq 1 ]; then + NEXTVERSION=$CMAJVERSION-$NEXTBETA; + fi + if [ -z "$NEXTVERSION" ]; then + if [ $ISSTABLE -eq 0 ]; then + NEXTMINSTABLE=$(echo "$CMAJVERSION+0.1" | bc); + else + NEXTMINSTABLE=$CMAJVERSION; + fi + fi + if [ $(cat "$BASEPATH/config/pkglist" | grep "xbian-update_"$NEXTMINSTABLE"_" | wc -l) -eq 1 ]; then + NEXTVERSION=$NEXTMINSTABLE; + fi + if [ -z "$NEXTVERSION" ]; then + CMAJVERSION=$(echo "$CMAJVERSION" | cut -f1 -d"." | bc); + NEXTMAJSTABLE=$(echo "$CMAJVERSION+1" | bc); + fi + if [ $(cat "$BASEPATH/config/pkglist" | grep "xbian-update_"$NEXTMINSTABLE"_" | wc -l) -eq 1 ]; then + NEXTVERSION=$NEXTMAJSTABLE; + fi +} + + +function updateSystemFn() { + LIST=""; + ARRAY=($2); + NEXTVERSION=""; + if [ ${#ARRAY[@]} -gt 0 ]; then + INDEX=${ARRAY[0]}; + INDEX=${INDEX//\"/ }; + NVERSION=$(echo ${UPDATES[$((INDEX-1))]} | cut -f3 -d";"); + CVERSION=$(echo ${UPDATES[$((INDEX-1))]} | cut -f2 -d";"); + CMAJVERSION=$(echo $CVERSION | cut -f1 -d"-"); + CMINVERSION=$(echo $CVERSION | cut -f2 -d"-"); + + findNextUpdateVersionFn "$CMAJVERSION" "$CMINVERSION"; + fi + + if [ -z "$NEXTVERSION" ]; then + return 2; + else + if [ $1 -eq 1 ]; then + apt-get install -s ${VERSIONS[0]}"="$NEXTVERSION &>/tmp/aptstatus + elif [ $1 -eq 0 ]; then + apt-get install -y ${VERSIONS[0]}"="$NEXTVERSION &>/tmp/aptstatus + elif [ $1 -eq 2 ]; then + nohup apt-get install -y ${VERSIONS[0]}"="$NEXTVERSION &>/tmp/aptstatus & + fi + getAptErrorCodeFn; + return $? + fi +} diff --git a/usr/local/include/xbian-config/modules/updates/lang/de b/usr/local/include/xbian-config/modules/updates/lang/de new file mode 100755 index 000000000..0b7ef9617 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/lang/de @@ -0,0 +1,41 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Aktualisierungen" +_DESC="Neue Systemaktualisierungen suchen" +_UPDATINGAPTDB="Lokale Paketdatenbank wird aktualisiert..." +_UPDATEDOWNLOADLIST="Liste der upgradefähigen Pakete wird geladen..." +_UPDATEAPTDBFAILED="Bei der Aktualisierung der Paketdatenbank trat ein Fehler auf" +_DOWNLOADINGPACKAGELIST="Remote Paketdatenbank wird aktualisiert..." +_FAILEDTORETRIEVEAPTMIRRORS="Laden der Download Mirrors fehlgeschlagen, daher wird eine (womöglich veraltete) lokale Liste genutzt" +_CONFIRMUPDAGESINSTALL="Sollen die Pakete wirklich aktualisiert werden?" +_UPDATEALREADYINSTALLED="Die aktuellste Version der Pakete ist bereits installiert" +_UPDATEVERSIONNOTEXISTS="Die ausgewählten Versionen konnten nicht gefunden werden" +_UPDATENOTEXISTS="Die ausgewählten Pakete konnten nicht gefunden werden" +_UPDATEINSTALLSUCCESS="Die Pakete wurden erfolgreich installiert" +_UPDATEASKFORLOG="Soll das Installationslog angezeigt werden?" +_UPDATEADVERROR="Bei der Bearbeitung trat ein Fehler auf" +_UPDATEINSTALLS="Pakete werden aktualisiert, bitte warten..." +_UPDATES="Aktualisierungen" +_UPDATEVERSION="Version" +_UPDATETODATE="Die vorhandene Installation umfasst bereits die aktuellsten Xbian Pakete" +_ASKFORSYSTEMUPDATE="Eine neue XBian Version ist verfügbar. Soll diese nun installiert werden? Das System wird anschließend automatisch neustarten" +_UPGRADESYSTEM="XBian wird aktualisiert. Dies kann abhängig von der Internetverbindung einige Minuten dauern. Bitte führe in dieser Zeit keinen Neustart aus und entfernen nicht das Stromkabel." +_UPDATESYSTEMREBOOT="XBian wird automatisch neustarten, wenn du dieses Fenster schließt" +_UPDATEDOWNGRADE="Es sind bereits aktuellere Versionen installiert" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/lang/dk b/usr/local/include/xbian-config/modules/updates/lang/dk new file mode 100755 index 000000000..67a26f492 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/lang/dk @@ -0,0 +1,41 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Opdateringer" +_DESC="Søg efter systemopdateringer" +_UPDATINGAPTDB="Opdater lokal pakke-database..." +_UPDATEDOWNLOADLIST="Henter liste over pakker til opgradering..." +_UPDATEAPTDBFAILED="En fejl opstod under opdatering af pakke-databasen" +_DOWNLOADINGPACKAGELIST="Henter fjernpakke-database..." +_FAILEDTORETRIEVEAPTMIRRORS="Hentning af spejlede downloadsider mislykkedes, derfor anvendes en lokal (muligvis uddateret) liste" +_CONFIRMUPDAGESINSTALL="Er du sikker pÃ¥ du vil opdatere disse pakker?" +_UPDATEALREADYINSTALLED="De seneste versioner af disse pakker er allerede installeret" +_UPDATEVERSIONNOTEXISTS="De pakkeversioner du forsøger at installere kunne ikke findes" +_UPDATENOTEXISTS="Pakkerne du førsøger at installere kunne ikke findes" +_UPDATEINSTALLSUCCESS="Opdatering af pakkerne lykkedes" +_UPDATEASKFORLOG="Ønsker du at se installationsloggen?" +_UPDATEADVERROR="En alvorlig fejl opstod under hÃ¥ndteringen af disse pakker" +_UPDATEINSTALLS="Opdaterer pakkerne, dette kan tage adskillige minutter..." +_UPDATES="Opdateringer" +_UPDATEVERSION="Version" +_UPDATETODATE="Din installation indeholder allerede de seneste XBian-pakker" +_ASKFORSYSTEMUPDATE="En ny version af XBian er tilgængelig, øsnker du at installere den nu? Systemet vil genstarte automatisk nÃ¥r opdateringen er fuldført" +_UPGRADESYSTEM="XBian opgraderes til en ny version, undlad at genstarte eller afbryde stømmen da dette kan medføre fejl i systemet, varigheden for denne handling afhænger af hastigheden pÃ¥ din internetforbindelse..." +_UPDATESYSTEMREBOOT="XBian genstartes automatisk nÃ¥r dette vindue lukkes" +_UPDATEDOWNGRADE="Du har allerede nyere versioner af disse pakker installeret" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/lang/en b/usr/local/include/xbian-config/modules/updates/lang/en new file mode 100755 index 000000000..2054ed26b --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/lang/en @@ -0,0 +1,41 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Updates" +_DESC="Check for system updates" +_UPDATINGAPTDB="Update local package database..." +_UPDATEDOWNLOADLIST="Retrieving list of upgradeable packages..." +_UPDATEAPTDBFAILED="An error occured while updating the package database" +_DOWNLOADINGPACKAGELIST="Downloading remote package database..." +_FAILEDTORETRIEVEAPTMIRRORS="Failed to retrieve download mirrors, therefore a local (possibly outdated) list will be used" +_CONFIRMUPDAGESINSTALL="Are you sure you want to update these packages?" +_UPDATEALREADYINSTALLED="The latest versions of these packages are already installed" +_UPDATEVERSIONNOTEXISTS="The packages versions you are trying to install could not be found" +_UPDATENOTEXISTS="The packages you are trying to install could not be found" +_UPDATEINSTALLSUCCESS="The packages are successfully updated" +_UPDATEASKFORLOG="Would you like to see the installation log?" +_UPDATEADVERROR="A serious error occured while processing these packages" +_UPDATEINSTALLS="Updating the packages, this could take several minutes so please wait..." +_UPDATES="Updates" +_UPDATEVERSION="Version" +_UPDATETODATE="Your install already contains the latest versions of XBian packages" +_ASKFORSYSTEMUPDATE="A new XBian version is available, would you like to install it now? The system will reboot automatically when the update is finished" +_UPGRADESYSTEM="XBian is being upgraded to a new version, please do not reboot or pull the power plug because this could result in a malfunctioning system, depending on your internet connection, this procedure can take quit some time..." +_UPDATESYSTEMREBOOT="XBian will reboot automatically when you close this window" +_UPDATEDOWNGRADE="You already got newer versions of this package installed" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/lang/es b/usr/local/include/xbian-config/modules/updates/lang/es new file mode 100755 index 000000000..eef129f24 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/lang/es @@ -0,0 +1,41 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Actualizaciones" +_DESC="Buscar actualizaciones" +_UPDATINGAPTDB="Actualizando la base de datos..." +_UPDATEDOWNLOADLIST="Recibiendo la lista de actualizaciones..." +_UPDATEAPTDBFAILED="Ha ocurrido un error mientras se actualizaba la base de datos" +_DOWNLOADINGPACKAGELIST="Descargando la lista de actualizaciones..." +_FAILEDTORETRIEVEAPTMIRRORS="La descarga ha fallado, se utilizara la base de datos local" +_CONFIRMUPDAGESINSTALL="¿Estas seguro de que quieres actualizar estos modulos?" +_UPDATEALREADYINSTALLED="Ya tiene instalado la ultima version de estos modulos" +_UPDATEVERSIONNOTEXISTS="La version de los modulos que intenta instalar podrian no encontrarse" +_UPDATENOTEXISTS="Los modulos que intenta instalar podrian no encontrarse" +_UPDATEINSTALLSUCCESS="Los modulos han sido actualizados con exito" +_UPDATEASKFORLOG="¿Quieres ver el registro de instalacion?" +_UPDATEADVERROR="Un error ha ocurrido mientras procesabamos estos modulos" +_UPDATEINSTALLS="Actualizando los modulos, puede tardar algunos minutos, por favor espere..." +_UPDATES="Actualizaciones" +_UPDATEVERSION="Version" +_UPDATETODATE="Ya tienes instalados la ultima version de los modulos de XBian" +_ASKFORSYSTEMUPDATE="Una nueva version de XBian esta disponible, ¿quieres instalarla?. El sistema se reiniciara cuando la actualizacion acabe" +_UPGRADESYSTEM="XBian está siendo actualizado con una nueva versión, por favor no reinicie ni desconecte la alimentación, porque podría generar un problemas con el sistema, dependiendo de tu conexión a internet, este procedimiento puede llevar algún tiempo...." +_UPDATESYSTEMREBOOT="XBian será reiniciado automáticamente cuando cierres esta ventana" +_UPDATEDOWNGRADE="Ya estás utilizando la última versión de este módulo" diff --git a/usr/local/include/xbian-config/modules/updates/lang/fr b/usr/local/include/xbian-config/modules/updates/lang/fr new file mode 100755 index 000000000..d9625de80 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/lang/fr @@ -0,0 +1,41 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Mises à jour" +_DESC="Vérification des mises à jour" +_UPDATINGAPTDB="Mise a jour du paquet de dépot..." +_UPDATEDOWNLOADLIST="Récupération des paquets pouvant être mis à jour..." +_UPDATEAPTDBFAILED="Une erreur est survenue lors de la maj de la base de donnée" +_DOWNLOADINGPACKAGELIST="Téléchargement de la base de donnée distante..." +_FAILEDTORETRIEVEAPTMIRRORS="Téléchargement des mirroirs echoués, La base locale (peut être pas a jour) va être utilisée" +_CONFIRMUPDAGESINSTALL="Etes vous sur de vouloir mettre à jours ces packages?" +_UPDATEALREADYINSTALLED="Ces paquets sont déja à jour" +_UPDATEVERSIONNOTEXISTS="Les versions des paquets à installer n'ont pas été trouvées" +_UPDATENOTEXISTS="Les paquets à installer n'ont pas été trouvé " +_UPDATEINSTALLSUCCESS="Les paquets ont été mis a jour" +_UPDATEASKFORLOG="Would you like to see the installation log?" +_UPDATEADVERROR="Une erreur importante est survenue" +_UPDATEINSTALLS="Mises à jour des paquets, cela peut prendre quelques minutes. Veuillez pastienter " +_UPDATES="Mises à jour" +_UPDATEVERSION="Version" +_UPDATETODATE="Votre installation contient déja les dernières versions des paquets XBian" +_ASKFORSYSTEMUPDATE="Une nouvelle version de XBian est disponible, voulez-vous l'installer maintenant? Le systeme redémarrera automatiquement après la mise a jour" +_UPGRADESYSTEM="Une nouvelle version de XBian est en cours d'installation, Ne redémarrer pas et ne debranché pas le RPI, cela pourrait rendre votre système no fonctionnel, en fonction de votre connection internet, la procédure peut durer assez longtemps" +_UPDATESYSTEMREBOOT="XBian redémarrera automatiquement lorsque vous fermerez cette fenêtre" +_UPDATEDOWNGRADE="Vous avez déja la dernière version du paquet installée" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/lang/nl b/usr/local/include/xbian-config/modules/updates/lang/nl new file mode 100755 index 000000000..df38b7a35 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/lang/nl @@ -0,0 +1,41 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Updates" +_DESC="Controleer op systeem updates" +_UPDATINGAPTDB="Lokale pakketten database aan het bijwerken..." +_UPDATEDOWNLOADLIST="Lijst van bij te werken pakketten aan het ophalen..." +_UPDATEAPTDBFAILED="Er is een fout opgetreden bij het bijwerken van de pakketten database" +_DOWNLOADINGPACKAGELIST="Externe pakketten database aan het ophalen..." +_FAILEDTORETRIEVEAPTMIRRORS="Het ophalen van de download mirrors is niet gelukt, er zal daarom een lokale (mogelijk verouderde) lijst worden gebruikt" +_CONFIRMUPDAGESINSTALL="Weet u zeker dat u deze pakketten bijwerken?" +_UPDATEALREADYINSTALLED="De laatste versie van deze pakketten is al geinstalleerd" +_UPDATEVERSIONNOTEXISTS="De versie van de pakketten die u probeert te installeren, kunnen niet gevonden worden" +_UPDATENOTEXISTS="De pakketten die u probeert bij te werken, kunnen niet gevonden worden" +_UPDATEINSTALLSUCCESS="De pakketten zijn succesvol bijgewerkt" +_UPDATEASKFORLOG="Wilt u het installatie log bestand inkijken?" +_UPDATEADVERROR="Er is een serieuze fout opgetreden tijdens het verwerken van deze pakketten" +_UPDATEINSTALLS="Bezig met het bijwerken van deze pakketten, dit kan een paar minuten duren dus een ogenblik geduld aub..." +_UPDATES="Update" +_UPDATEVERSION="Versie" +_UPDATETODATE="Uw installatie bevat al de laatste versies XBian pakketten" +_ASKFORSYSTEMUPDATE="Een nieuwe versie van XBian is beschikbaar, wilt u deze nu installeren? Het systeem zal automatisch herstarten nadat deze update klaar is" +_UPGRADESYSTEM="XBian wordt op dit moment bijgewerkt naar een nieuwe versie, laat de stroom op je Raspberry Pi zitten en doe geen herstart, dit kan resulteren in een onbruikbaar systeem, afhankelijk van uw internetverbinding kan deze procedure enige tijd duren..." +_UPDATESYSTEMREBOOT="XBian zal automatisch herstarten zodra u dit scherm sluit" +_UPDATEDOWNGRADE="U heeft al nieuwere versies van deze paketten geinstalleerd" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/lang/ru b/usr/local/include/xbian-config/modules/updates/lang/ru new file mode 100755 index 000000000..37899b5ab --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/lang/ru @@ -0,0 +1,41 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="ОбновлениÑ" +_DESC="Проверка Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹" +_UPDATINGAPTDB="Обновление локальной базы пакетов..." +_UPDATEDOWNLOADLIST="Получение ÑпиÑка доÑтупных обновлений..." +_UPDATEAPTDBFAILED="Во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ñ‹ пакетов произошла ошибка" +_DOWNLOADINGPACKAGELIST="ЗагружаетÑÑ Ð±Ð°Ð·Ð° пакетов..." +_FAILEDTORETRIEVEAPTMIRRORS="Ðе удалоÑÑŒ получить ÑпиÑок зеркал, поÑтому будет иÑпользован имеющийÑÑ (возможно, уÑтаревший) ÑпиÑок пакетов" +_CONFIRMUPDAGESINSTALL="Ð’Ñ‹ дейÑтвительно хотите обновить Ñти пакеты?" +_UPDATEALREADYINSTALLED="ПоÑледнÑÑ Ð²ÐµÑ€ÑÐ¸Ñ Ñтого пакета уже уÑтановлена" +_UPDATEVERSIONNOTEXISTS="Ðе удалоÑÑŒ найти верÑии пакетов, которые вы хотите уÑтановить" +_UPDATENOTEXISTS="Пакеты, которые вы хотите уÑтановить, не найдены" +_UPDATEINSTALLSUCCESS="Пакеты уÑпешно обновлены" +_UPDATEASKFORLOG="Ð’Ñ‹ хотите поÑмотреть лог обновлениÑ?" +_UPDATEADVERROR="При обработке пакетов произошла ÑÐµÑ€ÑŒÐµÐ·Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" +_UPDATEINSTALLS="Пакеты обновлÑÑŽÑ‚ÑÑ, Ñто может занÑть некоторое времÑ..." +_UPDATES="Updates" +_UPDATEVERSION="Version" +_UPDATETODATE="Ðет доÑтупных обновлений" +_ASKFORSYSTEMUPDATE="ДоÑтупна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ XBian, вы хотите уÑтановить ее ÑейчаÑ? Когда обновление закончитÑÑ, ÑиÑтема автоматичеÑки перезагрузитÑÑ" +_UPGRADESYSTEM="XBian обновлÑетÑÑ, пожалуйÑта не перезагружайте и не отключайте уÑтройÑтво, так как Ñто может привеÑти к неработоÑпоÑобноÑти ÑиÑтемы. Ð’ завиÑимоÑти от ÑкороÑти вашего интернет-ÑоединениÑ, Ñто может занÑть некоторое времÑ..." +_UPDATESYSTEMREBOOT="XBian перезагрузитÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки когда вы закроете Ñто окно" +_UPDATEDOWNGRADE="Уже уÑтановлена более Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð°" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/lang/sk b/usr/local/include/xbian-config/modules/updates/lang/sk new file mode 100755 index 000000000..fdf6fa1e4 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/lang/sk @@ -0,0 +1,41 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Aktualizácie" +_DESC="Skontroluj systémové aktualizácie" +_UPDATINGAPTDB="Aktualizuj lokálnu databázu balíkov..." +_UPDATEDOWNLOADLIST="Získavanie zoznamu aktualizovateľných balíkov..." +_UPDATEAPTDBFAILED="Vyskytla sa chyba pri aktualizácii databázy balíkov" +_DOWNLOADINGPACKAGELIST="Preberanie databázy balíkov..." +_FAILEDTORETRIEVEAPTMIRRORS="Nepodarilo sa naÄítaÅ¥ zoznam sererov, takže bude použitý starý lokálny zoznam" +_CONFIRMUPDAGESINSTALL="Si si istý že chceÅ¡ aktualizovaÅ¥ tieto balíky?" +_UPDATEALREADYINSTALLED="NajnovÅ¡ie verzie týchto balíkov sú už nainÅ¡talované" +_UPDATEVERSIONNOTEXISTS="Verzie balíkov ktoré sa snažíš nainÅ¡talovaÅ¥ niesú dostupné" +_UPDATENOTEXISTS="Balíky ktoré sa snažíš nainÅ¡talovaÅ¥ niesú dostupné" +_UPDATEINSTALLSUCCESS="Balíky boli úspeÅ¡ne aktualizované" +_UPDATEASKFORLOG="ChceÅ¡ si prezrieÅ¥ log nainÅ¡talácie?" +_UPDATEADVERROR="Nastala vážna chyba pri spracovávaní týchto balíkov" +_UPDATEINSTALLS="Aktualizácia balíkov, tento proces môže trvaÅ¥ zopár minút, prosím ÄakaÅ¥..." +_UPDATES="Aktualizácie" +_UPDATEVERSION="Verzia" +_UPDATETODATE="V systéme sa nachádza najnovÅ¡ia verzia balíkov XBian" +_ASKFORSYSTEMUPDATE="Nová verzia XBian je dostupná, chceÅ¡ ju nainÅ¡talovaÅ¥? Systém bude automaticky zreÅ¡tartovaný po skonÄení aktualizácie" +_UPGRADESYSTEM="Prebieha aktualizácia XBian na novÅ¡iu verziu, prosím nereÅ¡tartovaÅ¥ alebo neodpájaÅ¥ z elektrickej siete pretože by to mohlo maÅ¥ za následok znefunkÄnenie systému. Táto operácia môže trvaÅ¥ niekoľko minút, v závislosti od internetového pripojenia..." +_UPDATESYSTEMREBOOT="XBian bude zreÅ¡tartovaný po zatvorení tohto okna" +_UPDATEDOWNGRADE="NajnovÅ¡ia verzia tohto balíka je už nainÅ¡talovaná" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/updates/main b/usr/local/include/xbian-config/modules/updates/main new file mode 100755 index 000000000..3f4e4a096 --- /dev/null +++ b/usr/local/include/xbian-config/modules/updates/main @@ -0,0 +1,333 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(list progress updatedb install installtest); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/updates/functions +source $BASEPATH/modules/updates/dialogs +source $BASEPATH/functions/packages + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + if [ $REMOTEPKGDBUPDATED -eq 0 ]; then + showDownloadPackageListDlg; + updateAptMirrorsFn; + if [ $? -eq 0 ]; then + showFailedToRetrieveAptMirrosDlg; + else + downloadPackageListFn; + REMOTEPKGDBUPDATED=$? + fi; + fi + if [ $LOCALPKGDBUPDATED -eq 0 ]; then + if [ $REMOTEPKGDBUPDATED -eq 1 ]; then + localPackageDBOutdatedFn; + if [ $? -eq 1 ]; then + showUpdateAptDBDlg; + updateAptFn; + if [ $? -eq 1 ]; then + LOCALPKGDBUPDATED=1; + else + showUpdateAptDBFailedDlg; + fi + fi + fi + fi + if [ $APTUPDATELISTUPDATED -eq 0 ] || [ ! -f "/tmp/aptupdates" ]; then + showRetrievingUpdateListDlg; + retrieveUpdateListFn; + APTUPDATELISTUPDATED=1; + fi + getAllUpdatesLisFn; + getAllPackagesLisFn + SYSTEMUPDATE=0; + + if [ ${#UPDATES[@]} -ge 1 ]; then + + showSystemUpdateConfirmDlg; + if [ $? -eq 0 ]; then + showUpgradeSystemDlg; + updateSystemFn 1 "${UPDATES[*]}"; + STATUS=$?; + LOG=0; + if [ $STATUS -eq 1 ]; then + showUpdateAlreadyInstalledDlg; + elif [ $STATUS -eq 2 ]; then + showUpdateVersionNotExistDlg; + elif [ $STATUS -eq 3 ]; then + showUpdateNotExistsDlg; + elif [ $STATUS -eq 4 ]; then + showUpdateDowngradeDlg; + elif [ $STATUS -ge 5 ]; then + showUpdateAdvErrorDlg; + elif [ $STATUS -eq 0 ]; then + updateSystemFn 0 "${UPDATES[*]}"; + if [ $? -eq 0 ]; then + if [ -f "/tmp/aptstatus" ] || [ -f "/home/xbian/update" ]; then + showAskForLogDlg; + if [ $? -eq 0 ]; then + if [ -f "/home/xbian/update.log" ]; then + showSystemUpdateLogDlg; + elif [ -f "/tmp/aptstatus" ]; then + showUpdateLogDlg; + fi + fi + fi + LOG=1; + showSystemUpdateRebootDlg; + sudo reboot; + else + showUpdateAdvErrorDlg; + fi + fi + if [ $LOG -eq 0 ]; then + showAskForLogDlg; + if [ $? -eq 0 ]; then + showUpdateLogDlg; + fi + fi + SYSTEMUPDATE=1; + fi + fi + if [ $SYSTEMUPDATE -eq 0 ]; then + if [ ${#PACKAGES[@]} -eq 0 ]; then + showUpToDateDlg; + else + showAvailableUpdatesDlg "${PACKAGES[*]}"; + if [ $? -eq 0 ]; then + IFS=" "; + SELECTION=($RETURN); + showInstallUpdatesDlg; + updatePackagesFn 1 "${SELECTION[*]}"; + STATUS=$?; + if [ $STATUS -eq 1 ]; then + showUpdateAlreadyInstalledDlg; + elif [ $STATUS -eq 2 ]; then + showUpdateVersionNotExistDlg; + elif [ $STATUS -eq 3 ]; then + showUpdateNotExistsDlg; + elif [ $STATUS -eq 4 ]; then + showUpdateDowngradeDlg; + elif [ $STATUS -ge 5 ]; then + showUpdateAdvErrorDlg; + elif [ $STATUS -eq 0 ]; then + updatePackagesFn 0 "${SELECTION[*]}"; + fi + if [ -f "/tmp/aptstatus" ]; then + showAskForLogDlg; + if [ $? -eq 0 ]; then + showUpdateLogDlg; + fi + fi + showGUIFn; + fi + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# list | installtest | install +# $2 Type [String] packages | upgrades +# install | installtest +# $@ Index of upgradeable packages +# Returns +# list | installtest | install +# - 1: Success +# - 0: Failed +# - -1: Wrong number of arguments +# - -3: You need to run an updatedb first +# *list +# - [index];[package name];[install version];[available version] +# *installtest | install - (Simulates an) apt-get install +# - 1: Package can be installed without problems +# - 2: This package is already installed +# - 3: Package not found in apt repository +# - 4: A newer version of this package is already installed +# - 5: There is a size mismatch for the remote package +# - 6: The package itself got an internal error +# *progress +# - 1: Apt is still running +# - 0: Apt is not running +# *updatedb - Updates local and remote apt library (when needed) +function showCMDFn() { + case $1 in + list) + if [ $# -eq 2 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + retrieveUpdateListFn; + if [ "$2" == "packages" ]; then + getAllPackagesLisFn; + if [ ${#PACKAGES[@]} -ge 1 ]; then + for KEY in ${!PACKAGES[@]}; do + echo $(($KEY+1))";"${PACKAGES[$KEY]}; + done + else + echo -2; + fi + elif [ "$2" == "upgrades" ]; then + getAllUpdatesLisFn; + if [ ${#UPDATES[@]} -ge 1 ]; then + for KEY in ${!UPDATES[@]}; do + echo $(($KEY+1))";"${UPDATES[$KEY]}; + done + else + echo -2; + fi + else + echo -1; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + installtest) + if [ $# -ge 3 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + shift; + if [ "$1" == "packages" ]; then + shift; + getAllPackagesLisFn; + SELECTION=($@); + updatePackagesFn 1 "${SELECTION[*]}"; + RETURN=$?; + case $RETURN in + 0) + echo 1; + ;; + *) + echo $(($RETURN+1)); + ;; + esac + elif [ "$1" == "upgrades" ]; then + shift; + getAllUpdatesLisFn; + SELECTION=($@); + updateSystemFn 1 "${SELECTION[*]}"; + RETURN=$?; + case $RETURN in + 0) + echo 1; + ;; + *) + echo $(($RETURN+1)); + ;; + esac + else + echo -1; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + install) + if [ $# -ge 3 ]; then + if [ -f "$BASEPATH/config/pkglist" ] && [ -f "$BASEPATH/config/aptmirror" ]; then + shift; + if [ "$1" == "packages" ]; then + shift; + getAllPackagesLisFn; + SELECTION=($@); + updatePackagesFn 2 "${SELECTION[*]}"; + RETURN=$?; + case $RETURN in + 0) + echo 1; + ;; + *) + echo $(($RETURN+1)); + ;; + esac + elif [ "$1" == "upgrades" ]; then + shift; + getAllUpdatesLisFn; + SELECTION=($@); + updateSystemFn 2 "${SELECTION[*]}"; + RETURN=$?; + case $RETURN in + 0) + echo 1; + ;; + *) + echo $(($RETURN+1)); + ;; + esac + else + echo -1; + fi + else + echo -3; + fi + else + echo -1; + fi + ;; + progress) + if [ $(kill -0 $(pgrep apt-get) 2>/dev/null; echo $?) -eq 0 ]; then + echo 1; + else + echo 0; + fi + ;; + updatedb) + STATUS=0; + updateAptMirrorsFn; + if [ $? -eq 1 ]; then + downloadPackageListFn; + if [ $? -eq 1 ]; then + localPackageDBOutdatedFn; + if [ $? -eq 1 ]; then + updateAptFn; + if [ $? -eq 1 ]; then + STATUS=1; + else + STATUS=0; + fi + else + STATUS=1; + fi + else + STATUS=1; + fi + else + STATUS=0; + fi + echo $STATUS; + ;; + esac +} diff --git a/usr/local/include/xbian-config/modules/videoflags/dialogs b/usr/local/include/xbian-config/modules/videoflags/dialogs new file mode 100755 index 000000000..e36e0ee13 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/dialogs @@ -0,0 +1,52 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function showVideoFlagsDlg() { + MENU=(); + + X=0; + for FLAG in ${VIDEOFLAGS[@]}; do + X=$(($X+1)); + _LABEL="_"$(echo $FLAG | sed -e 's/_//g' | tr "[:lower:]" "[:upper:]"); + if [ ! -z ${!_LABEL} ]; then + LABEL=${!_LABEL}; + else + LABEL=$FLAG; + fi + + if [ ${VIDEOSETTINGS[$FLAG]} -eq 0 ]; then + MENU+=($X",\Zn"$LABEL",off"); + else + MENU+=($X",\Zn"$LABEL",on"); + fi + done; + createTableFn "radio" \ + "#,\Zb$_VIDEOFLAGS" \ + "${MENU[@]}" + + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+6)); + showChecklistDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} $((${#MENU[@]}+9)) +} + +function showVideoFlagsSuccessDlg() { + wrapTxtFn "$_VIDEOFLAGSSUCCESS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/functions b/usr/local/include/xbian-config/modules/videoflags/functions new file mode 100755 index 000000000..001a806d4 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/functions @@ -0,0 +1,57 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function getVideoFlagsFn() { + for FLAG in ${VIDEOFLAGS[@]}; do + selectConfigVarFn $FLAG; + if [ -z $RETURN ]; then + VIDEOSETTINGS[$FLAG]=0; + else + VIDEOSETTINGS[$FLAG]=1; + fi + done; +} + +function updateVideoFlagsFn() { + for KEY in ${!VIDEOFLAGS[*]}; do + FLAG=${VIDEOFLAGS[$KEY]}; + if [[ "$1" =~ "$(($KEY+1))" ]]; then + updateConfigVarFn "$FLAG" 1; + askForRebootFn; + else + deleteConfigVarFn "$FLAG"; + askForRebootFn; + fi + done; + getVideoFlagsFn; + ERROR=0; + for KEY in ${!VIDEOFLAGS[*]}; do + FLAG=${VIDEOFLAGS[$KEY]}; + if [[ "$1" =~ "$(($KEY+1))" ]]; then + if [ ${VIDEOSETTINGS[$FLAG]} -eq 0 ]; then + ERROR=1; + fi + else + if [[ ${VIDEOSETTINGS[$FLAG]} -eq 1 ]]; then + ERROR=1; + fi + fi + done; + return $ERROR; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/lang/de b/usr/local/include/xbian-config/modules/videoflags/lang/de new file mode 100755 index 000000000..67fe76c24 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/lang/de @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Video Ausgabe" +_DESC="Ändere HDMI, CEC und Overscan Einstellungen" +_VIDEOFLAGS="Video Flags" +_VIDEOFLAGSSUCCESS="Video flags wurden erfolgreich aktualisiert" +_HDMIFORCEHOTPLUG="HDMI hotplug erzwingen" +_HDMIIGNOREHOTPLUG="HDMI hotplug ignorieren" +_HDMIIGNORECECINIT="HDMI CEC init ignorieren" +_HDMIIGNORECEC="HDMI CEC deaktivieren" +_DISABLEOVERSCAN="Overscan deaktivieren" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/lang/dk b/usr/local/include/xbian-config/modules/videoflags/lang/dk new file mode 100755 index 000000000..048a6ae72 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/lang/dk @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Video-output" +_DESC="Skift HDMI, CEC og overscan-indstillinger" +_VIDEOFLAGS="Videoflag" +_VIDEOFLAGSSUCCESS="Opdatering af videoflag lykkedes" +_HDMIFORCEHOTPLUG="Tving HDMI hotplug" +_HDMIIGNOREHOTPLUG="Ignorer HDMI hotplug" +_HDMIIGNORECECINIT="Ignorer HDMI CEC init" +_HDMIIGNORECEC="Deaktiver HDMI CEC" +_DISABLEOVERSCAN="Deaktiver overscan" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/lang/en b/usr/local/include/xbian-config/modules/videoflags/lang/en new file mode 100755 index 000000000..2c5abb714 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/lang/en @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Video output" +_DESC="Change HDMI, CEC and overscan settings" +_VIDEOFLAGS="Video flags" +_VIDEOFLAGSSUCCESS="Video flags successfully updated" +_HDMIFORCEHOTPLUG="HDMI force hotplug" +_HDMIIGNOREHOTPLUG="HDMI ignore hotplug" +_HDMIIGNORECECINIT="HDMI ignore CEC init" +_HDMIIGNORECEC="HDMI disable CEC" +_DISABLEOVERSCAN="Disable overscan" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/lang/es b/usr/local/include/xbian-config/modules/videoflags/lang/es new file mode 100755 index 000000000..82e9fd67a --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/lang/es @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Salida de video" +_DESC="Cambiar HDMI, CEC y de aspecto" +_VIDEOFLAGS="Salida de video" +_VIDEOFLAGSSUCCESS="Video flags actualizado exitoso" +_HDMIFORCEHOTPLUG="HDMI forzado" +_HDMIIGNOREHOTPLUG="HDMI ignorar hotplug" +_HDMIIGNORECECINIT="HDMI ingnorar CEC" +_HDMIIGNORECEC="HDMI desabilitar CEC" +_DISABLEOVERSCAN="Desabilitar aspecto" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/lang/fr b/usr/local/include/xbian-config/modules/videoflags/lang/fr new file mode 100755 index 000000000..d02086ec9 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/lang/fr @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Sortie Vidéo" +_DESC="Modifier les paramètres HDMI, CEC et overscan" +_VIDEOFLAGS="Paramètres vidéo" +_VIDEOFLAGSSUCCESS="Paramètres vidéo correctement modifiés" +_HDMIFORCEHOTPLUG="Forcer le mode HDMI" +_HDMIIGNOREHOTPLUG="Ignorer le mode HDMI" +_HDMIIGNORECECINIT="HDMI ignorer CEC" +_HDMIIGNORECEC="HDMI CEC descativé" +_DISABLEOVERSCAN="Désactiver overscan" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/lang/nl b/usr/local/include/xbian-config/modules/videoflags/lang/nl new file mode 100755 index 000000000..e5fbcd6c2 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/lang/nl @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Video uitvoer" +_DESC="Verander HDMI, CEC en overscan instellingen" +_VIDEOFLAGS="Video instellingen" +_VIDEOFLAGSSUCCESS="Video instellingen succesvol bijgewerkt" +_HDMIFORCEHOTPLUG="HDMI forceer hotplug" +_HDMIIGNOREHOTPLUG="HDMI negeer hotplug" +_HDMIIGNORECECINIT="HDMI negeer CEC init" +_HDMIIGNORECEC="HDMI zet CEC uit" +_DISABLEOVERSCAN="Zet overscan uit" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/lang/ru b/usr/local/include/xbian-config/modules/videoflags/lang/ru new file mode 100755 index 000000000..deaef9159 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/lang/ru @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Video output" +_DESC="Изменение наÑтроек HDMI, CEC и overscan" +_VIDEOFLAGS="ДоÑтупные опции" +_VIDEOFLAGSSUCCESS="ÐаÑтройки уÑпешно обновлены" +_HDMIFORCEHOTPLUG="HDMI force hotplug" +_HDMIIGNOREHOTPLUG="HDMI ignore hotplug" +_HDMIIGNORECECINIT="HDMI ignore CEC init" +_HDMIIGNORECEC="HDMI disable CEC" +_DISABLEOVERSCAN="Disable overscan" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/lang/sk b/usr/local/include/xbian-config/modules/videoflags/lang/sk new file mode 100755 index 000000000..8da5b4ad9 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/lang/sk @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Video výstupt" +_DESC="Zmena HDMI, CEC a overscan nadstavení" +_VIDEOFLAGS="Video flags" +_VIDEOFLAGSSUCCESS="Video flags úspeÅ¡ne zaktualizované" +_HDMIFORCEHOTPLUG="Vynútenie HDMI hotplug" +_HDMIIGNOREHOTPLUG="Ignoruj HDMI hotplug" +_HDMIIGNORECECINIT="Ignoruj HDMI CEC init" +_HDMIIGNORECEC="Deaktivuj HDMI CEC" +_DISABLEOVERSCAN="Deaktivuj overscan" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/videoflags/main b/usr/local/include/xbian-config/modules/videoflags/main new file mode 100755 index 000000000..b8651a392 --- /dev/null +++ b/usr/local/include/xbian-config/modules/videoflags/main @@ -0,0 +1,115 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(list select update); +VIDEOFLAGS=(hdmi_force_hotplug hdmi_ignore_hotplug hdmi_ignore_cec_init hdmi_ignore_cec disable_overscan); +declare -A VIDEOSETTINGS; + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/videoflags/functions +source $BASEPATH/modules/videoflags/dialogs +source $BASEPATH/functions/config + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + getVideoFlagsFn; + showVideoFlagsDlg; + if [ $? -eq 0 ]; then + updateVideoFlagsFn "$RETURN" + if [ $? -eq 0 ]; then + showVideoFlagsSuccessDlg; + else + showErrorDlg; + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 Password [String] +# Returns +# *Update [Integer] +# - 1: Success +# - 0: Failed +function showCMDFn() { + case $1 in + list) + for FLAG in ${VIDEOFLAGS[@]}; do + echo $FLAG; + done; + ;; + select) + if [ $# -eq 2 ]; then + if [ $(echo ${VIDEOFLAGS[@]} | grep -o $2 | wc -l) -gt 0 ]; then + getVideoFlagsFn; + echo ${VIDEOSETTINGS[$2]}; + else + echo 0; + fi + else + echo 0; + fi + ;; + update) + if [ $# -eq 3 ]; then + if [ $(echo ${VIDEOFLAGS[@]} | grep -o $2 | wc -l) -gt 0 ]; then + if [[ $3 =~ ^[01] ]]; then + if [ $3 -eq 0 ]; then + deleteConfigVarFn $2 + selectConfigVarFn $2 + if [ -z $RETURN ]; then + echo 1; + askForRebootFn; + else + echo 0; + fi + else + updateConfigVarFn $2 $3; + selectConfigVarFn $2 + if [ $RETURN -eq $3 ]; then + echo 1; + askForRebootFn; + else + echo 0; + fi + fi + else + echo 0; + fi + else + echo 0; + fi + else + echo 0; + fi + ;; + esac; +} diff --git a/usr/local/include/xbian-config/modules/xbconfig/dialogs b/usr/local/include/xbian-config/modules/xbconfig/dialogs new file mode 100755 index 000000000..e7a7b38da --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/dialogs @@ -0,0 +1,70 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function showXBConfigSettingsDlg() { + MENU=(); + MENU+=(1,"\Zn"$_XBLANGUAGE); + MENU+=(2,"\Zn"$_XBAUTOSTART); + TBLCOLUMNCENTER=0; + createTableFn "menu"\ + "#,\Zb"$_XBACTIONS\ + "${MENU[@]}"; + TBLCOLUMNCENTER=1; + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)) + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} 10 +} + +function showXBConfigLanguageDlg() { + MENU=(); + MENU+=(1,"\Zn"$_XBAUTOMATIC); + I=1; + for VALUE in ${LANGUAGES[@]}; do + I=$(($I+1)); + VALUE="_"${VALUE^^}; + MENU+=($I,"\Zn"${!VALUE}); + done + createTableFn "menu"\ + "#,\Zb"$_XBLANGUAGE\ + "${MENU[@]}"; + + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)) + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} 14 +} + +function showXBConfigAutoStartDlg() { + wrapTxtFn "$_XBCONFIGAUTOSTARTENABLEDISABLE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT 55 + return $?; +} + +function showXBConfigSuccessEnableAutoStartDlg() { + wrapTxtFn "$_XBSUCCESSENABLEAUTOSTART" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showXBConfigSuccessDisableAutoStartDlg() { + wrapTxtFn "$_XBSUCCESSDISABLEAUTOSTART" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/functions b/usr/local/include/xbian-config/modules/xbconfig/functions new file mode 100755 index 000000000..dfca9e9fd --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/functions @@ -0,0 +1,74 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function setXBConfigLanguageFn() { + if [ -f $BASEPATH"/config/xbconfig" ]; then + CURLANG=$(cat $BASEPATH'/config/xbconfig' | grep language | cut -f2 -d':') + sed -i "s/language:$CURLANG/language:$1/g" $BASEPATH"/config/xbconfig"; + else + if [ -z "$1" ]; then + echo "language:" >> $BASEPATH"/config/xbconfig"; + else + echo "language:"$1 >> $BASEPATH"/config/xbconfig"; + fi + fi + if [ "$(cat $BASEPATH'/config/xbconfig' | grep language | cut -f2 -d':')" == "$1" ]; then + getLanguageFn; + if [ -f "$BASEPATH/lang/$LANGUAGE" ]; then + source $BASEPATH/lang/$LANGUAGE + else + source $BASEPATH/lang/en + fi + if [ -f "$BASEPATH/modules/xbconfig/lang/$LANGUAGE" ]; then + source $BASEPATH/modules/xbconfig/lang/$LANGUAGE + else + source $BASEPATH/modules/xbconfig/lang/en + fi + return 1; + else + return 0; + fi +} + +function setXBConfigAutoStartFn() { + if [ $1 -eq 0 ]; then + sed -i 's/sudo xbian-config/#sudo xbian-config/g' /home/xbian/.bashrc; + else + if [ $(grep xbian-config /home/xbian/.bashrc | wc -l) -eq 1 ]; then + sed -i 's/#sudo xbian-config/sudo xbian-config/g' /home/xbian/.bashrc; + else + echo "sudo xbian-config" >> /home/xbian/.bashrc; + fi + fi + if [ $1 -eq 1 ]; then + if [ $(grep "^sudo xbian-config" /home/xbian/.bashrc | wc -l) -eq 1 ]; then + return 1; + else + return 0; + fi + elif [ $1 -eq 0 ]; then + if [ $(grep "^#sudo xbian-config" /home/xbian/.bashrc | wc -l) -eq 1 ] || [ $(grep "xbian-config" /home/xbian/.bashrc | wc -l) -eq 0 ]; then + return 1; + else + return 0; + fi + else + return 0; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/lang/de b/usr/local/include/xbian-config/modules/xbconfig/lang/de new file mode 100755 index 000000000..2dfa6daba --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/lang/de @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian config" +_DESC="Ändere XBian config Einstellungen" +_XBLANGUAGE="Sprache" +_XBAUTOSTART="Autostart" +_XBACTIONS="Aktionen" +_XBAUTOMATIC="Automatisch" +_XBCONFIGAUTOSTARTENABLEDISABLE="Soll xbian-config bei jeder Benutzeranmeldung automatisch geladen werden?" +_XBSUCCESSDISABLEAUTOSTART="Autostart von xbian-config wurde erfolgreich deaktiviert" +_XBSUCCESSENABLEAUTOSTART="Autostart von xbian-config wurde erfolgreich aktiviert" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/lang/dk b/usr/local/include/xbian-config/modules/xbconfig/lang/dk new file mode 100755 index 000000000..f327c3dfb --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/lang/dk @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian-konfig" +_DESC="Konfigurer XBian-indstillinger" +_XBLANGUAGE="Sprog" +_XBAUTOSTART="Autostart" +_XBACTIONS="Handlinger" +_XBAUTOMATIC="Automatisk" +_XBCONFIGAUTOSTARTENABLEDISABLE="Vil du starte xbian-config automatisk nÃ¥r du logger ind som brugeren xbian?" +_XBSUCCESSDISABLEAUTOSTART="Deaktivering af xbian-config autostart lykkedes" +_XBSUCCESSENABLEAUTOSTART="Aktivering af xbian-config autostart lykkedes" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/lang/en b/usr/local/include/xbian-config/modules/xbconfig/lang/en new file mode 100755 index 000000000..9d632c281 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/lang/en @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian config" +_DESC="XBian config settings" +_XBLANGUAGE="Language" +_XBAUTOSTART="Autostart" +_XBACTIONS="Actions" +_XBAUTOMATIC="Automatic" +_XBCONFIGAUTOSTARTENABLEDISABLE="Do you automatically want to start xbian-config when you login as user xbian?" +_XBSUCCESSDISABLEAUTOSTART="Successfully disabled xbian-config autostart" +_XBSUCCESSENABLEAUTOSTART="Successfully enabled xbian-config autostart" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/lang/es b/usr/local/include/xbian-config/modules/xbconfig/lang/es new file mode 100755 index 000000000..c55d8c88e --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/lang/es @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Configuración XBian" +_DESC="Ajustes de XBian" +_XBLANGUAGE="Lenguaje" +_XBAUTOSTART="Inicio automático" +_XBACTIONS="Acciones" +_XBAUTOMATIC="Automático" +_XBCONFIGAUTOSTARTENABLEDISABLE="¿Quieres inciar automáticamente la configuración de XBian, cuando accedas como usuario de Xbian?" +_XBSUCCESSDISABLEAUTOSTART="Desactivado con éxito el inicio automático de la configuración de XBian" +_XBSUCCESSENABLEAUTOSTART="Activado con éxito el inicio automático de la configuración de XBian" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/lang/fr b/usr/local/include/xbian-config/modules/xbconfig/lang/fr new file mode 100755 index 000000000..b76c2b592 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/lang/fr @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian config" +_DESC="Paramètres de XBian config" +_XBLANGUAGE="Langue" +_XBAUTOSTART="Démarrage automatique" +_XBACTIONS="Actions" +_XBAUTOMATIC="Automatique" +_XBCONFIGAUTOSTARTENABLEDISABLE="Voulez vous démarrer automatiquement xbian-config lors de la connetion avec l'utilisateur xbian?" +_XBSUCCESSDISABLEAUTOSTART="Désactivation du démarage automatique de xbian-config" +_XBSUCCESSENABLEAUTOSTART="Activation du démarage automatique de xbian-config" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/lang/nl b/usr/local/include/xbian-config/modules/xbconfig/lang/nl new file mode 100755 index 000000000..330af8a5f --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/lang/nl @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian Config" +_DESC="XBian config settings" +_XBLANGUAGE="Taal" +_XBAUTOSTART="Autostart" +_XBACTIONS="Acties" +_XBAUTOMATIC="Automatisch" +_XBCONFIGAUTOSTARTENABLEDISABLE="Wilt u xbian-config automatische starten wanneer u inlogt als gebruiker xbian?" +_XBSUCCESSDISABLEAUTOSTART="Autostart van xbian-config is succesvol uitgezet" +_XBSUCCESSENABLEAUTOSTART="Autostart van xbian-config is succesvol aangezet" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/lang/ru b/usr/local/include/xbian-config/modules/xbconfig/lang/ru new file mode 100755 index 000000000..eafa241e7 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/lang/ru @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian-config" +_DESC="ÐаÑтройки XBian-config" +_XBLANGUAGE="Язык" +_XBAUTOSTART="ÐвтозапуÑк" +_XBACTIONS="Варианты" +_XBAUTOMATIC="ÐвтоматичеÑки" +_XBCONFIGAUTOSTARTENABLEDISABLE="Должен ли xbian-config запуÑкатьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки когда вы входите под пользователем xbian?" +_XBSUCCESSDISABLEAUTOSTART="ÐвтозапуÑк xbian-config уÑпешно выключен" +_XBSUCCESSENABLEAUTOSTART="ÐвтозапуÑк xbian-config уÑпешно включен" diff --git a/usr/local/include/xbian-config/modules/xbconfig/lang/sk b/usr/local/include/xbian-config/modules/xbconfig/lang/sk new file mode 100755 index 000000000..4492c02c3 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/lang/sk @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian config" +_DESC="XBian config nadstavenia" +_XBLANGUAGE="Jazyk" +_XBAUTOSTART="AutoÅ¡tart" +_XBACTIONS="Úlohy" +_XBAUTOMATIC="Automatické" +_XBCONFIGAUTOSTARTENABLEDISABLE="ChceÅ¡ automaticky Å¡tartovaÅ¥ xbian-config po prihlásení ako xbian užívateľ?" +_XBSUCCESSDISABLEAUTOSTART="AutoÅ¡tart xbian-config úspeÅ¡ne deaktivované" +_XBSUCCESSENABLEAUTOSTART="AutoÅ¡tart xbian-config úspeÅ¡ne aktivované" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbconfig/main b/usr/local/include/xbian-config/modules/xbconfig/main new file mode 100755 index 000000000..f371fbc6a --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbconfig/main @@ -0,0 +1,85 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(); +LANGUAGES=(); +IFS=" "; +for KEY in ${!LANGARRAY[@]}; do + LANGUAGES+=($KEY); +done; +IFS=$ORIGINALIFS; + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/xbconfig/functions +source $BASEPATH/modules/xbconfig/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + showXBConfigSettingsDlg; + if [ $? -eq 0 ]; then + if [ $RETURN -eq 1 ]; then + showXBConfigLanguageDlg; + if [ $? -eq 0 ]; then + if [ $RETURN -eq 1 ]; then + SELLANG=""; + else + SELLANG=${LANGUAGES[$(($RETURN-2))]} + fi + setXBConfigLanguageFn $SELLANG; + fi + showGUIFn; + elif [ $RETURN -eq 2 ]; then + showXBConfigAutoStartDlg; + if [ $? -eq 0 ]; then + setXBConfigAutoStartFn 1; + if [ $? -eq 0 ]; then + showErrorDlg; + else + showXBConfigSuccessEnableAutoStartDlg; + fi + showGUIFn; + else + setXBConfigAutoStartFn 0; + if [ $? -eq 0 ]; then + showErrorDlg; + else + showXBConfigSuccessDisableAutoStartDlg; + fi + showGUIFn; + fi + fi + fi +} + +# Executes the command line version of this module +function showCMDFn() { + echo; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/dialogs b/usr/local/include/xbian-config/modules/xbianpass/dialogs new file mode 100755 index 000000000..1cd55498e --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/dialogs @@ -0,0 +1,54 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Shows the dialog in which users can enter the new password +# Returns +# $? [Integer] +# - 1: Change +# - 0: Cancel +function showXbianPassInputDlg() { + showPassDlg "$_XBIANPASS" +} + +# Shows xbianpass successfully changed dialog +function showXbianPassSuccessDlg() { + wrapTxtFn "$_XBIANPASSCHANGED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT + return $?; +} + +# Shows xbianpass passwords didn't match dialog +function showXbianPassNoMatchDlg() { + wrapTxtFn "$_XBIANPASSNOMATCH" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT $DEFAULTWIDTH $_RETRY + return $?; +} + +# Shows xbianpass there where empty fields dialog +function showXbianPassEmptyFieldsDlg() { + wrapTxtFn "$_XBIANPASSEMPTYFIELDS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT $DEFAULTWIDTH $_RETRY + return $?; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/functions b/usr/local/include/xbian-config/modules/xbianpass/functions new file mode 100755 index 000000000..5721a68b9 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/functions @@ -0,0 +1,33 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Get the current password +# $1 [String] New password +# Returns +# * [Integer] +# - 1: Success +# - 0: Failed +function setXbianPassFn() { + echo "xbian:$1" | chpasswd + if [ $? == 1 ]; then + return 0; + else + return 1; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/lang/de b/usr/local/include/xbian-config/modules/xbianpass/lang/de new file mode 100755 index 000000000..da20233b5 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/lang/de @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian Kennwort" +_DESC="Ändere das Kennwort für den xbian Benutzer" +_XBIANPASSCHANGED="Das Kennwort wurde erfolgreich geändert" +_XBIANPASS="Kennwort:"; +_XBIANPASSEMPTYFIELDS="Das Kennwort muss in beide Felder eingetragen werden" +_XBIANPASSNOMATCH="Die Kennwörter stimmen nicht überein" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/lang/dk b/usr/local/include/xbian-config/modules/xbianpass/lang/dk new file mode 100755 index 000000000..8d7c7eafa --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/lang/dk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian adgangskode" +_DESC="Skift kode for brugeren xbian" +_XBIANPASSCHANGED="Ændring af adgangskode lykkedes" +_XBIANPASS="Adgangskode:"; +_XBIANPASSEMPTYFIELDS="Indtast bÃ¥de ny adgangskode og bekræftelse" +_XBIANPASSNOMATCH="Adgangskoderne stemmer ikke overens" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/lang/en b/usr/local/include/xbian-config/modules/xbianpass/lang/en new file mode 100755 index 000000000..45502d688 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/lang/en @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian password" +_DESC="Change password for xbian user" +_XBIANPASSCHANGED="xbian password successfully changed" +_XBIANPASS="Password:"; +_XBIANPASSEMPTYFIELDS="You have to enter both a new password and a confirmation" +_XBIANPASSNOMATCH="Passwords didn't match" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/lang/es b/usr/local/include/xbian-config/modules/xbianpass/lang/es new file mode 100755 index 000000000..13ab75798 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/lang/es @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Contraseña de xbian" +_DESC="Cambiar la contraseña de xbian" +_XBIANPASSCHANGED="La contraseña de xbian ha sido cambiada con exito" +_XBIANPASS="Contraseña:"; +_XBIANPASSEMPTYFIELDS="Tienes que introducir la nueva contraseña y confirmarla" +_XBIANPASSNOMATCH="Las contraseñas no coinciden" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/lang/fr b/usr/local/include/xbian-config/modules/xbianpass/lang/fr new file mode 100755 index 000000000..7538c02e8 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/lang/fr @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Mot de passe xbian" +_DESC="Modifier le mot de passe xbian" +_XBIANPASSCHANGED="Mot de passe xbian modifié" +_XBIANPASS="Mot de passe:"; +_XBIANPASSEMPTYFIELDS="Vous devz introduire le mot de passe et le confirmer" +_XBIANPASSNOMATCH="Les mot de passe ne correspondent pas" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/lang/nl b/usr/local/include/xbian-config/modules/xbianpass/lang/nl new file mode 100755 index 000000000..dbecdfb35 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/lang/nl @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian wachtwoord" +_DESC="Verander wachtwoord van gebruiker xbian" +_XBIANPASSCHANGED="xbian wachtwoord succesvol veranderd" +_XBIANPASS="Wachtwoord:"; +_XBIANPASSEMPTYFIELDS="Je moet je gewenste wachtwoord 2x invullen" +_XBIANPASSNOMATCH="De wachtwoorden kwamen niet overeen" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/lang/ru b/usr/local/include/xbian-config/modules/xbianpass/lang/ru new file mode 100755 index 000000000..7686079e6 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/lang/ru @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="Пароль xbian" +_DESC="Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ xbian" +_XBIANPASSCHANGED="Пароль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ xbian уÑпешно изменен" +_XBIANPASS="Пароль:"; +_XBIANPASSEMPTYFIELDS="Ð’Ñ‹ должны ввеÑти новый пароль и подтверждение" +_XBIANPASSNOMATCH="Пароли не Ñовпадают" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/lang/sk b/usr/local/include/xbian-config/modules/xbianpass/lang/sk new file mode 100755 index 000000000..b98a1c4bf --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/lang/sk @@ -0,0 +1,25 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBian heslo" +_DESC="ZmeniÅ¥ heslo pre xbian užívateľa" +_XBIANPASSCHANGED="xbian heslo bolo úspeÅ¡ne zmenené" +_XBIANPASS="Heslo:"; +_XBIANPASSEMPTYFIELDS="Musí byÅ¥ zadané heslo aj konfirmácia" +_XBIANPASSNOMATCH="Heslá sa nezhodujú" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbianpass/main b/usr/local/include/xbian-config/modules/xbianpass/main new file mode 100755 index 000000000..9701c3a2a --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbianpass/main @@ -0,0 +1,82 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(update); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/xbianpass/functions +source $BASEPATH/modules/xbianpass/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + showXbianPassInputDlg; + CODE=$? + if [ $CODE -eq 0 ]; then + VALUES=($VALUES); + if [ ${#VALUES[@]} -eq 2 ]; then + if [ ! -z ${VALUES[0]} ] && [ ! -z ${VALUES[1]} ] && [ "${VALUES[0]}" == "${VALUES[1]}" ]; then + setXbianPassFn ${VALUES[0]} + if [ $? -eq 1 ]; then + showXbianPassSuccessDlg; + else + showErrorDlg; + fi + else + showXbianPassNoMatchDlg + showGUIFn; + fi + else + showXbianPassEmptyFieldsDlg; + showGUIFn; + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 Password [String] +# Returns +# *Update [Integer] +# - 1: Success +# - 0: Failed +function showCMDFn() { + case $1 in + "update") + shift; + if [ $# -eq 1 ]; then + setXbianPassFn $1; + echo $?; + else + echo 0; + fi + ;; + esac +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/dialogs b/usr/local/include/xbian-config/modules/xbmc/dialogs new file mode 100755 index 000000000..6cfe34e64 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/dialogs @@ -0,0 +1,95 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +function showXBMCSettingsDlg() { + MENU=(); + MENU+=(1,"\Zn"$_XBMCGUIRES); + MENU+=(2,"\Zn"$_XBMCWEBSERVER); + createTableFn "menu"\ + "#,\Zb"$_XBMCACTIONS\ + "${MENU[@]}"; + + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)) + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} 10 +} + +function showXBMCGUIResDlg() { + MENU=(); + I=0; + for RES in ${GUIRES[@]}; do + I=$(($I+1)); + MENU+=($I",\Zn"$RES); + done + createTableFn "menu"\ + "#,\Zb"$_XBMCGUIRES\ + "${MENU[@]}"; + + centerTxtFn "$HEADER" $(($DEFAULTWIDTH+11)) + showMenuDlg "$CENTEREDTXT" "$ROWS" ${#MENU[@]} 12 +} + +function showXBMCWebserverDlg() { + wrapTxtFn "$_XBMCWEBSERVERENABLEDISABLE" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT" $HEIGHT 55 "$_ENABLE" "$_DISABLE" + return $?; +} + +function showXBMCWebserverSuccessEnabledDlg() { + wrapTxtFn "$_XBMCWEBSERVERSUCCESSENABLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showXBMCWebserverSuccessDisabledDlg() { + wrapTxtFn "$_XBMCWEBSERVERSUCCESSDISABLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showXBMCWebserverFailedEnableDlg() { + wrapTxtFn "$_XBMCWEBSERVERFAILEDENABLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showXBMCWebserverFailedDisableDlg() { + wrapTxtFn "$_XBMCWEBSERVERFAILEDDISABLED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showXBMCGUIResSuccessDDlg() { + wrapTxtFn "$_XBMCGUIRESSUCCESS" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} + +function showXBMCGUIResFailedDlg() { + wrapTxtFn "$_XBMCGUIRESFAILED" $(($DEFAULTWIDTH-4)); + centerTxtFn "$WRAPPEDTXT" $(($DEFAULTWIDTH-4)); + valignTxtFn "$CENTEREDTXT" + showMsgDlg "$ALIGNEDTXT" $HEIGHT; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/functions b/usr/local/include/xbian-config/modules/xbmc/functions new file mode 100755 index 000000000..8579d1fd4 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/functions @@ -0,0 +1,96 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Sets the GUI resolution of XBMC +# $1 Resolution [String] One of the available resolutions +# Returns +# - 0: Failed +# - 1: Success +function setXBMCGUIResFn() { + NEWRES=$1; + OLDRES=$(cat /home/xbian/.xbmc/userdata/advancedsettings.xml | sed -ne 's/\(.*\)\([0-9]\{1,4\}\)\(<\/guires>\)/\2/p'); + if [ -z "$OLDRES" ]; then + if [ $(cat /home/xbian/.xbmc/userdata/advancedsettings.xml | grep "lookandfeel" | wc -l) -eq 2 ]; then + sed -i "s/<\/lookandfeel>/ $NEWRES<\/guires>\n <\/lookandfeel>/g" /home/xbian/.xbmc/userdata/advancedsettings.xml + else + sed -i "s/<\/advancedsettings>/ \n $NEWRES<\/guires>\n <\/lookandfeel>\n<\/advancedsettings>/g" /home/xbian/.xbmc/userdata/advancedsettings.xml + fi + else + sed -i "s/$OLDRES<\/guires>/$NEWRES<\/guires>/g" /home/xbian/.xbmc/userdata/advancedsettings.xml + fi + if [ $(cat /home/xbian/.xbmc/userdata/advancedsettings.xml | sed -ne 's/\(.*\)\([0-9]\{1,4\}\)\(<\/guires>\)/\2/p' | wc -l) -eq 1 ]; then + return 1; + else + return 0; + fi +} + +# Gets the GUI resolution of XBMC +# Returns +# - 0: Failed +# - @: Resolution +function getXBMCGUIResFn() { + CURRES=$(cat /home/xbian/.xbmc/userdata/advancedsettings.xml | sed -ne 's/\(.*\)\([0-9]\{1,4\}\)\(<\/guires>\)/\2/p'); + if [ -z "$CURRES" ]; then + return 0; + else + return $CURRES; + fi +} + +# Sets the webserver setting XBMC +# $1: [Integer] 1 or 0 +# Returns +# - 0: Failed +# - 1: Success +function setXBMCWebserverFn() { + if [ $1 -eq 0 ]; then + NEWSET="false"; + else + NEWSET="true"; + fi + OLDSET=$(cat /home/xbian/.xbmc/userdata/advancedsettings.xml | sed -ne 's/\(.*\)\([a-z]\{1,5\}\)\(<\/webserver>\)/\2/p'); + if [ -z "$OLDSET" ]; then + if [ $(cat /home/xbian/.xbmc/userdata/advancedsettings.xml | grep "lookandfeel" | wc -l) -eq 2 ]; then + sed -i "s/<\/lookandfeel>/ $NEWSET<\/webserver>\n <\/lookandfeel>/g" /home/xbian/.xbmc/userdata/advancedsettings.xml + else + sed -i "s/<\/advancedsettings>/ \n $NEWSET<\/webserver>\n <\/lookandfeel>\n<\/advancedsettings>/g" /home/xbian/.xbmc/userdata/advancedsettings.xml + fi + else + sed -i "s/$OLDSET<\/webserver>/$NEWSET<\/webserver>/g" /home/xbian/.xbmc/userdata/advancedsettings.xml + fi + if [ "$(cat /home/xbian/.xbmc/userdata/advancedsettings.xml | sed -ne 's/\(.*\)\([a-z]\{1,5\}\)\(<\/webserver>\)/\2/p')" == "$NEWSET" ]; then + return 1; + else + return 0; + fi +} + +# Gets the webserver setting XBMC +# Returns +# - 0: Disabled +# - 1: Enabled +function getXBMCWebserverFn() { + CURSET=$(cat /home/xbian/.xbmc/userdata/advancedsettings.xml | sed -ne 's/\(.*\)\([a-z]\{1,5\}\)\(<\/webserver>\)/\2/p'); + if [ -z "$CURSET" ] || [ "$CURSET" == "false" ]; then + return 0; + else + return 1; + fi +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/lang/de b/usr/local/include/xbian-config/modules/xbmc/lang/de new file mode 100755 index 000000000..1660334ba --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/lang/de @@ -0,0 +1,31 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBMC" +_DESC="Ändere XBMC Einstellungen" +_XBMCWEBSERVERSUCCESSENABLED="Der XBMC Webserver wurde erfolgreich aktiviert" +_XBMCWEBSERVERSUCCESSDISABLED="XBMC Webserver wurde erfolgreich deaktiviert" +_XBMCWEBSERVERFAILEDENABLE="Fehler beim Aktivieren des XBMC Webserver" +_XBMCWEBSERVERFAILEDDISABLE="Fehler beim Deaktivieren des XBMC Webserver" +_XBMCGUIRESSUCCESS="XBMC GUI Auflösung wurde erfolgreich geändert" +_XBMCGUIRESFAILED="Fehler beim Ändern der XBMC GUI Auflösung" +_XBMCGUIRES="GUI Auflösung" +_XBMCWEBSERVER="Webserver" +_XBMCACTIONS="Aktionen" +_XBMCWEBSERVERENABLEDISABLE="Soll der XBMC Webserver de-/aktiviert werden?" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/lang/dk b/usr/local/include/xbian-config/modules/xbmc/lang/dk new file mode 100755 index 000000000..5836d9bd6 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/lang/dk @@ -0,0 +1,31 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBMC" +_DESC="Skift XBMC-indstillinger" +_XBMCWEBSERVERSUCCESSENABLED="XBMC webserver er aktiveret" +_XBMCWEBSERVERSUCCESSDISABLED="XBMC webserver er deaktiveret" +_XBMCWEBSERVERFAILEDENABLE="Aktivering af XBMC webserver mislykkedes" +_XBMCWEBSERVERFAILEDDISABLE="Deaktivering af XBMC webserver mislykkedes" +_XBMCGUIRESSUCCESS="Ændring af opløsning for XBMC GUI lykkedes" +_XBMCGUIRESFAILED="Ændring af opløsning for XBMC GUI mislykkedes" +_XBMCGUIRES="GUI Opløsning" +_XBMCWEBSERVER="Webserver" +_XBMCACTIONS="Handlinger" +_XBMCWEBSERVERENABLEDISABLE="Vil du de-/aktivere XBMC webserver?" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/lang/en b/usr/local/include/xbian-config/modules/xbmc/lang/en new file mode 100755 index 000000000..323bde45c --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/lang/en @@ -0,0 +1,31 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBMC" +_DESC="Change XBMC settings" +_XBMCWEBSERVERSUCCESSENABLED="XBMC webserver successfully enabled" +_XBMCWEBSERVERSUCCESSDISABLED="XBMC webserver successfully disabled" +_XBMCWEBSERVERFAILEDENABLE="Failed to enable XBMC webserver" +_XBMCWEBSERVERFAILEDDISABLE="Failed to disable XBMC webserver" +_XBMCGUIRESSUCCESS="XBMC GUI resolution successfully changed" +_XBMCGUIRESFAILED="Failed to change XBMC GUI resolution" +_XBMCGUIRES="GUI Resolution" +_XBMCWEBSERVER="Webserver" +_XBMCACTIONS="Actions" +_XBMCWEBSERVERENABLEDISABLE="Do you want to enable or disable the XBMC webserver?" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/lang/es b/usr/local/include/xbian-config/modules/xbmc/lang/es new file mode 100755 index 000000000..d536bc193 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/lang/es @@ -0,0 +1,31 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBMC" +_DESC="Cambiar ajustes de XBMC" +_XBMCWEBSERVERSUCCESSENABLED="Servidor web de XBMC añadido con éxito" +_XBMCWEBSERVERSUCCESSDISABLED="El servidor web de XBMC ha sido desactivado con éxito" +_XBMCWEBSERVERFAILEDENABLE="Fallo, al iniciar el servidor web de XBMC" +_XBMCWEBSERVERFAILEDDISABLE="La desactivación del servidor web de XBMC ha fallado" +_XBMCGUIRESSUCCESS="Resolución de la interfaz de XBMC cambiada con éxito" +_XBMCGUIRESFAILED="Fallo, al cambiar la resolución de la interfaz de XBMC" +_XBMCGUIRES="Resolución de la interfaz" +_XBMCWEBSERVER="Servidor web" +_XBMCACTIONS="Acciones" +_XBMCWEBSERVERENABLEDISABLE="¿Quieres activar o desactivar el servidor web?" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/lang/fr b/usr/local/include/xbian-config/modules/xbmc/lang/fr new file mode 100755 index 000000000..91a8ef104 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/lang/fr @@ -0,0 +1,31 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBMC" +_DESC="Modifier les paramètres XBMC" +_XBMCWEBSERVERSUCCESSDISABLED="Serveur web XBMC désactivé" +_XBMCWEBSERVERSUCCESSENABLED="Serveur web de XBMC activé correctement" +_XBMCWEBSERVERFAILEDENABLE="Echec lors de l'activation du serveur Web de XBMC" +_XBMCWEBSERVERFAILEDDISABLE="Une erreur s'est produite lors de la désactivation du serveur web XBMC" +_XBMCGUIRESSUCCESS="Résolution de l'interface de XBMC correctement modifiée" +_XBMCGUIRESFAILED="Echec lors de la modification de la résolution de l'interface de XBMC" +_XBMCGUIRES="Résolution de l'interface" +_XBMCWEBSERVER="Server web" +_XBMCACTIONS="Actions" +_XBMCWEBSERVERENABLEDISABLE="Voulez vous activer ou désactiver l'interface web de XBMC?" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/lang/nl b/usr/local/include/xbian-config/modules/xbmc/lang/nl new file mode 100755 index 000000000..57abef48a --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/lang/nl @@ -0,0 +1,31 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBMC" +_DESC="Verander XBMC instellingen" +_XBMCWEBSERVERSUCCESSENABLED="XBMC webserver succesvol ingeschakeld" +_XBMCWEBSERVERSUCCESSDISABLED="XBMC webserver succesvol uitgeschakeld" +_XBMCWEBSERVERFAILEDENABLE="XBMC webserver ingeschakelen is niet gelukt" +_XBMCWEBSERVERFAILEDDISABLE="XBMC webserver uitgeschakelen is niet gelukt" +_XBMCGUIRESSUCCESS="XBMC GUI resolutie succesvol veranderd" +_XBMCGUIRESFAILED="XBMC GUI resolutie verandered is niet gelukt" +_XBMCGUIRES="GUI Resolutie" +_XBMCWEBSERVER="Webserver" +_XBMCACTIONS="Acties" +_XBMCWEBSERVERENABLEDISABLE="Wilt u de XBMC webserver aan of uitzetten?" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/lang/ru b/usr/local/include/xbian-config/modules/xbmc/lang/ru new file mode 100755 index 000000000..9dc8600af --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/lang/ru @@ -0,0 +1,31 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBMC" +_DESC="Изменение наÑтроек XBMC" +_XBMCWEBSERVERSUCCESSENABLED="Веб-Ñервер XBMC уÑпешно включен" +_XBMCWEBSERVERSUCCESSDISABLED="Веб-Ñервер XBMC уÑпешно отключен" +_XBMCWEBSERVERFAILEDENABLE="Ðе удалоÑÑŒ включить веб-Ñервер XBMC" +_XBMCWEBSERVERFAILEDDISABLE="Ðе удалоÑÑŒ отключить веб-Ñервер XBMC" +_XBMCGUIRESSUCCESS="Разрешение Ñкрана уÑпешно изменено" +_XBMCGUIRESFAILED="Ðе удалоÑÑŒ изменить разрешение Ñкрана" +_XBMCGUIRES="Разрешение Ñкрана" +_XBMCWEBSERVER="Веб-Ñервер" +_XBMCACTIONS="Варианты" +_XBMCWEBSERVERENABLEDISABLE="Ð’Ñ‹ хотите включить или отключить веб-Ñервер XBMC?" diff --git a/usr/local/include/xbian-config/modules/xbmc/lang/sk b/usr/local/include/xbian-config/modules/xbmc/lang/sk new file mode 100755 index 000000000..0c55f2b4f --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/lang/sk @@ -0,0 +1,31 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +_NAME="XBMC" +_DESC="XBMC nadstavenia" +_XBMCWEBSERVERSUCCESSENABLED="XBMC webserver úspeÅ¡ne aktivovaný" +_XBMCWEBSERVERSUCCESSDISABLED="XBMC webserver úspeÅ¡ne deaktivovaný" +_XBMCWEBSERVERFAILEDENABLE="Zlyhanie aktivácie XBMC webserveru" +_XBMCWEBSERVERFAILEDDISABLE="Deaktivovanie XBMC webserveru zlyhalo" +_XBMCGUIRESSUCCESS="Rozlíšenie XBMC GUI úspeÅ¡ne zmenené" +_XBMCGUIRESFAILED="Rozlíšenie XBMC GUI neprebehlo úspeÅ¡ne" +_XBMCGUIRES="GUI Rozlíšenie" +_XBMCWEBSERVER="Webserver" +_XBMCACTIONS="Úlohy" +_XBMCWEBSERVERENABLEDISABLE="Chcs aktivovaÅ¥/deaktivovaÅ¥ XBMC webserver?" \ No newline at end of file diff --git a/usr/local/include/xbian-config/modules/xbmc/main b/usr/local/include/xbian-config/modules/xbmc/main new file mode 100755 index 000000000..b1ddc53e3 --- /dev/null +++ b/usr/local/include/xbian-config/modules/xbmc/main @@ -0,0 +1,154 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# The arguments this module accepts +ARGUMENTS=(guires webserver); +GUIRES=(480 540 720 1080); + +#|------------------------------------| +#| Include files | +#|------------------------------------| + +source $BASEPATH/modules/xbmc/functions +source $BASEPATH/modules/xbmc/dialogs + +#|------------------------------------| +#| Main program | +#|------------------------------------| + +# Executes the GUI version of this module +function showGUIFn() { + showXBMCSettingsDlg; + if [ $? -eq 0 ]; then + if [ $RETURN -eq 1 ]; then + showXBMCGUIResDlg; + if [ $? -eq 0 ]; then + setXBMCGUIResFn ${GUIRES[$(($RETURN-1))]}; + if [ $? -eq 1 ]; then + showXBMCGUIResSuccessDlg; + else + showXBMCGUIResFailedDlg; + fi + showGUIFn; + else + showGUIFn; + fi + elif [ $RETURN -eq 2 ]; then + showXBMCWebserverDlg; + STATE=$?; + setXBMCWebserverFn $STATE; + if [ $? -eq 1 ]; then + if [ $STATE -eq 0 ]; then + showXBMCWebserverSuccessEnabledDlg; + else + showXBMCWebserverSuccessDisabledDlg; + fi + else + if [ $STATE -eq 0 ]; then + showXBMCWebserverFailedEnableDlg; + else + showXBMCWebserverFailedDisableDlg; + fi + fi + showGUIFn; + fi + fi +} + +# Executes the command line version of this module +# $1 Argument [String] +# $2 XBMC setting [String] +# guires +# $3 [String] list|select|update +# $4 [Integer] resolution +# webserver +# $3 [String] select[enable|disable] +# Returns +# *webserver +# - 1: Enable|Success +# - 0: Disabled|Failed +# *guires +# - @: Resolution options +# - 1: Success +# - 0: Failed +function showCMDFn() { + case $1 in + guires) + if [ $# -eq 2 ]; then + if [ "$2" == "list" ]; then + for RES in ${GUIRES[@]}; do + echo $RES; + done + elif [ "$2" == "select" ]; then + getXBMCGUIResFn + if [ $CURRES -eq 0 ]; then + echo -2; + else + echo $CURRES; + fi + fi + elif [ $# -eq 3 ]; then + if [ "$2" == "update" ]; then + if [ ${#3} -ge 3 ]; then + MATCH=0; + for RES in ${GUIRES[@]}; do + if [ $RES -eq $3 ]; then + MATCH=1; + fi + done + if [ $MATCH -eq 1 ]; then + setXBMCGUIResFn $3 + echo $?; + else + echo -3; + fi + else + echo -3; + fi + else + echo -1 + fi + else + echo -1; + fi + ;; + webserver) + if [ $# -eq 2 ]; then + if [ "$2" == "select" ]; then + getXBMCWebserverFn; + echo $?; + elif [ "$2" == "enable" ]; then + setXBMCWebserverFn 1 + echo $? + elif [ "$2" == "disable" ]; then + setXBMCWebserverFn 0 + echo $? + else + echo -1 + fi + else + echo -1; + fi + ;; + esac; +} \ No newline at end of file diff --git a/usr/local/include/xbian-config/prereqs b/usr/local/include/xbian-config/prereqs new file mode 100755 index 000000000..039a319e4 --- /dev/null +++ b/usr/local/include/xbian-config/prereqs @@ -0,0 +1,28 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo & Hexagon +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see + +# Enable CTRL-C, doesn't clear caches, doesn't install/executes anything +if [ $DEBUG -eq 0 ]; then + trap '' 2; +fi + +if [ $(dpkg --get-selections | grep "^wget\|^dialog\|^screen\|^git\|^bc" | grep "[\ ]\{1,\}install" | wc -l) -eq 5 ]; then + echo $_REQUIREDPACKAGES" apt-get install dialog wget screen git bc"; + exit 0; +fi \ No newline at end of file diff --git a/usr/local/include/xbian-config/struct b/usr/local/include/xbian-config/struct new file mode 100755 index 000000000..b67a302b9 --- /dev/null +++ b/usr/local/include/xbian-config/struct @@ -0,0 +1,23 @@ +1:information +2:settings +2.1:system +2.1.1:resizesd +2.1.2:kernel +2.1.3:overclocking +2.1.4:hostname +2.1.5:timezone +2.2:accounts +2.2.1:rootpass +2.2.2:xbianpass +2.2.3:sshroot +2.3:network +2.4:connectivity +2.4.1:videoflags +2.5:licenses +2.5.1:licensempg2 +2.5.2:licensevc1 +2.6:xbmc +2.7:xbconfig +3:services +4:packages +5:updates \ No newline at end of file diff --git a/usr/local/lib/libcec.a b/usr/local/lib/libcec.a new file mode 100644 index 000000000..ad6ea848e Binary files /dev/null and b/usr/local/lib/libcec.a differ diff --git a/usr/local/lib/libcec.la b/usr/local/lib/libcec.la new file mode 100755 index 000000000..759a82ea7 --- /dev/null +++ b/usr/local/lib/libcec.la @@ -0,0 +1,41 @@ +# libcec.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libcec.so.2' + +# Names of this library. +library_names='libcec.so.2.0.0 libcec.so.2 libcec.so' + +# The name of the static archive. +old_library='libcec.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lbcm_host -llockdev -lvcos -lvchiq_arm -ludev -ldl -lpthread -lrt' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libcec. +current=2 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/usr/local/lib/libcec.so b/usr/local/lib/libcec.so new file mode 120000 index 000000000..0947e7059 --- /dev/null +++ b/usr/local/lib/libcec.so @@ -0,0 +1 @@ +libcec.so.2.0.0 \ No newline at end of file diff --git a/usr/local/lib/libcec.so.2 b/usr/local/lib/libcec.so.2 new file mode 120000 index 000000000..0947e7059 --- /dev/null +++ b/usr/local/lib/libcec.so.2 @@ -0,0 +1 @@ +libcec.so.2.0.0 \ No newline at end of file diff --git a/usr/local/lib/libcec.so.2.0.0 b/usr/local/lib/libcec.so.2.0.0 new file mode 100755 index 000000000..052271776 Binary files /dev/null and b/usr/local/lib/libcec.so.2.0.0 differ diff --git a/usr/local/lib/liblirc_client.a b/usr/local/lib/liblirc_client.a new file mode 100644 index 000000000..512273ac2 Binary files /dev/null and b/usr/local/lib/liblirc_client.a differ diff --git a/usr/local/lib/liblirc_client.la b/usr/local/lib/liblirc_client.la new file mode 100644 index 000000000..de40cd30f --- /dev/null +++ b/usr/local/lib/liblirc_client.la @@ -0,0 +1,41 @@ +# liblirc_client.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='liblirc_client.so.0' + +# Names of this library. +library_names='liblirc_client.so.0.2.1 liblirc_client.so.0 liblirc_client.so' + +# The name of the static archive. +old_library='liblirc_client.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs='' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for liblirc_client. +current=2 +age=2 +revision=1 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/usr/local/lib/liblirc_client.so.0.2.1 b/usr/local/lib/liblirc_client.so.0.2.1 new file mode 100644 index 000000000..c3d584f01 Binary files /dev/null and b/usr/local/lib/liblirc_client.so.0.2.1 differ diff --git a/usr/local/lib/libshairport.la b/usr/local/lib/libshairport.la new file mode 100644 index 000000000..ef509ccf2 --- /dev/null +++ b/usr/local/lib/libshairport.la @@ -0,0 +1,41 @@ +# libshairport.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libshairport.so.0' + +# Names of this library. +library_names='libshairport.so.0.0.0 libshairport.so.0 libshairport.so' + +# The name of the static archive. +old_library='' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -lcrypto -lssl -lm' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libshairport. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/usr/local/lib/libshairport.so b/usr/local/lib/libshairport.so new file mode 100644 index 000000000..88c5749a5 Binary files /dev/null and b/usr/local/lib/libshairport.so differ diff --git a/usr/local/lib/libshairport.so.0 b/usr/local/lib/libshairport.so.0 new file mode 100644 index 000000000..88c5749a5 Binary files /dev/null and b/usr/local/lib/libshairport.so.0 differ diff --git a/usr/local/lib/libshairport.so.0.0.0 b/usr/local/lib/libshairport.so.0.0.0 new file mode 100644 index 000000000..88c5749a5 Binary files /dev/null and b/usr/local/lib/libshairport.so.0.0.0 differ diff --git a/usr/local/lib/libtag.so b/usr/local/lib/libtag.so new file mode 100644 index 000000000..5b9fe8d8a Binary files /dev/null and b/usr/local/lib/libtag.so differ diff --git a/usr/local/lib/libtag.so.1 b/usr/local/lib/libtag.so.1 new file mode 100644 index 000000000..5b9fe8d8a Binary files /dev/null and b/usr/local/lib/libtag.so.1 differ diff --git a/usr/local/lib/libtag.so.1.12.0 b/usr/local/lib/libtag.so.1.12.0 new file mode 100644 index 000000000..5b9fe8d8a Binary files /dev/null and b/usr/local/lib/libtag.so.1.12.0 differ diff --git a/usr/local/lib/libtag_c.so b/usr/local/lib/libtag_c.so new file mode 100644 index 000000000..dda046a9f Binary files /dev/null and b/usr/local/lib/libtag_c.so differ diff --git a/usr/local/lib/libtag_c.so.0 b/usr/local/lib/libtag_c.so.0 new file mode 100644 index 000000000..dda046a9f Binary files /dev/null and b/usr/local/lib/libtag_c.so.0 differ diff --git a/usr/local/lib/libtag_c.so.0.0.0 b/usr/local/lib/libtag_c.so.0.0.0 new file mode 100644 index 000000000..dda046a9f Binary files /dev/null and b/usr/local/lib/libtag_c.so.0.0.0 differ diff --git a/usr/local/lib/pkgconfig/libcec.pc b/usr/local/lib/pkgconfig/libcec.pc new file mode 100644 index 000000000..9f712ac10 --- /dev/null +++ b/usr/local/lib/pkgconfig/libcec.pc @@ -0,0 +1,12 @@ +prefix=/usr/local +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: libcec +Description: Pulse-Eight CEC adapter library +URL: http://www.pulse-eight.com/ +Version: 2:0:0 +Requires: udev +Libs: -L${libdir} -lcec +Cflags: -I${includedir} -I${includedir}/libcec diff --git a/usr/local/lib/pkgconfig/taglib.pc b/usr/local/lib/pkgconfig/taglib.pc new file mode 100644 index 000000000..fee4ab36a --- /dev/null +++ b/usr/local/lib/pkgconfig/taglib.pc @@ -0,0 +1,11 @@ +prefix=/usr/local +exec_prefix=/usr/local +libdir=/usr/local/lib +includedir=/usr/local/include + +Name: TagLib +Description: Audio meta-data library +Requires: +Version: 1.8.0 +Libs: -L/usr/local/lib -ltag +Cflags: -I/usr/local/include/taglib diff --git a/usr/local/lib/pkgconfig/taglib_c.pc b/usr/local/lib/pkgconfig/taglib_c.pc new file mode 100644 index 000000000..d24ba7eec --- /dev/null +++ b/usr/local/lib/pkgconfig/taglib_c.pc @@ -0,0 +1,12 @@ +prefix=/usr/local +exec_prefix=/usr/local +libdir=/usr/local/lib +includedir=/usr/local/include + + +Name: TagLib C Bindings +Description: Audio meta-data library (C bindings) +Requires: taglib +Version: 1.8.0 +Libs: -L/usr/local/lib -ltag_c +Cflags: -I/usr/local/include/taglib diff --git a/usr/local/lib/xbmc/addons/library.xbmc.addon/libXBMC_addon-arm.so b/usr/local/lib/xbmc/addons/library.xbmc.addon/libXBMC_addon-arm.so new file mode 100755 index 000000000..d451433a2 Binary files /dev/null and b/usr/local/lib/xbmc/addons/library.xbmc.addon/libXBMC_addon-arm.so differ diff --git a/usr/local/lib/xbmc/addons/library.xbmc.gui/libXBMC_gui-arm.so b/usr/local/lib/xbmc/addons/library.xbmc.gui/libXBMC_gui-arm.so new file mode 100755 index 000000000..f18f5717b Binary files /dev/null and b/usr/local/lib/xbmc/addons/library.xbmc.gui/libXBMC_gui-arm.so differ diff --git a/usr/local/lib/xbmc/addons/library.xbmc.pvr/libXBMC_pvr-arm.so b/usr/local/lib/xbmc/addons/library.xbmc.pvr/libXBMC_pvr-arm.so new file mode 100755 index 000000000..3d6ff48d4 Binary files /dev/null and b/usr/local/lib/xbmc/addons/library.xbmc.pvr/libXBMC_pvr-arm.so differ diff --git a/usr/local/lib/xbmc/addons/pvr.argustv/XBMC_ArgusTV.pvr b/usr/local/lib/xbmc/addons/pvr.argustv/XBMC_ArgusTV.pvr new file mode 100644 index 000000000..0bbff6302 Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.argustv/XBMC_ArgusTV.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.demo/XBMC_Demo.pvr b/usr/local/lib/xbmc/addons/pvr.demo/XBMC_Demo.pvr new file mode 100644 index 000000000..d078c29c3 Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.demo/XBMC_Demo.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.dvbviewer/XBMC_dvbviewer.pvr b/usr/local/lib/xbmc/addons/pvr.dvbviewer/XBMC_dvbviewer.pvr new file mode 100644 index 000000000..c966a16ae Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.dvbviewer/XBMC_dvbviewer.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.hts/XBMC_Tvheadend.pvr b/usr/local/lib/xbmc/addons/pvr.hts/XBMC_Tvheadend.pvr new file mode 100644 index 000000000..c4fb5c82b Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.hts/XBMC_Tvheadend.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.mediaportal.tvserver/XBMC_Mediaportal.pvr b/usr/local/lib/xbmc/addons/pvr.mediaportal.tvserver/XBMC_Mediaportal.pvr new file mode 100644 index 000000000..964b699ef Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.mediaportal.tvserver/XBMC_Mediaportal.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.mythtv.cmyth/XBMC_MythTV_cmyth.pvr b/usr/local/lib/xbmc/addons/pvr.mythtv.cmyth/XBMC_MythTV_cmyth.pvr new file mode 100644 index 000000000..9c983beeb Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.mythtv.cmyth/XBMC_MythTV_cmyth.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.nextpvr/XBMC_NextPVR.pvr b/usr/local/lib/xbmc/addons/pvr.nextpvr/XBMC_NextPVR.pvr new file mode 100644 index 000000000..dac940bc1 Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.nextpvr/XBMC_NextPVR.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.njoy/XBMC_Njoy.pvr b/usr/local/lib/xbmc/addons/pvr.njoy/XBMC_Njoy.pvr new file mode 100644 index 000000000..0b88a153e Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.njoy/XBMC_Njoy.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.vdr.vnsi/XBMC_VDR_vnsi.pvr b/usr/local/lib/xbmc/addons/pvr.vdr.vnsi/XBMC_VDR_vnsi.pvr new file mode 100644 index 000000000..859ce46b5 Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.vdr.vnsi/XBMC_VDR_vnsi.pvr differ diff --git a/usr/local/lib/xbmc/addons/pvr.vuplus/XBMC_vuplus.pvr b/usr/local/lib/xbmc/addons/pvr.vuplus/XBMC_vuplus.pvr new file mode 100644 index 000000000..46814e457 Binary files /dev/null and b/usr/local/lib/xbmc/addons/pvr.vuplus/XBMC_vuplus.pvr differ diff --git a/usr/local/lib/xbmc/addons/visualization.glspectrum/opengl_spectrum.vis b/usr/local/lib/xbmc/addons/visualization.glspectrum/opengl_spectrum.vis new file mode 100755 index 000000000..9c55608e5 Binary files /dev/null and b/usr/local/lib/xbmc/addons/visualization.glspectrum/opengl_spectrum.vis differ diff --git a/usr/local/lib/xbmc/addons/visualization.waveform/Waveform.vis b/usr/local/lib/xbmc/addons/visualization.waveform/Waveform.vis new file mode 100755 index 000000000..f8bf0f2bf Binary files /dev/null and b/usr/local/lib/xbmc/addons/visualization.waveform/Waveform.vis differ diff --git a/usr/local/lib/xbmc/system/ImageLib-arm.so b/usr/local/lib/xbmc/system/ImageLib-arm.so new file mode 100755 index 000000000..54b951b47 Binary files /dev/null and b/usr/local/lib/xbmc/system/ImageLib-arm.so differ diff --git a/usr/local/lib/xbmc/system/hdhomerun-arm.so b/usr/local/lib/xbmc/system/hdhomerun-arm.so new file mode 100755 index 000000000..4b0fa1ea1 Binary files /dev/null and b/usr/local/lib/xbmc/system/hdhomerun-arm.so differ diff --git a/usr/local/lib/xbmc/system/libcmyth-arm.so b/usr/local/lib/xbmc/system/libcmyth-arm.so new file mode 100755 index 000000000..f11c5cf4a Binary files /dev/null and b/usr/local/lib/xbmc/system/libcmyth-arm.so differ diff --git a/usr/local/lib/xbmc/system/libcpluff-arm.so b/usr/local/lib/xbmc/system/libcpluff-arm.so new file mode 100755 index 000000000..0d0493b23 Binary files /dev/null and b/usr/local/lib/xbmc/system/libcpluff-arm.so differ diff --git a/usr/local/lib/xbmc/system/libexif-arm.so b/usr/local/lib/xbmc/system/libexif-arm.so new file mode 100755 index 000000000..39b84ccce Binary files /dev/null and b/usr/local/lib/xbmc/system/libexif-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/avcodec-53-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/avcodec-53-arm.so new file mode 100755 index 000000000..0d86e1cc5 Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/avcodec-53-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/avfilter-2-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/avfilter-2-arm.so new file mode 100755 index 000000000..2c0553951 Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/avfilter-2-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/avformat-53-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/avformat-53-arm.so new file mode 100755 index 000000000..f8ea9af9f Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/avformat-53-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/avutil-51-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/avutil-51-arm.so new file mode 100755 index 000000000..bd015f926 Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/avutil-51-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/libdvdcss-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/libdvdcss-arm.so new file mode 100755 index 000000000..11f59d29d Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/libdvdcss-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/libdvdnav-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/libdvdnav-arm.so new file mode 100755 index 000000000..bc31a8f1f Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/libdvdnav-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/postproc-52-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/postproc-52-arm.so new file mode 100755 index 000000000..5b672497c Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/postproc-52-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/swresample-0-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/swresample-0-arm.so new file mode 100755 index 000000000..fee906f92 Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/swresample-0-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/dvdplayer/swscale-2-arm.so b/usr/local/lib/xbmc/system/players/dvdplayer/swscale-2-arm.so new file mode 100755 index 000000000..19dee2c78 Binary files /dev/null and b/usr/local/lib/xbmc/system/players/dvdplayer/swscale-2-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/paplayer/adpcm-arm.so b/usr/local/lib/xbmc/system/players/paplayer/adpcm-arm.so new file mode 100755 index 000000000..9c093c801 Binary files /dev/null and b/usr/local/lib/xbmc/system/players/paplayer/adpcm-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/paplayer/libsidplay2-arm.so b/usr/local/lib/xbmc/system/players/paplayer/libsidplay2-arm.so new file mode 100755 index 000000000..2f83090ae Binary files /dev/null and b/usr/local/lib/xbmc/system/players/paplayer/libsidplay2-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/paplayer/nosefart-arm.so b/usr/local/lib/xbmc/system/players/paplayer/nosefart-arm.so new file mode 100755 index 000000000..4e84e372d Binary files /dev/null and b/usr/local/lib/xbmc/system/players/paplayer/nosefart-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/paplayer/stsoundlibrary-arm.so b/usr/local/lib/xbmc/system/players/paplayer/stsoundlibrary-arm.so new file mode 100755 index 000000000..8769a6a9c Binary files /dev/null and b/usr/local/lib/xbmc/system/players/paplayer/stsoundlibrary-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/paplayer/timidity-arm.so b/usr/local/lib/xbmc/system/players/paplayer/timidity-arm.so new file mode 100755 index 000000000..b0f66044e Binary files /dev/null and b/usr/local/lib/xbmc/system/players/paplayer/timidity-arm.so differ diff --git a/usr/local/lib/xbmc/system/players/paplayer/vgmstream-arm.so b/usr/local/lib/xbmc/system/players/paplayer/vgmstream-arm.so new file mode 100755 index 000000000..c3a563a7f Binary files /dev/null and b/usr/local/lib/xbmc/system/players/paplayer/vgmstream-arm.so differ diff --git a/usr/local/lib/xbmc/xbmc.bin b/usr/local/lib/xbmc/xbmc.bin new file mode 100755 index 000000000..a0aad15b0 Binary files /dev/null and b/usr/local/lib/xbmc/xbmc.bin differ diff --git a/usr/local/sbin/lircd b/usr/local/sbin/lircd new file mode 100644 index 000000000..77271f26f Binary files /dev/null and b/usr/local/sbin/lircd differ diff --git a/usr/local/sbin/lircmd b/usr/local/sbin/lircmd new file mode 100644 index 000000000..721d23c69 Binary files /dev/null and b/usr/local/sbin/lircmd differ diff --git a/usr/local/sbin/xbian-config b/usr/local/sbin/xbian-config new file mode 100755 index 000000000..8c538bacd --- /dev/null +++ b/usr/local/sbin/xbian-config @@ -0,0 +1,330 @@ +#!/bin/bash +# +#Copyright 2012 CurlyMo +# +#This file is part of XBian - XBMC on the Raspberry Pi. +# +#XBian is free software: you can redistribute it and/or modify it under the +#terms of the GNU General Public License as published by the Free Software +#Foundation, either version 3 of the License, or (at your option) any later +#version. +# +#XBian is distributed in the hope that it will be useful, but WITHOUT ANY +#WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +#FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +#details. +# +#You should have received a copy of the GNU General Public License along +#with XBian. If not, see +# + +if [ ! $(id -u) -eq 0 ]; then + echo "This program must be run as root."; + exit 0; +fi + +trap '' 2 20 + +#|------------------------------------| +#| Global variables | +#|------------------------------------| + +# Title at the top of the dialog windows +BACKTITLE="XBian $(cat /etc/xbian_version)"; + +# Debugging mode, when enable no actual changes are made to the system +DEBUG=0; + +# Check if a reboot is needed +ASKFORREBOOT=0; + +# Check if the package database needs to be updates +LOCALPKGDBUPDATED=0; +REMOTEPKGDBUPDATED=0; +APTUPDATELISTUPDATED=0; + +# Standard delimiter +ORIGINALIFS=$IFS; + +# Url for the main APT repository Package location +APTBASE="http://apt.xbian.org/" + +# Location of the xbian-config script files +BASEPATH="/usr/local/include/xbian-config" + +#Set GUI language +LANGUAGE="en" + +#|------------------------------------| +#| Main program | +#|------------------------------------| +function showMainCloseDlg() { + + DOREBOOT=0; + + # Is a reboot needed for the changes to get effect + if [ $ASKFORREBOOT -eq 1 ]; then + wrapTxtFn "$_REBOOTREQUIRED" + centerTxtFn "$WRAPPEDTXT" + valignTxtFn "$CENTEREDTXT" + showConfirmDlg "$ALIGNEDTXT"; + + # 0: Do reboot + # 1: Don't reboot + case "$?" in + 0) + DOREBOOT=1; + ;; + esac + fi + # Clear FS and MEM caches + if [ $DEBUG -eq 0 ]; then + clrFSCacheFn; + fi + clrMemCacheFn; + if [ $DOREBOOT -eq 1 ]; then + reboot + fi; + exit 0 +} + +function showMainMenuDlg() { + ITEMS=""; + LEVEL=""; + ADD="."; + CPATH="Config"; + + # Do different things depending on which level we are + if [ $1 -gt 0 ]; then + # Show descendant + LEVEL="$2"; + ADD="."; + fi + + # Prepare path + if [ $# -gt 2 ]; then + CPATH=$3; + fi + + # Trim CPATH + trimLnFn $CPATH + CPATH=$TRIMMEDLN; + + # Draw showMainMenuDlg + IFS=$'\n'; + + # Get all sub-items that corresponding to the level we are currently + ITEMS=$(grep "^$LEVEL$ADD[0-9]*:" $BASEPATH/struct | cut -f 2 -d:); + + # Clear caches need by previous function + clrMemCacheFn; + + # Create main menu + + # If a certain menu items has no subitems, than we've reach of final function we want to execute + if [ -z "$ITEMS" ]; then + + # Grab the system name of the module we want to execute + SPECIFICLEVEL=${LEVEL:0:-1}; + MODULE=$(grep ^$SPECIFICLEVEL: $BASEPATH/struct | cut -f2 -d:); + + # Include the module we want to execute + source $BASEPATH/modules/$MODULE/main + if [ -f "$BASEPATH/modules/$MODULE/lang/$LANGUAGE" ]; then + source $BASEPATH/modules/$MODULE/lang/$LANGUAGE + else + source $BASEPATH/modules/$MODULE/lang/en + fi + + # Change the dialog title to reflect the right module + TITLE="[${CPATH% > *} > $_NAME]" + + # Open the modules gui function + showGUIFn; + + # When we're done, show the main menu again + IFS=$'\n'; + showMainMenuDlg $(($1-1)) ${LEVEL:0:-2} ${CPATH% > *}; + else + MENU=""; + I=1; + for ITEM in ${ITEMS[@]}; do + if [ -d $BASEPATH/modules/$ITEM ]; then + if [ -f $BASEPATH/modules/$ITEM/lang/$LANGUAGE ]; then + source $BASEPATH/modules/$ITEM/lang/$LANGUAGE + else + source $BASEPATH/modules/$ITEM/lang/en + fi + MENU+="$I%$_NAME!-!\"$_DESC\"%"; + else + if [ -f $BASEPATH/lang/$LANGUAGE ]; then + source $BASEPATH/lang/$LANGUAGE + else + source $BASEPATH/lang/en + fi + + + _NAME="_ITEM"${ITEM^^}"NAME"; + _DESC="_ITEM"${ITEM^^}"DESC"; + MENU+="$I%${!_NAME}!-!\"${!_DESC}\"%"; + fi + I=$(($I+1)); + done; + + IFS="%"; + # Set the title to the appropriate menu level we're in + TITLE="["$CPATH"]" + if [ $(ps -A | grep $LOADER | wc -l) -gt 0 ]; then + kill -9 $LOADER > /dev/null 2>&1 & + wait $! 2>/dev/null + fi + # Show the main menu + + if [ $1 -eq 0 ]; then + showMenuDlg "" "$MENU" 7 11 $(($DEFAULTWIDTH+15)) $_SELECT $_EXIT + else + showMenuDlg "" "$MENU" 7 + fi + + # What there a button pressed? + # 1: Button + # 0: Item + CODE=$? + if [ $CODE -eq 1 ]; then + # Which button was pressed? + # 0: Close + # 1: Select + if [ $1 -eq 0 ]; then + showMainCloseDlg; + else + IFS=$'\n'; + showMainMenuDlg $(($1-1)) ${LEVEL:0:-2} ${CPATH% > *}; + fi + elif [ $CODE -eq 0 ]; then + IFS=$'\n'; + MODULE=$(grep "^$LEVEL$RETURN*:" $BASEPATH/struct | cut -f 2 -d:) + + if [ -d $BASEPATH/modules/$MODULE ]; then + if [ -f $BASEPATH/modules/$MODULE/lang/$LANGUAGE ]; then + source $BASEPATH/modules/$MODULE/lang/$LANGUAGE + else + source $BASEPATH/modules/$MODULE/lang/en + fi + showMainMenuDlg $(($1+1)) $LEVEL$RETURN$ADD "$CPATH > $_NAME"; + else + _NAME="_ITEM"${MODULE^^}"NAME"; + _DESC="_ITEM"${MODULE^^}"DESC"; + + showMainMenuDlg $(($1+1)) $LEVEL$RETURN$ADD "$CPATH > ${!_NAME}"; + fi + + fi; + fi; +} + + +if [ $# -eq 0 ]; then + #|------------------------------------| + #| GUI Mode | + #|------------------------------------| + + LOADER=0; + while [ $(pgrep dialog | wc -l) -eq 0 ]; do + for a in \\ \| \/ -; do + if [ $(pgrep dialog | wc -l) -eq 0 ]; then + echo -n $a; + sleep 0.5; + echo -n -e \\r; + else + break; + fi + done; + done & + LOADER=$! + + #|------------------------------------| + #| Include files | + #|------------------------------------| + + # Main language + if [ -f "$BASEPATH/lang/$LANGUAGE" ]; then + source $BASEPATH/lang/$LANGUAGE + else + source $BASEPATH/lang/en; + fi + + # Common xbian-config functions + source $BASEPATH/functions/packages + + # Pre-requirements + source $BASEPATH/prereqs + + # Standard dialogs + source $BASEPATH/functions/dialogs + + # Text markup + source $BASEPATH/functions/markup + + # System functions + source $BASEPATH/functions/system + + # Language functions + source $BASEPATH/functions/language + + #|------------------------------------| + #| Global variables | + #|------------------------------------| + + # Current dialog title + TITLE="[$_TITLE]" + + # Retrieve user set language + getLanguageFn; + + #Run script inside screen, so it's doesn't fill the whole terminal history + #SCREEN=$(screen -r | grep "Attached" | wc -l); + #if [ $SCREEN -eq 0 ]; then + # `screen $0` + #else + showMainMenuDlg 0 ""; + #fi + +else + #|------------------------------------| + #| CLI Mode | + #|------------------------------------| + + #|------------------------------------| + #| Include files | + #|------------------------------------| + + # System functions + source $BASEPATH/functions/system + clrMemCacheFn; + # Check xbian-config was opened using arguments + MODULE=$1; + if [ $MODULE == "reboot" ]; then + if [ -f /tmp/xbian-config-reboot ]; then + cat /tmp/xbian-config-reboot; + else + echo 0; + fi; + elif [ -f $BASEPATH/modules/$MODULE/main ]; then + source $BASEPATH/modules/$MODULE/main + shift; + # If the module was called with arguments + if [ $# -gt 0 ]; then + # Check if it's a valid argument + if [ $(echo ${ARGUMENTS[@]} | grep $1 | wc -l) -eq 0 ]; then + echo "Available arguments for module '$MODULE' are:"; + echo ${ARGUMENTS[@]}; + else + # Quotation marks to preserve newlines + echo "$(showCMDFn $@)"; + fi + else + echo "Available arguments for module '$MODULE' are:"; + echo ${ARGUMENTS[@]}; + fi + fi +fi diff --git a/usr/local/share/doc/xbmc/LICENSE.GPL b/usr/local/share/doc/xbmc/LICENSE.GPL new file mode 100644 index 000000000..47f7503cb --- /dev/null +++ b/usr/local/share/doc/xbmc/LICENSE.GPL @@ -0,0 +1,287 @@ + + You may use, distribute and copy XBMC under the terms of GNU General + Public License version 2, which is displayed below. + +------------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS +------------------------------------------------------------------------- diff --git a/usr/local/share/doc/xbmc/README.linux b/usr/local/share/doc/xbmc/README.linux new file mode 100644 index 000000000..ba9c4d2bd --- /dev/null +++ b/usr/local/share/doc/xbmc/README.linux @@ -0,0 +1,188 @@ + +TOC +1. Introduction +2. Getting the source code +3. Installing the required libraries and headers +4. How to compile +5. How to run +6. Uninstalling + +----------------------------------------------------------------------------- +1. Introduction +----------------------------------------------------------------------------- + +A gfx-adapter with OpenGL acceleration is highly recommended and 24/32 bitdepth +is required with OpenGL. + +NOTE TO NEW LINUX USERS: All lines that are prefixed with the '$' +character are commands that need to be typed into a terminal window / +console (similar to the command prompt for Windows). Note that the '$' +character itself should NOT be typed as part of the command. + + +----------------------------------------------------------------------------- +2. Getting the source code +----------------------------------------------------------------------------- + +You will have to grab the source code of course. First install the git +package provided by your distribution. Then from a terminal, type: + + $ cd $HOME + $ git clone git://github.com/xbmc/xbmc.git xbmc + +----------------------------------------------------------------------------- +3. Installing the required libraries and headers +----------------------------------------------------------------------------- + +You will then need the required libraries. The following is the list of packages +that are used to build XBMC packages on Debian/Ubuntu (with all supported +external libraries enabled). + +Build-Depends: autoconf, automake, autopoint, autotools-dev, cmake, curl, + debhelper (>= 7.0.50~), gawk, gperf, libao-dev, libasound2-dev, + libass-dev (>= 0.9.8), libavahi-client-dev, libavahi-common-dev, + libavcodec-dev, libavfilter-dev, libavformat-dev, libavutil-dev, + libbluetooth-dev, libbluray-dev, libboost-dev, libboost-thread-dev, + libiso9660-dev, libbz2-dev, libcdio-dev, libcec-dev, libcrystalhd-dev, + libcurl4-gnutls-dev | libcurl-dev, libcwiid1-dev, libdbus-1-dev, + libenca-dev, libflac-dev, libfontconfig-dev, libfreetype6-dev, + libfribidi-dev, libgl1-mesa-dev | libgl-dev, libglew-dev, + libglu1-mesa-dev | libglu-dev, libhal-dev, libhal-storage-dev, + libjasper-dev, libjpeg-dev, libltdl-dev, liblzo2-dev, libmad0-dev, + libmicrohttpd-dev, libmodplug-dev, libmpcdec-dev, libmpeg2-4-dev, + libmysqlclient-dev, libnfs-dev, libogg-dev, libpcre3-dev, libplist-dev, + libpng12-dev | libpng-dev, libpostproc-dev, libpulse-dev, librtmp-dev, + libsamplerate-dev, libsdl-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, + libshairport-dev, libsmbclient-dev, libsqlite3-dev, libssh-dev, libssl-dev, + libswscale-dev, libtinyxml-dev, libtool, libudev-dev, libusb-dev, libva-dev, + libvdpau-dev, libvorbis-dev, libxinerama-dev, libxmu-dev, libxrandr-dev, + libxt-dev, libyajl-dev, lsb-release, nasm [!amd64], python-dev, + python-support, unzip, yasm, zip, zlib1g-dev, libcap-dev, swig, taglib(>= 1.8), + default-jre + +*** For developers and anyone else who compiles frequently it is recommended to +use ccache + +-------------------------------------------------------------- +3.1. Using the XBMC PPA to get all build dependencies (Debian/Ubuntu only) +-------------------------------------------------------------- + +For this, you need to specify the PPA in your apt sources. Please find them on +the forum. + +http://forum.xbmc.org/showthread.php?t=33327 + +Update apt: + $ sudo apt-get update + +Here is the magic command to get the build dependencies (used to compile the +version on the PPA). + $ sudo apt-get build-dep xbmc + +----------------------------------------------------------------------------- +4. How to compile +----------------------------------------------------------------------------- + +To create the XBMC executable manually perform these steps: + +.0 $ ./bootstrap + +.1 $ ./configure ... (See --help for available options) + +A full listing of supported options can be viewed by typing +'./configure --help'. + +.2 $ make + +Tip: by adding -j to the make command, you describe how many + concurrent jobs will be used. So for dualcore the command is: + + $ make -j2 + +.3 $ make -C lib/addons/script.module.pil + +.4 $ make install + +This will install XBMC in the prefix provided in 4.1 as well as a launcher script. + +NOTE: You may need to run this with sudo (sudo make install) if your user +doesn't have write permissions to the prefix you have provided (as in the +default case, /usr/local). + +Tip: To override the location that XBMC is installed, use PREFIX=. +For example. + + $ make install DESTDIR=$HOME/xbmc + +----------------------------------------------------------------------------- +4.1. Test Suite +----------------------------------------------------------------------------- +XBMC has a test suite which uses the Google C++ Testing Framework. The +framework is provided directly in XBMC's source tree and has very little +requirements in order to build and run. See the README file for the framework +at 'lib/gtest/README' for specific requirements. + +To compile and run XBMC's test suite, the configure option '--enable-gtest' +has to be explicitely set during the configure stage. Once configured, to +build the testsuite, type the following. + + $ make check + +To compile the test suite without running it, type the following. + + $ make testsuite + +The test suite program can be run manually as well. The name of the test suite +program is 'xbmc-test' and will build in the XBMC source tree. To bring up the +'help' notes for the program, type the following. + + $ ./xbmc-test --gtest_help + +The most useful options are, + + --gtest_list_tests + List the names of all tests instead of running them. The name of + TEST(Foo, Bar) is "Foo.Bar". + --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS] + Run only the tests whose name matches one of the positive patterns but + none of the negative patterns. '?' matches any single character; '*' + matches any substring; ':' separates two patterns. + +NOTE: If the '--enable-gtest' option is not set during the configure +stage, the make targets 'check,' 'testsuite,' and 'testframework' will +simply show a message saying the framework has not been configured, and then +silently succeed (i.e. it will not return an error). + +----------------------------------------------------------------------------- +5. How to run +----------------------------------------------------------------------------- +How to run xbmc depends on the type of installation you have done. It is +possible to run XBMC without the requirement to install xbmc anywhere else. In +this case, type the following from the top source directory. + + $ ./xbmc.bin + +If you chose to install XBMC using '/usr' or '/usr/local' as the PREFIX, you +can just issue 'xbmc' in a teminal session. + +If you overridden PREFIX to install XBMC into some non-standard location, you +will have to run xbmc by directly running 'xbmc.bin'. For example. + + $ $HOME/xbmc/usr/share/xbmc.bin + +If you wish to use VDPAU decoding you will now have to change the Render Method +in Settings->Videos->Player from "Auto Detect" to "VDPAU". + +----------------------------------------------------------------------------- +6. Uninstalling +----------------------------------------------------------------------------- +Issue "make uninstall" ("sudo make uninstall" if you user doesn't have write +permission to the install directory) from your source tree. If you would like +to also remove any settings and 3rd party addons (skins, scripts, etc) you +should also run "rm -rf ~/.xbmc". + +NOTE: If you have rerun configure with a different prefix, you will either need +to rerun configure with the correct prefix for this step to work correctly. + +EOF + diff --git a/usr/local/share/doc/xbmc/copying.txt b/usr/local/share/doc/xbmc/copying.txt new file mode 100644 index 000000000..d0ac31491 --- /dev/null +++ b/usr/local/share/doc/xbmc/copying.txt @@ -0,0 +1,347 @@ +--------------------------------------------------------------------------- + +NOTE! The GPL below is copyrighted by the Free Software Foundation, but +the instance of code that it refers to (XBMC) is copyrighted by the +authors who actually wrote it. + +--------------------------------------------------------------------------- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/usr/local/share/man/man1/ircat.1 b/usr/local/share/man/man1/ircat.1 new file mode 100644 index 000000000..7ec68cb69 --- /dev/null +++ b/usr/local/share/man/man1/ircat.1 @@ -0,0 +1,47 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH IRCAT "1" "October 2012" "ircat ircat0.9.1" "User Commands" +.SH NAME +ircat - print strings when pressing buttons +.SH SYNOPSIS +.B ircat +[\fIoptions\fR] \fI\fR +.SH DESCRIPTION +This program prints config strings to standard output. It can be used +to provide remote control input to scripts and to debug your .lircrc +file. + +The argument to the program is the program name, as it +appears in the prog entries in .lircrc. +.TP +\fB\-h\fR \fB\-\-help\fR +display usage summary +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.TP +\fB\-c\fR \fB\-\-config=\fR +set config file +.SH EXAMPLES +If .lircrc contains: + +.nf +begin + prog = myprog + button = tv_p+ + config = next_file +end +.fi + +then + +.nf +$ ircat myprog +.fi + +will print "next_file" (followed by newline) every time the +button tv_p+ is pressed. +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. diff --git a/usr/local/share/man/man1/irexec.1 b/usr/local/share/man/man1/irexec.1 new file mode 100644 index 000000000..d02ca958f --- /dev/null +++ b/usr/local/share/man/man1/irexec.1 @@ -0,0 +1,46 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH IREXEC "1" "October 2012" "irexec 0.9.1" "User Commands" +.SH NAME +irexec - run programs with one button press +.SH SYNOPSIS +.B irexec +[\fIoptions\fR] [\fIconfig_file\fR] +.SH DESCRIPTION +This program lets you execute arbitrary commands on an IR signal decoded +by lircd, the LIRC daemon. You can give irexec a command line parameter +which has to be a name of a valid config file. If no command line +parameters are given irexec reads the default config file which is +usually ~/.lircrc. + +If irexec executes a program it will wait until this program terminates. +So append a '&' to the command string if you don't want that. + +The config string consists of the command to be run. +.TP +\fB\-h\fR \fB\-\-help\fR +display usage summary +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.TP +\fB\-d\fR \fB\-\-daemon\fR +run in background +.TP +\fB\-n\fR \fB\-\-name\fR +use this program name +.SH OPTIONS +If you add the \-\-daemon option irexec will fork to +background. That way you can easily start irexec from an init script. In +this case you should specify a config file on the command line as irexec +won't be able to find your home directory. Potential uses are shutting +down the computer, starting a dial-up connection etc. +.SH NOTE +If you start irexec, it reads your ~/.lircrc and reacts only on +prog= entries that point to irexec. If you have included more than one +program in your .lircrc, then start all these programs, they react +itself only to their according entries in .lircrc. +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. diff --git a/usr/local/share/man/man1/irpty.1 b/usr/local/share/man/man1/irpty.1 new file mode 100644 index 000000000..ddce64c8d --- /dev/null +++ b/usr/local/share/man/man1/irpty.1 @@ -0,0 +1,39 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH IRPTY "1" "October 2012" "irpty 0.9.1" "User Commands" +.SH NAME +irpty - pseudo tty driver +.SH SYNOPSIS +.B irpty +[\fIoptions\fR] \fIconfig_file -- program \fR[\fIargs \fR...] +.SH DESCRIPTION + +irpty connects to lircd to receive infrared codes and converts them to +key strokes. E.g. type irpty ~/.lircrc \-\- workbone to control the +CD-player program workbone. Of course you will have to create an +appropriate config file for this purpose first. The config string will +be passed to the desired application. Note that you can use escape +sequences to specify non printable characters. Have a look at the\ + .lircrc file format description for details. +.TP +\fB\-h\fR \fB\-\-help\fR +display usage summary +.TP +\fB\-V\fR \fB\-\-version\fR +display version +.TP +\fB\-e\fR \fB\-\-no\-echo\fR +disable echo +.TP +\fB\-i\fR \fB\-\-ignore\-eof\fR +ignore EOF +.TP +\fB\-n\fR \fB\-\-non\-interactive\fR +force non\-interactive mode +.TP +\fB\-v\fR \fB\-\-verbose\fR +verbose mode +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. diff --git a/usr/local/share/man/man1/irrecord.1 b/usr/local/share/man/man1/irrecord.1 new file mode 100644 index 000000000..f64515405 --- /dev/null +++ b/usr/local/share/man/man1/irrecord.1 @@ -0,0 +1,58 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH IRRECORD "1" "October 2012" "irrecord $Revision: 5.101 $" "User Commands" +.SH NAME +irrecord - application for recording IR-codes for usage with LIRC +.SH SYNOPSIS +.B irrecord +[\fIoptions\fR] \fIfile\fR +.SH DESCRIPTION +This program will record the signals from your remote control and create +a config file for lircd. A proper config file for lircd is maybe the +most vital part of this package, so you should invest some time to +create a working config file. Although I put a good deal of effort in +this program it is often not possible to automatically recognize all +features of a remote control. + +If the program fails to recognize the protocol of the remote control you +should use the \-\-force option to at least create a config file in raw mode. + +If \fIfile\fR already exists and contains a valid config irrecord will use the +protocol description found there and will only try to record the +buttons. This is very useful if you want to learn a remote where config +files of the same brand are already available. Of course this will only +work if the remotes use the same protocol but it's worth a try. You will +find template files for the most common protocols in the +remotes/generic/ directory of this package. The name of the new file is +created by appending .conf to the given filename in this case. +.TP +\fB\-h\fR \fB\-\-help\fR +display this message +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.TP +\fB\-a\fR \fB\-\-analyse\fR +analyse raw_codes config files +.TP +\fB\-f\fR \fB\-\-force\fR +force raw mode +.TP +\fB\-n\fR \fB\-\-disable\-namespace\fR +disables namespace checks +.TP +\fB\-l\fR \fB\-\-list\-namespace\fR +list valid button names +.TP +\fB\-H\fR \fB\-\-driver\fR=\fIdriver\fR +use given driver +.TP +\fB\-d\fR \fB\-\-device\fR=\fIdevice\fR +read from given device +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. + +Further information on this topic is available in section "Adding new +remote controls" in html/help.html diff --git a/usr/local/share/man/man1/irsend.1 b/usr/local/share/man/man1/irsend.1 new file mode 100644 index 000000000..f4b6a6434 --- /dev/null +++ b/usr/local/share/man/man1/irsend.1 @@ -0,0 +1,100 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH IRSEND "1" "October 2012" "irsend 0.9.1" "User Commands" +.SH NAME +irsend - basic LIRC program to send infra-red commands +.SH SYNOPSIS +.B irsend +[\fIoptions\fR] \fIDIRECTIVE REMOTE CODE \fR[\fICODE\fR...] +.SH DESCRIPTION +Asks the \fBlircd\fR daemon to send one or more CIR +(Consumer Infra-Red) commands. This is intended for remote control +of electronic devices such as TV boxes, HiFi sets, etc. +.PP +\fIDIRECTIVE\fR can be: +.nf +.RS 3 +\fBSEND_ONCE\fR - send \fICODE\fR [\fICODE\fR ...] once +\fBSEND_START\fR - start repeating \fICODE\fR +\fBSEND_STOP\fR - stop repeating \fICODE\fR +\fBLIST\fR - list configured remote items +\fBSET_TRANSMITTERS\fR - set transmitters \fINUM\fR [\fINUM\fR ...] +\fBSIMULATE\fR - simulate IR event +.RE +.fi + +.PP +\fIREMOTE\fR is the name of a remote, as described in the \fBlircd\fR +configuration file. + +.PP +\fICODE\fR is the name of a remote control key of \fIREMOTE\fR, as it +appears in the \fBlircd\fR configuration file. + +.PP +\fINUM\fR is the transmitter number of the hardware device. + +.PP +For the \fBLIST\fR \fIDIRECTIVE\fR, \fIREMOTE\fR and/or \fICODE\fR +can be empty: + +.nf +.RS 3 +\fBLIST\fR "" "" - list all configured remote names +\fBLIST\fR \fIREMOTE\fR "" - list all codes of \fIREMOTE\fR +\fBLIST\fR \fIREMOTE\fR \fICODE\fR - list only \fICODE\fR of \fIREMOTE\fR +.RE +.fi + +.PP +The \fBSIMULATE\fR command only works if it has been explicitly +enabled in lircd. +.TP +\fB\-h\fR \fB\-\-help\fR +display usage summary +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.TP +\fB\-d\fR \fB\-\-device\fR +use given lircd socket [/var/run/lirc/lircd] +.TP +\fB\-a\fR \fB\-\-address\fR=\fIhost[\fR:port] +connect to lircd at this address +.TP +\-# \fB\-\-count\fR=\fIn\fR +send command n times +.SH FILES +.TP +.I /etc/lirc/lircd.conf +Default \fBlircd\fR configuration file. It should contain all the +remotes, their infra-red codes and the corresponding timing and +waveform details. + +.SH DIAGNOSTICS +If \fBlircd\fR is not running (or /var/run/lirc/lircd lacks write +permissions) \fBirsend\fR aborts with the following diagnostics: +.nf +"irsend: could not connect to socket" +"irsend: Connection refused" (or "Permission denied"). +.fi +.SH EXAMPLES +.nf +.RS 3 +irsend LIST DenonTuner "" +irsend SEND_ONCE DenonTuner PROG\-SCAN +irsend SEND_ONCE OnkyoAmpli VOL\-UP VOL\-UP VOL\-UP VOL\-UP +irsend SEND_START OnkyoAmpli VOL\-DOWN ; sleep 3 +irsend SEND_STOP OnkyoAmpli VOL\-DOWN +irsend SET_TRANSMITTERS 1 +irsend SET_TRANSMITTERS 1 3 4 +irsend SIMULATE "0000000000000476 00 OK TECHNISAT_ST3004S" +.RE +.fi +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. + +.BR lircd "(8), " mode2 "(1), " smode2 "(1), " xmode2 "(1), " +.BR irrecord "(1), " irw "(1), " http://www.lirc.org . diff --git a/usr/local/share/man/man1/irw.1 b/usr/local/share/man/man1/irw.1 new file mode 100644 index 000000000..265b7a446 --- /dev/null +++ b/usr/local/share/man/man1/irw.1 @@ -0,0 +1,23 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH IRW "1" "October 2012" "irw 0.9.1" "User Commands" +.SH NAME +irw - sends data from Unix domain socket to stdout +.SH SYNOPSIS +.B irw +[\fIsocket\fR] +.SH DESCRIPTION + +irw will connect to any Unix domain socket and will print the data that it +receives to stdout. If you don't give it a socket name argument it will watch +\//var/run/lirc/lircd. Useful for debugging. +.TP +\fB\-h\fR \fB\-\-help\fR +display usage summary +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. diff --git a/usr/local/share/man/man1/irxevent.1 b/usr/local/share/man/man1/irxevent.1 new file mode 100644 index 000000000..e69de29bb diff --git a/usr/local/share/man/man1/lircrcd.1 b/usr/local/share/man/man1/lircrcd.1 new file mode 100644 index 000000000..b3e1dfe71 --- /dev/null +++ b/usr/local/share/man/man1/lircrcd.1 @@ -0,0 +1,50 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH LIRCRCD "1" "October 2012" "lircrcd 0.9.1" "User Commands" +.SH NAME +lircrcd - daemon to handle consistent .lircrc state among client applications +.SH SYNOPSIS +.B lircrcd +[\fIoptions\fR] \fIconfig-file\fR +.SH DESCRIPTION + +.B lircrcd +reads the given .lircrc config file and synchronises the mode +that the LIRC clients using this config file (\fBirexec\fR(1), +\fBirxevent\fR(1) , etc.) are in. Using +.B lircrcd +has to be explicitly +enabled in the config file by adding the following line at the +beginning of the file: +.br +#! lircrcd +.TP +\fB\-h\fR \fB\-\-help\fR +display this message +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.TP +\fB\-p\fR \fB\-\-permission\fR=\fImode\fR +file permissions for socket +.TP +\fB\-o\fR \fB\-\-output\fR=\fIsocket\fR +output socket filename +.SH OPTIONS +.TP +.BI \-p,\ \-\-premission= mode +The \-\-permission option gives the file permission of the Unix domain +socket lircrcd creates on startup in octal representation. Read the +documentation for chmod for further details. If no \-\-permission option +is given when the socket is created the default is to give only the +user owning the file read and write permissions (0600 in octal +representation). +.TP +.BI \-o,\ \-\-output= socket +With the \-\-output option you can select the Unix domain socket, which +lircrcd will create. The default is to append a "d" character to the +config filename given. +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. diff --git a/usr/local/share/man/man1/mode2.1 b/usr/local/share/man/man1/mode2.1 new file mode 100644 index 000000000..3c048a229 --- /dev/null +++ b/usr/local/share/man/man1/mode2.1 @@ -0,0 +1,41 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH MODE2 "1" "October 2012" "mode2 0.9.1" "User Commands" +.SH NAME +mode2, smode2, xmode2 - shows the pulse/space length of infrared signals +.SH SYNOPSIS +.B mode2 +[\fIoptions\fR] +.SH DESCRIPTION +The main purpose of these programs is to check operation of your +home-brew LIRC receiver hardware and to see the IR waveform of the +remote controller without an expensive oscilloscope. Very useful for +debugging. Of course this program won't work with hardware that decodes +the signals itself like e.g. TV cards or the Irman. + + +mode2 will simply print pulse&space lengths to stdout. +.TP +\fB\-h\fR \fB\-\-help\fR +display usage summary +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.TP +\fB\-d\fR \fB\-\-device\fR=\fIdevice\fR +read from given device +.TP +\fB\-H\fR \fB\-\-driver\fR=\fIdriver\fR +use given driver +.TP +\fB\-m\fR \fB\-\-mode\fR +enable alternative display mode +.TP +\fB\-r\fR \fB\-\-raw\fR +access device directly +.SH "SEE ALSO" +mode2(1), smode2(1), xmode2(1) + +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. diff --git a/usr/local/share/man/man1/smode2.1 b/usr/local/share/man/man1/smode2.1 new file mode 100644 index 000000000..e69de29bb diff --git a/usr/local/share/man/man1/xmode2.1 b/usr/local/share/man/man1/xmode2.1 new file mode 100644 index 000000000..e69de29bb diff --git a/usr/local/share/man/man8/lircd.8 b/usr/local/share/man/man8/lircd.8 new file mode 100644 index 000000000..6753a308d --- /dev/null +++ b/usr/local/share/man/man8/lircd.8 @@ -0,0 +1,151 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH LIRCD "8" "October 2012" "lircd 0.9.1" "System Administration Utilities" +.SH NAME +lircd - LIRC daemon decodes infrared signals and provides them on a Unix +domain socket. +.SH SYNOPSIS +.B lircd +[\fIoptions\fR] [\fIconfig-file\fR] +.SH DESCRIPTION +The main task of lircd is to decode the infrared signals and provide +an uniform interface for client applications. Clients can connect to +lircd through a Unix domain socket which is located in +\/var/run/lirc/lircd. Using this socket they will get the infrared +codes received by lircd and they can send commands to lircd. +.TP +\fB\-h\fR \fB\-\-help\fR +display this message +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.TP +\fB\-n\fR \fB\-\-nodaemon\fR +don't fork to background +.TP +\fB\-p\fR \fB\-\-permission\fR=\fImode\fR +file permissions for /var/run/lirc/lircd +.TP +\fB\-H\fR \fB\-\-driver\fR=\fIdriver\fR +use given driver +.TP +\fB\-d\fR \fB\-\-device\fR=\fIdevice\fR +read from given device +.TP +\fB\-l\fR \fB\-\-listen[\fR=\fI[address\fR:]port] +listen for network connections +.TP +\fB\-c\fR \fB\-\-connect\fR=\fIhost[\fR:port] +connect to remote lircd server +.TP +\fB\-o\fR \fB\-\-output\fR=\fIsocket\fR +output socket filename +.TP +\fB\-P\fR \fB\-\-pidfile\fR=\fIfile\fR +daemon pid file +.TP +\fB\-L\fR \fB\-\-logfile\fR=\fIfile\fR +daemon log file +.TP +\fB\-r\fR \fB\-\-release\fR[=\fIsuffix\fR] +auto\-generate release events +.TP +\fB\-a\fR \fB\-\-allow\-simulate\fR +accept SIMULATE command +.TP +\fB\-u\fR \fB\-\-uinput\fR +generate Linux input events +.TP +\fB\-R\fR \fB\-\-repeat\-max\fR=\fIlimit\fR +allow at most this many repeats +.SH OPTIONS +The \-\-permission option gives the file permission of +\/var/run/lirc/lircd if it has to be created in octal +representation. Read the documentation for chmod for further +details. If no \-\-permission option is given when the socket is +initially created the default is to give all users read and write +permissions (0666 in octal representation). If /var/run/lirc/lircd +already exists this option has no effect. + +With the \-\-device option you can select the character device which +lircd should read from. The default currently is /dev/lirc but it +probably will change in future. + +If you're using the dev/input driver, you can use \fIname=STRING\fR or +\fIphys=STRING\fR to select the device; lircd will look in /dev/input +to find a device with a matching description. This is useful in case +the device name isn't fixed. \fISTRING\fR may contain the '*' and '?' +wildcards and '\\' to mark them as literal. + +With the \-\-listen option you can let lircd listen for network +connections on the given address/port. The default address is 0.0.0.0, +which means that connections on all network interfaces will be accepted. +The default port is 8765. No security checks are currently implemented. +The listening lircd instance will send all IR events to the connecting +lircd instances. + +The \-\-connect option allows you to connect to other lircd servers that +provide a network socket at the given host and port number. The number +of such connections is currently limited to 100. +The connecting lircd instance will receive IR events from the lircd +instance it connects to. + +With the \-\-output option you can select Unix domain socket, which +lircd will write remote key codes to. The default currently is +\/var/run/lirc/lircd. + +With the \-\-pidfile option you can select the lircd daemon pid file. +The default currently is /var/run/lirc/lircd.pid. + +With the \-\-logfile option you can select the lircd daemon log file. +The default currently is /var/log/lircd. Note that this option will +only be available if you compiled lircd without syslog support. + +The \-\-release option enables automatic generation of release events +for each button press. lircd will append the given suffix to the button +name for each release event. If no suffix is given the default suffix +is '_UP'. + +The \-\-allow\-simulate option will enable the SIMULATE command which can +be issued using irsend(1). This will allow simulating arbitrary IR events +from the command line. Use this option with caution because it will give all +users with access to the lircd socket wide control over you system. +E.g. if you have configured your system to shut down by a button press +on your remote control, everybody will be able to shut down +your system from the command line. + +On Linux systems the \-\-uinput option will enable automatic generation +of Linux input events. lircd will open /dev/input/uinput and inject +key events to the Linux kernel. The key code depends on the name that +was given a button in the lircd config file, e.g. if the button is +named KEY_1, the '1' key code will be generated. You will find a +complete list of possible button names in /usr/include/linux/input.h. + +The --repeat-max option sets an upper limit to the number of repeats +when sending a signal. The current default is 600. A SEND_START +request will repeat the signal this many times. Also, if the number of +repeats in a SEND_ONCE request exceeds this number, it will be +replaced by this number. +.SH FILES + +The config file for lircd is located in /etc/lirc/lircd.conf. lircd +has its own log file in /var/log/lircd (beginning with LIRC version +0.6.1 you can configure lircd to use syslogd for log messages; then it +depends on your system configuration where log messages will show up). +You can make lircd reread its config file and reopen its log file by +sending the HUP signal to the program. That way you can rotate old log +files. +.SH DAEMONS +lircd and lircmd are daemons. You should start them in some init script +depending on your system. There are some example scripts for different +distributions in the contrib directory. lircmd has to be started after +lircd as it connects to the socket lircd provides. + +If you start lircd or lircmd from your shell prompt you will usually get +back immediately to the prompt. Often people think that the program has +died. But this is not an error. lircd and lircmd are daemons. Daemons +always run in background. +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. diff --git a/usr/local/share/man/man8/lircmd.8 b/usr/local/share/man/man8/lircmd.8 new file mode 100644 index 000000000..e7a57b761 --- /dev/null +++ b/usr/local/share/man/man8/lircmd.8 @@ -0,0 +1,52 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.10. +.TH LIRCMD "8" "October 2012" "lircmd 0.9.1" "System Administration Utilities" +.SH NAME +lircmd - LIRC mouse daemon translates infrared signals into mouse events +.SH SYNOPSIS +.B lircmd +[\fIoptions\fR] [\fIconfig-file\fR] +.SH DESCRIPTION +This daemon can simulate a MouseSystems, IntelliMouse or IMPS/2 type mouse. It +gets the received buttons from lircd and converts them to mouse events. To +make this possible, lircmd needs a config file located +in /etc/lircmd.conf. In this file you have to determine which +button from which remote causes a mouse move or a mouse button click. +You can also specify a special button which activates or deactivates the mouse +mode. +.TP +\fB\-h\fR \fB\-\-help\fR +display this message +.TP +\fB\-v\fR \fB\-\-version\fR +display version +.TP +\fB\-n\fR \fB\-\-nodaemon\fR +don't fork to background +.TP +\fB\-u\fR \fB\-\-uinput\fR +generate Linux input events +.SH OPTIONS +If you provide the \-\-nodaemon option lircmd won't fork to background. + +On Linux systems the \-\-uinput option will enable automatic generation +of Linux input events. lircmd will open /dev/input/uinput and inject +the simulated mouse events into the Linux kernel rather than creating +the /dev/lircm device. +.SH FILES +lircmd will use syslogd to output error messages. It depends on your +system configuration where they will show up. +.SH DAEMONS +lircd and lircmd are daemons. You should start them in some init script +depending on your system. There are some example scripts for different +distributions in the contrib directory. lircmd has to be started after +lircd as it connects to the socket lircd provides. + +If you start lircd or lircmd from your shell prompt you will usually get +back immediately to the prompt. Often people think that the program has +died. But this is not an error. lircd and lircmd are daemons. Daemons +always run in background. +.SH "SEE ALSO" +The documentation for +.B lirc +is maintained as html pages. They are located under html/ in the +documentation directory. diff --git a/usr/local/share/xbmc/FEH.py b/usr/local/share/xbmc/FEH.py new file mode 100644 index 000000000..cd2e09d84 --- /dev/null +++ b/usr/local/share/xbmc/FEH.py @@ -0,0 +1,176 @@ +import os +import sys +import re + +AvailableOutputs = [] +Output = None + +try: + from qt import * + AvailableOutputs.append("--error-output=Qt") +except: + pass +try: + import pygtk + pygtk.require('2.0') + import gtk + AvailableOutputs.append("--error-output=GTK") +except: + pass +try: + import pygame + import datetime + AvailableOutputs.append("--error-output=SDL") +except: + pass + +def error(errorLine): + if Output == "--error-output=Qt": + createQt(errorLine) + elif Output == "--error-output=GTK": + createGTK(errorLine) + elif Output == "--error-output=SDL": + createSDL(errorLine) + else: + try: + print(errorLine) + except: + print(errorLine) + + exit(1) + +def createQt(errorLine): + app = QApplication(sys.argv) + QObject.connect(app, SIGNAL('lastWindowClosed()') + , app + , SLOT('quit()') + ) + + dialog = QDialog(None, "Error", 0, 0) + dialog.setCaption(dialog.tr("Error")) + layout=QVBoxLayout(dialog) + layout.setSpacing(6) + layout.setMargin(5) + + label=QLabel(errorLine, dialog) + + layout.addWidget(label) + + bnExit=QPushButton("Quit", dialog, "add") + dialog.connect(bnExit, SIGNAL("clicked()"), qApp, SLOT("quit()")) + + layout.addWidget(bnExit) + + app.setMainWidget(dialog) + dialog.show() + app.exec_loop() + +def createGTK(errorLine): + window = gtk.Window(gtk.WINDOW_TOPLEVEL) + window.connect("destroy", lambda w: gtk.main_quit()) + + window.set_title("Error") + vbox = gtk.VBox(False, 5) + window.add(vbox) + window.set_border_width(5) + + frame = gtk.Frame() + frame.set_shadow_type(gtk.SHADOW_NONE) + label = gtk.Label(errorLine) + frame.add(label) + vbox.pack_start(frame, False, False, 0) + + button = gtk.Button("Quit") + button.connect_object("clicked", gtk.Widget.destroy, window) + + vbox.pack_start(button, False, False, 0) + + window.show_all () + + gtk.main() + +def createSDL(errorLine): + pygame.init() + pygame.font.init() + pygame.display.set_caption("Error") + + size = width, height = 800, 600 + speed = [2, 2] + black = 0, 0, 0 + + screen = pygame.display.set_mode(size) + font = pygame.font.Font(None, 32) + + autoQuit = 10 + start = datetime.datetime.now() + finish = datetime.datetime.now() + delta = finish - start + while delta.seconds < autoQuit: + for event in pygame.event.get(): + if event.type == pygame.QUIT or event.type == pygame.KEYDOWN: + sys.exit() + + screen.fill(black) + + place = [200, 200] + for line in errorLine.split('\n'): + text = font.render(line, 1, (255,255,255) ) + place[1] += font.size(line)[1] + screen.blit(text, text.get_rect().move(place)) + + + quitline = "Press any button to continue (" + quitline += str(autoQuit - delta.seconds) + quitline += ")" + text = font.render(quitline, 1, (255,255,255) ) + screen.blit(text, text.get_rect().move(200,400)) + + pygame.display.flip() + + finish = datetime.datetime.now() + delta = finish - start + +def badDirectRendering(): + out = os.popen("glxinfo | grep \"direct rendering\"", 'r') + line = out.read() + direct = "Yes" not in line + out.close() + + return direct + +def badColorDepth(): + out = os.popen('xdpyinfo | grep "depth of root"', 'r') + + p = re.compile("([0-9]*) planes") + for line in out.readlines(): + match = p.search(line) + if (match is not None): + if int(match.group(1)) > 16: + bitDepth = False + else: + bitDepth = True + out.close() + + return bitDepth + +def possibleOutput(text): + return text in sys.argv and text in AvailableOutputs + +if __name__=="__main__": + if len(AvailableOutputs) > 0: + Output = AvailableOutputs[0] + else: + Output = None + + for text in sys.argv: + if possibleOutput(text): + Output = text + + if "--no-test" in sys.argv: + exit(0) + + if (badDirectRendering()): + error("XBMC needs hardware accelerated OpenGL rendering.\nInstall an appropriate graphics driver.\n\nPlease consult XBMC Wiki for supported hardware\nhttp://wiki.xbmc.org/?title=Supported_hardware") + + if (badColorDepth()): + error("XBMC cannot run unless the\nscreen color depth is atleast 24 bit.\n\nPlease reconfigure your screen.") diff --git a/usr/local/share/xbmc/addons/library.xbmc.addon/dlfcn-win32.cpp b/usr/local/share/xbmc/addons/library.xbmc.addon/dlfcn-win32.cpp new file mode 100644 index 000000000..583992120 --- /dev/null +++ b/usr/local/share/xbmc/addons/library.xbmc.addon/dlfcn-win32.cpp @@ -0,0 +1,263 @@ +/* + * dlfcn-win32 + * Copyright (c) 2007 Ramiro Polla + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include + +#include "dlfcn-win32.h" + +/* Note: + * MSDN says these functions are not thread-safe. We make no efforts to have + * any kind of thread safety. + */ + +/* I have no special reason to have set MAX_GLOBAL_OBJECTS to this value. Any + * comments are welcome. + */ +#define MAX_OBJECTS 255 + +static HMODULE global_objects[MAX_OBJECTS]; + +/* This function adds an object to the list of global objects. + * The implementation is very simple and slow. + * TODO: should failing this function be enough to fail the call to dlopen( )? + */ +static void global_object_add( HMODULE hModule ) +{ + int i; + + for( i = 0 ; i < MAX_OBJECTS ; i++ ) + { + if( !global_objects[i] ) + { + global_objects[i] = hModule; + break; + } + } +} + +static void global_object_rem( HMODULE hModule ) +{ + int i; + + for( i = 0 ; i < MAX_OBJECTS ; i++ ) + { + if( global_objects[i] == hModule ) + { + global_objects[i] = 0; + break; + } + } +} + +/* Argument to last function. Used in dlerror( ) */ +static char last_name[MAX_PATH]; + +static int copy_string( char *dest, int dest_size, const char *src ) +{ + int i = 0; + + if( src && dest ) + { + for( i = 0 ; i < dest_size-1 ; i++ ) + { + if( !src[i] ) + break; + else + dest[i] = src[i]; + } + } + dest[i] = '\0'; + + return i; +} + +void *dlopen( const char *file, int mode ) +{ + HMODULE hModule; + UINT uMode; + + /* Do not let Windows display the critical-error-handler message box */ + uMode = SetErrorMode( SEM_FAILCRITICALERRORS ); + + if( file == 0 ) + { + /* Save NULL pointer for error message */ + _snprintf_s( last_name, MAX_PATH, MAX_PATH, "0x%p", file ); + + /* POSIX says that if the value of file is 0, a handle on a global + * symbol object must be provided. That object must be able to access + * all symbols from the original program file, and any objects loaded + * with the RTLD_GLOBAL flag. + * The return value from GetModuleHandle( ) allows us to retrieve + * symbols only from the original program file. For objects loaded with + * the RTLD_GLOBAL flag, we create our own list later on. + */ + hModule = GetModuleHandle( NULL ); + } + else + { + char lpFileName[MAX_PATH]; + int i; + + /* MSDN says backslashes *must* be used instead of forward slashes. */ + for( i = 0 ; i < sizeof(lpFileName)-1 ; i++ ) + { + if( !file[i] ) + break; + else if( file[i] == '/' ) + lpFileName[i] = '\\'; + else + lpFileName[i] = file[i]; + } + lpFileName[i] = '\0'; + + /* Save file name for error message */ + copy_string( last_name, sizeof(last_name), lpFileName ); + + /* POSIX says the search path is implementation-defined. + * LOAD_WITH_ALTERED_SEARCH_PATH is used to make it behave more closely + * to UNIX's search paths (start with system folders instead of current + * folder). + */ + hModule = LoadLibraryEx( (LPSTR) lpFileName, NULL, + LOAD_WITH_ALTERED_SEARCH_PATH ); + /* If the object was loaded with RTLD_GLOBAL, add it to list of global + * objects, so that its symbols may be retrieved even if the handle for + * the original program file is passed. POSIX says that if the same + * file is specified in multiple invocations, and any of them are + * RTLD_GLOBAL, even if any further invocations use RTLD_LOCAL, the + * symbols will remain global. + */ + + if( hModule && (mode & RTLD_GLOBAL) ) + global_object_add( hModule ); + } + + /* Return to previous state of the error-mode bit flags. */ + SetErrorMode( uMode ); + + return (void *) hModule; +} + +int dlclose( void *handle ) +{ + HMODULE hModule = (HMODULE) handle; + BOOL ret; + + /* Save handle for error message */ + _snprintf_s( last_name, MAX_PATH, MAX_PATH, "0x%p", handle ); + + ret = FreeLibrary( hModule ); + + /* If the object was loaded with RTLD_GLOBAL, remove it from list of global + * objects. + */ + if( ret ) + global_object_rem( hModule ); + + /* dlclose's return value in inverted in relation to FreeLibrary's. */ + ret = !ret; + + return (int) ret; +} + +void *dlsym( void *handle, const char *name ) +{ + FARPROC symbol; + HMODULE myhandle = (HMODULE) handle; + + /* Save symbol name for error message */ + copy_string( last_name, sizeof(last_name), name ); + + symbol = GetProcAddress( myhandle, name ); +#if 0 + if( symbol == NULL ) + { + HMODULE hModule; + + /* If the handle for the original program file is passed, also search + * in all globally loaded objects. + */ + + hModule = GetModuleHandle( NULL ); + + if( hModule == handle ) + { + int i; + + for( i = 0 ; i < MAX_OBJECTS ; i++ ) + { + if( global_objects[i] != 0 ) + { + symbol = GetProcAddress( global_objects[i], name ); + if( symbol != NULL ) + break; + } + } + } + + + CloseHandle( hModule ); + } +#endif + return (void*) symbol; +} + +char *dlerror( void ) +{ + DWORD dwMessageId; + /* POSIX says this function doesn't have to be thread-safe, so we use one + * static buffer. + * MSDN says the buffer cannot be larger than 64K bytes, so we set it to + * the limit. + */ + static char lpBuffer[65535]; + DWORD ret; + + dwMessageId = GetLastError( ); + + if( dwMessageId == 0 ) + return NULL; + + /* Format error message to: + * "": + */ + ret = copy_string( lpBuffer, sizeof(lpBuffer), "\"" ); + ret += copy_string( lpBuffer+ret, sizeof(lpBuffer)-ret, last_name ); + ret += copy_string( lpBuffer+ret, sizeof(lpBuffer)-ret, "\": " ); + ret += FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwMessageId, + MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT ), + lpBuffer+ret, sizeof(lpBuffer)-ret, NULL ); + + if( ret > 1 ) + { + /* POSIX says the string must not have trailing */ + if( lpBuffer[ret-2] == '\r' && lpBuffer[ret-1] == '\n' ) + lpBuffer[ret-2] = '\0'; + } + + /* POSIX says that invoking dlerror( ) a second time, immediately following + * a prior invocation, shall result in NULL being returned. + */ + SetLastError(0); + + return lpBuffer; +} + diff --git a/usr/local/share/xbmc/addons/library.xbmc.addon/dlfcn-win32.h b/usr/local/share/xbmc/addons/library.xbmc.addon/dlfcn-win32.h new file mode 100644 index 000000000..b93a029f2 --- /dev/null +++ b/usr/local/share/xbmc/addons/library.xbmc.addon/dlfcn-win32.h @@ -0,0 +1,46 @@ +#pragma once +/* + * dlfcn-win32 + * Copyright (c) 2007 Ramiro Polla + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef DLFCN_H +#define DLFCN_H + +/* POSIX says these are implementation-defined. + * To simplify use with Windows API, we treat them the same way. + */ + +#define RTLD_LAZY 0 +#define RTLD_NOW 0 + +#define RTLD_GLOBAL (1 << 1) +#define RTLD_LOCAL (1 << 2) + +/* These two were added in The Open Group Base Specifications Issue 6. + * Note: All other RTLD_* flags in any dlfcn.h are not standard compliant. + */ + +#define RTLD_DEFAULT 0 +#define RTLD_NEXT 0 + +void *dlopen ( const char *file, int mode ); +int dlclose( void *handle ); +void *dlsym ( void *handle, const char *name ); +char *dlerror( void ); + +#endif /* DLFCN-WIN32_H */ diff --git a/usr/local/share/xbmc/addons/library.xbmc.addon/libXBMC_addon.h b/usr/local/share/xbmc/addons/library.xbmc.addon/libXBMC_addon.h new file mode 100644 index 000000000..f805263c8 --- /dev/null +++ b/usr/local/share/xbmc/addons/library.xbmc.addon/libXBMC_addon.h @@ -0,0 +1,577 @@ +#pragma once +/* + * Copyright (C) 2005-2010 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +#include +#include +#include +#include +#include +#include +#include + +#ifdef _WIN32 // windows +#include "dlfcn-win32.h" +#define ADDON_DLL "\\library.xbmc.addon\\libXBMC_addon" ADDON_HELPER_EXT +#define ADDON_HELPER_EXT ".dll" +#else +#if defined(__APPLE__) // osx +#if defined(__POWERPC__) +#define ADDON_HELPER_ARCH "powerpc-osx" +#elif defined(__arm__) +#define ADDON_HELPER_ARCH "arm-osx" +#elif defined(__x86_64__) +#define ADDON_HELPER_ARCH "x86-osx" +#else +#define ADDON_HELPER_ARCH "x86-osx" +#endif +#else // linux +#if defined(__x86_64__) +#define ADDON_HELPER_ARCH "x86_64-linux" +#elif defined(_POWERPC) +#define ADDON_HELPER_ARCH "powerpc-linux" +#elif defined(_POWERPC64) +#define ADDON_HELPER_ARCH "powerpc64-linux" +#elif defined(__ARMEL__) +#define ADDON_HELPER_ARCH "arm" +#elif defined(_MIPSEL) +#define ADDON_HELPER_ARCH "mipsel-linux" +#else +#define ADDON_HELPER_ARCH "i486-linux" +#endif +#endif +#include // linux+osx +#define ADDON_HELPER_EXT ".so" +#define ADDON_DLL_NAME "libXBMC_addon-" ADDON_HELPER_ARCH ADDON_HELPER_EXT +#define ADDON_DLL "/library.xbmc.addon/" ADDON_DLL_NAME +#endif +#if defined(ANDROID) +#include +#endif + +#ifdef LOG_DEBUG +#undef LOG_DEBUG +#endif +#ifdef LOG_INFO +#undef LOG_INFO +#endif +#ifdef LOG_NOTICE +#undef LOG_NOTICE +#endif +#ifdef LOG_ERROR +#undef LOG_ERROR +#endif + +namespace ADDON +{ + typedef enum addon_log + { + LOG_DEBUG, + LOG_INFO, + LOG_NOTICE, + LOG_ERROR + } addon_log_t; + + typedef enum queue_msg + { + QUEUE_INFO, + QUEUE_WARNING, + QUEUE_ERROR + } queue_msg_t; + + class CHelper_libXBMC_addon + { + public: + CHelper_libXBMC_addon() + { + m_libXBMC_addon = NULL; + m_Handle = NULL; + } + + ~CHelper_libXBMC_addon() + { + if (m_libXBMC_addon) + { + XBMC_unregister_me(m_Handle, m_Callbacks); + dlclose(m_libXBMC_addon); + } + } + + bool RegisterMe(void *Handle) + { + m_Handle = Handle; + + std::string libBasePath; + libBasePath = ((cb_array*)m_Handle)->libPath; + libBasePath += ADDON_DLL; + +#if defined(ANDROID) + struct stat st; + if(stat(libBasePath.c_str(),&st) != 0) + { + std::string tempbin = getenv("XBMC_ANDROID_LIBS"); + libBasePath = tempbin + "/" + ADDON_DLL_NAME; + } +#endif + + m_libXBMC_addon = dlopen(libBasePath.c_str(), RTLD_LAZY); + if (m_libXBMC_addon == NULL) + { + fprintf(stderr, "Unable to load %s\n", dlerror()); + return false; + } + + XBMC_register_me = (void* (*)(void *HANDLE)) + dlsym(m_libXBMC_addon, "XBMC_register_me"); + if (XBMC_register_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_unregister_me = (void (*)(void* HANDLE, void* CB)) + dlsym(m_libXBMC_addon, "XBMC_unregister_me"); + if (XBMC_unregister_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_log = (void (*)(void* HANDLE, void* CB, const addon_log_t loglevel, const char *msg)) + dlsym(m_libXBMC_addon, "XBMC_log"); + if (XBMC_log == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_get_setting = (bool (*)(void* HANDLE, void* CB, const char* settingName, void *settingValue)) + dlsym(m_libXBMC_addon, "XBMC_get_setting"); + if (XBMC_get_setting == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_queue_notification = (void (*)(void* HANDLE, void* CB, const queue_msg_t loglevel, const char *msg)) + dlsym(m_libXBMC_addon, "XBMC_queue_notification"); + if (XBMC_queue_notification == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_unknown_to_utf8 = (char* (*)(void* HANDLE, void* CB, const char* str)) + dlsym(m_libXBMC_addon, "XBMC_unknown_to_utf8"); + if (XBMC_unknown_to_utf8 == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_get_localized_string = (char* (*)(void* HANDLE, void* CB, int dwCode)) + dlsym(m_libXBMC_addon, "XBMC_get_localized_string"); + if (XBMC_get_localized_string == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_free_string = (void (*)(void* HANDLE, void* CB, char* str)) + dlsym(m_libXBMC_addon, "XBMC_free_string"); + if (XBMC_free_string == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_get_dvd_menu_language = (char* (*)(void* HANDLE, void* CB)) + dlsym(m_libXBMC_addon, "XBMC_get_dvd_menu_language"); + if (XBMC_get_dvd_menu_language == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_open_file = (void* (*)(void* HANDLE, void* CB, const char* strFileName, unsigned int flags)) + dlsym(m_libXBMC_addon, "XBMC_open_file"); + if (XBMC_open_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_open_file_for_write = (void* (*)(void* HANDLE, void* CB, const char* strFileName, bool bOverWrite)) + dlsym(m_libXBMC_addon, "XBMC_open_file_for_write"); + if (XBMC_open_file_for_write == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_read_file = (unsigned int (*)(void* HANDLE, void* CB, void* file, void* lpBuf, int64_t uiBufSize)) + dlsym(m_libXBMC_addon, "XBMC_read_file"); + if (XBMC_read_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_read_file_string = (bool (*)(void* HANDLE, void* CB, void* file, char *szLine, int iLineLength)) + dlsym(m_libXBMC_addon, "XBMC_read_file_string"); + if (XBMC_read_file_string == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_write_file = (int (*)(void* HANDLE, void* CB, void* file, const void* lpBuf, int64_t uiBufSize)) + dlsym(m_libXBMC_addon, "XBMC_write_file"); + if (XBMC_write_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_flush_file = (void (*)(void* HANDLE, void* CB, void* file)) + dlsym(m_libXBMC_addon, "XBMC_flush_file"); + if (XBMC_flush_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_seek_file = (int64_t (*)(void* HANDLE, void* CB, void* file, int64_t iFilePosition, int iWhence)) + dlsym(m_libXBMC_addon, "XBMC_seek_file"); + if (XBMC_seek_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_truncate_file = (int (*)(void* HANDLE, void* CB, void* file, int64_t iSize)) + dlsym(m_libXBMC_addon, "XBMC_truncate_file"); + if (XBMC_truncate_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_get_file_position = (int64_t (*)(void* HANDLE, void* CB, void* file)) + dlsym(m_libXBMC_addon, "XBMC_get_file_position"); + if (XBMC_get_file_position == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_get_file_length = (int64_t (*)(void* HANDLE, void* CB, void* file)) + dlsym(m_libXBMC_addon, "XBMC_get_file_length"); + if (XBMC_get_file_length == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_close_file = (void (*)(void* HANDLE, void* CB, void* file)) + dlsym(m_libXBMC_addon, "XBMC_close_file"); + if (XBMC_close_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_get_file_chunk_size = (int (*)(void* HANDLE, void* CB, void* file)) + dlsym(m_libXBMC_addon, "XBMC_get_file_chunk_size"); + if (XBMC_get_file_chunk_size == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_file_exists = (bool (*)(void* HANDLE, void* CB, const char *strFileName, bool bUseCache)) + dlsym(m_libXBMC_addon, "XBMC_file_exists"); + if (XBMC_file_exists == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_stat_file = (int (*)(void* HANDLE, void* CB, const char *strFileName, struct __stat64* buffer)) + dlsym(m_libXBMC_addon, "XBMC_stat_file"); + if (XBMC_stat_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_delete_file = (bool (*)(void* HANDLE, void* CB, const char *strFileName)) + dlsym(m_libXBMC_addon, "XBMC_delete_file"); + if (XBMC_delete_file == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_can_open_directory = (bool (*)(void* HANDLE, void* CB, const char* strURL)) + dlsym(m_libXBMC_addon, "XBMC_can_open_directory"); + if (XBMC_can_open_directory == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_create_directory = (bool (*)(void* HANDLE, void* CB, const char* strPath)) + dlsym(m_libXBMC_addon, "XBMC_create_directory"); + if (XBMC_create_directory == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_directory_exists = (bool (*)(void* HANDLE, void* CB, const char* strPath)) + dlsym(m_libXBMC_addon, "XBMC_directory_exists"); + if (XBMC_directory_exists == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + XBMC_remove_directory = (bool (*)(void* HANDLE, void* CB, const char* strPath)) + dlsym(m_libXBMC_addon, "XBMC_remove_directory"); + if (XBMC_remove_directory == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + m_Callbacks = XBMC_register_me(m_Handle); + return m_Callbacks != NULL; + } + + /*! + * @brief Add a message to XBMC's log. + * @param loglevel The log level of the message. + * @param format The format of the message to pass to XBMC. + */ + void Log(const addon_log_t loglevel, const char *format, ... ) + { + char buffer[16384]; + va_list args; + va_start (args, format); + vsprintf (buffer, format, args); + va_end (args); + return XBMC_log(m_Handle, m_Callbacks, loglevel, buffer); + } + + /*! + * @brief Get a settings value for this add-on. + * @param settingName The name of the setting to get. + * @param settingValue The value. + * @return True if the settings was fetched successfully, false otherwise. + */ + bool GetSetting(const char* settingName, void *settingValue) + { + return XBMC_get_setting(m_Handle, m_Callbacks, settingName, settingValue); + } + + /*! + * @brief Queue a notification in the GUI. + * @param type The message type. + * @param format The format of the message to pass to display in XBMC. + */ + void QueueNotification(const queue_msg_t type, const char *format, ... ) + { + char buffer[16384]; + va_list args; + va_start (args, format); + vsprintf (buffer, format, args); + va_end (args); + return XBMC_queue_notification(m_Handle, m_Callbacks, type, buffer); + } + + /*! + * @brief Translate a string with an unknown encoding to UTF8. + * @param str The string to translate. + * @return The string translated to UTF8. Must be freed by calling FreeString() when done. + */ + char* UnknownToUTF8(const char* str) + { + return XBMC_unknown_to_utf8(m_Handle, m_Callbacks, str); + } + + /*! + * @brief Get a localised message. + * @param dwCode The code of the message to get. + * @return The message. Must be freed by calling FreeString() when done. + */ + char* GetLocalizedString(int dwCode) + { + return XBMC_get_localized_string(m_Handle, m_Callbacks, dwCode); + } + + + /*! + * @brief Get the DVD menu language. + * @return The language. Must be freed by calling FreeString() when done. + */ + char* GetDVDMenuLanguage() + { + return XBMC_get_dvd_menu_language(m_Handle, m_Callbacks); + } + + /*! + * @brief Free the memory used by str + * @param str The string to free + */ + void FreeString(char* str) + { + return XBMC_free_string(m_Handle, m_Callbacks, str); + } + + /*! + * @brief Open the file with filename via XBMC's CFile. Needs to be closed by calling CloseFile() when done. + * @param strFileName The filename to open. + * @param flags The flags to pass. Documented in XBMC's File.h + * @return A handle for the file, or NULL if it couldn't be opened. + */ + void* OpenFile(const char* strFileName, unsigned int flags) + { + return XBMC_open_file(m_Handle, m_Callbacks, strFileName, flags); + } + + /*! + * @brief Open the file with filename via XBMC's CFile in write mode. Needs to be closed by calling CloseFile() when done. + * @param strFileName The filename to open. + * @param bOverWrite True to overwrite, false otherwise. + * @return A handle for the file, or NULL if it couldn't be opened. + */ + void* OpenFileForWrite(const char* strFileName, bool bOverWrite) + { + return XBMC_open_file_for_write(m_Handle, m_Callbacks, strFileName, bOverWrite); + } + + /*! + * @brief Read from an open file. + * @param file The file handle to read from. + * @param lpBuf The buffer to store the data in. + * @param uiBufSize The size of the buffer. + * @return Number of bytes read. + */ + unsigned int ReadFile(void* file, void* lpBuf, int64_t uiBufSize) + { + return XBMC_read_file(m_Handle, m_Callbacks, file, lpBuf, uiBufSize); + } + + /*! + * @brief Read a string from an open file. + * @param file The file handle to read from. + * @param szLine The buffer to store the data in. + * @param iLineLength The size of the buffer. + * @return True when a line was read, false otherwise. + */ + bool ReadFileString(void* file, char *szLine, int iLineLength) + { + return XBMC_read_file_string(m_Handle, m_Callbacks, file, szLine, iLineLength); + } + + /*! + * @brief Write to a file opened in write mode. + * @param file The file handle to write to. + * @param lpBuf The data to write. + * @param uiBufSize Size of the data to write. + * @return The number of bytes read. + */ + int WriteFile(void* file, const void* lpBuf, int64_t uiBufSize) + { + return XBMC_write_file(m_Handle, m_Callbacks, file, lpBuf, uiBufSize); + } + + /*! + * @brief Flush buffered data. + * @param file The file handle to flush the data for. + */ + void FlushFile(void* file) + { + return XBMC_flush_file(m_Handle, m_Callbacks, file); + } + + /*! + * @brief Seek in an open file. + * @param file The file handle to see in. + * @param iFilePosition The new position. + * @param iWhence Seek argument. See stdio.h for possible values. + * @return The new position. + */ + int64_t SeekFile(void* file, int64_t iFilePosition, int iWhence) + { + return XBMC_seek_file(m_Handle, m_Callbacks, file, iFilePosition, iWhence); + } + + /*! + * @brief Truncate a file to the requested size. + * @param file The file handle to truncate. + * @param iSize The new max size. + * @return New size? + */ + int TruncateFile(void* file, int64_t iSize) + { + return XBMC_truncate_file(m_Handle, m_Callbacks, file, iSize); + } + + /*! + * @brief The current position in an open file. + * @param file The file handle to get the position for. + * @return The requested position. + */ + int64_t GetFilePosition(void* file) + { + return XBMC_get_file_position(m_Handle, m_Callbacks, file); + } + + /*! + * @brief Get the file size of an open file. + * @param file The file to get the size for. + * @return The requested size. + */ + int64_t GetFileLength(void* file) + { + return XBMC_get_file_length(m_Handle, m_Callbacks, file); + } + + /*! + * @brief Close an open file. + * @param file The file handle to close. + */ + void CloseFile(void* file) + { + return XBMC_close_file(m_Handle, m_Callbacks, file); + } + + /*! + * @brief Get the chunk size for an open file. + * @param file the file handle to get the size for. + * @return The requested size. + */ + int GetFileChunkSize(void* file) + { + return XBMC_get_file_chunk_size(m_Handle, m_Callbacks, file); + } + + /*! + * @brief Check if a file exists. + * @param strFileName The filename to check. + * @param bUseCache Check in file cache. + * @return true if the file exists false otherwise. + */ + bool FileExists(const char *strFileName, bool bUseCache) + { + return XBMC_file_exists(m_Handle, m_Callbacks, strFileName, bUseCache); + } + + /*! + * @brief Reads file status. + * @param strFileName The filename to read the status from. + * @param buffer The file status is written into this buffer. + * @return The file status was successfully read. + */ + int StatFile(const char *strFileName, struct __stat64* buffer) + { + return XBMC_stat_file(m_Handle, m_Callbacks, strFileName, buffer); + } + + /*! + * @brief Deletes a file. + * @param strFileName The filename to delete. + * @return The file was successfully deleted. + */ + bool DeleteFile(const char *strFileName) + { + return XBMC_delete_file(m_Handle, m_Callbacks, strFileName); + } + + /*! + * @brief Checks whether a directory can be opened. + * @param strUrl The URL of the directory to check. + * @return True when it can be opened, false otherwise. + */ + bool CanOpenDirectory(const char* strUrl) + { + return XBMC_can_open_directory(m_Handle, m_Callbacks, strUrl); + } + + /*! + * @brief Creates a directory. + * @param strPath Path to the directory. + * @return True when it was created, false otherwise. + */ + bool CreateDirectory(const char *strPath) + { + return XBMC_create_directory(m_Handle, m_Callbacks, strPath); + } + + /*! + * @brief Checks if a directory exists. + * @param strPath Path to the directory. + * @return True when it exists, false otherwise. + */ + bool DirectoryExists(const char *strPath) + { + return XBMC_directory_exists(m_Handle, m_Callbacks, strPath); + } + + /*! + * @brief Removes a directory. + * @param strPath Path to the directory. + * @return True when it was removed, false otherwise. + */ + bool RemoveDirectory(const char *strPath) + { + return XBMC_remove_directory(m_Handle, m_Callbacks, strPath); + } + + protected: + void* (*XBMC_register_me)(void *HANDLE); + void (*XBMC_unregister_me)(void *HANDLE, void* CB); + void (*XBMC_log)(void *HANDLE, void* CB, const addon_log_t loglevel, const char *msg); + bool (*XBMC_get_setting)(void *HANDLE, void* CB, const char* settingName, void *settingValue); + void (*XBMC_queue_notification)(void *HANDLE, void* CB, const queue_msg_t type, const char *msg); + char* (*XBMC_unknown_to_utf8)(void *HANDLE, void* CB, const char* str); + char* (*XBMC_get_localized_string)(void *HANDLE, void* CB, int dwCode); + char* (*XBMC_get_dvd_menu_language)(void *HANDLE, void* CB); + void (*XBMC_free_string)(void *HANDLE, void* CB, char* str); + void* (*XBMC_open_file)(void *HANDLE, void* CB, const char* strFileName, unsigned int flags); + void* (*XBMC_open_file_for_write)(void *HANDLE, void* CB, const char* strFileName, bool bOverWrite); + unsigned int (*XBMC_read_file)(void *HANDLE, void* CB, void* file, void* lpBuf, int64_t uiBufSize); + bool (*XBMC_read_file_string)(void *HANDLE, void* CB, void* file, char *szLine, int iLineLength); + int (*XBMC_write_file)(void *HANDLE, void* CB, void* file, const void* lpBuf, int64_t uiBufSize); + void (*XBMC_flush_file)(void *HANDLE, void* CB, void* file); + int64_t (*XBMC_seek_file)(void *HANDLE, void* CB, void* file, int64_t iFilePosition, int iWhence); + int (*XBMC_truncate_file)(void *HANDLE, void* CB, void* file, int64_t iSize); + int64_t (*XBMC_get_file_position)(void *HANDLE, void* CB, void* file); + int64_t (*XBMC_get_file_length)(void *HANDLE, void* CB, void* file); + void (*XBMC_close_file)(void *HANDLE, void* CB, void* file); + int (*XBMC_get_file_chunk_size)(void *HANDLE, void* CB, void* file); + bool (*XBMC_file_exists)(void *HANDLE, void* CB, const char *strFileName, bool bUseCache); + int (*XBMC_stat_file)(void *HANDLE, void* CB, const char *strFileName, struct __stat64* buffer); + bool (*XBMC_delete_file)(void *HANDLE, void* CB, const char *strFileName); + bool (*XBMC_can_open_directory)(void *HANDLE, void* CB, const char* strURL); + bool (*XBMC_create_directory)(void *HANDLE, void* CB, const char* strPath); + bool (*XBMC_directory_exists)(void *HANDLE, void* CB, const char* strPath); + bool (*XBMC_remove_directory)(void *HANDLE, void* CB, const char* strPath); + + private: + void *m_libXBMC_addon; + void *m_Handle; + void *m_Callbacks; + struct cb_array + { + const char* libPath; + }; + }; +}; diff --git a/usr/local/share/xbmc/addons/library.xbmc.gui/libXBMC_gui.h b/usr/local/share/xbmc/addons/library.xbmc.gui/libXBMC_gui.h new file mode 100644 index 000000000..95d839bf3 --- /dev/null +++ b/usr/local/share/xbmc/addons/library.xbmc.gui/libXBMC_gui.h @@ -0,0 +1,404 @@ +#pragma once +/* + * Copyright (C) 2005-2010 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +#include +#include +#include +#include +#include +#include "../library.xbmc.addon/libXBMC_addon.h" + +typedef void* GUIHANDLE; + +#ifdef _WIN32 +#define GUI_HELPER_DLL "\\library.xbmc.gui\\libXBMC_gui" ADDON_HELPER_EXT +#else +#define GUI_HELPER_DLL_NAME "libXBMC_gui-" ADDON_HELPER_ARCH ADDON_HELPER_EXT +#define GUI_HELPER_DLL "/library.xbmc.gui/" GUI_HELPER_DLL_NAME +#endif + +#define ADDON_ACTION_PREVIOUS_MENU 10 +#define ADDON_ACTION_CLOSE_DIALOG 51 + +class CAddonGUIWindow; +class CAddonGUISpinControl; +class CAddonGUIRadioButton; +class CAddonGUIProgressControl; +class CAddonListItem; + +class CHelper_libXBMC_gui +{ +public: + CHelper_libXBMC_gui() + { + m_libXBMC_gui = NULL; + m_Handle = NULL; + } + + ~CHelper_libXBMC_gui() + { + if (m_libXBMC_gui) + { + GUI_unregister_me(m_Handle, m_Callbacks); + dlclose(m_libXBMC_gui); + } + } + + bool RegisterMe(void *Handle) + { + m_Handle = Handle; + + std::string libBasePath; + libBasePath = ((cb_array*)m_Handle)->libPath; + libBasePath += GUI_HELPER_DLL; + +#if defined(ANDROID) + struct stat st; + if(stat(libBasePath.c_str(),&st) != 0) + { + std::string tempbin = getenv("XBMC_ANDROID_LIBS"); + libBasePath = tempbin + "/" + GUI_HELPER_DLL_NAME; + } +#endif + + m_libXBMC_gui = dlopen(libBasePath.c_str(), RTLD_LAZY); + if (m_libXBMC_gui == NULL) + { + fprintf(stderr, "Unable to load %s\n", dlerror()); + return false; + } + + GUI_register_me = (void* (*)(void *HANDLE)) + dlsym(m_libXBMC_gui, "GUI_register_me"); + if (GUI_register_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_unregister_me = (void (*)(void *HANDLE, void *CB)) + dlsym(m_libXBMC_gui, "GUI_unregister_me"); + if (GUI_unregister_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_lock = (void (*)(void *HANDLE, void *CB)) + dlsym(m_libXBMC_gui, "GUI_lock"); + if (GUI_lock == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_unlock = (void (*)(void *HANDLE, void *CB)) + dlsym(m_libXBMC_gui, "GUI_unlock"); + if (GUI_unlock == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_get_screen_height = (int (*)(void *HANDLE, void *CB)) + dlsym(m_libXBMC_gui, "GUI_get_screen_height"); + if (GUI_get_screen_height == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_get_screen_width = (int (*)(void *HANDLE, void *CB)) + dlsym(m_libXBMC_gui, "GUI_get_screen_width"); + if (GUI_get_screen_width == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_get_video_resolution = (int (*)(void *HANDLE, void *CB)) + dlsym(m_libXBMC_gui, "GUI_get_video_resolution"); + if (GUI_get_video_resolution == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_Window_create = (CAddonGUIWindow* (*)(void *HANDLE, void *CB, const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog)) + dlsym(m_libXBMC_gui, "GUI_Window_create"); + if (GUI_Window_create == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_Window_destroy = (void (*)(CAddonGUIWindow* p)) + dlsym(m_libXBMC_gui, "GUI_Window_destroy"); + if (GUI_Window_destroy == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_control_get_spin = (CAddonGUISpinControl* (*)(void *HANDLE, void *CB, CAddonGUIWindow *window, int controlId)) + dlsym(m_libXBMC_gui, "GUI_control_get_spin"); + if (GUI_control_get_spin == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_control_release_spin = (void (*)(CAddonGUISpinControl* p)) + dlsym(m_libXBMC_gui, "GUI_control_release_spin"); + if (GUI_control_release_spin == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_control_get_radiobutton = (CAddonGUIRadioButton* (*)(void *HANDLE, void *CB, CAddonGUIWindow *window, int controlId)) + dlsym(m_libXBMC_gui, "GUI_control_get_radiobutton"); + if (GUI_control_get_radiobutton == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_control_release_radiobutton = (void (*)(CAddonGUIRadioButton* p)) + dlsym(m_libXBMC_gui, "GUI_control_release_radiobutton"); + if (GUI_control_release_radiobutton == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_control_get_progress = (CAddonGUIProgressControl* (*)(void *HANDLE, void *CB, CAddonGUIWindow *window, int controlId)) + dlsym(m_libXBMC_gui, "GUI_control_get_progress"); + if (GUI_control_get_progress == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_control_release_progress = (void (*)(CAddonGUIProgressControl* p)) + dlsym(m_libXBMC_gui, "GUI_control_release_progress"); + if (GUI_control_release_progress == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_ListItem_create = (CAddonListItem* (*)(void *HANDLE, void *CB, const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path)) + dlsym(m_libXBMC_gui, "GUI_ListItem_create"); + if (GUI_ListItem_create == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + GUI_ListItem_destroy = (void (*)(CAddonListItem* p)) + dlsym(m_libXBMC_gui, "GUI_ListItem_destroy"); + if (GUI_ListItem_destroy == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + + m_Callbacks = GUI_register_me(m_Handle); + return m_Callbacks != NULL; + } + + void Lock() + { + return GUI_lock(m_Handle, m_Callbacks); + } + + void Unlock() + { + return GUI_unlock(m_Handle, m_Callbacks); + } + + int GetScreenHeight() + { + return GUI_get_screen_height(m_Handle, m_Callbacks); + } + + int GetScreenWidth() + { + return GUI_get_screen_width(m_Handle, m_Callbacks); + } + + int GetVideoResolution() + { + return GUI_get_video_resolution(m_Handle, m_Callbacks); + } + + CAddonGUIWindow* Window_create(const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog) + { + return GUI_Window_create(m_Handle, m_Callbacks, xmlFilename, defaultSkin, forceFallback, asDialog); + } + + void Window_destroy(CAddonGUIWindow* p) + { + return GUI_Window_destroy(p); + } + + CAddonGUISpinControl* Control_getSpin(CAddonGUIWindow *window, int controlId) + { + return GUI_control_get_spin(m_Handle, m_Callbacks, window, controlId); + } + + void Control_releaseSpin(CAddonGUISpinControl* p) + { + return GUI_control_release_spin(p); + } + + CAddonGUIRadioButton* Control_getRadioButton(CAddonGUIWindow *window, int controlId) + { + return GUI_control_get_radiobutton(m_Handle, m_Callbacks, window, controlId); + } + + void Control_releaseRadioButton(CAddonGUIRadioButton* p) + { + return GUI_control_release_radiobutton(p); + } + + CAddonGUIProgressControl* Control_getProgress(CAddonGUIWindow *window, int controlId) + { + return GUI_control_get_progress(m_Handle, m_Callbacks, window, controlId); + } + + void Control_releaseProgress(CAddonGUIProgressControl* p) + { + return GUI_control_release_progress(p); + } + + CAddonListItem* ListItem_create(const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path) + { + return GUI_ListItem_create(m_Handle, m_Callbacks, label, label2, iconImage, thumbnailImage, path); + } + + void ListItem_destroy(CAddonListItem* p) + { + return GUI_ListItem_destroy(p); + } + +protected: + void* (*GUI_register_me)(void *HANDLE); + void (*GUI_unregister_me)(void *HANDLE, void* CB); + void (*GUI_lock)(void *HANDLE, void* CB); + void (*GUI_unlock)(void *HANDLE, void* CB); + int (*GUI_get_screen_height)(void *HANDLE, void* CB); + int (*GUI_get_screen_width)(void *HANDLE, void* CB); + int (*GUI_get_video_resolution)(void *HANDLE, void* CB); + CAddonGUIWindow* (*GUI_Window_create)(void *HANDLE, void* CB, const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog); + void (*GUI_Window_destroy)(CAddonGUIWindow* p); + CAddonGUISpinControl* (*GUI_control_get_spin)(void *HANDLE, void* CB, CAddonGUIWindow *window, int controlId); + void (*GUI_control_release_spin)(CAddonGUISpinControl* p); + CAddonGUIRadioButton* (*GUI_control_get_radiobutton)(void *HANDLE, void* CB, CAddonGUIWindow *window, int controlId); + void (*GUI_control_release_radiobutton)(CAddonGUIRadioButton* p); + CAddonGUIProgressControl* (*GUI_control_get_progress)(void *HANDLE, void* CB, CAddonGUIWindow *window, int controlId); + void (*GUI_control_release_progress)(CAddonGUIProgressControl* p); + CAddonListItem* (*GUI_ListItem_create)(void *HANDLE, void* CB, const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path); + void (*GUI_ListItem_destroy)(CAddonListItem* p); + +private: + void *m_libXBMC_gui; + void *m_Handle; + void *m_Callbacks; + struct cb_array + { + const char* libPath; + }; +}; + +class CAddonGUISpinControl +{ +public: + CAddonGUISpinControl(void *hdl, void *cb, CAddonGUIWindow *window, int controlId); + virtual ~CAddonGUISpinControl(void) {} + + virtual void SetVisible(bool yesNo); + virtual void SetText(const char *label); + virtual void Clear(); + virtual void AddLabel(const char *label, int iValue); + virtual int GetValue(); + virtual void SetValue(int iValue); + +private: + CAddonGUIWindow *m_Window; + int m_ControlId; + GUIHANDLE m_SpinHandle; + void *m_Handle; + void *m_cb; +}; + +class CAddonGUIRadioButton +{ +public: + CAddonGUIRadioButton(void *hdl, void *cb, CAddonGUIWindow *window, int controlId); + virtual ~CAddonGUIRadioButton() {} + + virtual void SetVisible(bool yesNo); + virtual void SetText(const char *label); + virtual void SetSelected(bool yesNo); + virtual bool IsSelected(); + +private: + CAddonGUIWindow *m_Window; + int m_ControlId; + GUIHANDLE m_ButtonHandle; + void *m_Handle; + void *m_cb; +}; + +class CAddonGUIProgressControl +{ +public: + CAddonGUIProgressControl(void *hdl, void *cb, CAddonGUIWindow *window, int controlId); + virtual ~CAddonGUIProgressControl(void) {} + + virtual void SetPercentage(float fPercent); + virtual float GetPercentage() const; + virtual void SetInfo(int iInfo); + virtual int GetInfo() const; + virtual std::string GetDescription() const; + +private: + CAddonGUIWindow *m_Window; + int m_ControlId; + GUIHANDLE m_ProgressHandle; + void *m_Handle; + void *m_cb; +}; + +class CAddonListItem +{ +friend class CAddonGUIWindow; + +public: + CAddonListItem(void *hdl, void *cb, const char *label, const char *label2, const char *iconImage, const char *thumbnailImage, const char *path); + virtual ~CAddonListItem(void) {} + + virtual const char *GetLabel(); + virtual void SetLabel(const char *label); + virtual const char *GetLabel2(); + virtual void SetLabel2(const char *label); + virtual void SetIconImage(const char *image); + virtual void SetThumbnailImage(const char *image); + virtual void SetInfo(const char *Info); + virtual void SetProperty(const char *key, const char *value); + virtual const char *GetProperty(const char *key) const; + virtual void SetPath(const char *Path); + +// {(char*)"select(); +// {(char*)"isSelected(); +protected: + GUIHANDLE m_ListItemHandle; + void *m_Handle; + void *m_cb; +}; + +class CAddonGUIWindow +{ +friend class CAddonGUISpinControl; +friend class CAddonGUIRadioButton; +friend class CAddonGUIProgressControl; + +public: + CAddonGUIWindow(void *hdl, void *cb, const char *xmlFilename, const char *defaultSkin, bool forceFallback, bool asDialog); + virtual ~CAddonGUIWindow(); + + virtual bool Show(); + virtual void Close(); + virtual void DoModal(); + virtual bool SetFocusId(int iControlId); + virtual int GetFocusId(); + virtual bool SetCoordinateResolution(int res); + virtual void SetProperty(const char *key, const char *value); + virtual void SetPropertyInt(const char *key, int value); + virtual void SetPropertyBool(const char *key, bool value); + virtual void SetPropertyDouble(const char *key, double value); + virtual const char *GetProperty(const char *key) const; + virtual int GetPropertyInt(const char *key) const; + virtual bool GetPropertyBool(const char *key) const; + virtual double GetPropertyDouble(const char *key) const; + virtual void ClearProperties(); + virtual int GetListSize(); + virtual void ClearList(); + virtual GUIHANDLE AddStringItem(const char *name, int itemPosition = -1); + virtual void AddItem(GUIHANDLE item, int itemPosition = -1); + virtual void AddItem(CAddonListItem *item, int itemPosition = -1); + virtual void RemoveItem(int itemPosition); + virtual GUIHANDLE GetListItem(int listPos); + virtual void SetCurrentListPosition(int listPos); + virtual int GetCurrentListPosition(); + virtual void SetControlLabel(int controlId, const char *label); + + virtual bool OnClick(int controlId); + virtual bool OnFocus(int controlId); + virtual bool OnInit(); + virtual bool OnAction(int actionId); + + GUIHANDLE m_cbhdl; + bool (*CBOnInit)(GUIHANDLE cbhdl); + bool (*CBOnFocus)(GUIHANDLE cbhdl, int controlId); + bool (*CBOnClick)(GUIHANDLE cbhdl, int controlId); + bool (*CBOnAction)(GUIHANDLE cbhdl, int actionId); + +protected: + GUIHANDLE m_WindowHandle; + void *m_Handle; + void *m_cb; +}; diff --git a/usr/local/share/xbmc/addons/library.xbmc.pvr/libXBMC_pvr.h b/usr/local/share/xbmc/addons/library.xbmc.pvr/libXBMC_pvr.h new file mode 100644 index 000000000..5db2e9280 --- /dev/null +++ b/usr/local/share/xbmc/addons/library.xbmc.pvr/libXBMC_pvr.h @@ -0,0 +1,332 @@ +#pragma once +/* + * Copyright (C) 2005-2010 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +#include +#include +#include +#include +#include +#include "xbmc_pvr_types.h" +#include "../library.xbmc.addon/libXBMC_addon.h" + +#ifdef _WIN32 +#define PVR_HELPER_DLL "\\library.xbmc.pvr\\libXBMC_pvr" ADDON_HELPER_EXT +#else +#define PVR_HELPER_DLL_NAME "libXBMC_pvr-" ADDON_HELPER_ARCH ADDON_HELPER_EXT +#define PVR_HELPER_DLL "/library.xbmc.pvr/" PVR_HELPER_DLL_NAME +#endif + +#define DVD_TIME_BASE 1000000 +#define DVD_NOPTS_VALUE (-1LL<<52) // should be possible to represent in both double and __int64 + +class CHelper_libXBMC_pvr +{ +public: + CHelper_libXBMC_pvr(void) + { + m_libXBMC_pvr = NULL; + m_Handle = NULL; + } + + ~CHelper_libXBMC_pvr(void) + { + if (m_libXBMC_pvr) + { + PVR_unregister_me(m_Handle, m_Callbacks); + dlclose(m_libXBMC_pvr); + } + } + + /*! + * @brief Resolve all callback methods + * @param handle Pointer to the add-on + * @return True when all methods were resolved, false otherwise. + */ + bool RegisterMe(void* handle) + { + m_Handle = handle; + + std::string libBasePath; + libBasePath = ((cb_array*)m_Handle)->libPath; + libBasePath += PVR_HELPER_DLL; + +#if defined(ANDROID) + struct stat st; + if(stat(libBasePath.c_str(),&st) != 0) + { + std::string tempbin = getenv("XBMC_ANDROID_LIBS"); + libBasePath = tempbin + "/" + PVR_HELPER_DLL_NAME; + } +#endif + + m_libXBMC_pvr = dlopen(libBasePath.c_str(), RTLD_LAZY); + if (m_libXBMC_pvr == NULL) + { + fprintf(stderr, "Unable to load %s\n", dlerror()); + return false; + } + + PVR_register_me = (void* (*)(void *HANDLE)) + dlsym(m_libXBMC_pvr, "PVR_register_me"); + if (PVR_register_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_unregister_me = (void (*)(void* HANDLE, void* CB)) + dlsym(m_libXBMC_pvr, "PVR_unregister_me"); + if (PVR_unregister_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_transfer_epg_entry = (void (*)(void* HANDLE, void* CB, const ADDON_HANDLE handle, const EPG_TAG *epgentry)) + dlsym(m_libXBMC_pvr, "PVR_transfer_epg_entry"); + if (PVR_transfer_epg_entry == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_transfer_channel_entry = (void (*)(void* HANDLE, void* CB, const ADDON_HANDLE handle, const PVR_CHANNEL *chan)) + dlsym(m_libXBMC_pvr, "PVR_transfer_channel_entry"); + if (PVR_transfer_channel_entry == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_transfer_timer_entry = (void (*)(void* HANDLE, void* CB, const ADDON_HANDLE handle, const PVR_TIMER *timer)) + dlsym(m_libXBMC_pvr, "PVR_transfer_timer_entry"); + if (PVR_transfer_timer_entry == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_transfer_recording_entry = (void (*)(void* HANDLE, void* CB, const ADDON_HANDLE handle, const PVR_RECORDING *recording)) + dlsym(m_libXBMC_pvr, "PVR_transfer_recording_entry"); + if (PVR_transfer_recording_entry == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_add_menu_hook = (void (*)(void* HANDLE, void* CB, PVR_MENUHOOK *hook)) + dlsym(m_libXBMC_pvr, "PVR_add_menu_hook"); + if (PVR_add_menu_hook == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_recording = (void (*)(void* HANDLE, void* CB, const char *Name, const char *FileName, bool On)) + dlsym(m_libXBMC_pvr, "PVR_recording"); + if (PVR_recording == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_trigger_timer_update = (void (*)(void* HANDLE, void* CB)) + dlsym(m_libXBMC_pvr, "PVR_trigger_timer_update"); + if (PVR_trigger_timer_update == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_trigger_recording_update = (void (*)(void* HANDLE, void* CB)) + dlsym(m_libXBMC_pvr, "PVR_trigger_recording_update"); + if (PVR_trigger_recording_update == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_trigger_channel_update = (void (*)(void* HANDLE, void* CB)) + dlsym(m_libXBMC_pvr, "PVR_trigger_channel_update"); + if (PVR_trigger_channel_update == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_trigger_channel_groups_update = (void (*)(void* HANDLE, void* CB)) + dlsym(m_libXBMC_pvr, "PVR_trigger_channel_groups_update"); + if (PVR_trigger_channel_groups_update == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_trigger_epg_update = (void (*)(void* HANDLE, void* CB, unsigned int iChannelUid)) + dlsym(m_libXBMC_pvr, "PVR_trigger_epg_update"); + if (PVR_trigger_epg_update == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_transfer_channel_group = (void (*)(void* HANDLE, void* CB, const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP *group)) + dlsym(m_libXBMC_pvr, "PVR_transfer_channel_group"); + if (PVR_transfer_channel_group == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_transfer_channel_group_member = (void (*)(void* HANDLE, void* CB, const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP_MEMBER *member)) + dlsym(m_libXBMC_pvr, "PVR_transfer_channel_group_member"); + if (PVR_transfer_channel_group_member == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + +#ifdef USE_DEMUX + PVR_free_demux_packet = (void (*)(void* HANDLE, void* CB, DemuxPacket* pPacket)) + dlsym(m_libXBMC_pvr, "PVR_free_demux_packet"); + if (PVR_free_demux_packet == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } + + PVR_allocate_demux_packet = (DemuxPacket* (*)(void* HANDLE, void* CB, int iDataSize)) + dlsym(m_libXBMC_pvr, "PVR_allocate_demux_packet"); + if (PVR_allocate_demux_packet == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } +#endif + + m_Callbacks = PVR_register_me(m_Handle); + return m_Callbacks != NULL; + } + + /*! + * @brief Transfer an EPG tag from the add-on to XBMC + * @param handle The handle parameter that XBMC used when requesting the EPG data + * @param entry The entry to transfer to XBMC + */ + void TransferEpgEntry(const ADDON_HANDLE handle, const EPG_TAG* entry) + { + return PVR_transfer_epg_entry(m_Handle, m_Callbacks, handle, entry); + } + + /*! + * @brief Transfer a channel entry from the add-on to XBMC + * @param handle The handle parameter that XBMC used when requesting the channel list + * @param entry The entry to transfer to XBMC + */ + void TransferChannelEntry(const ADDON_HANDLE handle, const PVR_CHANNEL* entry) + { + return PVR_transfer_channel_entry(m_Handle, m_Callbacks, handle, entry); + } + + /*! + * @brief Transfer a timer entry from the add-on to XBMC + * @param handle The handle parameter that XBMC used when requesting the timers list + * @param entry The entry to transfer to XBMC + */ + void TransferTimerEntry(const ADDON_HANDLE handle, const PVR_TIMER* entry) + { + return PVR_transfer_timer_entry(m_Handle, m_Callbacks, handle, entry); + } + + /*! + * @brief Transfer a recording entry from the add-on to XBMC + * @param handle The handle parameter that XBMC used when requesting the recordings list + * @param entry The entry to transfer to XBMC + */ + void TransferRecordingEntry(const ADDON_HANDLE handle, const PVR_RECORDING* entry) + { + return PVR_transfer_recording_entry(m_Handle, m_Callbacks, handle, entry); + } + + /*! + * @brief Transfer a channel group from the add-on to XBMC. The group will be created if it doesn't exist. + * @param handle The handle parameter that XBMC used when requesting the channel groups list + * @param entry The entry to transfer to XBMC + */ + void TransferChannelGroup(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP* entry) + { + return PVR_transfer_channel_group(m_Handle, m_Callbacks, handle, entry); + } + + /*! + * @brief Transfer a channel group member entry from the add-on to XBMC. The channel will be added to the group if the group can be found. + * @param handle The handle parameter that XBMC used when requesting the channel group members list + * @param entry The entry to transfer to XBMC + */ + void TransferChannelGroupMember(const ADDON_HANDLE handle, const PVR_CHANNEL_GROUP_MEMBER* entry) + { + return PVR_transfer_channel_group_member(m_Handle, m_Callbacks, handle, entry); + } + + /*! + * @brief Add or replace a menu hook for the context menu for this add-on + * @param hook The hook to add + */ + void AddMenuHook(PVR_MENUHOOK* hook) + { + return PVR_add_menu_hook(m_Handle, m_Callbacks, hook); + } + + /*! + * @brief Display a notification in XBMC that a recording started or stopped on the server + * @param strRecordingName The name of the recording to display + * @param strFileName The filename of the recording + * @param bOn True when recording started, false when it stopped + */ + void Recording(const char* strRecordingName, const char* strFileName, bool bOn) + { + return PVR_recording(m_Handle, m_Callbacks, strRecordingName, strFileName, bOn); + } + + /*! + * @brief Request XBMC to update it's list of timers + */ + void TriggerTimerUpdate(void) + { + return PVR_trigger_timer_update(m_Handle, m_Callbacks); + } + + /*! + * @brief Request XBMC to update it's list of recordings + */ + void TriggerRecordingUpdate(void) + { + return PVR_trigger_recording_update(m_Handle, m_Callbacks); + } + + /*! + * @brief Request XBMC to update it's list of channels + */ + void TriggerChannelUpdate(void) + { + return PVR_trigger_channel_update(m_Handle, m_Callbacks); + } + + /*! + * @brief Schedule an EPG update for the given channel channel + * @param iChannelUid The unique id of the channel for this add-on + */ + void TriggerEpgUpdate(unsigned int iChannelUid) + { + return PVR_trigger_epg_update(m_Handle, m_Callbacks, iChannelUid); + } + + /*! + * @brief Request XBMC to update it's list of channel groups + */ + void TriggerChannelGroupsUpdate(void) + { + return PVR_trigger_channel_groups_update(m_Handle, m_Callbacks); + } + +#ifdef USE_DEMUX + /*! + * @brief Free a packet that was allocated with AllocateDemuxPacket + * @param pPacket The packet to free + */ + void FreeDemuxPacket(DemuxPacket* pPacket) + { + return PVR_free_demux_packet(m_Handle, m_Callbacks, pPacket); + } + + /*! + * @brief Allocate a demux packet. Free with FreeDemuxPacket + * @param iDataSize The size of the data that will go into the packet + * @return The allocated packet + */ + DemuxPacket* AllocateDemuxPacket(int iDataSize) + { + return PVR_allocate_demux_packet(m_Handle, m_Callbacks, iDataSize); + } +#endif + +protected: + void* (*PVR_register_me)(void*); + void (*PVR_unregister_me)(void*, void*); + void (*PVR_transfer_epg_entry)(void*, void*, const ADDON_HANDLE, const EPG_TAG*); + void (*PVR_transfer_channel_entry)(void*, void*, const ADDON_HANDLE, const PVR_CHANNEL*); + void (*PVR_transfer_timer_entry)(void*, void*, const ADDON_HANDLE, const PVR_TIMER*); + void (*PVR_transfer_recording_entry)(void*, void*, const ADDON_HANDLE, const PVR_RECORDING*); + void (*PVR_add_menu_hook)(void*, void*, PVR_MENUHOOK*); + void (*PVR_recording)(void*, void*, const char*, const char*, bool); + void (*PVR_trigger_channel_update)(void*, void*); + void (*PVR_trigger_channel_groups_update)(void*, void*); + void (*PVR_trigger_timer_update)(void*, void*); + void (*PVR_trigger_recording_update)(void* , void*); + void (*PVR_trigger_epg_update)(void*, void*, unsigned int); + void (*PVR_transfer_channel_group)(void*, void*, const ADDON_HANDLE, const PVR_CHANNEL_GROUP*); + void (*PVR_transfer_channel_group_member)(void*, void*, const ADDON_HANDLE, const PVR_CHANNEL_GROUP_MEMBER*); +#ifdef USE_DEMUX + void (*PVR_free_demux_packet)(void*, void*, DemuxPacket*); + DemuxPacket* (*PVR_allocate_demux_packet)(void*, void*, int); +#endif + +private: + void* m_libXBMC_pvr; + void* m_Handle; + void* m_Callbacks; + struct cb_array + { + const char* libPath; + }; +}; diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/addon.xml b/usr/local/share/xbmc/addons/metadata.album.universal/addon.xml new file mode 100644 index 000000000..b4b3f1704 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/addon.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + Universele Skraper vir Albums + Universal Scraper for Albums + УниверÑален източник за Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° албуми + Arreplegador universal per àlbums + Univerzální zdroj získávání dat pro alba + Universel Scraper til Albummer + Universeller Scraper für Alben + Universal Scraper Άλμπουμ + Universal Scraper for Albums + Scraper universal para álbumes + Scraper Universal para Albumes + Scraper Universal para Ãlbumes + Universaali tiedonhakija albumitiedoille + Scraper universel pour les Albums + Scraper universal para os álbumes + סקרייפר ×וניברסלי עבור ××œ×‘×•×ž×™× + Univerzális album leolvasó + Ricercatore Universale per Albums + 汎用アルãƒãƒ ã‚¹ã‚¯ãƒ¬ãƒ¼ãƒ‘ー + Universal Scraper for Albums + Universalus Albumų Scrapers + Универзален превземач за Ðлбуми + Universele Scraper voor Albums + Universalskraper for Albummer + Universal Scraper dla albumów muzycznych + Scraper universal para álbuns + Scraper Universal para Ãlbuns + Scraper universal pentru albume + УниверÑальный Ñкрапер Ð´Ð»Ñ Ð°Ð»ÑŒÐ±Ð¾Ð¼Ð¾Ð² + Univerzálny zdroj získavania dát pre albumy + Univerzalni ponudnik informacij o albumih + Universiell albumskrapa + 通用音ä¹ä¸“辑信æ¯åˆ®å‰Šå™¨ + Hierdie skraper kollekteer inligting vanaf die volgende ondersteunde werwe: MusicBrainz, last.fm, allmusic.com en amazon.de, terwyl kunswerke gegryp word vanaf: fanart.tv, last.fm en allmusic.com. Dit kan veld vir veld gestel word vanaf watter werf jy die spesifieke inligting wil hê. Die aanvaklike soektog word altyd op MusicBrainz gedoen. Ingeval skakels van allmusic en/of amazon.de nie bygevoeg is op die MusicBrainz werf, kan velde vanaf allmusic.com en/of amazon.de nie gaan haal word nie (egter baie maklik om daardie ontbrekende skakels by te voeg). + This scraper collects information from the following supported sites: MusicBrainz, last.fm, allmusic.com and amazon.de, while grabs artwork from: fanart.tv, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information. The initial search is always done on MusicBrainz. In case allmusic and/or amazon.de links are not added on the MusicBrainz site, fields from allmusic.com and/or amazon.de cannot be fetched (very easy to add those missing links though). + Ð¡Ð²Ð°Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ Ñледните Ñайтове: MusicBrainz, last.fm, allmusic.com и amazon.de. Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð½Ð¸Ñ Ð¸Ð·Ð²Ð»Ð¸Ñ‡Ð° от: fanart.tv, last.fm и allmusic.com. Можете да определите от кой Ñайт каква Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð° Ñе ÑвалÑ. Първоначалното търÑене винаги Ñе прави в MusicBrainz. Когато не Ñа налични препратки към allmusic и/или amazon.de на Ñайта на MusicBrainz извличането на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ allmusic.com и/или amazon.de Ñтава невъзможно (добавÑнето им е много леÑно). + Aquest arreplegador recull informació dels següents llocs: MusicBrainz, last.fm, allmusic.com i amazon.de, alhora que agafa art de: fanart.tv, last.fm i allmusic.com. Es pot configurar camp a camp des de quin lloc voleu aquella informació específica. La cerca inicial es realitza sempre a MusicBrainz. En el cas que els enllaços d'allmusic i amazon.de no s'afegeixin al lloc MusicBrainz els camps d'allmusic i amazon.de i/o amazon.com no es poden obtenir (tot i que són fàcils d'afegir aquests enllaços restants). + Tento zdroj získává data z následujících podporovaných stránek: MusicBrainz, last.fm, allmusic.com and amazon.de, while grabs artwork from: fanart.tv, last.fm a allmusic.com. Je možno podrobnÄ› nastavit, které informace si pÅ™ejete získat ze kterých stránek. Prvotní vyhledání je vžy provedeno na MusicBrainz. V případÄ›, že odkaz pro allmusic a nebo amazon.de není pÅ™idaný na stránku MusicBrainz, není možné údaje z allmusic.com a amazon.de stáhnout (avÅ¡ak je velmi snadné tyto chybÄ›jící odkazy pÅ™idat). + Denne scraper samler information fra følgende sider: MusicBrainz, last.fm, allmusic.com og amazon.de og henter illustrationer fra: fanart.tv, last.fm og allmusic.com. Det kan vælges felt for felt, hvilke sider du ønsker, at fÃ¥ den pÃ¥gældende information fra. Den første søgning er altid pÃ¥ MusicBrainz. Hvis ikke allmusic og/eller amazon.de linkene er tilføjet pÃ¥ MusicBrainz side, kan felter fra allmusic.com og/eller amazon.de ikke hentes (men det er helt enkelt at tilføje de manglende links). + Dieser Scaper sammelt Informationen von den folgenden unterstützten Seiten: MusicBrainz, Last.fm, Allmusic.com und Amazon.de und lädt dabei Grafiken von: Fanart.tv, Last.fm und Allmusic.com. Es kann eingestellt werden, von welcher Seite die spezifischen Informationen stammen.⎠⎠Die initialie Suche wird immer über MusicBrainz durchgeführt. Sollten keine Allmusic- und/oder Amazon.de-Links auf der MusicBrainz-Seite gesetzt worden sein, können Felder von Allmusic.com und/oder Amazon.de nicht geladen werden (fehlende Links können jedoch sehr einfach hinzugefügt werden). + Αυτό το scraper συλλέγει πληÏοφοÏίες από τις ακόλουθες υποστηÏιζόμενες ιστοσελίδες: MusicBrainz, last.fm, allmusic.com και amazon.de, ενώ λαμβάνει εικόνες από τα: fanart.tv, last.fm και allmusic.com. ΜποÏεί να οÏιστεί πεδίο ανά πεδίο αναλόγως των πληÏοφοÏιών που επιθυμείτε από την εκάστοτε ιστοσελίδα. Η αÏχική αναζήτηση γίνεται πάντα στο MusicBrainz. Σε πεÏίπτωση που δεν έχουν Ï€Ïοστεθεί σÏνδεσμοι για το allmusic ή/και το amazon.de στο MusicBrainz, δε θα μποÏοÏν να ληφθοÏν πεδία από το allmusic.com ή/και το amazon.de (ωστόσο είναι Ï€Î¿Î»Ï ÎµÏκολο να Ï€ÏοστεθοÏν αυτοί οι ελλιπείς σÏνδεσμοι). + This scraper collects information from the following supported sites: MusicBrainz, last.fm, allmusic.com and amazon.de, while grabs artwork from: fanart.tv, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information. The initial search is always done on MusicBrainz. In case allmusic and/or amazon.de links are not added on the MusicBrainz site, fields from allmusic.com and/or amazon.de cannot be fetched (very easy to add those missing links though). + Este scraper recolecta información de las siguientes webs: MusicBrainz, last.fm, allmusic.com y amazon.de, mientras obtiene las imágenes de fanart.tv, last.fm y allmusic.com. Permite especificar de qué web se quiere obtener la información para cada campo. ⎠⎠La búsqueda inicial se realiza siempre en MusicBrainz. En caso de que los enlaces a allmusic y/o amazon.de no estén añadidos en la web de MusicBrainz, no se podrán obtener los campos de información de estos dos sitios (aunque es muy fácil añadir esos enlaces que faltan). + Este scraper recolecta información de las siguientes webs: MusicBrainz, last.fm, allmusic.com y amazon.de, mientras obtiene las imágenes de fanart.tv, last.fm y allmusic.com. Permite especificar de qué web se quiere obtener la información para cada campo. ⎠⎠La búsqueda inicial se realiza siempre en MusicBrainz. En caso de que los enlaces a allmusic y/o amazon.de no estén añadidos en la web de MusicBrainz, no se podrán obtener los campos de información de estos dos sitios (aunque es muy fácil añadir esos enlaces que faltan). + Este scraper obtiene información de los siguientes sitios soportados: MusicBrainz, last.fm, allmusic.com y amazon.de, mientras obtiene artwork de: fanart.tv, last.fm y allmusic.com. Puede ser configurado campo por campo de que sitio quieres esa información específica.⎠⎠La búsqueda inicial siempre es hecha en MusicBrainz. En el caso en que los enlaces de allmusic y/o amazon.de no son agregados en el sitio de MusicBrainz, campos de allmusic.com y/o amazon.de no pueden ser obtenidos. (De cualquier manera es muy fácil agregar esos enlaces no encontrados). + Tämä tiedonhakija käyttää tietolähteinään seuraavia sivustoja:MusicBrainz, last.fm, allmusic.com ja amazon.de. Kuvat ja grafiikat haetaan seuraavilta sivustoilta: fanart.tv, last.fm ja allmusic.com. Voit määrittää tarkasti, miltä sivustoilta mitäkin tietoa haetaan. Ensimmäinen haku tehdään aina lähteestä MusicBrainz. Mikäli allmusic- ja/tai amazon.de-linkkejä ei ole lisätty MusicBrainz-sivustolle, haku ei onnistu (mutta puuttuvien linkkien lisääminen on helppoa). + Ce collecteur utilise les informations des sites suivant : MusicBrainz, last.fm, allmusic.com et amazon.de et télécharge les artwork depuis : fanart.tv, last.fm et allmusic.com. Vous pouvez spécifier quel site utiliser pour chaque information à employer. Le premier résultat est toujours en provenance de MusicBrainz. Dans le cas où allmusic et/ou amazon.de ne sont pas ajoutés sur le site MusicBrainz, les champs de allmusic.com et/ou amazon.de ne peuvent pas être traités (il est toutefois très simple d'ajouter ces liens manquants). + Este scraper obtén a información dende os seguintes sitios soportados: MusicBrainz, last.fm, allmusic.com e amazon.de, mentres que as ilustracións as obtén dende: fanart.tv, last.fm e allmusic.com. Pódese definir dende que sitios se obterá a información específica de cada campo. A busca inicial faise sempre en MusicBrainz. No caso de non estar engadidas as ligazón de allmusic e/ou amazon.de no sitio de MusicBrainz, os campos de allmusic.com e/ou amazon.de non se poderán obter (aínda que é moi doado de engadir as ligazóns). + סקרייפר ×–×” ×וסף מידע מהת××¨×™× ×”× ×ª×ž×›×™× ×”×‘××™×: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, בעוד שמשיכת גרפיקה נעשית דרך: fanart.tv, htbackdrops.com, last.fm and allmusic.com. יש ×פשרות להגדיר ×ת ×–×ת שדה ×חר שדה מ××™×–×” ×תר ברצונך למשוך ×ת המידע הספציפי.⎠⎠החיפוש הפנימי נעשה תמיד דרך MusicBrainz. במקרה שקישור allmusic ×œ× ×”×ª×•×•×¡×£ ב×תר MusicBrainz, השדות מ×ת allmusic.com ×ינן יכולות להימשך (למרות שזה מ×וד קל להוסיף ×ת ×”×§×™×©×•×¨×™× ×”×¨×™×§×™×). + A leolvasó szöveges infókat gyűjt a támogatott oldalakról: MusicBrainz, last.fm, allmusic.com and amazon.de, valamint képeket a : fanart.tv, last.fm and allmusic.com-ról. Beállítható hogy honnan, és milyen infót gyűjtsön. A keresés mindig a MusicBrainz-on folyik, de könnyen hozzáadhatjuk a hiányzó találatokat az allmusic.com, vagy az amazon.de-rÅ‘l. + Questo ricercatore prende informazioni dai seguenti siti: MusicBrainz, last.fm, allmusic.com e amazon.de, mentre prende grafica da: fanart.tv, last.fm e allmusic.com. Puoi impostare campo per campo cosa prendere e da dove.⎠âŽLa ricerca iniziale viene sempre fatta su MusicBrainz. In caso i links a allmusic e/o amazon.de non sono stati messi su MusicBrainz, i campi da questi siti non possono essere recuperati (è molto facile aggiungere quei link, comunque). + ã“ã®ã‚¹ã‚¯ãƒ¬ãƒ¼ãƒ‘ーã¯ã€ä»¥ä¸‹ã®ã‚µã‚¤ãƒˆã‹ã‚‰æƒ…報をå–å¾—ã—ã¾ã™ï¼šMusicBrainz, last.fm, allmusic.com, amazon.de。アートワークã¯ä»¥ä¸‹ã®ã‚µã‚¤ãƒˆã‹ã‚‰å–å¾—ã—ã¾ã™ï¼šfanart.tv, last.fm, allmusic.com。å„フィールドã”ã¨ã«ã€ã©ã®æƒ…報をã©ã®ã‚µã‚¤ãƒˆã‹ã‚‰å–å¾—ã™ã‚‹ã‹ã€å€‹åˆ¥ã«æŒ‡å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ 最åˆã¯ MusicBrainz を使ã£ã¦æ¤œç´¢ãŒè¡Œã‚れã¾ã™ã€‚MusicBrainz サイト㫠allmusic ã‚„ amazon.de ã®ãƒªãƒ³ã‚¯ãŒè¿½åŠ ã•れã¦ã„ãªã„å ´åˆã¯ã€allmusic.com / amazon.de ã‹ã‚‰ã®ãƒ•ィールドã¯å–å¾—ã§ãã¾ã›ã‚“ (リンクを追加ã™ã‚‹ã®ã¯ç°¡å˜ã§ã™ãŒ)。 + This scraper collects information from the following supported sites: MusicBrainz, last.fm, allmusic.com and amazon.de, while grabs artwork from: fanart.tv, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information. The initial search is always done on MusicBrainz. In case allmusic and/or amazon.de links are not added on the MusicBrainz site, fields from allmusic.com and/or amazon.de cannot be fetched (very easy to add those missing links though). + Å is Scrapers renka informacijÄ… iÅ¡ Å¡ių palaikomų svetainių: MusicBrainz, last.fm, allmusic.com ir/arba amazon.de, o scrap meno kÅ«rinius iÅ¡: fanart.tv, last.fm ir/arba allmusic.com. Jis gali bÅ«ti nustatytas srities lauke, iÅ¡ kurio puslapio norite, kad konkreÄiÄ… informacijÄ… paimtu. PradinÄ— paieÅ¡ka visada atliekama remiantis MusicBrainz. Jei Allmusic ir/ar amazon.de nuorodos nÄ—ra įdÄ—tos MusicBrainz svetainÄ—je, laukuose allmusic.com ir/arba amazon.de negali bÅ«ti realÅ«s (nors įtraukti tas trÅ«kstamas grandis labai lengva). + This scraper collects information from the following supported sites: MusicBrainz, last.fm, allmusic.com and amazon.de, while grabs artwork from: fanart.tv, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information.⎠⎠The initial search is always done on MusicBrainz. In case allmusic and/or amazon.de links are not added on the MusicBrainz site, fields from allmusic.com and/or amazon.de cannot be fetched (very easy to add those missing links though). + Deze scraper verzamelt informatie van de volgende ondersteunde sites: MusicBrainz, Last.fm, allmusic.com en amazon.de. Afbeeldingen worden verzameld van de volgende sites: fanart.tv, Last.fm en allmusic.com. Per veld kan aangegeven worden van welke site je de specifieke informatie wil halen. De initiële zoekopdracht wordt altijd gedaan van MusicBrainz. In het geval dat links naar allmusic en/of amazon.de niet zijn toegevoegd op de MusicBrainz site, kunnen velden niet worden opgehaald bij deze sites. (Het is niet moeilijk om de ontbrekende links toe te voegen.) + Denne skraperen samler informasjon fra følgende støttede steder: MusicBrainz, last.fm, allmusic.com og amazon.de, mens den henter artwork fra: fanart.tv, last.fm og allmusic.com. Du kan stegvis velge hvilken kilde du ønsker Ã¥ hente spesifikk informasjon fra. Det første søket er alltid gjort hos MusicBrainz. I tilfeller hvor allmusic og/eller amazon.de linker ikke er lagt til hos MusicBrainz siden, kan ikke felter fra allmusic.com og/eller amazon.de hentes (det er veldig lett Ã¥ legge til de manglende linkene). + Ten scraper zbiera informacje z nastÄ™pujÄ…cych stron: MusicBrainz, last.fm, allmusic.com oraz amazon.de, a grafiki pobiera z: fanart.tv, last.fm i allmusic.com. Dla każdego pola z informacjami można wybrać osobnÄ… stronÄ™. PoczÄ…tkowe wyszukiwanie jest zawsze wykonywane na MusicBrainz. Gdy linki do allmusic i/lub amazon.de nie sÄ… dodane na stronie MusicBrainz, nie można pobrać tych pól z allmusic.com i/lub amazon.de (pomimo to brakujÄ…ce linki można bardzo Å‚atwo dodać). + Este scraper recolhe informações dos seguintes sítios: MusicBrainz, last.fm, allmusic.com e amazon.de, enquanto obtém artwork de: fanart.tv, last.fm e allmusic.com. Pode definir em cada campo o sítio do qual quer obter as informações. A pesquisa inicial é sempre feita no MusicBrainz. Caso os links allmusic e/ou amazon.de não tenham sido adicionados no sítio MusicBrainz, os campos do allmusic.com e/ou amazon.de não serão obtidos (no entanto, é muito fácil adicionar os links em falta). + Este scraper coleta informações nos seguintes sites: MusicBrainz, last.fm, allmusic.com e amazon.de, enquanto pega os artwork de: fanart.tv, last.fm and allmusic.com. O Mesmo pode ser configurara campo a campo em que site você quer obter informações específicas. A procura inicial é sempre feita no MusicBrainz. No caso allmusic e/ou amazon.de não terem sido adicionados no site MusicBrainz, campos de allmusic.com e/ou amazona.de não serão buscados (embora seja muito fácil adicionar os links faltantes). + Acest scraper colectează informaÈ›ii de la următoarele site-uri suportate: MusicBrainz, last.fm, allmusic.com È™i amazon.de. Elementele de grafica sunt accesate din: fanart.tv, last.fm È™i allmusic.com. Acesta poate fi setat câmp cu câmp de pe care site doriÈ›i informaÈ›iile specifice sa fie colectate ⎠⎠Căutarea iniÈ›ială se face întotdeauna pe MusicBrainz. ÃŽn cazul în care Allmusic È™i / sau link-ul amazon.de nu sunt adăugate pe MusicBrainz, câmpurile din allmusic.com È™i / sau amazon.de nu pot fi colectate (este foarte uÈ™or însă de adăugat aceste legături lipsă). + Данный Ñкрапер Ñобирает информацию Ñо Ñледующих Ñайтов: MusicBrainz, last.fm, allmusic.com и amazon.de, при Ñтом Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ Ð¾Ð±Ð»Ð¾Ð¶ÐºÐ¸ из: fanart.tv, last.fm и allmusic.com. Каждое поле можно наÑтроить так, чтобы оно получало желаемую информацию Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ вами Ñайта.⎠⎠Ðачальный поиÑк вÑегда проводитÑÑ Ð½Ð° MusicBrainz. Ð”Ð»Ñ allmusic и/или amazon.de ÑÑылки на Ñайт MusicBrainz отÑутÑтвуют, Ð¿Ð¾Ð»Ñ Ñ allmusic.com и/или amazon.de не могут быть заполнены (добавить пропущенные ÑÑылки очень проÑто). + Tento zdroj získavania dát zbiera informácie z nasledujúcich podporovaných stránok: MusicBrainz, last.fm, allmusic.com a amazon.de, zatiaľ Äo umeleckú grafiku získava zo stránok: fanart.tv, last.fm a allmusic.com. Je možné podrobne nastaviÅ¥, z ktorej stránky chcete získaÅ¥ konkrétne informácie. PoÄiatoÄné hľadanie je vždy na stránke MusicBrainz. V prípade, že odkaz pre allmusic a/alebo amazon.de nie je pridaný na stránku MusicBrainz, nie je možné získaÅ¥ údaje zo stránky allmusic.com a/alebo amazon.de (je ale veľmi jednoduché tieto chýbajúce odkazy pridaÅ¥). + Ta ponudnik združuje informacije s sledeÄih strani: MusicBrainz, last.fm, allmusic.com in amazon.de; grafike prenaÅ¡a z: fanart.tv, last.fm in allmusic.com. Vsako informacijo lahko prenesete z razliÄne strani. ZaÄeno iskanje je vedn na MusicBrainz. V primeru, da na MusicBrainz ni povezave do allmusic.com in/ali amazon.de, informacij od tam ne morete prenesti (a to težavo hitro lahko odpravite). + Denna skrapa samlar information frÃ¥n följande sajter: MusicBrainz, last.fm, allmusic.com och amazon.de, och konstverk frÃ¥n: fanart.tv, last.fm och allmusic.com. Det kan anges fält för fält vilken sajt du vill fÃ¥ den specifika informationen.⎠⎠Den initiala sökningen är alltid utförd pÃ¥ MusicBrainz sajt, fälten frÃ¥n allmusic.com och/eller amazon.de länkarna läggs inte till pÃ¥ MusicBrainz sajten, fälten frÃ¥n allmusic.com och/eller amazon.de kan inte hämtas (väldigt enkelt att lägga till dom saknade länkarna dock). + 本刮削器支æŒä»Žä»¥ä¸‹ç½‘站获å–ä¿¡æ¯ï¼šMusicBrainzã€last.fmã€allmusic.comå’Œamazon.de,并从以下网站获å–艺术图片:fanart.tvã€last.fmå’Œallmusic.com。你å¯ä»¥æŒ‡å®šæ¯ä¸€é¡¹å†…å®¹çš„æ¥æºç½‘站。 åˆå§‹ç»“果总是先从MusicBrainz获å–。如果MusicBrainz网站没有到allmusicå’Œ/或amazon.de的外部链接,则无法获å–allmusic.comçš„/或amazon.de的信æ¯ï¼ˆå½“然你能很容易地加入缺失的链接)。 + all + + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/albumuniversal.xml b/usr/local/share/xbmc/addons/metadata.album.universal/albumuniversal.xml new file mode 100644 index 000000000..05afe2a95 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/albumuniversal.xml @@ -0,0 +1,178 @@ + + + + + release/(.+) + + + + + + (.+) + + + (.+)(?:Ft%2e|Feat%2e|%20Ft\.|%20Feat\.|%20and%20) + + + (.+) + + + + + + + + id="([^"]*)"><title>([^<]*)</title><status>Official</status><text-representation><language>[^<]*</language><script>[^<]*</script></text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\stype="Album"\sid="[^"]*">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+) + + + id="([^"]*)"><title>([^<]*)</title><status>Official</status><text-representation><language>[^<]*</language><script>[^<]*</script></text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group(?:\stype="[^"]*")*\sid="[^"]*">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+) + + + id="([^"]*)" ext:score="[^"]*"><title>([^<]*)</title><status>Official</status><text-representation><language>[^<]*</language><script>[^<]*</script></text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\sid="[^"]*"\stype="Album">(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+) + + + id="([^"]*)" ext:score="[^"]*"><title>([^<]*)</title><status>Official</status><text-representation><language>[^<]*</language><script>[^<]*</script></text-representation><artist-credit><name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>([^<]*)</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>(?:<name-credit(?:>)*(?:\sjoinphrase="[^"]*">)*(?:<name>[^<]*</name)*(?:>)*<artist\sid="[^"]*"><name>[^<]*</name>(?:<sort-name>[^<]*</sort-name>)*(?:<disambiguation>[^<]*</disambiguation>)*(?:<alias-list>.*?</alias-list>)*</artist></name-credit>)*</artist-credit><release-group\sid="[^"]*"(?:\stype="[^"]*")*>(?:<primary-type>[^<]*</primary-type>)*(?:<secondary-type-list><secondary-type>[^<]*</secondary-type></secondary-type-list>)*</release-group><date>(\d{4})[^<]*</date>(?:<country>)*([^<]*)?.*?<track-list\scount="(\d+) + + + + + + + + + id="([^"]*) + + + + <release-group type="[^"]*" id="([^"]*)" + + + + <release id="[^"]*"><title>([^<]*)< + + + + <release id="[^"]*"><title>[^<]*<.*?<artist id="[^"]*"><name>([^<]*)< + + + (.+) + + + (.+) + + + (.+) + + + (.+) + + + (.+) + + + allmusic.com + + + last.fm + + + TheAudioDb.com + + + amazon.de + + + MusicBrainz + + + allmusic.com + + + allmusic.com + + + allmusic.com + + + allmusic.com + + + + + + + + + + + + + + + + + + + + + allmusic.com/album/([^<]*) + + + + + + + + + allmusic.com/album/([^<]*) + + + + + + + + + allmusic.com/album/([^<]*) + + + + + + + + + allmusic.com/album/([^<]*) + + + + + + + + + allmusic.com/album/([^<]*) + + + + + + + + + allmusic.com/album/([^<]*) + + + + + + + + + http://www.amazon.de/gp/product/([^<]*) + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/changelog.txt b/usr/local/share/xbmc/addons/metadata.album.universal/changelog.txt new file mode 100644 index 000000000..c3dc51782 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/changelog.txt @@ -0,0 +1,82 @@ +[B]1.6.4[/B] +Disable last.fm options because last.fm suspended XBMC's API account + +[B]1.6.3[/B] +Updated language files from Transifex + +[B]1.6.2[/B] +Updated language files from Transifex + +[B]1.6.1[/B] +Language files update from Transifex + +[B]1.6.0[/B] +Re-enable fanart.tv scraping by default + +[B]1.5.0[/B] +Added: Scraping album thumbs from theaudiodb.com + +[B]1.4.0[/B] +Added back fanart.tv scraping via JSON API. Still off by default. + +[B]1.3.7[/B] +Temporarily disable fanarttv.com scraping due to site load issues + +[B]1.3.6[/B] +Fixed: Scraper now works with both API layout + +[B]1.3.5[/B] +Added: Chinese translation + +[B]1.3.4[/B] +Fixed: MusicBrainz reverted back previous API layout changes so scraper needs to be reverted too + +[B]1.3.3[/B] +Fixed: Broken search after API result layout changes + +[B]1.3.2[/B] +Changed: Loosen up search results + +[B]1.3.1[/B] +Tuned: Artist Splitter + +[B]1.3.0[/B] +Added: scraping album review from TheAudioDb.com +Fixed: Artist Splitter + +[B]1.2.2[/B] +Fixed: accommodate new Frodo style URL encoding + +[B]1.2.1[/B] +Removed: '&' sign from artist splitter + +[B]1.2.0[/B] +Added: scraping album review from amazon.de (if link exist on MusicBrainz) + +[B]1.1.4[/B] +Fixed: typo blocks preferring album in search result + +[B]1.1.3[/B] +Fixed: won't find tracks without recording id + +[B]1.1.2[/B] +Fixed: won't find tracks without duration + +[B]1.1.1[/B] +Fixed: artists won't find with 'and' in their name + +[B]1.1.0[/B] +Added: trying to get album info when multiple artists are credited (first artist will be used) +Fixed: will not find some albums + +[B]1.0.3[/B] +Fixed: Some Album releases were not found + +[B]1.0.2[/B] +Fixed: Track Duration from MusicBrainz was wrong in certain cases. Credits to scudlee! + +[B]1.0.1[/B] +Fixed: scraping moods from allmusic.com + +[B]1.0.0[/B] +Initial version diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/icon.png b/usr/local/share/xbmc/addons/metadata.album.universal/icon.png new file mode 100644 index 000000000..7c3d600df Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.album.universal/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Afrikaans/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Afrikaans/strings.xml new file mode 100644 index 000000000..6d06678da --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Afrikaans/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Gryp Album Duimnaelsketse vanaf fanart.tv + Gryp Album Duimnaelsketse vanaf Last.fm + Kry Album Resensie vanaf + Verkose Taal + Kry Album Gradering vanaf + Kry Album Style vanaf + Kry Album Stemmings vanaf + Kry Album Temas vanaf + Gryp Album Duimnaelsketse vanaf allmusic.com + Kunswerk + Gryp Album Duimnaelsketse vanaf theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..b49c655cd --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Belarusian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Grab Album Thumbs from fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Grab Album Thumbs from Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Get Album Review from" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr " ÐŸÐµÑ€Ð°Ð²Ð°Ð¶Ð½Ð°Ñ Ð¼Ð¾Ð²Ð°" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Get Album Rating from" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Get Album Styles from" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Get Album Moods from" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Get Album Themes from" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Grab Album Thumbs from allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Belarusian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Belarusian/strings.xml new file mode 100644 index 000000000..9d5861dd8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Belarusian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Grab Album Thumbs from fanart.tv + Grab Album Thumbs from Last.fm + Get Album Review from + ÐŸÐµÑ€Ð°Ð²Ð°Ð¶Ð½Ð°Ñ Ð¼Ð¾Ð²Ð° + Get Album Rating from + Get Album Styles from + Get Album Moods from + Get Album Themes from + Grab Album Thumbs from allmusic.com + Artwork + Grab Album Thumbs from theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..cd1671e5a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Bulgarian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "СвалÑй миниатюри за албумите от fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "СвалÑй миниатюри за албумите от Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "СвалÑй отзиви за албумите от" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Предпочитан език" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "СвалÑй рейтинги за албумите от" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "СвалÑй Ñтилове на албумите от" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "СвалÑй наÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð·Ð° албумите от" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "СвалÑй миниатюри за албумите от allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "ИзображениÑ" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "СвалÑй миниатюри за албумите от theaudiodb.com" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Bulgarian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Bulgarian/strings.xml new file mode 100644 index 000000000..09666abeb --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Bulgarian/strings.xml @@ -0,0 +1,17 @@ + + + + + + + СвалÑй миниатюри за албумите от fanart.tv + СвалÑй миниатюри за албумите от Last.fm + СвалÑй отзиви за албумите от + Предпочитан език + СвалÑй рейтинги за албумите от + СвалÑй Ñтилове на албумите от + СвалÑй наÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð·Ð° албумите от + СвалÑй миниатюри за албумите от allmusic.com + Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ + СвалÑй миниатюри за албумите от theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Catalan/strings.po new file mode 100644 index 000000000..1995c9a03 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Catalan/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Obté les miniatures d'àlbums des de fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Obté les miniatures d'àlbums des de Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Obté l'anàlisi d'àlbums des de" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Idioma preferit" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Obté la qualificació d'àlbums des de" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Obté els estils d'àlbums des de" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Obté l'estat d'ànim dels àlbums des de" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Obté el temes dels àlbums des de" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Obté les miniatures dels àlbums des de allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Art" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Catalan/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Catalan/strings.xml new file mode 100644 index 000000000..b6e46e3a8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Catalan/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Obté les miniatures d'àlbums des de fanart.tv + Obté les miniatures d'àlbums des de Last.fm + Obté l'anàlisi d'àlbums des de + Idioma preferit + Obté la qualificació d'àlbums des de + Obté els estils d'àlbums des de + Obté l'estat d'ànim dels àlbums des de + Obté el temes dels àlbums des de + Obté les miniatures dels àlbums des de allmusic.com + Art + Agafa les miniatures dels àlbums de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..e2d165b51 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "å¯ç”¨fanart.tv专辑图片" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "å¯ç”¨Last.fm专辑图片" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "专辑评论获å–于" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr " 首选语言" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "专辑评分获å–于" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "专辑风格获å–于" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "专辑心情获å–于" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "专辑主题获å–于" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "å¯ç”¨allmusic.com专辑图片" + +msgctxt "#30009" +msgid "Artwork" +msgstr "艺术图片" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "å¯ç”¨ theaudiodb.com 专辑图片" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.xml new file mode 100644 index 000000000..832217f8e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Chinese (Simple)/strings.xml @@ -0,0 +1,18 @@ + + + + + + + å¯ç”¨fanart.tv专辑图片 + å¯ç”¨Last.fm专辑图片 + 专辑评论获å–于 + 首选语言 + 专辑评分获å–于 + 专辑风格获å–于 + 专辑心情获å–于 + 专辑主题获å–于 + å¯ç”¨allmusic.com专辑图片 + 艺术图片 + å¯ç”¨ theaudiodb.com 专辑图片 + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Czech/strings.po new file mode 100644 index 000000000..dd416df54 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Czech/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Získat náhledy alb z fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Získat náhledy alb z Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Získat recenzi alba z" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "UpÅ™ednostňovaný jazyk" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Získat hodnocení alba z" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Získat styly alba z" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Získat náladu alba z" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Získat téma alba z" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Získat náhledy alb z allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Grafika" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Czech/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Czech/strings.xml new file mode 100644 index 000000000..d5cc77cd5 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Czech/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Získat náhledy alb z fanart.tv + Získat náhledy alb z Last.fm + Získat recenzi alba z + UpÅ™ednostňovaný jazyk + Získat hodnocení alba z + Získat styly alba z + Získat náladu alba z + Získat téma alba z + Získat náhledy alb z allmusic.com + Grafika + Získat náhledy alb z theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Danish/strings.po new file mode 100644 index 000000000..3a72ef84c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Danish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Hent album miniaturebilleder fra fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Hent album miniaturebilleder fra Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Hent album anmeldelse fra" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Foretrukken sprog" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Hent album bedømmelse fra" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Hent album stilarter fra" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Hent album stemning fra" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Hent album temaer fra" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Hent album miniaturebilleder fra allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Illustrationer" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Danish/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Danish/strings.xml new file mode 100644 index 000000000..74917d034 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Danish/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Hent Miniaturebilleder til Albummer fra fanart.tv + Hent Miniaturebilleder til Albummer fra Last.fm + Hent Albumanmeldelse fra + Foretrukket Sprog + Hent Albumbedømmelse fra + Hent Albumstilarter fra + Hent Albumstemninger fra + Hent Albumtemaer fra + Hent Miniaturebilleder til Albummer fra allmusic.com + Illustrationer + Hent Miniaturebilleder til Albummer fra theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Dutch/strings.po new file mode 100644 index 000000000..da8b8fccf --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Dutch/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Voorkeurs- taal" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Dutch/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Dutch/strings.xml new file mode 100644 index 000000000..caf9f5738 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Dutch/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Haal Albumminiaturen van fanart.tv + Haal Albumminiaturen van Last.fm + Haal Albumreview van + Voorkeurstaal + Haal Albumwaardering van + Haal Albumstijlen van + Haal Albumstemmingen van + Haal Albumthema's van + Haal Albumminiaturen van allmusic.com + Artwork + Haal Albumminiaturen van theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/English/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/English/strings.po new file mode 100644 index 000000000..8a0d52e41 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/English/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "" + +msgctxt "#30009" +msgid "Artwork" +msgstr "" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/English/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/English/strings.xml new file mode 100644 index 000000000..3c1dcc6fd --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/English/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Grab Album Thumbs from fanart.tv + Grab Album Thumbs from Last.fm + Get Album Review from + Preferred Language + Get Album Rating from + Get Album Styles from + Get Album Moods from + Get Album Themes from + Grab Album Thumbs from allmusic.com + Artwork + Grab Album Thumbs from theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Estonian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Estonian/strings.xml new file mode 100644 index 000000000..407dcfe0c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Estonian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Kunst + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Finnish/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Finnish/strings.xml new file mode 100644 index 000000000..38c749d81 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Finnish/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Hae albumien pikkukuvat lähteestä fanart.tv + Hae albumien pikkukuvat lähteestä Last.fm + Hae albumien arvostelu lähteestä + Ensisijainen kieli + Hae albumien lähteestä + Hae albumien musiikkityylilajit lähteestä + Hae albumien mielentilat lähteestä + Hae albumien teemat lähteestä + Hae albumien pikkukuvat lähteestä allmusic.com + Kuvataide + Hae albumien pikkukuvat lähteestä theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/French/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/French/strings.po new file mode 100644 index 000000000..bbcbc69c8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/French/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr " Récupérer les vignettes d'albums depuis fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Récupérer les vignettes d'albums depuis Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Récupérer les critiques des album depuis " + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Langue préférée" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Récupérer les notes des albums depuis " + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Récupérer les styles des albums depuis " + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Récupérer les ambiances des albums depuis " + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Récupérer les thèmes des albums depuis " + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Récupérer les vignettes d'albums depuis allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "Récupérer les vignettes d'albums depuis theaudiodb.com" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/French/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/French/strings.xml new file mode 100644 index 000000000..3c9fe7f7d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/French/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Récupérer les vignettes d'albums depuis fanart.tv + Récupérer les vignettes d'albums depuis Last.fm + Récupérer les critiques des album depuis + Langue préférée + Récupérer les notes des albums depuis + Récupérer les styles des albums depuis + Récupérer les ambiances des albums depuis + Récupérer les thèmes des albums depuis + Récupérer les vignettes d'albums depuis allmusic.com + Artwork + Récupérer les vignettes d'albums depuis theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Galician/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Galician/strings.xml new file mode 100644 index 000000000..c5c70c984 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Galician/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Obter as miniaturas do álbum dende fanart.tv + Obter as miniaturas do álbum dende Last.fm + Obter a crítica do álbum dende + Idioma preferido + Obter a puntuación do álbum dende + Obter os estilos do álbum dende + Obter Sonoridades do Ãlbum de + Obter os temas do álbum dende + Obter as miniaturas do álbum dende allmusic.com + Ilustración + Obter as miniaturas do álbum dende theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/German/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/German/strings.po new file mode 100644 index 000000000..02b01dbfd --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/German/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Lade Albenvorschaubilder von Fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Lade Albenvorschaubilder von Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Lade Albenrezensionen von" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Bevorzugte Sprache" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Lade Albrenbewertung von" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Lade Albenstile von" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Lade Albenstimmungen von" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Lade Albenthemen von" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Lade Albenvorschaubilder von Allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Grafiken" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "Albumvorschaubilder von theaudiodb.com übernehmen" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/German/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/German/strings.xml new file mode 100644 index 000000000..31951560d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/German/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Lade Albenvorschaubilder von Fanart.tv + Lade Albenvorschaubilder von Last.fm + Lade Albenrezensionen von + Bevorzugte Sprache + Lade Albrenbewertung von + Lade Albenstile von + Lade Albenstimmungen von + Lade Albenthemen von + Lade Albenvorschaubilder von Allmusic.com + Grafiken + Albumvorschaubilder von theaudiodb.com übernehmen + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Greek/strings.po new file mode 100644 index 000000000..46df4ce0d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Greek/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "ΜικÏογÏαφίες Άλμπουμ από το fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "ΜικÏογÏαφίες Άλμπουμ από το Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "ΚÏιτική Άλμπουμ από" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "ΠÏοτιμώμενη Γλώσσα" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Αξιολόγηση Άλμπουμ από" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Στυλ Άλμπουμ από" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Διαθέσεις Άλμπουμ από" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Θέματα Άλμπουμ από" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "ΜικÏογÏαφίες Άλμπουμ από το allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Εικόνες" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "ΜικÏογÏαφίες Άλμπουμ από το theaudiodb.com" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Greek/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Greek/strings.xml new file mode 100644 index 000000000..6f19ab150 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Greek/strings.xml @@ -0,0 +1,18 @@ + + + + + + + ΜικÏογÏαφίες Άλμπουμ από fanart.tv + ΜικÏογÏαφίες Άλμπουμ από Last.fm + ΚÏιτική Άλμπουμ από + ΠÏοτιμώμενη Γλώσσα + Αξιολόγηση Άλμπουμ από + Στυλ Άλμπουμ από + Διαθέσεις Άλμπουμ από + Θέματα Άλμπουμ από + ΜικÏογÏαφίες Άλμπουμ από allmusic.com + Εικόνες + ΜικÏογÏαφίες Άλμπουμ από theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..b465fdad8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hebrew/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "משוך תמונות ××œ×‘×•× ×ž- fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "משוך תמונות ××œ×‘×•× ×ž- Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "השג סקירת ××œ×‘×•× ×ž-" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr " שפה מועדפת" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "השג דירוג ××œ×‘×•× ×ž-" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "השג סגנונות ××œ×‘×•× ×ž-" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "השג מצבי ××œ×‘×•× ×ž-" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "השג ערכות × ×•×©× ××œ×‘×•× ×ž-" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "משוך תמונות ××œ×‘×•× ×ž- allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "גרפיקה" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "משוך תמונות ××œ×‘×•× ×ž- theaudiodb.com" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hebrew/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hebrew/strings.xml new file mode 100644 index 000000000..73fc099f9 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hebrew/strings.xml @@ -0,0 +1,18 @@ + + + + + + + משוך תמונות ××œ×‘×•× ×ž- fanart.tv + משוך תמונות ××œ×‘×•× ×ž- Last.fm + השג סקירת ××œ×‘×•× ×ž- + שפה מועדפת + השג דירוג ××œ×‘×•× ×ž- + השג סגנונות ××œ×‘×•× ×ž- + השג מצבי ××œ×‘×•× ×ž- + השג ערכות × ×•×©× ××œ×‘×•× ×ž- + משוך תמונות ××œ×‘×•× ×ž- allmusic.com + גרפיקה + משוך תמונות ××œ×‘×•× ×ž- theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..3dd7aba0d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hungarian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Album miniképek letöltése a fanart.tv-rÅ‘l" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Album miniképek letöltése a Last.fm-rÅ‘l" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Album értékelése" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Használni kívánt nyelv" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Album értékelés" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Album stílus" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Album hangulatok a " + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Album témák" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Album miniképek az allmusic.com-ról" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hungarian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hungarian/strings.xml new file mode 100644 index 000000000..e12a908bf --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Hungarian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Album miniképek letöltése a fanart.tv-rÅ‘l + Album miniképek letöltése a Last.fm-rÅ‘l + Album értékelése + Használni kívánt nyelv + Album értékelés letöltése innen: + Album stílus letöltése innen: + Album hangulatok letöltése innen: + Album témák letöltése innen: + Album miniképek letöltése az allmusic.com-ról + Grafika + Album miniképek letöltése a theaudiodb.com-ról + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Icelandic/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Icelandic/strings.xml new file mode 100644 index 000000000..3629cea89 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Icelandic/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Myndskreytingar + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Italian/strings.po new file mode 100644 index 000000000..bdaa7e923 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Italian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Prendi i Provini degli Album da fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Prendi i Provini degli Album da Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Prendi Recensioni Albums da" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Lingua Preferita" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Prendi Votazioni Albums da" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Prendi Generi Musicali Albums da" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Prendi Atmosfere Albums da" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Prendi Temi Albums da" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Prendi i Provini degli Album da allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Italian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Italian/strings.xml new file mode 100644 index 000000000..7e44ebf51 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Italian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Prendi i Provini degli Album da fanart.tv + Prendi i Provini degli Album da Last.fm + Prendi Recensioni Albums da + Lingua Preferita + Prendi Votazioni Albums da + Prendi Generi Musicali Albums da + Prendi Atmosfere Albums da + Prendi Temi Albums da + Prendi i Provini degli Album da allmusic.com + Artwork + Ottieni le miniature degli album da theaudiodb.org + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Japanese/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Japanese/strings.xml new file mode 100644 index 000000000..a4e5bf8fa --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Japanese/strings.xml @@ -0,0 +1,18 @@ + + + + + + + fanart.tv ã‹ã‚‰ã‚¢ãƒ«ãƒãƒ ã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + アルãƒãƒ ã‚µãƒ ãƒãƒ¼ãƒ«ã‚’ Last.fm ã‹ã‚‰å–å¾— + アルãƒãƒ ãƒ¬ãƒ“ューã®å–å¾—å…ˆ + 優先ã™ã‚‹è¨€èªž + アルãƒãƒ è©•価ã®å–å¾—å…ˆ + アルãƒãƒ ã‚¹ã‚¿ã‚¤ãƒ«ã®å–å¾—å…ˆ + アルãƒãƒ ãƒ ãƒ¼ãƒ‰ã®å–å¾—å…ˆ + アルãƒãƒ ãƒ†ãƒ¼ãƒžã®å–å¾—å…ˆ + アルãƒãƒ ã‚µãƒ ãƒãƒ¼ãƒ«ã‚’ allmusic.com ã‹ã‚‰å–å¾— + アートワーク + アルãƒãƒ ã‚µãƒ ãƒãƒ¼ãƒ«ã‚’ theaudiodb.com ã‹ã‚‰å–å¾— + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Korean/strings.po new file mode 100644 index 000000000..73a1c954f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Korean/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "fanart.tv ì—서 앨범 커버 가져오기" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Last.fm ì—서 앨범 커버 가져오기" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "앨범 리뷰 가져오기" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "선호 언어" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "앨범 í‰ì  가져오기" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "앨범 ìŠ¤íƒ€ì¼ ê°€ì ¸ì˜¤ê¸°" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "앨범 분위기 가져오기" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "앨범 테마 가져오기" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "allmusic.com ì—서 앨범 커버 가져오기" + +msgctxt "#30009" +msgid "Artwork" +msgstr "아트워í¬" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Korean/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Korean/strings.xml new file mode 100644 index 000000000..cbf22e24b --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Korean/strings.xml @@ -0,0 +1,18 @@ + + + + + + + fanart.tv ì—서 앨범 커버 가져오기 + Last.fm ì—서 앨범 커버 가져오기 + 앨범 리뷰 가져오기 + 선호 언어 + 앨범 í‰ì  가져오기 + 앨범 ìŠ¤íƒ€ì¼ ê°€ì ¸ì˜¤ê¸° + 앨범 분위기 가져오기 + 앨범 테마 가져오기 + allmusic.com ì—서 앨범 커버 가져오기 + ì•„íŠ¸ì›Œí¬ + theaudiodb.com ì—서 앨범 커버 가져오기 + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..b9e1017cc --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Lithuanian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Paimti albumų miniatiÅ«ras iÅ¡ fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Paimti albumų miniatiÅ«ras iÅ¡ Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Gauti albumo apžvalgÄ… iÅ¡" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr " Pageidaujama kalba" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Gauti albumo reitingÄ… iÅ¡" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Gauti albumo stilių iÅ¡" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Gauti albumo žanrÄ… iÅ¡" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Gauti albumo temÄ… iÅ¡" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Paimti albumų miniatiÅ«ras iÅ¡ allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Iliustracijos" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Lithuanian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Lithuanian/strings.xml new file mode 100644 index 000000000..a30c37c26 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Lithuanian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Paimti albumų miniatiÅ«ras iÅ¡ fanart.tv + Paimti albumų miniatiÅ«ras iÅ¡ Last.fm + Gauti albumo apžvalgÄ… iÅ¡ + Pageidaujama kalba + Gauti albumo reitingÄ… iÅ¡ + Gauti albumo stilių iÅ¡ + Gauti albumo žanrÄ… iÅ¡ + Gauti albumo temÄ… iÅ¡ + Paimti albumų miniatiÅ«ras iÅ¡ allmusic.com + Iliustracijos + Paimti albumų miniatiÅ«ras iÅ¡ theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..297c3e981 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Macedonian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Грабни Сликички за Ðлбум од fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Грабни Сликички за Ðлбум од Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Грабни преглед на Ðлбум од" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "ПоÑакуван јазик" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Превземи рејтинг за албум од" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Превземи Ñтилови на албум од" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Get Album Moods from" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Превземи Теми на албуми од" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Превземи Ñликички на албуми од allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Уметнини" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Macedonian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Macedonian/strings.xml new file mode 100644 index 000000000..76b89bc37 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Macedonian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Грабни Сликички за Ðлбум од fanart.tv + Грабни Сликички за Ðлбум од Last.fm + Грабни преглед на Ðлбум од + ПоÑакуван јазик + Превземи рејтинг за албум од + Превземи Ñтилови на албум од + Get Album Moods from + Превземи Теми на албуми од + Превземи Ñликички на албуми од allmusic.com + Уметнини + Превземи Ñликички на албум од theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..dfdb771e9 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Norwegian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Hent Album Thumbs fra fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Hent Album Thumbs fra Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Hent Album Omtaler fra" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Foretrukket SprÃ¥k" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Hent Album Omtale fra" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Hent Album Stiler fra" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Hent Album Humør fra" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Hent Album Temaer fra" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Hent Album Thumbs fra allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Norwegian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Norwegian/strings.xml new file mode 100644 index 000000000..ba05dd762 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Norwegian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Hent Album Thumbs fra fanart.tv + Hent Album Thumbs fra Last.fm + Hent Album Omtaler fra + Foretrukket SprÃ¥k + Hent Album Omtale fra + Hent Album Stiler fra + Hent Album Humør fra + Hent Album Temaer fra + Hent Album Thumbs fra allmusic.com + Artwork + Hent Album Thumbs fra theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Polish/strings.po new file mode 100644 index 000000000..e542ca0fe --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Polish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Pobierz miniatury Albumu z fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Pobierz miniatury Albumu z Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Pobierz recenzje albumu z " + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Preferowany jÄ™zyk" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Pobierz ocene albumu z" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Pobierz style Albumu z" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Pobierz nastroje Albumu z" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Pobierz motywy Albumu z" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Pobierz miniatury Albumu z allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Polish/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Polish/strings.xml new file mode 100644 index 000000000..c0f49679c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Polish/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Pobierz miniatury Albumu z fanart.tv + Pobierz miniatury Albumu z Last.fm + Pobierz recenzje albumu z + Preferowany jÄ™zyk + Pobierz ocene albumu z + Pobierz style Albumu z + Pobierz nastroje Albumu z + Pobierz motywy Albumu z + Pobierz miniatury Albumu z allmusic.com + Artwork + Pobierz miniatury Albumu theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..bab8c1a27 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Pegar Miniaturas dos Ãlbuns de fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Pegar Miniaturas dos Ãlbuns do Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Pegar Review dos Ãlbuns de" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr " Linguagem Preferida" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Pegar Avaliação dos álbuns de" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Obter Estilos dos Ãlbuns de" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Obter Moods dos Ãlbuns de " + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Obter Temas dos Ãlbuns de" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Pegar Miniaturas Ãlbuns de allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese (Brazil)/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese (Brazil)/strings.xml new file mode 100644 index 000000000..10f424307 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese (Brazil)/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Pegar Miniaturas dos Ãlbuns de fanart.tv + Pegar Miniaturas dos Ãlbuns do Last.fm + Pegar Review dos Ãlbuns de + Linguagem Preferida + Pegar Avaliação dos álbuns de + Obter Estilos dos Ãlbuns de + Obter Moods dos Ãlbuns de + Obter Temas dos Ãlbuns de + Pegar Miniaturas Ãlbuns de allmusic.com + Artwork + Obter miniaturas de álbum de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..49b429851 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Obter as miniaturas do álbum de fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Obter as miniaturas do álbum de Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Obter a critica do álbum de" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Idioma preferido" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Obter a classificação do álbum de" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Obter o estilo do álbum de" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Obter Ambiências do Album de" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Obter o tema do álbum de" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Obter as miniaturas do álbum de allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "Obter miniaturas de álbum de theaudiodb.com" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese/strings.xml new file mode 100644 index 000000000..907ed4d3f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Portuguese/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Obter Miniaturas do Ãlbum de fanart.tv + Obter Miniaturas do Ãlbum de Last.fm + Obter Crítica do Ãlbum de + Idioma Preferido + Obter Classificação do Ãlbum de + Obter Estilo do Ãlbum de + Obter Sonoridades do Ãlbum de + Obter Temas do Ãlbum de + Obter Miniaturas do Ãlbum de allmusic.com + Artwork + Obter Miniaturas de Ãlbum de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Romanian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Romanian/strings.xml new file mode 100644 index 000000000..6e4e3ea2c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Romanian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Colectează pictogramele albumelor din fanart.tv + Colectează pictogramele albumelor de la Last.fm + Descarcă review-urile albumelor de la + Limba preferată + Descarcă evaluarea albumelor de la + Descarcă stilul albumelor de la + Descarcă Album Moods de la + Descarcă tema albumelor de la + Colectează pictogramele albumelor de la allmusic.com + Pictograme + Colectează pictogramele albumelor de la theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Russian/strings.po new file mode 100644 index 000000000..87a7c45fe --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Russian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Получать иконки альбома Ñ fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Получать иконки альбома Ñ Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Получать обзор альбома Ñ" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Язык предпочтениÑ" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Получать рейтинг альбома Ñ" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Получать Ñтиль альбома Ñ" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Получать направление альбома Ñ" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Получать темы альбома Ñ" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Получать иконки альбома Ñ allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Обложка" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Russian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Russian/strings.xml new file mode 100644 index 000000000..08e4feb7c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Russian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Получать иконки альбома Ñ fanart.tv + Получать иконки альбома Ñ Last.fm + Получать обзор альбома Ñ + Язык Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ + Получать рейтинг альбома Ñ + Получать Ñтиль альбома Ñ + Получать направление альбома Ñ + Получать темы альбома Ñ + Получать иконки альбома Ñ allmusic.com + Обложка + Получать иконки альбома Ñ theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovak/strings.po new file mode 100644 index 000000000..4d0b0706d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovak/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "ZískaÅ¥ náhľady albumu zo stránky fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "ZískaÅ¥ náhľady albumu zo stránky Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "ZískaÅ¥ recenziu na album zo stránky" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Uprednostňovaný jazyk" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "ZískaÅ¥ hodnotenie albumu zo stránky" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "ZískaÅ¥ Å¡týly albumu zo stránky" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "ZískaÅ¥ náladu albumu zo stránky" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "ZískaÅ¥ motívy albumu zo stránky" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "ZískaÅ¥ náhľady albumu zo stránky allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Umelecká grafika" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovak/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovak/strings.xml new file mode 100644 index 000000000..15306333f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovak/strings.xml @@ -0,0 +1,18 @@ + + + + + + + ZískaÅ¥ náhľady albumu zo stránky fanart.tv + ZískaÅ¥ náhľady albumu zo stránky Last.fm + ZískaÅ¥ recenziu na album zo stránky + Uprednostňovaný jazyk + ZískaÅ¥ hodnotenie albumu zo stránky + ZískaÅ¥ Å¡týly albumu zo stránky + ZískaÅ¥ náladu albumu zo stránky + ZískaÅ¥ motívy albumu zo stránky + ZískaÅ¥ náhľady albumu zo stránky allmusic.com + Umelecká grafika + ZískaÅ¥ náhľady albumov zo stránky theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovenian/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovenian/strings.xml new file mode 100644 index 000000000..bae33686b --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Slovenian/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Prenesi sliÄice albumov s fanart.tv + Prenesi sliÄice albumov z Last.fm + Prenesi recenzije albuma z + Privzet jezik + Prenesi ocene albuma z + Prenesi stil albuma z + Prenesi razpoloženja albuma z + Prenesi teme albuma z + Prenesi sliÄice albumov z allmusic.com + Grafike + Prenesi sliÄice albumov z allmusic.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..a22e3a238 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Obtener Miniaturas de Ãlbum de fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Obtener Miniaturas de Ãlbum de Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Obtener Reseña del Ãlbum de" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Idioma Preferido" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Obtener Calificación del Ãlbum de " + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Obtener Estilos del Ãlbum de" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Obtener Estados de Ãnimo del Ãlbum de" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Obtener Temas del Ãlbum de" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Conseguir Miniaturas de Ãlbum de allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Imágenes" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Argentina)/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Argentina)/strings.xml new file mode 100644 index 000000000..8791afda2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Argentina)/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Obtener Miniaturas de Ãlbum de fanart.tv + Obtener Miniaturas de Ãlbum de Last.fm + Obtener Reseña del Ãlbum de + Idioma Preferido + Obtener Calificación del Ãlbum de + Obtener Estilos del Ãlbum de + Obtener Estados de Ãnimo del Ãlbum de + Obtener Temas del Ãlbum de + Conseguir Miniaturas de Ãlbum de allmusic.com + Imágenes + Descargar miniaturas de álbum de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..e1f311b99 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Obtener Miniaturas de Ãlbumes de fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Obtener Miniaturas de Ãlbumes de Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Obtener Reviews de Ãlbumes de" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Lenguaje Preferido" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Obtener Ratings de Ãlbumes de" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Obtener Estilos de Ãlbumes de" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Obtener Atmósfera de Ãlbumes de" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Obtener Temas de Ãlbumes de" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Obtener Miniaturas de Ãlbumes de allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Artwork" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Mexico)/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Mexico)/strings.xml new file mode 100644 index 000000000..5cf74ec0d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish (Mexico)/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Obtener Miniaturas de Ãlbumes de fanart.tv + Obtener Miniaturas de Ãlbumes de Last.fm + Obtener Reviews de Ãlbumes de + Lenguaje Preferido + Obtener Ratings de Ãlbumes de + Obtener Estilos de Ãlbumes de + Obtener Atmósfera de Ãlbumes de + Obtener Temas de Ãlbumes de + Obtener Miniaturas de Ãlbumes de allmusic.com + Artwork + Vistas de álbum desde theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish/strings.po new file mode 100644 index 000000000..a418921e2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Obtener miniaturas de álbum de fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Obtener miniaturas de álbum de Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Obtener reseña del álbum de" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Idioma preferido" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Obtener calificación del álbum de " + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Obtener estilos del álbum de" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Obtener estados de ánimo del álbum de" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Obtener temas del álbum de" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Conseguir miniaturas de álbum de allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Imágenes" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish/strings.xml new file mode 100644 index 000000000..cae85a250 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Spanish/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Obtener miniaturas de álbum de fanart.tv + Obtener miniaturas de álbum de Last.fm + Obtener reseña del álbum de + Idioma preferido + Obtener calificación del álbum de + Obtener estilos del álbum de + Obtener estados de ánimo del álbum de + Obtener temas del álbum de + Conseguir miniaturas de álbum de allmusic.com + Imágenes + Descargar miniaturas de álbum desde theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Swedish/strings.po new file mode 100644 index 000000000..ed20b3da7 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Swedish/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: Universal Album Scraper +# Addon id: metadata.album.universal +# Addon version: 1.6.0 +# Addon Provider: Olympia, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Grab Album Thumbs from fanart.tv" +msgstr "Hämta albumminiatyrer frÃ¥n fanart.tv" + +msgctxt "#30001" +msgid "Grab Album Thumbs from Last.fm" +msgstr "Hämta albumminiatyrer frÃ¥n Last.fm" + +msgctxt "#30002" +msgid "Get Album Review from" +msgstr "Hämta albumrecensioner frÃ¥n" + +msgctxt "#30003" +msgid " Preferred Language" +msgstr "Föredraget sprÃ¥k" + +msgctxt "#30004" +msgid "Get Album Rating from" +msgstr "Hämta albumbetyg frÃ¥n" + +msgctxt "#30005" +msgid "Get Album Styles from" +msgstr "Hämta albumstilar frÃ¥n" + +msgctxt "#30006" +msgid "Get Album Moods from" +msgstr "Hämta albumstämningar frÃ¥n" + +msgctxt "#30007" +msgid "Get Album Themes from" +msgstr "Hämta albumteman frÃ¥n" + +msgctxt "#30008" +msgid "Grab Album Thumbs from allmusic.com" +msgstr "Hämta albumminiatyrer frÃ¥n allmusic.com" + +msgctxt "#30009" +msgid "Artwork" +msgstr "Konstverk" + +msgctxt "#30010" +msgid "Grab Album Thumbs from theaudiodb.com" +msgstr "Hämta albumminiatyrer frÃ¥n theaudiodb.com" diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Swedish/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Swedish/strings.xml new file mode 100644 index 000000000..e491aef6a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Swedish/strings.xml @@ -0,0 +1,18 @@ + + + + + + + Hämta albumminiatyrer frÃ¥n fanart.tv + Hämta albumminiatyrer frÃ¥n Last.fm + Hämta albumrecensioner frÃ¥n + Föredraget sprÃ¥k + Hämta albumbetyg frÃ¥n + Hämta albumstilar frÃ¥n + Hämta albumstämningar frÃ¥n + Hämta albumteman frÃ¥n + Hämta albumminiatyrer frÃ¥n allmusic.com + Konstverk + Hämta albumminiatyrer frÃ¥n theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Thai/strings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Thai/strings.xml new file mode 100644 index 000000000..2652744cf --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/language/Thai/strings.xml @@ -0,0 +1,8 @@ + + + + + + + อาร์ตเวิร์ค + diff --git a/usr/local/share/xbmc/addons/metadata.album.universal/resources/settings.xml b/usr/local/share/xbmc/addons/metadata.album.universal/resources/settings.xml new file mode 100644 index 000000000..b77bc7269 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.album.universal/resources/settings.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/addon.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/addon.xml new file mode 100644 index 000000000..2fe29b9a8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/addon.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + Universal Skraper vir Kunstenaars + Universal Scraper for Artists + УниверÑален източник за Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° артиÑти + Arreplegador universal per artistes + Univerzální zdroj získávání dat pro umÄ›lce + Universel Scraper til Kunstnere + Universal Scraper für Interpreten + Universal Scraper Καλλιτεχνών + Universal Scraper for Artists + Scraper universal para artistas + Scraper Universal para Artistas + Scraper Universal de Artistas + Universaali artistien tiedonhakija + Collecteur universel d'artistes + Scraper Universal para Artistas + Universa סקרייפר ××ž× ×™× + Univerzális elÅ‘adó leolvasó + Scraper universale degli artisti + 汎用アーティストスクレーパー + Universal Scraper for Artists + Universalus Artistų Scrapers + Universal Scraper for Artists + Universele scraper voor artiesten + Universal Scraper dla Artystów muzycznych + Scraper universal para Artistas + Scraper Universal para Artistas + Scraper universal pentru artisti + УниверÑальный Ñкрапер Ð´Ð»Ñ Ð¸Ñполнителей + Univerzálny zdroj získavania dát pre umelcov + Univerzalen ponudnik informacij o izvajalcih + Universiell artistskrapa + 通用艺术家信æ¯åˆ®å‰Šå™¨ + Hierdie skraper versamel informasie van die volgende ondersteunde werwe: TheAudioDb.com, MusicBrainz, last.fm, en allmusic.com, terwyl kunswerke gryp van: fanart.tv, htbackdrops.com, last.fm en allmusic.com. Dit kan veld vir veld gestel word vanaf watter werf jy die spesifike informasie wil hê. Die aanvanklike soektog word altyd op MusicBrainz gedoen. Ingeval die allmusic skakel nie bygevoeg is op die MusicBrainz werf, kan velde van allmusic.com nie gaan haal word nie (egter baie maklik om daardie ontbrekende skakels by te voeg). + This scraper collects information from the following supported sites: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information. The initial search is always done on MusicBrainz. In case allmusic link is not added on the MusicBrainz site fields from allmusic.com cannot be fetched (very easy to add those missing links though). + Ð¡Ð²Ð°Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ Ñледните Ñайтове: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com. Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð½Ð¸Ñ Ð¸Ð·Ð²Ð»Ð¸Ñ‡Ð° от: fanart.tv, htbackdrops.com, last.fm and allmusic.com. Можете да определите от кой Ñайт каква Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð´Ð° Ñе ÑвалÑ. Първоначалното търÑене винаги Ñе прави в MusicBrainz. Когато не е налична препратка към allmusic.com на Ñайта на MusicBrainz извличането на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ allmusic.com Ñтава невъзможно (добавÑнето на препратка е много леÑно). + Aquest arreplegador recull informació dels següents llocs suportats + Tento zdroj dat získává informace z následujících podporovaných stránek: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm a allmusic.com. Lze nastavit jakou informaci stahovat z jakých stránek. Základní hledání je vždy provedeno na MusicBrainz. V případÄ›, že schází odkaz allmusic na stránce MusicBrains, nelze stáhnout informace z allmusic.com (avÅ¡ak je velmi snadné chybÄ›jící odkazy pÅ™idat). + Denne scraper samler information fra følgende sider: TheAudioDb.com, MusicBrainz, last.fm, og allmusic.com, og henter illustrationer fra: fanart.tv, htbackdrops.com, last.fm og allmusic.com. Det kan vælges felt for felt, fra hvilke sider du ønsker, at fÃ¥ de pÃ¥gældende informationer fra. Den første søgning er altid pÃ¥ MusicBrainz. Hvis ikke allmusic linket er tilføjet pÃ¥ MusicBrainz side, kan felter fra allmusic.com ikke hentes (men det er helt enkelt at tilføje de manglende links). + Dieser Scraper unterstützt das Sammeln von Informationen von den folgenden Seiten: TheAudioDb.com, MusicBrainz, last.fm, und allmusic.com, Grafiken werden geladen von: fanart.tv, htbackdrops.com, last.fm und allmusic.com. Es kann Feld für Feld festgelegt werden welche Information von welcher Seite geladen werden soll. Die erste Suche wird immer auf MusicBrainz durchgeführt. Sollte der allmusic link auf der MusicBrainz Seite fehlen, können keine Informationen von allmusic geladen werden. (diese fehlenden links können sehr leicht nachgetragen werden). + Αυτό το scraper συλλέγει πληÏοφοÏίες από τις ακόλουθες υποστηÏιζόμενες ιστοσελίδες: TheAudioDb.com, MusicBrainz, last.fm και allmusic.com, ενώ λαμβάνει εικόνες από τα: fanart.tv, htbackdrops.com, last.fm και allmusic.com. ΜποÏεί να οÏιστεί πεδίο ανά πεδίο αναλόγως των πληÏοφοÏιών που επιθυμείτε από την εκάστοτε ιστοσελίδα. Η αÏχική αναζήτηση γίνεται πάντα στο MusicBrainz. Σε πεÏίπτωση που δεν έχουν Ï€Ïοστεθεί σÏνδεσμοι για το allmusic στο MusicBrainz, δε θα μποÏοÏν να ληφθοÏν πεδία από το allmusic.com (ωστόσο είναι Ï€Î¿Î»Ï ÎµÏκολο να Ï€ÏοστεθοÏν αυτοί οι ελλιπείς σÏνδεσμοι). + This scraper collects information from the following supported sites: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information. The initial search is always done on MusicBrainz. In case allmusic link is not added on the MusicBrainz site fields from allmusic.com cannot be fetched (very easy to add those missing links though). + Este scraper recopila información de las siguientes webs: TheAudioDb.com, MusicBrainz, last.fm y allmusic.com, mientras obtiene las imágenes de fanart.tv, htbackdrops.com, last.fm y allmusic.com. Permite especificar de qué web se quiere obtener la información específica. ⎠⎠La búsqueda inicial se realiza siempre en MusicBrainz. En caso de que los enlaces a allmusic no estén añadidos en la web de MusicBrainz, no se podrán obtener los campos de información de este sitio (aunque es muy fácil añadir esos enlaces que faltan). + Este scraper recopila información de las siguientes webs: TheAudioDb.com, MusicBrainz, last.fm y allmusic.com, mientras que obtiene las imágenes de fanart.tv, htbackdrops.com, last.fm y allmusic.com. Permite especificar de qué web se quiere obtener la información específica. ⎠⎠La búsqueda inicial se realiza siempre en MusicBrainz. En caso de que los enlaces a allmusic no estén añadidos en la web de MusicBrainz, no se podrán obtener los campos de información de este sitio (aunque es muy fácil añadir esos enlaces que faltan). + Este scraper obtiene información de los siguientes sitios soportados: TheAudioDb.com, MusicBrainz, last.fm y allmusic.com, mientras obtiene artwork de: fanart.tv, htbackdrops.com, last.fm y allmusic.com. Puede ser configurado campo por campo de que sitio quieres esa información específica.⎠⎠La búsqueda inicial siempre es hecha en MusicBrainz. En el caso en que los enlaces de allmusic no son agregados en el sitio de MusicBrainz, campos de allmusic.com no pueden ser obtenidos. (De cualquier manera es muy fácil agregar esos enlaces no encontrados). + Tämä tiedonhakija käyttää tietolähteinään seuraavia sivustoja: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com. Kuvat ja grafiikat haetaan seuraavilta sivustoilta: fanart.tv, htbackdrops.com, last.fm and allmusic.com. Voit määrittää tarkasti, miltä sivustoilta mitäkin tietoa haetaan. Ensimmäinen haku tehdään aina lähteestä MusicBrainz. Mikäli allmusic-linkkiä ei ole lisätty MusicBrainz-sivustolle allmusic.com-osoitteessa, haku ei onnistu (mutta puuttuvien linkkien lisääminen on helppoa). + Ce collecteur répertorie les informations des sites suivants : TheAudioDb.com, MusicBrainz, Last.fm et allmusic.com tout en assemblant les illustrations depuis : fanart.tv, htbackdrops.com, last.fm et allmusic.com. Vous pouvez définir la source d'information pour chaque champ. La recherche initiale est toujours faite à partir de MusicBrainz. xxxxxxxx (en attente du retour de l'équipe xbmc) xxxxxxxxxxx + Este scraper recolle información dos seguintes sitios: TheAudioDb.com, MusicBrainz, last.fm e allmusic.com, mentres que, obtén as imaxes de: fanart.tv, htbackdrops.com, last.fm e allmusic.com. Pode definir en cada campo o sitio de onde quere obter a información. A busca inicial é feita sempre no MusicBrainz, no caso de que a ligazón a allmusic non se teña engadido nos campos do sítio MusicBrainz dende allmusic.com, non se poderán obter (aínda que, é moi doado engadir as ligazóns que faltan). + סקרייפר ×–×” ×וסף מידע מהת××¨×™× ×”× ×ª×ž×›×™× ×”×‘××™×: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, בעוד שמשיכת גרפיקה נעשית דרך: fanart.tv, htbackdrops.com, last.fm and allmusic.com. יש ×פשרות להגדיר ×ת ×–×ת שדה ×חר שדה מ××™×–×” ×תר ברצונך למשוך ×ת המידע הספציפי.⎠⎠החיפוש הפנימי נעשה תמיד דרך MusicBrainz. במקרה שקישור allmusic ×œ× ×”×ª×•×•×¡×£ ב×תר MusicBrainz, השדות מ×ת allmusic.com ×ינן יכולות להימשך (למרות שזה מ×וד קל להוסיף ×ת ×”×§×™×©×•×¨×™× ×”×¨×™×§×™×). + Ez a leolvasó a következÅ‘ weboldalakról gyűjti be az adatokat: TheAudioDb.com, MusicBrainz, last.fm és allmusic.com, míg képeket a következÅ‘ oldalakról gyűjt: fanart.tv, htbackdrops.com, last.fm és allmusic.com. Egyenként beállítható, hogy az adott mezÅ‘t melyik weboldalról töltse fel⎠⎠A kiinduló keresés mindig a MusicBrainz. Amennyiben az allmusic utalás nincs hozzáadva MusicBrainz oldalhoz, a mezÅ‘k nem tölthetÅ‘k le az allmusic.com oldalról (a hiányzó utalások hozzáadása azonban nagyon egyszerű). + Lo scraper colleziona informazioni da questi siti supportati: TheAudioDb.com, MusicBrainz, last.fm, e allmusic.com, mentre ottiene le grafiche da: fanart.tv, htbackdrops.com, last.fm e allmusic.com. Può essere impostato campo per campo da quale sito vuoi la specifica informazione. La ricerca iniziale è sempre fatta su MusicBrainz. Nel caso che il link allmusic non è stato aggiunto al campo del sito MusicBrainz da allmusic.com; non possono essere ottenute (è comunque veramente facile aggiungere questi link mancanti). + ã“ã®ã‚¹ã‚¯ãƒ¬ãƒ¼ãƒ‘ーã¯ã€ä»¥ä¸‹ã®ã‚µã‚¤ãƒˆã‹ã‚‰æƒ…報をå–å¾—ã—ã¾ã™ï¼šTheAudioDb.com, MusicBrainz, last.fm, allmusic.com。アートワークã¯ä»¥ä¸‹ã®ã‚µã‚¤ãƒˆã‹ã‚‰å–å¾—ã—ã¾ã™ï¼šfanart.tv, htbackdrops.com, last.fm, allmusic.com。å„フィールドã”ã¨ã«ã€ã©ã®æƒ…報をã©ã®ã‚µã‚¤ãƒˆã‹ã‚‰å–å¾—ã™ã‚‹ã‹ã€å€‹åˆ¥ã«æŒ‡å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ 最åˆã¯ MusicBrainz を使ã£ã¦æ¤œç´¢ãŒè¡Œã‚れã¾ã™ã€‚MusicBrainz サイト㫠allmusic ã®ãƒªãƒ³ã‚¯ãŒè¿½åŠ ã•れã¦ã„ãªã„å ´åˆã¯ã€allmusic.com ã‹ã‚‰ã®ãƒ•ィールドã¯å–å¾—ã§ãã¾ã›ã‚“ (リンクを追加ã™ã‚‹ã®ã¯ç°¡å˜ã§ã™ãŒ)。 + This scraper collects information from the following supported sites: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information. The initial search is always done on MusicBrainz. In case allmusic link is not added on the MusicBrainz site fields from allmusic.com cannot be fetched (very easy to add those missing links though). + Å is Scrapers renka informacijÄ… iÅ¡ Å¡ių palaikomų svetainių: TheAudioDb.com, MusicBrainz, last.fm, ir allmusic.com, ir atsiunÄia meno kÅ«rinius iÅ¡: fanart.tv, htbackdrops.com, last.fm ir allmusic.com. Jis gali bÅ«ti nustatyti lauko srityje, kurioje svetainÄ—je norite, kad konkreÄiu atveju pradinÄ— informacijos pradinis paieÅ¡ka visada bus atlikta remiantis MusicBrainz. Allmusic nuoroda įdÄ—ta į MusicBrainz vietoje laukų allmusic.com negali bÅ«ti (nors tas trÅ«kstamas grandis labai lengva įtraukti). + This scraper collects information from the following supported sites: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, while grabs artwork from: fanart.tv, htbackdrops.com, last.fm and allmusic.com. It can be set field by field that from which site you want that specific information. The initial search is always done on MusicBrainz. In case allmusic link is not added on the MusicBrainz site fields from allmusic.com cannot be fetched (very easy to add those missing links though). + Deze scraper verzamelt informatie van de volgende ondersteunde websites: TheAudioDb.com, MusicBrainz, last.fm, en allmusic.com en tevens pakt hij afbeeldingen van fanart.tv, htbackdrops.com, last.fm en allmusic.com. Het is mogelijk om per veld aan te geven van welke website je de specifieke informatie wil halen. De initiële zoekopdracht wordt altijd uitgevoerd op MusicBrainz. Wanneer de allmusic link niet is toegevoegd in de juiste velden op de MusicBrainz website kan de informatie van allmusic.com niet worden opgehaald. (Het is erg makkelijk om deze ontbrekende links toe te voegen.) + Ten scraper zbiera informacje z nastÄ™pujÄ…cych stron: TheAudioDb.com, MusicBrainz, last.fm, and allmusic.com, a grafiki pobiera z: + Este scraper recolhe informações dos seguintes sítios: TheAudioDb.com, MusicBrainz, last.fm e allmusic.com, enquanto obtém artwork de: fanart.tv, htbackdrops.com, last.fm e allmusic.com. Pode definir em cada campo o sítio de onde quer obter as informações.⎠⎠A pesquisa inicial é sempre feita no MusicBrainz. Caso uma ligação allmusic não tenha sido adicionada no sítio MusicBrainz, os campos do allmusic.com não serão obtidos (no entanto, é muito fácil adicionar os links em falta). + Este scraper coleta informações nos seguintes sites: MusicBrainz, last.fm, allmusic.com e amazon.de, enquanto pega os artwork de: fanart.tv, last.fm and allmusic.com. O Mesmo pode ser configurara campo a campo em que site você quer obter informações específicas. A procura inicial é sempre feita no MusicBrainz. No caso allmusic e/ou amazon.de não terem sido adicionados no site MusicBrainz, campos de allmusic.com e/ou amazona.de não serão buscados (embora seja muito fácil adicionar os links faltantes). + Acest scraper colectează informaÈ›ii de la următoarele site-uri suportate: TheAudioDb.com, MusicBrainz, last.fm, È™i allmusic.com, È™i opere de artă de la: fanart.tv, htbackdrops.com, last.fm È™i allmusic.com. Poate fi setat câmp cu câmp de pe care site-ul doriÈ›i informaÈ›ii specifice ⎠⎠căutarea iniÈ›ială se face întotdeauna face pe MusicBrainz.. ÃŽn cazul în care link-ul Allmusic nu este adăugat la MusicBrainz, allmusic.com nu poate fi folosit (însă este relativ uÈ™or să adăugaÈ›i aceste link-uri lipsă). + Этот Ñкрапер Ñобирает информацию Ñо Ñледующих Ñайтов: TheAudioDb.com, MusicBrainz, last.fm и allmusic.com, при Ñтом Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ Ð¾Ð±Ð»Ð¾Ð¶ÐºÐ¸ Ñ: fanart.tv, htbackdrops.com, last.fm и allmusic.com. Каждое поле может быть наÑтроено Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¹ информации Ñ Ð¶ÐµÐ»Ð°ÐµÐ¼Ð¾Ð³Ð¾ вами Ñайта.⎠⎠Первичный поиÑк вÑегда производитÑÑ Ð½Ð° MusicBrainz. ЕÑли линк Ð´Ð»Ñ allmusic не добавлен на Ñайте MusicBrainz, то Ð¿Ð¾Ð»Ñ Ñ allmusic.com не могут быть заполнены (добавить отÑутÑтвующие ÑÑылки очень легко). + Tento zdroj získavania dát zbiera infomácie z nasledujúcich podporovaných stránok: TheAudioDb.com, MusicBrainz, last.fm a allmusic.com. Grafiku získava zo stránok: fanart.tv, htbackdrops.com, last.fm a allmusic.com. Je možné podrobne nastaviÅ¥, z ktorej stránky chcete získaÅ¥ konkrétne informácie. PoÄiatoÄné hľadanie je vždy na stránke MusicBrainz. V prípade, že odkaz pre allmusic nie je pridaný na stránku MusicBrainz, nie je možné získaÅ¥ údaje zo stránky allmusic.com (je ale veľmi jednoduché tieto chýbajúce odkazy pridaÅ¥). + Ta ponudnik združuje informacije s sledeÄih strani: TheAudioDb.com, MusicBrainz, last.fm in allmusic.com; grafike prenaÅ¡a z: fanart.tv, htbackdrops.com, last.fm in allmusic.com. Vsako informacijo lahko prenesete z razliÄne strani. ZaÄeno iskanje je vedn na MusicBrainz. V primeru, da na MusicBrainz ni povezave do allmusic.com, informacij od tam ne morete prenesti (a to težavo hitro lahko odpravite). + Denna skrapa samlar information frÃ¥n följande sajter: TheAudioDb.com, MusicBrainz, last.fm och allmusic.com, medans den samlar konstverk frÃ¥n: fanart.tv, htbackdrops.com, last.fm och allmusic.com. Du kan ange fält för fält frÃ¥n vilken sajt du vill ha den specifika inforamtionen frÃ¥n. Den initiala sökningen är alltid gjord pÃ¥ MusicBrainz. Om inte allmusic.com länken läggs till pÃ¥ MusicBrainz sajten, kan inte fält frÃ¥n allmusic.com hämtas (väldigt enkelt att lägga till dom saknade länkarna dock). + 本刮削器支æŒä»Žä»¥ä¸‹ç½‘站获å–ä¿¡æ¯ï¼šTheAudioDb.comã€MusicBrainzã€last.fmå’Œallmusic.com,并从以下网站获å–艺术图片:fanart.tvã€htbackdrops.comã€last.fmå’Œallmusic.com。你å¯ä»¥æŒ‡å®šæ¯ä¸€é¡¹å†…å®¹çš„æ¥æºç½‘站。 åˆå§‹ç»“果总是先从MusicBrainz获å–,如果MusicBrainz网站未加入到allmusic的外部链接,则无法获å–allmusic.com的信æ¯ï¼ˆå½“然你能很容易地加入缺失的链接)。 + all + + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/artistuniversal.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/artistuniversal.xml new file mode 100644 index 000000000..ea4c51435 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/artistuniversal.xml @@ -0,0 +1,161 @@ + + + + + http://musicbrainz.org/artist/(.+) + + + + + + (.+) + + + (.+)(?:Ft%2e|Feat%2e|%20Ft\.|%20Feat\.|%20and%20) + + + (.+) + + + + + + + + artist id="([^"]*)"(?:\stype="[^"]*")* ext:score="[^"]*"><name>([^<]*)</name>(<sort-name>[^<]*</sort-name>)?(<gender>[^<]*</gender>)?(<country>[^<]*</country>)?(<disambiguation>([^<]*))? + + + artist ext:score="[^"]*"(?:\stype="[^"]*")* id="([^"]*)"><name>([^<]*)</name>(<sort-name>[^<]*</sort-name>)?(<gender>[^<]*</gender>)?(<country>[^<]*</country>)?(<disambiguation>([^<]*))? + + + (.+) + + + + + + + + + <artist(?:\stype="[^"]*")* id="([^"]*)"><name>([^<]*) + + + + ><relation type="allmusic"><target>http://(www.)?allmusic.com/artist/([^<]*) + + + <artist(?:\stype="[^"]*")* id="[^"]*"><name>([^<]*) + + + + + + + + + + + + + + + + + + + + + + + + (.+) + + + ^$ + + + MusicBrainz + + + MusicBrainz + + + last.fm + + + last.fm + + + last.fm + + + last.fm + + + TheAudioDb.com + + + + + + + + + + + + + + + allmusic.com + + + allmusic.com + + + allmusic.com + + + allmusic.com + + + allmusic.com + + + allmusic.com + + + allmusic.com + + + + + + + + + + + + last.fm + + + last.fm + + + MusicBrainz + + + last.fm + + + last.fm + + + MusicBrainz + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/changelog.txt b/usr/local/share/xbmc/addons/metadata.artists.universal/changelog.txt new file mode 100644 index 000000000..e51222cb4 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/changelog.txt @@ -0,0 +1,85 @@ +[B]2.4.3[/B] +Disable last.fm options because last.fm suspended XBMC's API account + +[B]2.4.2[/B] +Updated language files from Transifex + +[B]2.4.1[/B] +Updated language files from Transifex + +[B]2.4.0[/B] +Re-enable fanart.tv scraping by default + +[B]2.3.0[/B] +Added: Scraping artist thumbs and fanarts from theaudiodb.com + +[B]2.2.0[/B] +Added back fanart.tv scraping via JSON API. Still off by default. + +[B]2.1.9[/B] +Temporarily disable fanarttv.com scraping due to site load issues + +[B]2.1.8[/B] +Fixed: Scraper now works with both API layouts + +[B]2.1.7[/B] +Added: Chinese translation + +[B]2.1.6[/B] +Fixed: MusicBrainz reverted back previous API layout changes so scraper needs to be reverted too + +[B]2.1.5[/B] +Fixed: Broken search after API result layout changes + +[B]2.1.4[/B] +Added: correctly populate the artist name into MusicInfoArtist + +[B]2.1.3[/B] +Fixed: fallback from last.fm + +[B]2.1.2[/B] +Changed: Loosen up search results + +[B]2.1.1[/B] +Tuned: Artist Splitter + +[B]2.1.0[/B] +Added: scraping Biography from TheAudioDb.com + +[B]2.0.6[/B] +Fixed: accommodate new Frodo style URL encoding + +[B]2.0.5[/B] +Removed: '&' sign from artist splitter + +[B]2.0.4[/B] +Improved: further improve search results for artists with almost no data + +[B]2.0.3[/B] +Improved: search results are now return artists with almost no data + +[B]2.0.2[/B] +Fixed: artists won't find with 'and' in their name + +[B]2.0.1[/B] +Fixed: potential crashes due to infinite loop + +[B]2.0.0[/B] +Added: Fallback per field +Added: scraping in case of multiple artists (feat., ft., &, and) +Added: other improvements + +[B]1.2.1[/B] +Added: Enable all source for artwork by default + +[B]1.2.0[/B] +Added: extra options for Artist Biography + +[B]1.1.1[/B] +Added: handling of new format of allmusic link + +[B]1.1.0[/B] +Added: language setting for last.fm artist biography + +[B]1.0.0[/B] +Initial version \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/icon.png b/usr/local/share/xbmc/addons/metadata.artists.universal/icon.png new file mode 100644 index 000000000..7c3d600df Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.artists.universal/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Afrikaans/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Afrikaans/strings.xml new file mode 100644 index 000000000..59b221105 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Afrikaans/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Stel Kunstenaar Ondersteunerkuns vanaf HTBackdrops.com in staat + Stel Kunstenaar Duimnaelsketse vanaf allmusic.com in staat + Stel Kunstenaar Duimnaelsketse vanaf last.fm in staat + Stel Kunstenaar Duinnaelsketse vanaf HTBackdrops.com in staat + Stel Kunstenaar Ondersteunerkuns vanaf fanart.tv in staat + Stel Kunstenaar Duimnaelsketse vanaf fanart.tv in staat + Kry Kunstenaar Biografie vanaf + Kunswerk + Kry Kunstenaar Diskografie vanaf + Kry Kunstenaar Genres vanaf + Kry Kunstenaar Style vanaf + Kry Kunstenaar Lewensduur vanaf + Kry Kunstenaar Stemming vanaf + Kry Kunstenaar Aktiewe Jare vanaf + Verkose Taal + Val terug na Kunstenaar Biografie vanaf + Val terug na Kunstenaar Diskografie vanaf + Val terug na Kunstenaar Genres vanaf + Val terug na Kunstenaar Style vanaf + Val terug na Kunstenaar Lewensduur vanaf + Terugval Opsies + Stel Kunstenaar Duimnaelsketse vanaf theaudiodb.com in staat + Stel Kunstenaar Ondersteunerkuns vanaf theaudiodb.com in staat + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Belarusian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Belarusian/strings.xml new file mode 100644 index 000000000..a9c668251 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Belarusian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Enable Artist Fanarts from HTBackdrops.com + Enable Artist Thumbs from allmusic.com + Enable Artist Thumbs from last.fm + Enable Artist Thumbs from HTBackdrops.com + Enable Artist Fanarts from fanart.tv + Enable Artist Thumbs from fanart.tv + Get Artist Biography from + Artwork + Get Artist Discography from + Get Artist Genres from + Get Artist Styles from + Get Artist Life-Span from + Get Artist Moods from + Get Artist Years Active from + ÐŸÐµÑ€Ð°Ð²Ð°Ð¶Ð½Ð°Ñ Ð¼Ð¾Ð²Ð° + Fallback to Artist Biography from + Fallback to Artist Discography from + Fallback to Artist Genres from + Fallback to Artist Styles from + Fallback to Artist Life-Span from + Fallbacks + Enable Artist Thumbs from theaudiodb.com + Enable Artist Fanarts from theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Bulgarian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Bulgarian/strings.xml new file mode 100644 index 000000000..fa2d262a2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Bulgarian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Разреши ползването на Fanarts за артиÑти от HTBackdrops.com + Разреши ползването на миниатюри за артиÑти от allmusic.com + Разреши ползването на миниатюри за артиÑти от last.fm + Разреши ползването на миниатюри за артиÑти от HTBackdrops.com + Разреши ползването на Fanarts за артиÑти от fanart.tv + Разреши ползването на миниатюри за артиÑти от fanart.tv + СвалÑй биографии на артиÑтите от + Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ + СвалÑй диÑкографии на артиÑтите от + СвалÑй жанрове на артиÑтите от + СвалÑй Ñтилове на артиÑтите от + СвалÑй инф. за продължителноÑтта на живота от + СвалÑй наÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð·Ð° артиÑтите от + СвалÑй инф. за годините на активноÑÑ‚ от + Предпочитан език + Ðлтернатива за биографии на артиÑтите + Ðлтернатива за диÑкографии на артиÑтите + Ðлтернатива за жанрове на артиÑтите + Ðлтернатива за Ñтилове на артиÑтите + Ðлтернатива за продължителноÑтта на живота + Ðлтернативни източници + Разреши ползването на миниатюри за артиÑти от theaudiodb.com + Разреши ползването на Fanarts за артиÑти от theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Catalan/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Catalan/strings.xml new file mode 100644 index 000000000..9f39a1702 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Catalan/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Activa fanarts d'artistes de HTBackdrops.com + Activa miniatures d'artistes de allmusic.com + Activa miniatures d'artistes de last.fm + Activa miniatures d'artistes de HTBackdrops.com + Activa fanarts d'artistes de fanart.tv + Activa miniatures d'artistes de fanart.tv + Obté la biografia de l'artista de + Art + Obté la discografia de l'artista de + Obté els géneres de l'artista de + Obté els estils de l'artista de + Obté la vida útil de l'artista de + Obté els estats d'ànim de l'artista de + Obté els anys actius de l'artista de + Idioma preferit + Recau a biografia d'artista des de + Recau a discografia d'artista des de + Recau a gèneres d'artista des de + Recau a estils d'artista des de + Recau a vida útil de l'artista des de + Alternatius + Activa les miniatures dels artistes de theaudiodb.com + Activa els fanarts de l'artista de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Chinese (Simple)/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Chinese (Simple)/strings.xml new file mode 100644 index 000000000..63a85400a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Chinese (Simple)/strings.xml @@ -0,0 +1,30 @@ + + + + + + + å¯ç”¨HTBackdrops.com艺人åŒäººç”» + å¯ç”¨allmusic.com艺人图片 + å¯ç”¨last.fm艺人图片 + å¯ç”¨HTBackdrops.com艺人图片 + å¯ç”¨fanart.tv艺人åŒäººç”» + å¯ç”¨fanart.tv艺人图片 + 艺人传记获å–于 + 艺术图片 + 艺人唱片目录获å–于 + 艺人类型获å–于 + 艺人风格获å–于 + 艺人生å’年月获å–于 + 艺人心情获å–于 + 艺人活跃期获å–于 + 首选语言 + 备选艺人传记获å–于 + 备选艺人唱片目录获å–于 + 备选艺人类型获å–于 + 备选艺人风格获å–于 + 备选艺人生å’年月获å–于 + 备选 + å¯ç”¨theaudiaodb.com艺人图片 + å¯ç”¨theaudiodb.com艺人åŒäººç”» + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Czech/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Czech/strings.xml new file mode 100644 index 000000000..b587f5673 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Czech/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Povolit fanart umÄ›lců z HTBackdrops.com + Povolit náhledy umÄ›lců z allmusic.com + Povolit náhledy umÄ›lců z last.fm + Povolit náhledy umÄ›lců z HTBackdrops.com + Povolit fanart umÄ›lců z fanart.tv + Povolit náhledy umÄ›lců z fanart.tv + Získat biografii umÄ›lce z + Grafika + Získat diskografii umÄ›lce z + Získat žánry umÄ›lce z + Získat styly umÄ›lce z + Získat délku života z + Získat nálady interpreta z + Získat dobu působení umÄ›lce z + UpÅ™ednostňovaný jazyk + PÅ™i neúspÄ›chu získat biografii umÄ›lce z + PÅ™i neúspÄ›chu získat diskografii umÄ›lce z + PÅ™i neúspÄ›chu získat žánry umÄ›lce z + PÅ™i neúspÄ›chu získat styly umÄ›lce z + PÅ™i neúspÄ›chu získat délku života umÄ›lce z + Záložní zdroje informací + Povolit náhledy umÄ›lců z theaudiodb.com + Povolit fanart umÄ›lců z theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Danish/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Danish/strings.xml new file mode 100644 index 000000000..b663218bb --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Danish/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Aktiver Fankunst til Kunstnere fra HTBackdrops.com + Aktiver Miniaturebilleder af Kunstnere fra allmusic.com + Aktiver Miniaturebilleder af Kunstnere fra last.fm + Aktiver Miniaturebilleder af Kunstnere fra HTBackdrops.com + Aktiver Fankunst til Kunstnere fra fanart.tv + Aktiver Miniaturebilleder af Kunstnere fra fanart.tv + Hent Kunstnerbiografi fra + Illustrationer + Hent Kunstnerdiskografi fra + Hent Kunstnergenrer fra + Hent Kunstner-stilarter fra + Hent Kunstners levetid fra + Hent Kunstner-stemninger fra + Hent Kunstners aktive Ã¥r fra + Foretrukket Sprog + Reserve til Kunstnerbiografi fra + Reserve til Kunstnerdiskografi fra + Reserve til Kunstnergenrer fra + Reserve til Kunstner-stilarter fra + Reserve til Kunstners levetid fra + Reserver + Aktiver Miniaturebilleder af Kunstnere fra theaudiodb.com + Aktiver Fankunst til Kunstnere fra theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Dutch/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Dutch/strings.xml new file mode 100644 index 000000000..c70270e85 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Dutch/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Gebruik Artiesten Fanart van HTBackdrops.com + Gebruik Artiesten Miniaturen van AllMusic.com + Gebruik Artiesten Miniaturen van Last.fm + Gebruik Artiesten Miniaturen van HTBackdrops.com + Gebruik Artiesten Fanart van Fanart.tv + Gebruik Artiesten Miniaturen van Fanart.tv + Haal Artiesten Biografie van + Artwork + Haal Artiesten Discografie van + Haal Artiesten Genre van + Haal Artiesten Stijl van + Haal Artiesten Levensduur van + Haal Artiesten Stemmingen van + Haal Artiesten Jaren Actief van + Voorkeurstaal + Val terug op Artiesten Biografie van + Val terug op Artiesten Discografie van + Val terug op Artiesten Genre van + Val terug op Artiesten Stijl van + Val terug op Artiesten Levensduur van + Terugvallen + Gebruik Artiesten Miniaturen van theAudioDB.com + Gebruik Artiesten Fanart van theAudioDB.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/English/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/English/strings.xml new file mode 100644 index 000000000..aa09ba195 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/English/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Enable Artist Fanarts from HTBackdrops.com + Enable Artist Thumbs from allmusic.com + Enable Artist Thumbs from last.fm + Enable Artist Thumbs from HTBackdrops.com + Enable Artist Fanarts from fanart.tv + Enable Artist Thumbs from fanart.tv + Get Artist Biography from + Artwork + Get Artist Discography from + Get Artist Genres from + Get Artist Styles from + Get Artist Life-Span from + Get Artist Moods from + Get Artist Years Active from + Preferred Language + Fallback to Artist Biography from + Fallback to Artist Discography from + Fallback to Artist Genres from + Fallback to Artist Styles from + Fallback to Artist Life-Span from + Fallbacks + Enable Artist Thumbs from theaudiodb.com + Enable Artist Fanarts from theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Estonian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Estonian/strings.xml new file mode 100644 index 000000000..94c3a943e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Estonian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Kunst + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Finnish/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Finnish/strings.xml new file mode 100644 index 000000000..b60a3bfee --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Finnish/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Ota käyttöön artistien fanitaide lähteestä HTBackdrops.com + Ota käyttöön artistien pikkukuvat lähteestä allmusic.com + Ota käyttöön artistien pikkukuvat lähteestä last.fm + Ota käyttöön artistien pikkukuvat lähteestä HTBackdrops.com + Ota käyttöön artistien fanitaide lähteestä fanart.tv + Ota käyttöön artistien pikkukuvat lähteestä fanart.tv + Hae artistin elämäkerta lähteestä + Kuvataide + Hae artistin diskografia lähteestä + Hae artistin tyylilajit lähteestä + Hae artistin musiikkityylilajit lähteestä + Hae artistin elinkaari lähteestä + Hae artistin mielentilat lähteestä + Hae artistin aktiiviset vuodet lähteestä + Ensisijainen kieli + Hae artistin elämäkerta toissijaisesti lähteestä + Hae artistin diskografia toissijaisesti lähteestä + Hae artistin tyylilajit toissijaisesti lähteestä + Hae artistin musiikkityylilajit toissijaisesti lähteestä + Hae artistin elinkaari toissijaisesti lähteestä + Toissijaiset lähteet + Ota käyttöön artistin pikkukuvat lähteestä theaudiodb.com + Ota käyttöön artistin fanitaide lähteestä theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/French/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/French/strings.xml new file mode 100644 index 000000000..827dcb9e0 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/French/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Activer les fanarts d'artiste de HTBackdrops.com + Activer les vignettes d'artiste de allmusic.com + Activer les vignettes d'artiste de last.fm + Activer les vignettes d'artiste de HTBackdrops.com + Activer les fanarts d'artiste de fanart.tv + Activer les vignettes d'artiste de fanart.tv + Récupérer la biographie de l'artiste depuis + Illustrations + Récupérer la discographie de l'artiste depuis + Récupérer les genres de l'artiste depuis + Récupérer les styles de l'artiste depuis + Récupérer l'entière production de l'artiste depuis + Récupérer les styles de l'artiste depuis + Récupérer la production de l'artiste depuis + Langue préférée + Revenir à la biographie de l'artiste depuis + Revenir à la discographie de l'artiste depuis + Revenir aux genres de l'artiste depuis + Revenir aux styles de l'artiste depuis + Revenir à l'entière production de l'artiste depuis + Retours + Activer les vignettes d'artiste de theaudiodb.com + Activer les fanarts d'artiste de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Galician/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Galician/strings.xml new file mode 100644 index 000000000..d656aae9f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Galician/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Habilitar Fanarts dos Artistas dende HTBackdrops.com + Habilitar Miniaturas dos Artistas dende allmusic.com + Habilitar Miniaturas dos Artistas dende last.fm + Habilitar Miniaturas dos Artistas dende HTBackdrops.com + Habilitar os Fanarts dos artistas dende fanart.tv + Habilitar as miniaturas dos artistas dende fanart.tv + Obter a Biografía dende + Ilustración + Obter a Discografía dende + Obter os Xéneros dende + Obter os Estilos dende + Obter a data do debut dende + Obter os ambientes dende + Obter os anos en activo dende + dIdioma Preferido + Biografía alternativa dende + Discografía alternativa dende + Xéneros alternativos dende + Estilos alternativos dende + Data de debut alternativa dende + Alternativas + Habilitar Miniaturas dos Artistas dende theaudiodb.com + Habilitar Fanarts dos Artistas dende theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/German/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/German/strings.xml new file mode 100644 index 000000000..a27505c2d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/German/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Aktiviere Interpreten Fanarts von HTBackdrops.com + Aktiviere Interpreten Thumbnails von allmusic.com + Aktiviere Interpreten Thumbnails von last.fm + Aktiviere Interpreten Thumbnails von HTBackdrops.com + Aktiviere Interpreten Fanarts von fanart.tv + Aktiviere Interpreten Thumbnails von fanart.tv + Lade Interpreten Biografie von + Grafiken + Lade Interpreten Diskografie von + Lade Interpreten Genre von + Lade Interpreten Stil von + Lade Interpreten Lebenslauf von + Lade Interpreten Stimmungen von + Lade Interpreten Zeitraum von + Bevorzugte Sprache + Alternative Interpreten Biografie von + Alternative Interpreten Diskografie von + Alternatives Interpreten Genre von + Alternativen Interpreten Stil von + Alternativen Interpreten Lebenslauf von + Alternativen + Künstler-Vorschaubilder von theaudiodb.com aktivieren + Künstler-Fankunst von theaudiodb.com aktivieren + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Greek/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Greek/strings.xml new file mode 100644 index 000000000..6dc5b0beb --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Greek/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Fanart Καλλιτέχνη από HTBackdrops.com + ΜικÏογÏαφίες Καλλιτέχνη από allmusic.com + ΜικÏογÏαφίες Καλλιτέχνη από last.fm + ΜικÏογÏαφίες Καλλιτέχνη από HTBackdrops.com + Fanart Καλλιτέχνη από fanart.tv + ΜικÏογÏαφίες Καλλιτέχνη από fanart.tv + ΒιογÏαφία Καλλιτέχνη από + Εικόνες + ΔισκογÏαφία Καλλιτέχνη από + Είδη Καλλιτέχνη από + Στυλ Καλλιτεχνών από + ΔιάÏκεια Ζωής Καλλιτέχνη από + Διαθέσεις Καλλιτέχνη από + Έτη ΣταδιοδÏομίας από + ΠÏοτιμώμενη Γλώσσα + ΕφεδÏική ΒιογÏαφία Καλλιτέχνη από + ΕφεδÏική ΔισκογÏαφία Καλλιτέχνη από + ΕφεδÏικά Είδη Καλλιτέχνη από + ΕφεδÏικά Στυλ Καλλιτέχνη από + ΕφεδÏική ΔιάÏκεια Ζωής Καλλιτέχνη από + ΕφεδÏικά + ΜικÏογÏαφίες Καλλιτέχνη από theaudiodb.com + Fanart Καλλιτέχνη από theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Hebrew/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Hebrew/strings.xml new file mode 100644 index 000000000..b13ead61d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Hebrew/strings.xml @@ -0,0 +1,30 @@ + + + + + + + הפעל פ×× ×רט ××ž× ×™× ×ž-HTBackdrops.com + הפעל תמונות ××ž× ×™× ×ž-allmusic.com + הפעל תמונות ××ž× ×™× ×ž-last.fm + הפעל תמונות ××ž× ×™× ×ž-HTBackdrops.com + הפעל פ×× ×רט ××ž× ×™× ×ž-last.fm + הפעל תמונות ××ž× ×™× ×ž-last.fm + השג ביוגרפיית ×מן מ- + גרפיקה + השג דיסקוגרפיית ×מן מ- + השג ×–'×נר ×מן מ- + השג סגנונות ×מן מ- + השג ×ורך ×—×™×™× ×מן מ- + השג מצבי רוח ×מן מ- + השג שנות פעילות ×מן מ- + שפה מועדפת + חזר לביוגרפיות ×ומן מ + חזר לדיסקוגרפית ×מן מ + חזר לסגנונות ×ומן מ + חזור לסגנונות ×מן מ + חזור לתוחלת ×—×™×™ ×ומן מ + נסיגות + הפעל תמונות ×מן מ-theaudiodb.com + הפעל פ×× ×רט ×מן מ-theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Hungarian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Hungarian/strings.xml new file mode 100644 index 000000000..ffe1f8db4 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Hungarian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + ElÅ‘adó fanartképek letöltése a HTBackdrops.com-ról + ElÅ‘adó miniképek letöltése az allmusic.com-ról + ElÅ‘adó miniképek letöltése a Last.fm-rÅ‘l + ElÅ‘adó miniképek letöltése a HTBackdrops.com-ról + ElÅ‘adó fanartképek letöltése a fanart.tv-rÅ‘l + ElÅ‘adó miniképek letöltése a fanart.tv-rÅ‘l + ElÅ‘adó életrajzok letöltése innen: + Grafika + ElÅ‘adó diszkográfiák forrása: + ElÅ‘adó műfajok forrása: + ElÅ‘adó stílusok forrása: + ElÅ‘adó életpályák forrása: + ElÅ‘adó hangulatok forrása: + ElÅ‘adó aktív éveinek forrása: + Használni kívánt nyelv + ElÅ‘adó életrajzok tartalék forrása: + ElÅ‘adó diszkográfiák tartalék forrása: + ElÅ‘adó műfajok tartalék forrása + ElÅ‘adó stílusok tartalék forrása: + ElÅ‘adó életpályák tartalék forrása: + Tartalékok + ElÅ‘adó miniképek engedélyezése a theaudiodb.com-ról + ElÅ‘adó fanart engedélyezése a theaudiodb.com-ról + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Icelandic/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Icelandic/strings.xml new file mode 100644 index 000000000..28eb80690 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Icelandic/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Myndskreytingar + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Italian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Italian/strings.xml new file mode 100644 index 000000000..159e2ab40 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Italian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Abilita le fanart degli artisti di HTBackdrops.com + Abilita le miniature degli artisti di allmusic.com + Abilita le miniature degli artisti di last.fm + Abilita le miniature degli artisti di HTBackdrops.com + Abilita le fanart degli artisti di fanart.tv + Abilita le miniature degli artisti di fanart.tv + Ottieni la biografia dell'artista da + Artwork + Ottieni la discografia dell'artista da + Ottieni i generi dell'artista da + Ottieni gli stili dell'artista da + Ottieni la durata della vita dell'artista da + Ottieni i mood dell'artista da + Ottieni gli anni di attività dell'artista da + Lingua Preferita + Fallback della biografia dell'artista da + Fallback della discografia dell'artista da + Fallback dei generi dell'artista da + Fallback degli stili dell'artista da + Fallback della durata della vita dell'artista da + Fallback + Abilita le miniature dell'artista di theaudiodb.com + Abilita le fanart dell'artista di theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Japanese/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Japanese/strings.xml new file mode 100644 index 000000000..c3754a2a0 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Japanese/strings.xml @@ -0,0 +1,24 @@ + + + + + + + HTBackdrops.com ã‹ã‚‰ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆãƒ•ァンアートをå–å¾— + allmusic.com ã‹ã‚‰ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + last.fm ã‹ã‚‰ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + HTBackdrops.com ã‹ã‚‰ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + fanart.tv ã‹ã‚‰ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆãƒ•ァンアートをå–å¾— + fanart.tv ã‹ã‚‰ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + アーティストãƒã‚¤ã‚ªã‚°ãƒ©ãƒ•ィーã®å–å¾—å…ˆ + アートワーク + アーティストディスコグラフィーã®å–å¾—å…ˆ + アーティストジャンルã®å–å¾—å…ˆ + アーティストスタイルã®å–å¾—å…ˆ + アーティスト生年・没年ã®å–å¾—å…ˆ + アーティストムードã®å–å¾—å…ˆ + アーティスト活動期間ã®å–å¾—å…ˆ + 優先ã™ã‚‹è¨€èªž + theaudiodb.com ã‹ã‚‰ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + theaudiodb.com ã‹ã‚‰ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Korean/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Korean/strings.xml new file mode 100644 index 000000000..b63ab4ebc --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Korean/strings.xml @@ -0,0 +1,30 @@ + + + + + + + HTBackdrops.com ì—서 아티스트 팬아트 가져오기 + allmusic.com ì—서 아티스트 미리보기 가져오기 + Last.fm ì—서 아티스트 미리보기 가져오기 + HTBackdrops.com ì—서 아티스트 미리보기 가져오기 + fanart.tv ì—서 아티스트 팬아트 가져오기 + fanart.tv ì—서 아티스트 미리보기 가져오기 + 아티스트 약력 가져오기 + ì•„íŠ¸ì›Œí¬ + 아티스트 디스코그래피 가져오기 + 아티스트 장르 가져오기 + 아티스트 ìŠ¤íƒ€ì¼ ê°€ì ¸ì˜¤ê¸° + 아티스트 수명 가져오기 + 아티스트 분위기 가져오기 + 아티스트 í™œë™ ê¸°ê°„ 가져오기 + 선호 언어 + 아티스트 약력 가져오기 대체 + 아티스트 디스코그래피 가져오기 대체 + 아티스트 장르 가져오기 대체 + 아티스트 ìŠ¤íƒ€ì¼ ê°€ì ¸ì˜¤ê¸° 대체 + 아티스트 수명 가져오기 대체 + 대체 + theaudiodb.com ì—서 아티스트 미리보기 가져오기 + theaudiodb.com ì—서 아티스트 팬아트 가져오기 + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Lithuanian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Lithuanian/strings.xml new file mode 100644 index 000000000..d58eb32cd --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Lithuanian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Ä®galinti atlikÄ—jo Fanarts iÅ¡ HTBackdrops.com + Ä®galinti atlikÄ—jo miniatiÅ«rÄ… iÅ¡ allmusic.com + Ä®galinti atlikÄ—jo miniatiÅ«rÄ… iÅ¡ last.fm + Ä®galinti atlikÄ—jo miniatiÅ«rÄ… iÅ¡ HTBackdrops.com + Ä®galinti atlikÄ—jo Fanarts iÅ¡ fanart.tv + Ä®galinti atlikÄ—jo miniatiÅ«rÄ… iÅ¡ fanart.tv + Gauti atlikÄ—jo biografijÄ… iÅ¡ + Iliustracijos + Gauti atlikÄ—jo diskografijÄ… iÅ¡ + Gauti atlikÄ—jo žanrÄ… iÅ¡ + Gauti atlikÄ—jo stilių iÅ¡ + Gauti atlikÄ—jo Life-Span iÅ¡ + Gauti atlikÄ—jo žanrÄ… iÅ¡ + Gauti atlikÄ—jo (aktyvus metai) iÅ¡ + Pageidaujama kalba + Sugrįžti prie atlikÄ—jo biografijos + Sugrįžti prie atlikÄ—jo diskografijos + Sugrįžti prie atlikÄ—jo žanro + Sugrįžti prie atlikÄ—jo Stilius + Sugrįžti prie atlikÄ—jo Life-Span + Sugrįžti + Ä®jungti artisto(-ų) miniatiųrÄ… atsiustÄ… iÅ¡ theaudiodb.com + Ä®jungti artisto(-ų) FanArt atsiustÄ… iÅ¡ theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Macedonian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Macedonian/strings.xml new file mode 100644 index 000000000..ca691bf4e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Macedonian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Овозможи Artist Fanarts од HTBackdrops.com + Овозможи Artist Thumbs од allmusic.com + Овозможи Artist Thumbs од last.fm + Овозможи Artist Thumbs од HTBackdrops.com + Овозможи Artist Fanarts од fanart.tv + Овозможи Artist Thumbs од fanart.tv + Превземи Artist Biography од + Уметнини + Превземи Artist Discography од + Превземи Artist Genres од + Превземи Artist Styles од + Превземи Artist Life-Span од + Превземи Artist Moods од + Превземи Artist Years Active од + ПоÑакуван јазик + Fallback to Artist Biography from + Fallback to Artist Discography од + Fallback to Artist Genres од + Fallback to Artist Styles од + Fallback to Artist Life-Span од + Fallbacks + Овозможи Artist Thumbs одtheaudiodb.com + Овозможи Artist Fanarts од theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Norwegian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Norwegian/strings.xml new file mode 100644 index 000000000..6cc07bc1c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Norwegian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Artwork + Foretrukket SprÃ¥k + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Polish/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Polish/strings.xml new file mode 100644 index 000000000..695fd1de5 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Polish/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Aktywuj fanarty artysty z HTBackdrops.com + Aktywuj ikony artysty z allmusic.com + Aktywuj ikony artysty z Last.fm + Aktywuj ikony artysty z HTBackdrops.com + Aktywuj fanarty artysty z fanart.tv + Aktywuj ikony artysty z fanart.tv + Pobierz biografie artysty z + Artwork + Pobierz dyskografie artysty z + Pobierz gatunek muzyczny artysty z + Pobierz style artysy z + Pobierz lata twórczoÅ›ci artysty z + Pobierz nastroje Artysty z + Pobierz okres twórczy artysty z + Preferowany jÄ™zyk + Cofnij do biografii artysty z + Cofnij do dyskografii artysty z + Cofnij do gatunków artysty z + Cofnij do stylów artysty z + Alternatywe pobierz lat twórczoÅ›ci artysty z + Awaryjne + Aktywuj ikony artysty z theaudiodb.com + Aktywuj fanarty artysty z theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Portuguese (Brazil)/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Portuguese (Brazil)/strings.xml new file mode 100644 index 000000000..6964361ff --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Portuguese (Brazil)/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Ativar Fanarts de Artistas de HTBackdrops.com + Ativar Miniaturas de Artistas de allmusic.com + Ativar Miniaturas de Artistas de Last.fm + Ativar Miniaturas de Artistas de HTBackdrops.com + Ativar Fanarts de Artistas de fanart.tv + Ativar Miniaturas de Artistas de fanart.tv + Obter Biografia dos Artistas de + Artwork + Obter Discografia dos Artistas de + Obter Gêneros dos Artistas de + Obter Estilos dos Artistas de + Obter Tempo de vida dos Artistas de + Obter Moods dos Artistas de + Obter Anos Ativos dos Artistas de + Linguagem Preferida + Biografia complementar dos Artistas de + Discografia complementar dos Artistas de + Gêneros complementares dos Artistas de + Estilos complementares dos Artistas de + Tempo de Vida complementar dos Artistas de + Reservas + Ativar Miniaturas de Artistas de theaudiodb.com + Ativar Fanarts de Artistas de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Portuguese/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Portuguese/strings.xml new file mode 100644 index 000000000..e12fbecd7 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Portuguese/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Activar Fanarts de Artistas de HTBackdrops.com + Activar Miniaturas de Artistas de allmusic.com + Activar Miniaturas de Artistas de last.fm + Activar Miniaturas de Artistas de HTBackdrops.com + Activar Fanarts de Artistas de fanart.tv + Activar Miniaturas de Artistas de fanart.tv + Obter Biografia do Artista de + Artwork + Obter Discografia do Artista de + Obter Géneros do Artista de + Obter Estilos do Artista de + Obter Tempo de Vida do Artista de + Obter Ambiências do Artista de + Obter Anos de Actividade do Artista de + Idioma Preferido + Biografia complementar do Artista de + Discografia complementar do Artista de + Géneros complementares do Artista de + Estilos complementares do Artista de + Obra complementar do Artista de + Reserva + Activar Miniaturas de Artista de theaudiodb.com + Activar Fanart de Artista de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Romanian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Romanian/strings.xml new file mode 100644 index 000000000..e2d2fb1df --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Romanian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Activează Artist Fanarts de la HTBackdrops.com + Activează Artist Thumbs de la allmusic.com + Activează Artist Thumbs de la last.fm + Activează Artist Thumbs de la HTBackdrops.com + Activează Artist Fanarts de la fanart.tv + Activează Artist Thumbs de la fanart.tv + Descarcă biografia artistului de la + Artwork + Descarcă discografia artistului de la + Descarcă genul artistului de la + Descarcă stilul artistului de la + Descarcă Artist Life-Span de la + Descarcă Artist Moods de la + Descarcă numărul de ani activi ai artistului de la + Limba preferata + Revine la biografia artistului de la + Revine la discografia artistului de la + Revine la genul artistului de la + Revine la stilul artistului de la + Revine la Artist Life-Span de la + Setări de rezervă + Activează descărcarea pictogramelor artiÈ™tilor de la theaudiodb.com + Activează descărcarea Artist Fanarts de la theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Russian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Russian/strings.xml new file mode 100644 index 000000000..131a2b255 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Russian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Получать обложки иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ HTBackdrops.com + Получать иконки иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ allmusic.com + Получать иконки иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ last.fm + Получать иконки и ÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ HTBackdrops.com + Получать обложки иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ fanart.tv + Получать иконки иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ fanart.tv + Получать биографию иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ + Обложка + Получать диÑкографию иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ + Получать жанры иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ + Получать Ñтили иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ + Получать возраÑÑ‚ иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ + Получать Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ + Получать период творчеÑтва иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ + Язык Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ + СÑылка на биографию иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ + СÑылка на диÑкографию иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ + СÑылка на жанры иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ + СÑылка на Ñтили иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ + СÑылка на возраÑÑ‚ иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ + СÑылки + Получать иконки и ÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ theaudiodb.com + Получать обложки иÑÐ¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»Ñ Ñ theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Slovak/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Slovak/strings.xml new file mode 100644 index 000000000..0b467324b --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Slovak/strings.xml @@ -0,0 +1,30 @@ + + + + + + + PovoliÅ¥ Fanart interpretov zo stránky HTBackdrops.com + PovoliÅ¥ náhľady interpretov zo stránky allmusic.com + PovoliÅ¥ náhľady interpretov zo stránky last.fm + PovoliÅ¥ náhľady interpretov zo stránky HTBackdrops.com + PovoliÅ¥ Fanart interpretov zo stránky fanart.tv + PovoliÅ¥ náhľady interpretov zo stránky fanart.tv + ZískaÅ¥ životopis interpreta zo stránky + Umelecká grafika + ZískaÅ¥ diskografiu interpreta zo stránky + ZískaÅ¥ žánre interpreta zo stránky + ZískaÅ¥ Å¡týly interpreta zo stránky + ZískaÅ¥ dĺžku života interpreta zo stránky + ZískaÅ¥ povahu interpreta zo stránky + ZískaÅ¥ údaje o rokoch aktívneho pôsobenia interpreta zo stránky + Uprednostňovaný jazyk + V prípade neúspechu naÄítaÅ¥ životopis autora zo stránky + V prípade neúspechu naÄítaÅ¥ diskografiu autora zo stránky + V prípade neúspechu naÄítaÅ¥ žánre autora zo stránky + V prípade neúspechu naÄítaÅ¥ Å¡týly autora zo stránky + V prípade neúspechu naÄítaÅ¥ dĺžku života autora zo stránky + Záložné zdroje informácií + PovoliÅ¥ získavanie náhľadov umelcov zo stránky theaudiodb.com + PovoliÅ¥ získavanie umeleckej grafiky zo stránky theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Slovenian/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Slovenian/strings.xml new file mode 100644 index 000000000..5dc6d62f0 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Slovenian/strings.xml @@ -0,0 +1,30 @@ + + + + + + + VkljuÄi ozadja izvajalcev s HTBackdrops.com + VkljuÄi sliÄice izvajalcev z allmusic.com + VkljuÄi sliÄice izvajalcev z last.fm + VkljuÄi sliÄice izvajalcev s HTBackrops.com + VkljuÄi ozadja izvajalcev s fanart.tv + VkljuÄi sliÄice izvajalcev s fanart.tv + Prenesi izvajalÄev življenjepis z + Grafike + Prenesi izvajalÄevo diskografijo z: + Prenesi izvajalÄeve žanre z: + Prenesi izvajalÄev stil z: + Prenesi izvajalÄev rojstni dan z: + Prenesi izvajalÄeva razpoloženja z: + Prenesi izvajalÄevo obdobje delovanja z: + Privzet jezik + Rezervni vir izvajalÄevega življenjepisa + Rezervni vir izvajalÄeve diskografije + Rezervni vir izvajalÄevih žanrov + Rezervni vir izvajalÄevega stila + Rezervni vir izvajalÄevega rojstnega dneva + Rezervni viri + VkljuÄi sliÄice izvajalcev s theaudiodb.com + VkljuÄi ozadja izvajalcev s theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish (Argentina)/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish (Argentina)/strings.xml new file mode 100644 index 000000000..2d64f828c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish (Argentina)/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Habilitar Fanarts de Artistas de HTBackdrops.com + Habilitar Miniaturas de Artistas de allmusic.com + Habilitar Miniaturas de Artistas de last.fm + Habilitar Miniaturas de Artistas de HTBackdrops.com + Habilitar Fanarts de Artistas de fanart.tv + Habilitar Miniaturas de Artistas de HTBackdrops.com + Obtener la Biografía del Artista de + Imágenes + Obtener la Discografía del Artista de + Obtener los Géneros del Artista de + Obtener los Estilos del Artista de + Obtener la Fecha de Debut del Artista de + Obtener los Estados de Animo del Artista de + Obtener los Años de ActivIdad del Artista de + Idioma Preferido + Biografía Alternativa del Artista de + Discografía Alternativa del Artista de + Generos Alternativos del Artista de + Estilos Alternativos del Artista de + Fecha Alternativa de Debut del Artista de + Alternativas + Habilitar Miniaturas de Artista de theaudiodb.com + Habilitar Fanarts de Artista de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish (Mexico)/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish (Mexico)/strings.xml new file mode 100644 index 000000000..1400eac1f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish (Mexico)/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Activar Fanarts de Artista desde HTBackdrops.com + Activar Miniaturas de Artista desde allmusic.com + Activar Miniaturas de Artista desde last.fm + Activar Miniaturas de Artista desde HTBackdrops.com + Activar Fanarts de Artista desde fanart.tv + Activar Miniaturas de Artista desde fanart.tv + Obtener Biografía del Artista desde + Artwork + Obtener Discografía del Artista desde + Obtener Géneros de Artista desde + Obtener Estilos de Artista desde + Obtener Vida(Tiempo de) de Artista desde + Obtener Atmósfera de Artista desde + Obtener Años de Actividad de Artista desde + Lenguaje Preferido + Alternativa a Biografía de Artista desde + Alternativa a Discografía de Artista desde + Alternativa a Géneros de Artista desde + Alternativa a Estilos de Artista desde + Alternativa a Vida(Tiempo de) de Artista desde + Alternativas + Activar miniaturas de artistas desde theaudiodb.com + Activar Fanart de artistas desde theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish/strings.xml new file mode 100644 index 000000000..e37d4d8b8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Spanish/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Habilitar fanarts de artistas de HTBackdrops.com + Habilitar miniaturas de artistas de allmusic.com + Habilitar miniaturas de artistas de last.fm + Habilitar miniaturas de artistas de HTBackdrops.com + Habilitar fanarts de artistas de fanart.tv + Habilitar miniaturas de artistas de HTBackdrops.com + Obtener la biografía del artista de + Imágenes + Obtener la discografía del artista de + Obtener los géneros del artista de + Obtener los estilos del artista de + Obtener la fecha de debut del artista de + Obtener los estados de ánimo del artista de + Obtener los años en activo del artista de + Idioma preferido + Biografía alternativa del artista de + Discografía alternativa del artista de + Generos alternativos del artista de + Estilos alternativos del artista de + Fecha alternativa de debut del artista de + Alternativas + Activar miniaturas de artista desde theaudiodb.com + Habilitar Fanarts de Artistas de theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Swedish/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Swedish/strings.xml new file mode 100644 index 000000000..b7d85cdf3 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Swedish/strings.xml @@ -0,0 +1,30 @@ + + + + + + + Aktivera artistfanart frÃ¥n HTBackdrops.com + Aktivera artistminiatyrer frÃ¥n allmusic.com + Aktivera artistminiatyrer frÃ¥n last.fm + Aktivera artistminiatyrer frÃ¥n HTBackdrops.com + Aktivera artistfanart frÃ¥n fanart.tv + Aktivera artistminiatyrer frÃ¥n fanart.tv + Hämta artistbiografi frÃ¥n + Konstverk + Hämta artistdiskografi frÃ¥n + Hämta artistgenrer frÃ¥n + Hämta artiststilar frÃ¥n + Hämta artistlivslängd frÃ¥n + Hämta artisthumör frÃ¥n + Hämta artistens aktiva Ã¥r frÃ¥n + Föredraget sprÃ¥k + Fall tillbaka pÃ¥ artistbiografi frÃ¥n + Fall tillbaka pÃ¥ artistdiskografi frÃ¥n + Fall tillbaka pÃ¥ artistgenrer frÃ¥n + Fall tillbaka pÃ¥ artiststilar frÃ¥n + Fall tillbaka pÃ¥ artistlivsländ frÃ¥n + Tillbakafallande + Aktivera artistminiatyrer frÃ¥n theaudiodb.com + Aktivera artistfanart frÃ¥n theaudiodb.com + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Thai/strings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Thai/strings.xml new file mode 100644 index 000000000..c93c50cd5 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/language/Thai/strings.xml @@ -0,0 +1,8 @@ + + + + + + + อาร์ตเวิร์ค + diff --git a/usr/local/share/xbmc/addons/metadata.artists.universal/resources/settings.xml b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/settings.xml new file mode 100644 index 000000000..5030489b1 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.artists.universal/resources/settings.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.allmusic.com/addon.xml b/usr/local/share/xbmc/addons/metadata.common.allmusic.com/addon.xml new file mode 100644 index 000000000..68f2b21da --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.allmusic.com/addon.xml @@ -0,0 +1,43 @@ + + + + + + + + all + 20000 + Библиотека за ÑвалÑне на музикална инф. от AllMusic + AllMusic Music Scraper Library + Musik-Scraper für AllMusic.com + Scraper de música de AllMusic + AllMusic musiikkitietojen lataajan kirjasto + Scraper AllMusic pour la musique + AllMusic zenei adat leolvasó + AllMusic-scraperfuncties + Scraper muzyki AllMusic + Scraper de música AllMusic + Bibliotecă catalog de muzică AllMusic + ÐœÑƒÐ·Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ AllMusic + Skrapa för AllMusic.com + AllMusic音ä¹åˆ®å‰Šå™¨ä»£ç åº“ + Извлича инф. за музикални файлове от www.allmusic.com + Download Music information from www.allmusic.com + Downloade Musik Informationen von www.allmusic.com + Descarga información musical de www.allmusic.com + Lataa musiikkitietoja osoitteesta www.allmusic.com + Télécharger les infos musicales depuis www.allmusic.com + Zene információk letöltése a www.allmusic.com webhelyrÅ‘l + Muziekinformatie ophalen van www.allmusic.com + Pobieraj informacje o muzyce z www.allmusic.com + Descarregar informação de música de www.allmusic.com + DescărcaÈ›i informaÈ›ii muzică de pe www.allmusic.com + Загружать информацию о Музыке Ñ www.allmusic.com + Ladda ner musikinformation frÃ¥n www.allmusic.com + 从www.allmusic.com下载音ä¹ä¿¡æ¯ + + diff --git a/usr/local/share/xbmc/addons/metadata.common.allmusic.com/allmusic.xml b/usr/local/share/xbmc/addons/metadata.common.allmusic.com/allmusic.xml new file mode 100644 index 000000000..edcd5081a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.allmusic.com/allmusic.xml @@ -0,0 +1,512 @@ + + + + + + + + + + + + + <td class="year[^"]*"(?:\stitle="[^"]*")*\s*data-sort-value="[^>]*>([^<]*)</td>[^<]*<td class=".*?title="([^"]*) + + + + + + + + + + + + + + + + + " itemprop="description">(.*?)div class="advertisement leaderboard"> + + + + last.fm + + + TheAudioDb.com + + ^$ + + + (.+) + + + + + + + + + + + + + + + + + " itemprop="description">(.*?)div class="advertisement leaderboard"> + + + + + + + + + + + + + + http://schema.org/MusicGroup">[^<]*<span itemprop="name">([^<]*)</span> + + + + + + + + + + + + + + + + + + + + <dt>\s*Born[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)? + + + <dt>\s*Died[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)? + + + <dt>\s*Formed[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)? + + + <dt>\s*Disbanded[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)? + + + + MusicBrainz + + ^$ + + + <(?:born|formed)*>(.+)</(?:born|formed)*> + + + + + + + + + + + + + + + + + <dt>\s*Born[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)? + + + <dt>\s*Died[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)? + + + <dt>\s*Formed[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)? + + + <dt>\s*Disbanded[^>]*>[^>]*>[^>]*>(.*?\d{4})\s*([^<]*)? + + + + + + + + + + + + + + + + + <dd class="active">([^<]*)< + + + + + + + + + + + + + + + + + + + + <dt>Genres</dt>(.*?)</dd> + + + <li><a href="/genre/[^"]*">(<strong>)?([^<]*) + + + + last.fm + + <genre></genre> + + + <genre>(.+)</genre> + + + + + + + + + + + + + + + + + + + + <dt>Genres</dt>(.*?)</dd> + + + <li><a href="/genre/[^"]*">(<strong>)?([^<]*) + + + + + + + + + + + + + + + + + + + + <dt>Styles</dt>(.*?)</dd> + + + <li><a href="/style/[^"]*">([^<]*) + + + + last.fm + + <style></style> + + + <style>(.+)</style> + + + + + + + + + + + + + + + + + + + + <dt>Styles</dt>(.*?)</dd> + + + <li><a href="/style/[^"]*">([^<]*) + + + + + + + + + + + + + + + + + <h4>artist moods</h4>(.*?)</ul> + + + <li>[^>]*>([^<]*)</a></li> + + + + + + + + + + + + + + + + + + + + <h4>photo gallery</h4>(.*?)<h4> + + + <img src="http://cps-static.rovicorp.com/3/JPG_[^/]*/([^"]*) + + + + + + + + + + + + + + + <span itemprop="description">([^<]*) + + + + + + + + + + + + + + <div class="album-title">([^<]*) + + + + + + + + + + + + + + <div class="album-artist">[^>]*>([^<]*) + + + + + + + + + + + + + + itemprop="rating">([0-9^]*) + + + + + + + + + + + + + + <dd class="release-date">([^<]*) + + + <dd class="release-date">([^,]*,)?([^<]*) + + + + + + + + + + + + + + <dd class="genres">(.*?)</dd> + + + <li>[^>]*>([^<]*)</a></li> + + + + + + + + + + + + + + <dd class="styles">(.*?)</dd> + + + <li>[^>]*>([^<]*)</a></li> + + + + + + + + + + + + + + >\s*<h4>album moods</h4>(.*?)</ul> + + + <li>[^>]*>([^<]*)</a></li> + + + + + + + + + + + + + + <h4>album themes</h4>(.*?)</ul> + + + <li>[^>]*>([^<]*)</a></li> + + + + + + + + + + + + + + <td class="tracknum">([0-9]*).*?<div class="title">[^>]*>([^<]*).*?<td class="time">([^<]*) + + + + + + + + + + + + + + <meta property="og:image" content="http://cps-static.rovicorp.com/3/JPG_[^/]*/([^"]*) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.allmusic.com/icon.png b/usr/local/share/xbmc/addons/metadata.common.allmusic.com/icon.png new file mode 100644 index 000000000..9c18e2011 Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.common.allmusic.com/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.common.amazon.de/addon.xml b/usr/local/share/xbmc/addons/metadata.common.amazon.de/addon.xml new file mode 100644 index 000000000..d9750bce8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.amazon.de/addon.xml @@ -0,0 +1,17 @@ + + + + + + + + all + 20000 + amazon.de Scraper Library + Download Music information from amazon.de + + diff --git a/usr/local/share/xbmc/addons/metadata.common.amazon.de/amazonde.xml b/usr/local/share/xbmc/addons/metadata.common.amazon.de/amazonde.xml new file mode 100644 index 000000000..a8e054b8f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.amazon.de/amazonde.xml @@ -0,0 +1,15 @@ + + + + (.+) + + + + + + Kurzbeschreibung</h3>\s*<div class="productDescriptionWrapper">(.*?)<div class + + (.+) + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.fanart.tv/addon.xml b/usr/local/share/xbmc/addons/metadata.common.fanart.tv/addon.xml new file mode 100644 index 000000000..ef673f184 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.fanart.tv/addon.xml @@ -0,0 +1,41 @@ + + + + + + + + all + 20000 + Библиотека за ÑвалÑне на инф. от fanart.tv + fanart.tv Scraper Library + Scraper für Hintergründe von fanart.tv + Scraper de fanart.tv + fanart.tv taustakuvalataajan kirjasto + Scraper fanart.tv + fanart.tv leolvasó-könyvtár + fanart.tv-scraperfuncties + Scraper biblioteki fanart.tv + Biblioteca de fundos fanart.tv + Обработчик Фоновых изображений Ñ fanart.tv + Skrapa för fanart.tv + fanart.tv刮削器代ç åº“ + Ð¡Ð²Ð°Ð»Ñ Ð´ÐµÐºÐ¾Ñ€Ð°Ñ†Ð¸Ð¸ от www.fanart.tv.com + Download backdrops from www.fanart.tv.com + Downloade Hintergründe von www.fanart.tv.com + Descarga fanart y fotos de artistas de www.fanart.tv.com + Lataa taustakuvia osoitteesta www.fanart.tv.com + Télécharge les backdrops depuis www.htbackgrops.com + Fanartképek letöltése www.fanart.tv.com webhelyrÅ‘l + Achtergronden ophalen van www.fanart.tv.com + Pobieraj tÅ‚a z www.fanart.tv.com + Descarregar fundos de www.fanart.tv.com + Загружать фоновые Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ www.fanart.tv.com + Ladda ner bakgrundsbilder frÃ¥n www.fanart.tv.com + 从www.fanart.tv.com下载背景图 + + diff --git a/usr/local/share/xbmc/addons/metadata.common.fanart.tv/fanarttv.xml b/usr/local/share/xbmc/addons/metadata.common.fanart.tv/fanarttv.xml new file mode 100644 index 000000000..caff44145 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.fanart.tv/fanarttv.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + "artistthumb":\[(.*?)\}\] + + + "id":"\d*","url":"([^"]*) + + + + + + + + + + + + + + + + + + + + + + + "artistbackground":\[(.*?)\]," + + + "id":"\d*","url":"([^"]*) + + + (.+) + + + + + + + + + + + + + + + + + + + + "albumcover":\[(.*?)\]\} + + + "id":"\d*","url":"([^"]*) + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/addon.xml b/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/addon.xml new file mode 100644 index 000000000..199d3a6da --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/addon.xml @@ -0,0 +1,35 @@ + + + + + + + + HD-Trailers.net Scraper Library + Scraper für Trailer von HD-Trailers.net + Scraper de Trailers de HD-Trailers.net + Scraper HD-Trailers.net pour les bande-annonces + HD-Trailers.net leolvasó-könyvtár + HD-Trailers.net Scraper Collectie + Scraper zwiastunów HD-Trailers.net + Scraper de trailers de HD-Trailers.net + Обработчик Ð´Ð»Ñ Ñ‚Ñ€ÐµÐ¹Ð»ÐµÑ€Ð¾Ð² Ñ HD-Trailers.net + HD-Trailers.net刮削器代ç åº“ + Download Movie Trailers from www.hd-trailers.net + Downloade Trailer von www.hd-trailers.net + Descarga trailers de www.hd-trailers.net + Télécharge les bande-annonces de films depuis www.hd-trailers.net + FilmelÅ‘zetesek letöltése a www.hd-trailers.net-rÅ‘l + Download trailers van www.hd-trailers.net + Pobieraj zwiastuny filmowe z www.hd-trailers.net + Descarregar trailers de www.hd-trailers.net + Загружать трейлеры Ñ www.hd-trailers.net + 从www.hd-trailers.net下载电影预告片 + 20000 + all + + diff --git a/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/hdtrailers.xml b/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/hdtrailers.xml new file mode 100644 index 000000000..98a179e11 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/hdtrailers.xml @@ -0,0 +1,83 @@ + + + + + ([\w]+) + + + + + + + + ([\w]+) + + + + + + + + ([\w]+) + + + + + + + + + ">(Theatrical )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res480p + + + ">(Teaser )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res480p + + + + + + + + + ">(Theatrical )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res480p + + + ">(Teaser )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res480p + + + + ">(Theatrical )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res720p + + + ">(Teaser )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res720p + + + + + + + + + ">(Theatrical )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res480p + + + ">(Teaser )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res480p + + + + ">(Theatrical )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res720p + + + ">(Teaser )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res720p + + + + ">(Theatrical )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res1080p + + + ">(Teaser )?Trailer</td>.*?sid=(\d*)" rel="lightbox\[res1080p + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/icon.png b/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/icon.png new file mode 100644 index 000000000..e8982f986 Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.common.hdtrailers.net/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/addon.xml b/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/addon.xml new file mode 100644 index 000000000..2b7d8b3ab --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/addon.xml @@ -0,0 +1,41 @@ + + + + + + + + all + 20000 + Библиотека за ÑвалÑне на инф. от HTBackdrops + HTBackdrops Scraper Library + Scraper für Hintergründe von HTBackdrops + Scraper de HTBackdrops + HTBackdrops taustakuvalataajan kirjasto + Scraper HTBackdrops + HTBackdrops leolvasó-könyvtár + HTBackdrops-scraperfuncties + Scraper biblioteki HTBackdrops + Biblioteca de fundos HTBackdrops + Обработчик Фоновых изображений Ñ HTBackdrops + Skrapa för HTBackdrops + HTBackdrops刮削器代ç åº“ + Ð¡Ð²Ð°Ð»Ñ Ð´ÐµÐºÐ¾Ñ€Ð°Ñ†Ð¸Ð¸ от www.htbackdrops.com + Download backdrops from www.htbackdrops.com + Downloade Hintergründe von www.htbackdrops.com + Descarga fanart y fotos de artistas de www.htbackdrops.com + Lataa taustakuvia osoitteesta www.htbackdrops.com + Télécharge les backdrops depuis www.htbackgrops.com + Fanartképek letöltése www.htbackdrops.com webhelyrÅ‘l + Achtergronden ophalen van www.htbackdrops.com + Pobieraj tÅ‚a z www.htbackdrops.com + Descarregar fundos de www.htbackdrops.com + Загружать фоновые Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ www.htbackdrops.com + Ladda ner bakgrundsbilder frÃ¥n www.htbackdrops.com + 从www.htbackdrops.com下载背景图 + + diff --git a/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/htbackdrops.xml b/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/htbackdrops.xml new file mode 100644 index 000000000..053158580 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/htbackdrops.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + <id>([^<]+)</id>\n[^<]+<aid>5</aid> + + + + + + + + + + + + + + + + + + + + + + + + + <id>([^<]+)</id>\n[^<]+<aid>1</aid> + + + (.+) + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/icon.png b/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/icon.png new file mode 100644 index 000000000..277ec1297 Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.common.htbackdrops.com/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.common.imdb.com/addon.xml b/usr/local/share/xbmc/addons/metadata.common.imdb.com/addon.xml new file mode 100644 index 000000000..6bc71f858 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.imdb.com/addon.xml @@ -0,0 +1,33 @@ + + + + + + + + all + 20000 + Библиотека за ÑвалÑне на инф. от IMDB + IMDB Scraper Library + IMDB elokuvatietojen lataaja + IMDB leolvasó-könyvtár + IMDB 스í¬ëž˜í¼ ë¼ì´ë¸ŒëŸ¬ë¦¬ + IMDB Scraper Bibliotheek + Scraper IMDb + Scraper de filmes IMDb + Skrapa för IMDB + Ð¡Ð²Ð°Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° филми от www.imdb.com + Download Movie information from www.imdb.com + Lataa elokuvatietoja osoitteesta www.imdb.com + Film információk letöltése a www.imdb.com webhelyrÅ‘l + www.imdb.com ì—서 ì˜í™” ì •ë³´ 다운로드 + Download film informatie van www.imdb.com + Pobieraj informacje o filmach z www.imdb.com + Descarregar informação de filmes de www.imdb.com + Ladda ner filminformation frÃ¥n www.imdb.com + + diff --git a/usr/local/share/xbmc/addons/metadata.common.imdb.com/changelog.txt b/usr/local/share/xbmc/addons/metadata.common.imdb.com/changelog.txt new file mode 100644 index 000000000..fc2a75779 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.imdb.com/changelog.txt @@ -0,0 +1,89 @@ +[B]2.6.2[/B] +- fixed: director(s) and writer(s) scraping in case of IMDbFull is selected + +[B]2.6.1[/B] +- fixed: will scrape director(s) as writer(s) + +[B]2.6.0[/B] +- updated: outfactored outline/studio/country/top250 to common library +[B]2.5.0[/B] +- updated: outfactored tagline scraping to common library + +[B]2.4.0[/B] +- added: aspect tag to imdb poster + +[B]2.3.0[/B] +- added: option to scrape rating from MetaCritic (via IMDb) + +[B]2.2.3[/B] +- fixed: still to address some html encode issues, now in plots + +[B]2.2.2[/B] +- fixed: still to address html encode issues + +[B]2.2.1[/B] +- fixed: hopefully fixed issue with html encodes + +[B]2.2.0[/B] +- factored out GetIMDBAKATitlesById +- factored out scraping certifications + +[B]2.1.9[/B] +- fixed: plot when contains html links (once again) + +[B]2.1.8[/B] +- revert: two latest changes - cause crash some times + +[B]2.1.7[/B] +- fixed: typo in fixing previous plot issue + +[B]2.1.6[/B] +- fixed: plot when contains html links + +[B]2.1.5[/B] +- fixed: Cleanup and factored out Genres to common + +[B]2.1.4[/B] +- fixed: fetching directors and writers due to site changes + +[B]2.1.3[/B] +- fixed: make sure IMDb rating is geting fetched in every region + +[B]2.1.2[/B] +- fixed: IMDb rating after another site change + +[B]2.1.1[/B] +- fixed: IMDb rating + +[B]2.1.0[/B] +- fixed: actor roles and remove scraping of imdb trailers + +[B]2.0.8[/B] +- fixed: actor images + +[B]2.0.7[/B] +- changed: fix actors due to IMDb changes + +[B]2.0.6[/B] +- changed: re-added fixchars + +[B]2.0.5[/B] +- changed: move scraping of IMDb rating out to IMDb scraper library + +[B]2.0.4[/B] +- reverted: purge fixchars from all functions, since it cause convert fails on Beta2 and Linux + +[B]2.0.3[/B] +- reverted: fixchars removed from cast parsing, leads to Dharma Beta2 hanging, will be added back once next Beta is out + +[B]2.0.2[/B] +- fixed: some more cast won't get scraped under certain circumtances + +[B]2.0.1[/B] +- fixed: cast won't get scraped under certain circumtances + +[B]2.0.0[/B] +- changed: adapted new IMDb layout + +[B]1.0.5[/B] +- fixed: tack /combined onto the end of the url to work around the new layout of IMDb diff --git a/usr/local/share/xbmc/addons/metadata.common.imdb.com/icon.png b/usr/local/share/xbmc/addons/metadata.common.imdb.com/icon.png new file mode 100644 index 000000000..1e4547772 Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.common.imdb.com/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.common.imdb.com/imdb.xml b/usr/local/share/xbmc/addons/metadata.common.imdb.com/imdb.xml new file mode 100644 index 000000000..6c321bf66 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.imdb.com/imdb.xml @@ -0,0 +1,388 @@ + + + + + + + + + + itemprop="genre"[^>]+>([^<]+)</a> + + + + + + + + + + + + + + <span itemprop="ratingValue">([0-9.]+).*?>.*?title="([0-9,]+)\s + + + + + + + + + + + + + + Top\s250\s#([0-9]*)</ + + + + + + + + + + + + + + "/company/[^>]+>([^<]+)</a> + + + + + + + + + + + + + + "/country/[^>]+>([^<]+)</a> + + + + + + + + + + + + + + <a href="criticreviews">(\d)(\d*) + + + + + + + + + + + + + + <h2>Storyline</h2>\n+<p>(.*?)<[^a/] + + + + + + + + + + + + + + <h4[^>]*?>Taglines:</h4>\n?([^<]*) + + + + + + + + + + + + + + <p>\n?<p itemprop="description">([^<]+)</p> + + + + + + + + + + + + + + <table class="cast_list">(.*?)</table> + + + <noscript><img \n[^a]*alt="([^"]*)"[^"]*"[^"]*"[^s]*src="(?:([^"]*\.)[^"]*(\.jpg))[^>]*.*?ter">[^>]*>\n\s*(<[^>]*>)?([^<\(]*)? + + + <img \n[^a]*alt="([^"]*)"[^"]*"[^"]*"[^s]*src="(?:[^"]*\.[^"]*\.png)" class="" />*.*?ter">[^>]*>\n\s*(<[^>]*>)?([^<\(]*)? + + + <actor><thumb>(?:(http.*?)|_SX[0-9]+_SY[0-9]+_)?</thumb>(.*?)</actor> + + + + + + + + + + + + + + Director(?:s)?:.*?</h4>(.*?)<div class + + + href="/name[^>]*>([^<]*)< + + + + + + + + + + + + + + Writer(?:s)?:.*?</h4>(.*?)<div class + + + href="/name[^>]*>([^<]*)< + + + + + + + + + + + + + + <table class="cast">(.*?)</table> + + + <img src="(?:([^"]*\.)[^"]*(\.jpg))?[^>]*[^"]*"nm"><a href="[^"]*[^>]*>([^<]*)<[^"]*"ddd">([^<]<)?[^"]*"char">(.*?)</td> + + + <actor><thumb>(?:(http.*?)|_SX[0-9]+_SY[0-9]+_)</thumb>(.*?)</actor> + + + + + + + + + + + + + + Director(?:s)?:.*?</h5>[^>]*>(.*?)</div + + + <a href="/name/[^>]*>([^<]*)< + + + + + + + + + + + + + + Writing credits(.*?)name=" + + + <a href="/name/[^>]*>([^<]*)< + + + + + + + + + + + + + + <a name="poster".*?src="(.*?)_S.*?(.jpg)".*?</a> + + + (.*?_SX[0-9]+_SY[0-9]+_.jpg) + + + + + + + + + + + + + MPAA</a>\)</h4>\n?<span itemprop="contentRating">Rated\s([^<]*) + + + + + + + + + + + >\s*$INFO[imdbcertcountry]:([^<]+)</a> + + + + + + + + + + + + <h1>([^<]*) + + + + <meta name="title" content="(IMDb - )?(?:&#x22;)?([^"]*?)(?:&#x22;)? \([^\(]*?([0-9]{4})\) + + + + + + >\s*?"([^<]+)"[^<]+[<em>]?[^"]+Hong Kong [<em>][^"]+English + + + (.+) + + + >\s*?"([^<]+)"[^<]+[<em>]?[^"]+((Canada)\s(<em>)?\((English|imdb)) + + + (.+) + + + >\s*?"([^<]+)"[^<]+[<em>]?[^"]+(UK(<em>)?<br>) + + + (.+) + + + >\s*?"([^<]+)"[^"]+International\s(<em>)?\(English title\)(</em>)?(,|<)( |b) + + + (.+) + + + >\s*?"([^<]+)"[^"]+International\s(<em>)?\(English title\)(</em>)? (<em>)?\(imdb + + + (.+) + + + <a href="/country/[^>]+>(UK</a></div>) + + + (.+) + + + <a href="/country/[^>]+>(USA</a></div>) + + + (.+) + + + >\s*?"([^<]+)"[^<]+[<em>]?[^"]+(USA(<em>)?<br>) + + + (.+) + + + >\s*?"([^<]+)"[^<]+[<em>]?[^"]+((USA)\s(<em>)?\((English|imdb)) + + + (.+) + + + >\s*?"([^<]+)"[^<]+[<em>]?[^"]+((USA)\s(<em>)?\((new title)) + + + (.+) + + + + + (.+) + + + >\s*?"([^<]+)"[^<]+[<em>]?[^"]+$INFO[imdbakatitles] + + + (.+) + + + >\s*?"([^<]+)"[^<]+[<em>]?[^"]+$INFO[imdbakatitles]\s(<em>)?\((imdb display) + + + (.+) + + + <a href="/country/[^>]+>($INFO[imdbakatitles]) + + + ($INFO[imdbakatitles]) + + + Keep Original + + + (.+) + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.last.fm/addon.xml b/usr/local/share/xbmc/addons/metadata.common.last.fm/addon.xml new file mode 100644 index 000000000..561026f8f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.last.fm/addon.xml @@ -0,0 +1,41 @@ + + + + + + + + all + 20000 + Библиотека за ÑвалÑне на инф. от LastFM + LastFM Scraper Library + Musik-Scraper für LastFM + Scraper de música de LastFM + LastFM musiikkitietojen lataaja + Scraper LastFM + LastFM leolvasó-könyvtár + LastFM-scraperfuncties + Scraper biblioteki LastFM + Scraper de música LastFM + Обработчик Ð´Ð»Ñ LastFM + Skrapebibliotek för LastFM + LastFM刮削器代ç åº“ + Извлича инф. за музикални файлове от www.last.fm + Download Music information from www.last.fm + Downloade Musik informationen von www.last.fm + Descargar información musical de www.last.fm + Lataa musiikkitietoja osoitteesta www.last.fm + Télécharge les infos musicales depuis www.last.fm + Zene információk letöltése a www.last.fm webhelyrÅ‘l + Muziekinfo ophalen van LastFM + Pobieraj informacje o muzyce z www.last.fm + Descarregar informação de música de www.last.fm + Загружать информацию о Музыке Ñ www.last.fm + Ladda ner musikinformation frÃ¥n www.last.fm + 从www.last.fm下载音ä¹ä¿¡æ¯ + + diff --git a/usr/local/share/xbmc/addons/metadata.common.last.fm/icon.png b/usr/local/share/xbmc/addons/metadata.common.last.fm/icon.png new file mode 100644 index 000000000..b253ec589 Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.common.last.fm/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.common.last.fm/lastfm.xml b/usr/local/share/xbmc/addons/metadata.common.last.fm/lastfm.xml new file mode 100644 index 000000000..c47a42e32 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.last.fm/lastfm.xml @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + + + + + <album[^>]*>[^<]*<name>([^<]*?)</name> + + + + + + + + + + + + + + + + + + + + <content><!\[CDATA\[(.*?)\]\] + + + + allmusic.com + + + TheAudioDb.com + + ^$ + + + (.+) + + + + + + + + + + + + + + + + + <content><!\[CDATA\[(.*?)\]\] + + + + + + + + + + + + + + + + + <tag>.*?<name>([^/lt;]*)</name> + + + + allmusic.com + + <genre></genre> + + + <genre>(.+)</genre> + + + + + + + + + + + + + + + + + <tag>.*?<name>([^/lt;]*)</name> + + + + + + + + + + + + + + + + + <tag>.*?<name>([^/lt;]*)</name> + + + + allmusic.com + + <style></style> + + + <style>(.+)</style> + + + + + + + + + + + + + + + + + <tag>.*?<name>([^/lt;]*)</name> + + + + + + + + + + + + + + + + + + + + + + <size name="original"[^>]*>([^<]*)<[^<]*<size name="large"[^>]*>([^<]*)< + + + + + + + + + + + + + + (.+)::(.+)::(.+)::(.+) + + + + + + <name>(.*?)</name> + + (.+) + + + + + + + + + + + (.+)::(.+)::(.+)::(.+) + + + + + + <artist>(.*?)</artist> + + (.+) + + + + + + + + + + + (.+)::(.+)::(.+)::(.+) + + + + + + <releasedate>([^,]*)?([^<]*)?</releasedate> + + + <releasedate>.*?([0-9]{4})[^<]*</releasedate> + + (.+) + + + + + + + + + + + (.+)::(.+)::(.+)::(.+) + + + + + + <track rank="(.*?)".*?<name>(.*?)</name> + + (.+) + + + + + + + + + + + (.+)::(.+)::(.+)::(.+) + + + + + + <content><!\[CDATA\[(.*?)(User-|\]\]) + + (.+) + + + + + + + + + + + (.+)::(.+)::(.+)::(.+) + + + + + + <image size="extralarge">([^<]*)</image> + + + <image size="large">([^<]*)</image> + + (.+) + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.musicbrainz.org/addon.xml b/usr/local/share/xbmc/addons/metadata.common.musicbrainz.org/addon.xml new file mode 100644 index 000000000..42a26355a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.musicbrainz.org/addon.xml @@ -0,0 +1,43 @@ + + + + + + + + all + 20000 + Библиотека за ÑвалÑне на музикална инф. от MusicBrainz + MusicBrainz Music Scraper Library + Musik-Scraper für musicbrainz.org + Scraper de música de MusicBrainz + MusicBrainz musiikkitietojen lataajan kirjasto + Scraper MusicBrainz pour la musique + MusicBrainz zenei adat leolvasó + MusicBrainz-scraperfuncties + Scraper muzyki MusicBrainz + Scraper de música MusicBrainz + Bibliotecă catalog de muzică MusicBrainz + ÐœÑƒÐ·Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ MusicBrainz + Skrapa för musicbrainz.org + MusicBrainz音ä¹åˆ®å‰Šå™¨ä»£ç åº“ + Извлича инф. за музикални файлове от www.musicbrainz.org + Download Music information from www.musicbrainz.org + Downloade Musik Informationen von www.musicbrainz.org + Descarga información musical de www.musicbrainz.org + Lataa musiikkitietoja osoitteesta www.musicbrainz.org + Télécharger les infos musicales depuis www.musicbrainz.org + Zene információk letöltése a www.musicbrainz.org webhelyrÅ‘l + Muziekinformatie ophalen van www.musicbrainz.org + Pobieraj informacje o muzyce z www.musicbrainz.org + Descarregar informação de música de www.musicbrainz.org + DescărcaÈ›i informaÈ›ii muzică de pe www.musicbrainz.org + Загружать информацию о Музыке Ñ www.musicbrainz.org + Ladda ner musikinformation frÃ¥n www.musicbrainz.org + 从www.musicbrainz.org下载音ä¹ä¿¡æ¯ + + diff --git a/usr/local/share/xbmc/addons/metadata.common.musicbrainz.org/musicbrainz.xml b/usr/local/share/xbmc/addons/metadata.common.musicbrainz.org/musicbrainz.xml new file mode 100644 index 000000000..16e539b23 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.musicbrainz.org/musicbrainz.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + type="Album" id="([^"]*)"><title>([^<]*)</title><first-release-date(\s/)?>(\d{4})? + + + + + + + + + + + + + + + + + + + + <artist type="Person".*?<life-span><begin>([^<]*) + + + <artist type="Person".*?<life-span><begin>[^<]*</begin><end>([^<]*) + + + <artist type="Group".*?<life-span><begin>([^<]*) + + + <artist type="Group".*?<life-span><begin>[^<]*</begin><end>([^<]*) + + + + allmusic.com + + ^$ + + + <(?:born|formed)*>(.+)</(?:born|formed)*> + + + + + + + + + + + + + + + + + <artist type="Person".*?<life-span><begin>([^<]*) + + + <artist type="Person".*?<life-span><begin>[^<]*</begin><end>([^<]*) + + + <artist type="Group".*?<life-span><begin>([^<]*) + + + <artist type="Group".*?<life-span><begin>[^<]*</begin><end>([^<]*) + + + + + + + + + + + + + + <release id="[^"]*"><title>([^<]*)< + + (.+) + + + + + + + + + + + + <artist id="[^"]*"><name>([^<]*)< + + (.+) + + + + + + + + + + + + </primary-type><rating votes-count="[^"]*">(\d) + + (.+) + + + + + + + + + + + + <label id="[^"]*"><name>([^<]*) + + (.+) + + + + + + + + + + + + <first-release-date>([^<]*)< + + + <first-release-date>(\d{4}) + + + + + + + + + + + + + + <track><position>(\d+)</position><number>\d*</number>(?:<length>(\d*?)\d{3}</length>)*(?:<recording id="([^"]*)">)*<title>([^<]*)< + + (.+) + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/addon.xml b/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/addon.xml new file mode 100644 index 000000000..dbf44f6f8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/addon.xml @@ -0,0 +1,43 @@ + + + + + + + + all + 20000 + Библиотека за ÑвалÑне на музикална инф. от TheAudioDb + TheAudioDb Music Scraper Library + Musik-Scraper für TheAudioDb.org + Scraper de música de TheAudioDb + TheAudioDb musiikkitietojen lataajan kirjasto + Scraper TheAudioDb pour la musique + TheAudioDb zenei adat leolvasó + TheAudioDb-scraperfuncties + Scraper muzyki TheAudioDb + Scraper de música TheAudioDb + Bibliotecă catalog de muzică TheAudioDb + ÐœÑƒÐ·Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ TheAudioDb + Skrapa för TheAudioDb.org + TheAudioDb音ä¹åˆ®å‰Šå™¨ä»£ç åº“ + Извлича инф. за музикални файлове от www.theaudiodb.com + Download Music information from www.theaudiodb.com + Downloade Musik Informationen von www.theaudiodb.com + Descarga información musical de www.theaudiodb.com + Lataa musiikkitietoja osoitteesta www.theaudiodb.com + Télécharger les infos musicales depuis www.theaudiodb.com + Zene információk letöltése a www.theaudiodb.com webhelyrÅ‘l + Muziekinformatie ophalen van www.theaudiodb.com + Pobieraj informacje o muzyce z www.theaudiodb.com + Descarregar informação de música de www.theaudiodb.com + DescărcaÈ›i informaÈ›ii muzică de pe www.theaudiodb.com + Загружать информацию о Музыке Ñ www.theaudiodb.com + Ladda ner musikinformation frÃ¥n www.theaudiodb.com + 从www.theaudiodb.com下载音ä¹ä¿¡æ¯ + + diff --git a/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/icon.png b/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/icon.png new file mode 100644 index 000000000..bb12225c5 Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/tadb.xml b/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/tadb.xml new file mode 100644 index 000000000..5cce462ce --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.theaudiodb.com/tadb.xml @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + strArtistThumb\d?":"([^"]*) + + + + + + + + + + + + + + + + + + + + + + + + + strArtistFanart\d?":"([^"]*) + + + (.+) + + + + + + + + + + + + + + + + + + + + + + strBiography":"(.*?)"," + + + + last.fm + + + allmusic.com + + ^$ + + + (.+) + + + + + + + + + + + + + + + + + strBiography":"(.*?)"," + + + + + + + + + + + + + + + + + strAlbum":"([^"]*)","intYearReleased":"([^"]*) + + + + + + + + + + + + + + + + + + + + intFormedYear":"([^"]*) + + + strDisbanded":"([^"]*) + + + intBornYear":"([^"]*) + + + intDiedYear":"([^"]*) + + + <(?:born|formed)*>(.+)</(?:born|formed)*> + + + + + + + + + + + + + + + + + strGenre":"([^"]*) + + + + + + + + + + + + + + + + + + + + strDescription":"(.*?)"," + + + + + + + + + + + + + + strAlbum":"([^"]*) + + + + + + + + + + + + + + strArtist":"([^"]*) + + + + + + + + + + + + + + intYearReleased":"([^"]*) + + + + + + + + + + + + + + strGenre":"([^"]*) + + + + + + + + + + + + + + strTrack":"([^"]*)",".*?intCD".*?"intDuration":"(\d*?)\d{3}".*?intTrackNumber":"([^"]*)" + + + + + + + + + + + + + + + + + + + strAlbumThumb\d?":"([^"]*) + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/addon.xml b/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/addon.xml new file mode 100644 index 000000000..1c00e6069 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/addon.xml @@ -0,0 +1,41 @@ + + + + + + + + all + 20000 + Библиотека за ÑвалÑне на инф. от TMDb + TMDb Scraper Library + Scraper de peliculas de TMDb + TMDb elokuvatietojen lataajan kirjasto + Scraper TMDb + TMDb leolvasó-könyvtár + TMDb-scraperfuncties + Scraper biblioteki TMDb + Scraper de filmes TMDb + Bibliotecă catalog TMDb + Обработчик Ð´Ð»Ñ TMDb + Skrapebibliotek för TMDb + TMDb刮削器代ç åº“ + Ð¡Ð²Ð°Ð»Ñ Ð¼Ð¸Ð½Ð¸Ð°Ñ‚ÑŽÑ€Ð¸ и fanarts от www.themoviedb.org + Download thumbs and fanarts from www.themoviedb.org + Descarga posters y fanart de www.themoviedb.org + Lataa pienoiskuvia ja fanitaidetta www.themoviedb.org -sivustolta + Télécharge vignettes et backdrops depuis www.themoviedb.org + Bélyeg- és fanartképek letöltése a www.themoviedb.org webhelyrÅ‘l + Miniaturen en fanart ophalen van www.themoviedb.org + Pobieraj ikony i fanarty z www.themoviedb.org + Descarregar informação de filmes de www.themoviedb.org + DescărcaÈ›i miniaturi È™i imagini realizate de fani de pe www.themoviedb.org + Загружать миниатюры и фанарт Ñ www.themoviedb.org + Ladda ner miniatyrer och fanart frÃ¥n www.themoviedb.org + 从www.themoviedb.org下载海报和åŒäººç”» + + diff --git a/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/icon.png b/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/icon.png new file mode 100644 index 000000000..b95037a3e Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/tmdb.xml b/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/tmdb.xml new file mode 100644 index 000000000..ab8b3df1b --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.common.themoviedb.org/tmdb.xml @@ -0,0 +1,513 @@ + + + + + + + + + + + + + + "$INFO[tmdbcertcountry]","certification":"([^"]*) + + + + + + + + + + + + + + + + + + + + + + + + + "title":"([^"]*) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "overview":"(.*?)"," + + + ^$ + + + (.+) + + + + + + + + "overview":"(.*?)"," + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "tagline":"([^"]*) + + + ^$ + + + (.+) + + + + + + + + "tagline":"([^"]*) + + + + + + + + + + + + + + + + + + + + + + + + + "belongs_to_collection":\{"id":[0-9]+,"name":"([^"]*) + + + ^$ + + + (.+) + + + + + + + + "belongs_to_collection":\{"id":[0-9]+,"name":"([^"]*) + + + + + + + + + + + + + + + + + "cast":\[([^\]]*) + + + "name":"([^"]*)","character":"([^"]*)","order":[0-9]*,"cast_id":[0-9]*,"profile_path":"([^"]*)" + + + "name":"([^"]*)","character":"([^"]*)","order":[0-9]*,"cast_id":[0-9]*,"profile_path":null + + + + + + + + + + + + + + + + + "crew":\[([^\]]*) + + + "name":"([^"]*)","department":"Directing","job":"Director" + + + + + + + + + + + + + + + + + "crew":\[([^\]]*) + + + "name":"([^"]*)","department":"Writing", + + + + + + + + + + + + + + + + + + + + + + + + + "genres":\[([^\]]*) + + + "name":"([^"]*) + + + + + + + + + + + + + + + + + "vote_average":([^,]*)," + + + "vote_count":([0-9]+) + + + + + + + + + + + + + + + + + "production_companies":\[([^\]]*) + + + "name":"([^"]*) + + + + + + + + + + + + + + + + + "production_countries":\[([^\]]*) + + + "name":"([^"]*) + + + + + + + + + + + + + + + + + + + + + + + + + "id":([0-9]*), + + + "youtube":\[\{([^\}]*) + + + "source":"([^"]*) + + + ^$ + + + (.+) + + (.+) + + + + + + "id":([0-9]*), + + + "youtube":\[\{([^\}]*) + + + "source":"([^"]*) + + + ^$ + + + (.+) + + (.+) + + + + + + "youtube":\[\{([^\}]*) + + + "source":"([^"]*) + + (.+) + + + + + + + + + + + + + + + "backdrops":\[\{([^\]]*) + + + "file_path":"([^"]*) + + (.+) + + + + + + + + + + + + + + + + + + + + + + + "id":([0-9]*), + + + "posters":\[\{([^\]]*) + + + "file_path":"([^"]*) + + + + en + + ^$ + + + (.+) + + + ^((?!en).)*$ + + (.+) + + + + + + "id":([0-9]*), + + + "posters":\[\{([^\]]*) + + + "file_path":"([^"]*) + + + + en + + ^$ + + + (.+) + + + ^((?!en).)*$ + + (.+) + + + + + + "id":([0-9]*), + + + "posters":\[\{([^\]]*) + + + "file_path":"([^"]*) + + + ^$ + + + (.+) + + (.+) + + + + + + "posters":\[\{([^\]]*) + + + "file_path":"([^"]*) + + (.+) + + + + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/addon.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/addon.xml new file mode 100644 index 000000000..d176db5c5 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/addon.xml @@ -0,0 +1,86 @@ + + + + + + + + + + Last.fm Musiek Video Skraper + Last.fm Music Video Scraper + Ð¡Ð²Ð°Ð»Ñ Ð¸Ð½Ñ„. за музикални клипове от Last.fm + Arreplegador de videos musicals de Last.fm + Zdroj dat hudebních videí Last.fm + Last.fm Scraper til Musikvideor + Last.fm Musik Video Scraper + Scraper Μουσικών Βίντεο από Last.fm + Last.fm Music Video Scraper + Scraper Video Clip Last.fm + Scraper Video Clip Last.fm + Scraper de Vídeos de Música de Last.fm + Last.fm musiikkivideotietojen lataaja + Collecter les clips vidéos Last.fm + Scraper de música e vídeo de Last.fm + Last.fm ויד×ו קליפ מוזיקה + Last.fm videóklip leolvasó + Scaper Video Musicale di Last.fm + Last.fm 音楽ビデオスクレーパー + Last.fm ë®¤ì§ ë¹„ë””ì˜¤ ìžë£Œìˆ˜ì§‘기 + Last.fm vaizdo klipų Scraper + Last.fm Превземач на Музички видеа + Last.fm Muziek Video Scraper + Scraper teledysków Last.fm + Scraper de música Last.fm + Scraper de Videoclipes do Last.fm + InformaÅ£ii Videoclipuri de la Last.fm + ИнфореÑÑƒÑ€Ñ Ð²Ð¸Ð´ÐµÐ¾ÐºÐ»Ð¸Ð¿Ð¾Ð² Last.fm + Skrapa för Last.fm musik + Zdroj dát hudobných videí z Last.fm + Ponudnik informacij o videospotih Last.fm + Last.fm Musikvideoskrapa + ข้อมูลวิดีโอเพลงจาภLast.fm + Last.fm音ä¹ç”µè§†åˆ®å‰Šå™¨ + Laai Musiek Video inligting af + የሙዚቃ ቪዲዮ መረጃ ማá‹áˆ¨áŒƒ + Зладаваць зьвеÑткі пра музычнае відÑа + Ð¡Ð²Ð°Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° музикални клипове + Baixa informació de videos musicals + Stáhnout informace o hudebním videu + Hent information til Musikvideoer + Musik Video Information herunterladen + Λήψη πληÏοφοÏιών Μουσικών Βίντεο + Download Music Video information + Descarga información del Video Clip + Descarga información del Video Clip + Descarga Información de Vídeos de Músca + Lataa musiikkivideoiden tiedot + Télécharger les informations des clips vidéos + Descargar información da música e vídeo + הורד מידע ויד×ו קליפ + Videóklip információk letöltése a Last.fm webhelyrÅ‘l + Scarica informazioni Video Musicale + 音楽ビデオ情報をダウンロード + ë®¤ì§ ë¹„ë””ì˜¤ ì •ë³´ 다운로드 + Atsisiusti vaizdo klipų informacijÄ… + Превземи информации за музичко видео + Muziek Video informatie downloaden + Pobieraj informacje o teledyskach z last.fm + Descarregar informação de vídeoclipe + Baixar informações do videoclipe + Descărcare informaÅ£ii videoclipuri + Загружать ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ видеоклипах + Ladda ner musikvideoinformation frÃ¥n last.fm + PrevziaÅ¥ informácie o hudobnom videu + Prenesite informacije o videospotih + Ladda ner musikvideoinformation + ดาวน์โหลดข้อมูลวิดีโอเพลง + 从Last.fm下载音ä¹ç”µè§†ä¿¡æ¯ + broken due to last.fm suspended XBMC API Account + + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/icon.png b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/icon.png new file mode 100644 index 000000000..b253ec589 Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/lastfmmusicvideos.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/lastfmmusicvideos.xml new file mode 100644 index 000000000..64d58e73e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/lastfmmusicvideos.xml @@ -0,0 +1,63 @@ + + + + + (.+)%20%20%20(.+) + + + + + + </id>\s*<name>([^<]*).*?<artist>\s*<name>([^<]*) + + + </id>\s*<name>([^<]*).*?<artist>\s*<name>([^<]*) + + + </id>\s*<name>([^<]*).*?<artist>\s*<name>([^<]*) + + + + + + + + </title>\s*<mbid>([^<]*)< + + + <album[^>]*>\s*<artist>\s*[^<]*</artist>\s*<title>([^<]*)</title> + + + <artist>\s*<name>([^<]*)< + + + <name>([^<]*)< + + + + + + + + + + + + <content><!\[CDATA\[(.*?)(User-|\]\]) + + + <tag>\s*<name>([^<]*)</name> + + + <image size="extralarge">\s*([^<]*)\s*</image> + + + (.+) + + + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Afrikaans/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Afrikaans/strings.xml new file mode 100644 index 000000000..5dcffd95d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Afrikaans/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Gryp album duimnaelsketse vanaf fanart.tv + Gryp album duimnaelsketse vanaf Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Belarusian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Belarusian/strings.xml new file mode 100644 index 000000000..a362e83d5 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Belarusian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Grab album thumbs from fanart.tv + Grab album thumbs from Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Bulgarian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Bulgarian/strings.xml new file mode 100644 index 000000000..62e00455a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Bulgarian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + СвалÑй миниатюри за албумите от fanart.tv + СвалÑй миниатюри за албумите от Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Catalan/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Catalan/strings.xml new file mode 100644 index 000000000..a925b1801 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Catalan/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Agafa les miniatures d'àlbums de fanart.tv + Agafa les miniatures d'àlbums de Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Chinese (Simple)/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Chinese (Simple)/strings.xml new file mode 100644 index 000000000..a50a4e480 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Chinese (Simple)/strings.xml @@ -0,0 +1,9 @@ + + + + + + + 从fanart.tv获å–专辑图片 + 从Last.fm获å–专辑图片 + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Czech/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Czech/strings.xml new file mode 100644 index 000000000..e2232c1ed --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Czech/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Získat náhledy alb z fanart.tv + Získat náhledy alb z Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Danish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Danish/strings.xml new file mode 100644 index 000000000..5f974be84 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Danish/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Hent Miniaturebilleder af Albummer fra fanart.tv + Hent Miniaturebilleder af Albummer fra Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Dutch/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Dutch/strings.xml new file mode 100644 index 000000000..a2f4fa593 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Dutch/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Pak albumminiaturen van fanart.tv + Pak albumminiaturen van Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/English/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/English/strings.xml new file mode 100644 index 000000000..77b55a184 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/English/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Grab album thumbs from fanart.tv + Grab album thumbs from Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Finnish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Finnish/strings.xml new file mode 100644 index 000000000..8be501a38 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Finnish/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Hae albumin pienoiskuvat fanart.tv:stä + Hae albumin pienoiskuvat Last.fm:stä + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/French/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/French/strings.xml new file mode 100644 index 000000000..760231dcf --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/French/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Récupérer les vignettes d'albums depuis fanart.tv + Récupérer les vignettes d'albums depuis Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Galician/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Galician/strings.xml new file mode 100644 index 000000000..e81599dfb --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Galician/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Obter as miniaturas do álbum dende fanart.tv + Obter as miniaturas do álbum dende Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/German/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/German/strings.xml new file mode 100644 index 000000000..548004a32 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/German/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Album Minibild von fanart.tv grabben + Album Minibild von Last.fm grabben + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Greek/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Greek/strings.xml new file mode 100644 index 000000000..8b8cb61ec --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Greek/strings.xml @@ -0,0 +1,9 @@ + + + + + + + ΜικÏογÏαφίες άλμπουμ από fanart.tv + ΜικÏογÏαφίες άλμπουμ από Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Hebrew/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Hebrew/strings.xml new file mode 100644 index 000000000..a5c861461 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Hebrew/strings.xml @@ -0,0 +1,9 @@ + + + + + + + השג תמונות ××œ×‘×•× ×ž- fanart.tv + השג תמונות ××œ×‘×•× ×ž- Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Hungarian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Hungarian/strings.xml new file mode 100644 index 000000000..70c3a726e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Hungarian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Tölts le album miniképeket a fanart.tv-rÅ‘l + Tölts le album miniképeket a Last.fm-rÅ‘l + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Italian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Italian/strings.xml new file mode 100644 index 000000000..10a1abc61 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Italian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Scarica le copertine album da fanart.tv + Scarica le copertine album da Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Japanese/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Japanese/strings.xml new file mode 100644 index 000000000..449f5deca --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Japanese/strings.xml @@ -0,0 +1,9 @@ + + + + + + + fanart.tv ã‹ã‚‰ã‚¢ãƒ«ãƒãƒ ã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + Last.fm ã‹ã‚‰ã‚¢ãƒ«ãƒãƒ ã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Korean/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Korean/strings.xml new file mode 100644 index 000000000..520ce4782 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Korean/strings.xml @@ -0,0 +1,9 @@ + + + + + + + fanart.tv ì—서 앨범 커버 가져오기 + Last.fm ì—서 앨범 커버 가져오기 + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Lithuanian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Lithuanian/strings.xml new file mode 100644 index 000000000..48cf6b5a6 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Lithuanian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Paimti albumų miniatiÅ«ras iÅ¡ fanart.tv + Paimti albumų miniatiÅ«ras iÅ¡ Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Macedonian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Macedonian/strings.xml new file mode 100644 index 000000000..1f4ab4ada --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Macedonian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Симни Ñликички за албум од fanart.tv + Симни Ñликички за албум од last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Polish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Polish/strings.xml new file mode 100644 index 000000000..a9e0ac2f2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Polish/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Pobierz ikony albumu z fanart.tv + Pobierz ikony albumu z Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Portuguese (Brazil)/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Portuguese (Brazil)/strings.xml new file mode 100644 index 000000000..1f146b251 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Portuguese (Brazil)/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Obter miniaturas de álbuns de fanart.tv + Obter miniaturas de álbuns do Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Portuguese/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Portuguese/strings.xml new file mode 100644 index 000000000..6b86b03b4 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Portuguese/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Obter miniaturas de álbum em fanart.tv + Obter miniaturas do álbum em Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Romanian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Romanian/strings.xml new file mode 100644 index 000000000..057a15403 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Romanian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + ObÅ£ine imagini album de la fanart.tv + ObÅ£ine imagini album de la Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Russian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Russian/strings.xml new file mode 100644 index 000000000..bffa18fe0 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Russian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Загружать ÑÑкизы альбомов Ñ fanart.tv + Загружать ÑÑкизы альбомов Ñ Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Slovak/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Slovak/strings.xml new file mode 100644 index 000000000..08fbb4d5f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Slovak/strings.xml @@ -0,0 +1,9 @@ + + + + + + + ZískaÅ¥ náhľady albumov zo stránky fanart.tv + ZískaÅ¥ náhľady albumov zo stránky Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Slovenian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Slovenian/strings.xml new file mode 100644 index 000000000..748c90918 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Slovenian/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Prenesi sliÄice albumov s fanart.tv + Prenesi sliÄice albumov z Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish (Argentina)/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish (Argentina)/strings.xml new file mode 100644 index 000000000..41cf2ccf8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish (Argentina)/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Obtener miniatura de album de fanart.tv + Obtener miniatura de album de Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish (Mexico)/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish (Mexico)/strings.xml new file mode 100644 index 000000000..0a9bdb80a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish (Mexico)/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Obtener miniaturas de álbumes desde fanart.tv + Obtener miniaturas de álbumes desde Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish/strings.xml new file mode 100644 index 000000000..da0cdcc72 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Spanish/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Obtener miniatura de album de fanart.tv + Obtener miniatura de album de Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Swedish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Swedish/strings.xml new file mode 100644 index 000000000..8111531d3 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Swedish/strings.xml @@ -0,0 +1,9 @@ + + + + + + + Hämta albumminiatyrer frÃ¥n fanart.tv + Hämta albumminiatyrer frÃ¥n Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Thai/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Thai/strings.xml new file mode 100644 index 000000000..1ac286c84 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/language/Thai/strings.xml @@ -0,0 +1,9 @@ + + + + + + + ดึงข้อมูลภาพปà¸à¸­à¸±à¸¥à¸šà¸±à¹‰à¸¡à¸ˆà¸²à¸ fanart.tv + ดึงข้อมูลภาพปà¸à¸­à¸±à¸¥à¸šà¸±à¹‰à¸¡à¸ˆà¸²à¸ Last.fm + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/settings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/settings.xml new file mode 100644 index 000000000..403462073 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.last.fm/resources/settings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/addon.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/addon.xml new file mode 100644 index 000000000..37ab5a46c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/addon.xml @@ -0,0 +1,84 @@ + + + + + + + + + theaudiodb.com Musiek Video Skraper + theaudiodb.com Music Video Scraper + Ð¡Ð²Ð°Ð»Ñ Ð¸Ð½Ñ„. за музикални клипове от theaudiodb.com + Zdroj dat o hudebních videích theaudiodb.com + theaudiodb.com Musikvideo-scraper + theaudiodb.com Musikvideo-Scraper + Scraper Μουσικών Βίντεο του theaudiodb.com + theaudiodb.com Music Video Scraper + Buscador de videoclips de theaudiodb.com + Scraper de Videos de Música de TheAudioDb.com + theaudiodb.com musiikkivideotietojen lataaja + theaudiodb.com Scraper Clip Vidéo + Scraper de vídeo e música de theaudiodb.com + theaudiodb.com סקרייפר ויד×ו קליפ + theaudiodb.com videóklip leolvasó + Lo scraper di video musicali theaudiodb.com + theaudiodb.com 音楽ビデオスクレーパー + 야후! ë®¤ì§ ë¹„ë””ì˜¤ 스í¬ëž˜í¼ + theaudiodb.com vaizdo klipų Scraper + theaudiodb.com Music Video Scraper + theaudiodb.com Muziek Video Scraper + theaudiodb.com Skraper for musikkvideo + Scraper teledysków theaudiodb.com + Scraper de música theaudiodb.com + Scraper de concertos theaudiodb.com + InformaÅ£ii videoclipuri de la theaudiodb.com + Скрапер музыки и видео theaudiodb.com + Skrapa för theaudiodb.com musik + Zdroj získavania dát o hudobných videách zo stránky theaudiodb.com + Ponudnik informacij o videospotih theaudiodb.com + theaudiodb.com musikvideoskrapa + ตัวดึงข้อมูลวิดีโอเพลง theaudiodb.com + theaudiodb.com音ä¹ç”µè§†åˆ®å‰Šå™¨ + Laai Musiek Video informasie af + የሙዚቃ ቪዲዮ መረጃ ማá‹áˆ¨áŒƒ + Download Music Video information + Ð¡Ð²Ð°Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° музикални клипове + Baixa informació de videos musicals + Stáhnout informace o hudebním videu + Hent Musikvideo-information + Musik Video Information herunterladen + Λήψη πληÏοφοÏιών Μουσικών Βίντεο + Download Music Video information + Descarga información del videoclip + Descarga información del Video Clip + Descarga Información de Vídeos de Músca + Lataa musiikkivideoiden tiedot + Télécharger les informations des clips vidéos + Descargar a información do vídeo e música + הורד מידע ויד×ו קליפ + Videóklip információk letöltése a theaudiodb.com webhelyrÅ‘l + Scarica informazioni Video Musicale + éŸ³æ¥½ãƒ“ãƒ‡ã‚ªã®æƒ…報をダウンロード + ë®¤ì§ ë¹„ë””ì˜¤ ì •ë³´ 다운로드 + Atsisiusti vaizdo klipų informacijÄ… + Превземи информации за музичко видео + Muziek Video informatie downloaden + Last ned musikkvideoinformasjon + Pobieraj informacje o teledyskach z theaudiodb.com + Descarregar informação de filmes de theaudiodb.com + Download de informação de Concertos + Descarcă informaÅ£ii videoclipuri + Загружать ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ видеоклипах + Ladda ner musikvideoinformation frÃ¥n theaudiodb.com + PrevziaÅ¥ informácie o hudobnom videu + Prenesite informacije o videospotih + Ladda ner musikvideoinformation + ดาวน์โหลดข้อมูลวิดีโอเพลง + 从theaudiodb.com下载音ä¹ç”µè§†èµ„æ–™ + + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/icon.png b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/icon.png new file mode 100644 index 000000000..0460de88c Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Afrikaans/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Afrikaans/strings.xml new file mode 100644 index 000000000..efa80da17 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Afrikaans/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Gryp album duimnaelsketse vanaf fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Belarusian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Belarusian/strings.xml new file mode 100644 index 000000000..91203fe7f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Belarusian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Grab album thumbs from fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Bulgarian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Bulgarian/strings.xml new file mode 100644 index 000000000..ae129c1c9 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Bulgarian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + СвалÑй миниатюри за албумите от fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Catalan/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Catalan/strings.xml new file mode 100644 index 000000000..d38a9ad2b --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Catalan/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Agafa les miniatures d'àlbums de fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Chinese (Simple)/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Chinese (Simple)/strings.xml new file mode 100644 index 000000000..1b4badd57 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Chinese (Simple)/strings.xml @@ -0,0 +1,8 @@ + + + + + + + 从fanart.tv获å–专辑图片 + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Czech/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Czech/strings.xml new file mode 100644 index 000000000..138d80502 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Czech/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Získat náhledy alb z fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Danish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Danish/strings.xml new file mode 100644 index 000000000..5d12f88ee --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Danish/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Hent miniaturebilleder til albummer fra fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Dutch/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Dutch/strings.xml new file mode 100644 index 000000000..521473130 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Dutch/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Verkrijg album thumbs van fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/English/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/English/strings.xml new file mode 100644 index 000000000..8b5221e45 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/English/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Grab album thumbs from fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Finnish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Finnish/strings.xml new file mode 100644 index 000000000..36e9182d2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Finnish/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Hae albumin pienoiskuvat fanart.tv:stä + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/French/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/French/strings.xml new file mode 100644 index 000000000..bdd7dd322 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/French/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Récupérer les vignettes d'albums depuis fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Galician/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Galician/strings.xml new file mode 100644 index 000000000..17b6ffa5f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Galician/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Obter as miniaturas do álbum dende fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/German/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/German/strings.xml new file mode 100644 index 000000000..f9ba422ff --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/German/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Album Minibild von fanart.tv grabben + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Greek/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Greek/strings.xml new file mode 100644 index 000000000..a30f60c67 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Greek/strings.xml @@ -0,0 +1,8 @@ + + + + + + + ΜικÏογÏαφίες άλμπουμ από fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Hebrew/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Hebrew/strings.xml new file mode 100644 index 000000000..db8e17a22 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Hebrew/strings.xml @@ -0,0 +1,8 @@ + + + + + + + השג תמונות ××œ×‘×•× ×ž- fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Hungarian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Hungarian/strings.xml new file mode 100644 index 000000000..1df352ce4 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Hungarian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Album miniképek letÅ‘ltésea fanart.tv-rÅ‘l + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Italian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Italian/strings.xml new file mode 100644 index 000000000..0c8c8b121 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Italian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Scarica le copertine album da fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Japanese/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Japanese/strings.xml new file mode 100644 index 000000000..f23250500 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Japanese/strings.xml @@ -0,0 +1,8 @@ + + + + + + + fanart.tv ã‹ã‚‰ã‚¢ãƒ«ãƒãƒ ã‚µãƒ ãƒãƒ¼ãƒ«ã‚’å–å¾— + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Korean/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Korean/strings.xml new file mode 100644 index 000000000..da27bae11 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Korean/strings.xml @@ -0,0 +1,8 @@ + + + + + + + fanart.tv ì—서 앨범 커버 가져오기 + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Lithuanian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Lithuanian/strings.xml new file mode 100644 index 000000000..2c7fca4a8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Lithuanian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Paimti albumų miniatiÅ«ras iÅ¡ fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Macedonian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Macedonian/strings.xml new file mode 100644 index 000000000..a94780d11 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Macedonian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Симни Ñликички за албум од fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Norwegian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Norwegian/strings.xml new file mode 100644 index 000000000..91b424582 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Norwegian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Hent Album Thumbs fra fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Polish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Polish/strings.xml new file mode 100644 index 000000000..157ccb2a2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Polish/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Pobierz ikony albumu z fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Portuguese (Brazil)/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Portuguese (Brazil)/strings.xml new file mode 100644 index 000000000..32bff6a51 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Portuguese (Brazil)/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Obter miniaturas de álbuns de fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Portuguese/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Portuguese/strings.xml new file mode 100644 index 000000000..d31d2b9d6 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Portuguese/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Obter miniaturas de álbum em fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Romanian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Romanian/strings.xml new file mode 100644 index 000000000..555f442a6 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Romanian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + ObÅ£ine imagini albume de la fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Russian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Russian/strings.xml new file mode 100644 index 000000000..71d81ce1e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Russian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Загружать ÑÑкизы альбомов Ñ fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Slovak/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Slovak/strings.xml new file mode 100644 index 000000000..8faf8ca14 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Slovak/strings.xml @@ -0,0 +1,8 @@ + + + + + + + ZískaÅ¥ náhľady albumov zo stránky fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Slovenian/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Slovenian/strings.xml new file mode 100644 index 000000000..57bcb7753 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Slovenian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Prenesi sliÄice albumov s fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish (Argentina)/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish (Argentina)/strings.xml new file mode 100644 index 000000000..27fb72c87 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish (Argentina)/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Obtener miniatura de album de fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish (Mexico)/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish (Mexico)/strings.xml new file mode 100644 index 000000000..a345ea3c5 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish (Mexico)/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Obtener miniaturas de álbumes desde fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish/strings.xml new file mode 100644 index 000000000..54d3c5dab --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Spanish/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Obtener miniatura de álbum de fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Swedish/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Swedish/strings.xml new file mode 100644 index 000000000..d1b76159d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Swedish/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Hämta albumminiatyrer frÃ¥n fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Thai/strings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Thai/strings.xml new file mode 100644 index 000000000..34a36fd13 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/language/Thai/strings.xml @@ -0,0 +1,8 @@ + + + + + + + ดึงข้อมูลภาพปà¸à¸­à¸±à¸¥à¸šà¸±à¹‰à¸¡à¸ˆà¸²à¸ fanart.tv + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/settings.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/settings.xml new file mode 100644 index 000000000..ea430f171 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/resources/settings.xml @@ -0,0 +1,4 @@ + + + + diff --git a/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/tadb.xml b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/tadb.xml new file mode 100644 index 000000000..2305e2d09 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.musicvideos.theaudiodb.com/tadb.xml @@ -0,0 +1,42 @@ + + + + + (.+)%20%20%20(.+) + + + + + + idTrack":"([^"]*)","idAlbum":"([^"]*).*?"strTrack":"([^"]*)","strAlbum":"([^"]*)","strArtist":"([^"]*) + + + + + + + + strTrack":"([^"]*)" + + + strArtist":"([^"]*)" + + + strAlbum":"([^"]*)" + + + strDescription":"(.*?)"," + + + strGenre":"([^"]*)" + + + strTrackThumb":"([^"]*)" + + + strMusicBrainzAlbumID":"([^"]*)" + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/addon.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/addon.xml new file mode 100644 index 000000000..15568ca16 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/addon.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + TMDB Fliek Skraper + TMDB Movie Scraper + Ð¡Ð²Ð°Ð»Ñ Ð¸Ð½Ñ„. за филми от TMDB + Arreplegador de pel·lícules TMDB + Zdroj zisku dat k filmům TMDB + TMDB Scraper til Film + Film Scraper für TheMovieDB + Scraper Ταινιών του TMDb + TMDB Movie Scraper + Scraper de películas de TheMovieDB + Scraper de Películas de TheMovieDB + Scraper de Películas TMDb + TMDB Filmi kaabits + TMDB elokuvatietojen lataaja + Collecteur de Films TMDB + Scraper de Filme de TMDB + TMDB סקרייפר ×¡×¨×˜×™× + TMDB filmadat leolvasó + Ricercatore per TMDB Movie + TMDB映画ã®ã‚¹ã‚¯ãƒ¬ãƒ¼ãƒ‘ー + TMDB ì˜í™” ìžë£Œìˆ˜ì§‘기 + TMDB Filmų Scraper + TMDB инфо за филмови + മൂവി à´¡à´¿ ബി, വിവരശേഖരം + TMDb-filmscraper + Scraper filmowy TMDB + Scraper de filmes TMDb + Scraper de Filmes TMDb + Scraper de filme TMDb + ИнфореÑÑƒÑ€Ñ Ð½Ð° базе TMDB + Skrapa för TMDb + TheMovieDB filmový sÅ¥ahovaÄ + Ponudnik informacij o filmih TMDB + TMDB Filmskrapa + ตัวรับข้อมูลภาพยนต์ TMDB + TMDB电影刮削器 + themoviedb.org is 'n verniet en oop fliek databasis. Dit is totaal gebruiker gedryf deur mense soos jy. TMDB word huidiglik deur miljoene mense elke maand gebruik, en met hulle kragtige API word dit ook deur baie gewilde media sentrums soos XBMC gebruik om Fliek Metadata, Plakkate en Ondersteunerkuns te onttrek om die gebruiker se ondervinding te verryk. + themoviedb.org is a free and open movie database. It's completely user driven by people like you. TMDb is currently used by millions of people every month and with their powerful API, it is also used by many popular media centers like XBMC to retrieve Movie Metadata, Posters and Fanart to enrich the user's experience. + themoviedb.org е безплатна и отворена база от данни за филми. Задвижва Ñе изцÑло от потребителите Ñи - хора като ваÑ. Милиони хора по Ñвета вÑеки меÑец ползват TMDb, благодарение на многофункционалното API. Едновременно Ñ Ñ‚Ð¾Ð²Ð° е и източник на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° медийни центрове, като XBMC, които извличат Ð¼ÐµÑ‚Ð°Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° филми, поÑтери и Fanart. + themoviedb.org és una base de dades oberta i lliure. Es manté completament per usuaris, per gent com tu. TMDb s'utilitza actualment per milions de persones cada mes i amb la seva potent API també és utilitzada per molts centre media populas com l'XBMC per obtenir les meta-dades de pel·lícules, pósters i fanart per enriquir l'experiència d'usuari. + themoviedb.org je otevÅ™ená a svobodná databáze filmů. Je řízena uživateli, tedy lidmi jako vy. TMDB je každý mÄ›síc používána milióny lidí a se svým výborným API je také používano mnoha populárními mediálními centry jako je XBMC, k získávání metadat, plagátů a fanartu filmů pro obohacení uživatelského zážitku. + themoviedb.org er en fri og Ã¥ben filmdatabase. Den er helt og aldeles brugerdrevet af folk som dig. TMDb bruges i dag af millioner af mennesker hver mÃ¥ned, og med deres kraftfulde API er den ogsÃ¥ brugt af mange populære mediecentre sÃ¥som XBMC til at hente metadata, plakater og fankunst til film, for at berige brugerens oplevelse. + TheMovieDB.org ist eine freie und offene Filmdatenbank. Sie wird von Benutzern wie Dir betrieben. TheMovieDB wird zur Zeit monatlich von Millionen genutzt. Mit der mächtigen API wird sie auch von vielen Media-Center, wie z.B. XBMC, genutzt um Film Metadaten, Poster und Fanarts zu beziehen, damit der Benutzer sein Media-Center verschönern kann. + Το themoviedb.org είναι μία δωÏεάν και ανοικτή βάση δεδομένων ταινιών. ΔιαχειÏίζεται πλήÏως από ανθÏώπους σαν και εσάς. Το TMDb χÏησιμοποιείται από εκατομμÏÏια ανθÏώπους κάθε μήνα, και με το πανίσχυÏο API τους, χÏησιμοποιείται και από πολλά δημοφιλή κέντÏα πολυμέσων όπως το XBMC για να λαμβάνουν μετα-δεδομένα Ταινιών, Αφίσες και Fanart για εμπλουτισμό της εμπειÏίας του χÏήστη. + themoviedb.org is a free and open movie database. It's completely user driven by people like you. TMDb is currently used by millions of people every month and with their powerful API, it is also used by many popular media centers like XBMC to retrieve Movie Metadata, Posters and Fanart to enrich the user's experience. + themovieDB.org es una base de datos de películas gratuita y abierta. Es una página web que se basa en contenido subido por los usuarios. TMDb es usada diariamente por mucha gente gracias a su API, que es usada por más programas aparte de XBMC para descargar información de películas así como Posters o Fanart (Fondos de escritorio basados en películas usados en distintos skins) para enriquecer la experiencia de usar XBMC. + themovieDB.org es una base de datos de películas gratuita y abierta. Está formada con contenido subido por usuarios como vos. TMDb es actualmente utilizada por millones de personas cada mes y, gracias a su poderosa API, es usada por muchos programas populares como XBMC para descargar Información de Películas, Posters y Fanart para enriquecer la experiencia de usar XBMC. + themoviedb.org es una base de datos de películas gratis y abierta. Es completamente manejada por usuarios y personas como tu. Actualmente TMDb es usada por millones de personas cada mes, y dado a su poderosa API, es usada también por varios media centers populares como XBMC para obtener Metada de Películas, Posters y Fanarts, enriqueciendo de esta manera la experiencia del usuario. + themoviedb.org on tasuta ja vaba juurdepääsuga filmide andmebaas.See on täielikult koostatud sinu sarnaste inimeste poolt. TMDb on hetkel igapäevaselt kasutuses miljonite inimeste poolt ja seda kasutavad paljud populaarsed meediakeskused, nagu ka XBMC, filmiandmete, fännikunsti ja posterite leidmiseks. + themoviedb.org on vapaa ja avoin elokuvatietokanta. Se on täysin käyttäjien ylläpitämä. TMDb:a käyttää miljoonat ihmiset joka kuukausi, sitä käytetään käyttäjäkokemuksen rikastuttamiseen monissa muissakin suosituissa XBMC:n kaltaisissa ohjelmissa lataamalla elokuvien tietoja, julisteita ja fanitaidetta. + themoviedb.org est une base de données gratuite et libre d'accès de films. Elle est totalement gérée par les utilisateurs. TMDb est actuellement utilisée par des millions de personnes chaque mois et, grâce à ses puissantes fonctions et routines, elle est également utilisée par de nombreux Media Centers populaires comme XBMC aux fins de récupération des Métadonnées, Posters et Fanarts des films en vue d'améliorer l'expérience de l'utilisateur. + themoviedb.org é una base de datos sobre filmes libre e aberta, impulsada por xente coma ti. Na actualidade TMDb é usada por millóns de persoas todos os meses, e grazas ó seu potente API, usado por algúns dos centros multimedia máis populares como XBMC para obter a información dos filmes, Posters e Fanart e así mellorar a experiencia do usuario. + themoviedb.org is a free and open movie database. It's completely user driven by people like you. TMDb is currently used by millions of people every month and with their powerful API, it is also used by many popular media centers like XBMC to retrieve Movie Metadata, Posters and Fanart to enrich the user's experience. + A themoviedb.org egy ingyenes és nyílt filmadatbázis. Teljes egészében olyan felhasználók töltik fel, mint például Te. A TMDb-t havonta emberek milliói használják és a hatékony API-n keresztül számos népszerű média center is, mint például az XBMC a filmadatok, poszterek, fanartképek letöltésére. + themoviedb.org è un database libero e aperto. E' gestito da utenti e persone come te. Viene usato correntemente da millioni di persone ogni mese e con le sue potenti API, è anche utilizzato da molti popolari media centers come XBMC per ottenere Metadati, Posters e Fanart di film per arricchire la loro esperienza utente. + themoviedb.org ã¯è‡ªç”±ã§ã‚ªãƒ¼ãƒ—ãƒ³ãªæ˜ ç”»ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§ã™ã€‚ãã®é‹å–¶ã¯ã€å®Œå…¨ã«ãƒ¦ãƒ¼ã‚¶ä¸»å°Žã§è¡Œã‚れã¦ã„ã¾ã™ã€‚TMDb ã¯ç¾åœ¨æ¯Žæœˆä½•百万人もã®äººã«åˆ©ç”¨ã•れã¦ã„ã‚‹ã»ã‹ã€XBMC ã®ã‚ˆã†ãªãƒ¡ãƒ‡ã‚£ã‚¢ã‚»ãƒ³ã‚¿ãƒ¼ã‚‚ã€TMDb ã®ãƒ‘ワフル㪠API を介ã—ã¦æ˜ ç”»ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã€ãƒã‚¹ã‚¿ãƒ¼ã€ãƒ•ァンアートをå–å¾—ã—ã€ä½¿ã„勿‰‹ã‚’å‘上ã•ã›ã‚‹ãªã©ã—ã¦ä½¿ã£ã¦ã„ã¾ã™ã€‚ + themoviedb.org 는 ì „ì ìœ¼ë¡œ 여러분 ê°™ì€ ì´ìš©ìžê°€ 주ë„하는 무료 공개 ì˜í™” ë°ì´í„°ë² ì´ìŠ¤ìž…ë‹ˆë‹¤. TMDb 는 현재 매월 ìˆ˜ë°±ë§Œì˜ ì‚¬ëžŒë“¤ì´ ê°•ë ¥í•œ API와 함께 사용하고 ìžˆì„ ë¿ë§Œ ì•„ë‹ˆë¼ XBMC ê°™ì€ ë§Žì€ ë¯¸ë””ì–´ 센터가 ì˜í™” ì •ë³´, í¬ìŠ¤í„°, 팬아트를 가져와 í’성한 ì‚¬ìš©ìž ê²½í—˜ì„ ì œê³µí•˜ëŠ”ë° ì´ìš©ë˜ê³  있습니다. + themoviedb.org yra nemokama ir atvira Filmų duomenų bazÄ—. Jis remiamas ir skaitinamas tokių pat vartotojų kaip ir jÅ«s. TMDb Å¡iuo metu naudoja milijonai žmonių kiekvienÄ… mÄ—nesį, ir turi galingÄ… API (informacinį centrÄ…), taip pat naudojamas daug populiarių žiniasklaidos centrų. Pavyzdžiui XBMC gauti filmo(-ų) metaduomenis, plakatus ir FanArt siekiant praturtinti vartotojo patirtį. + themoviedb.org is a free and open movie database. It's completely user driven by people like you. TMDb is currently used by millions of people every month and with their powerful API, it is also used by many popular media centers like XBMC to retrieve Movie Metadata, Posters and Fanart to enrich the user's experience. + മൂവി à´¡à´¿ ബി, à´Žà´²àµà´²à´¾à´µàµ¼à´•àµà´•àµà´‚ കൈവകàµà´•ാവàµà´¨àµà´¨ ഒരൠസൗജനàµà´¯ വിവരശേഖരമാണàµ. ഇതàµà´®àµ‚ലം ലോകം à´®àµà´´àµà´µà´¨àµà´‚ സിനിമാ പോസàµà´±àµà´±à´±àµà´•ൾ à´Žà´²àµà´²à´µà´°àµà´‚ കാണàµà´¨àµà´¨àµ + Themoviedb.org is een vrije en open filmdatabank. Gebruikers zoals jij vormen de motor van deze site. Op dit moment gebruiken elke maand miljoenen mensen TMDb. De krachtige API van de site laat mediacenters zoals XBMC toe om metadata, posters en fanart op te halen en zo de gebruikerservaring te verrijken. + themoviedb.org jest wolnÄ… i otwartÄ… filmowÄ… bazÄ… danych. Jest zarzÄ…dzana caÅ‚kowicie przez osoby takie jak Ty. Obecnie odwiedzajÄ… jÄ… miliony osób miesiÄ™cznie, a dziÄ™ki dostÄ™pnoÅ›ci API jest używana w wielu media center, takich jak XBMC, do pobierania informacji o filmach, plakatów i fanartów. + O themoviedb.org é uma base de dados de filmes livre e aberta. É actualizado inteiramente por pessoas como você e usado por milhões todos os meses. Com o poderoso motor de busca disponível, também se tornou no favorito para muitos programas de centro de média, como o popular XBMC, para obter informação, posters e fanart que enriquecem a experiência do utilizador. + O themoviedb.org é um banco de dados aberto e gratuito. É completamente operado por pessoas como você. O TMDb é atualmente usado por milhares de pessoas a cada mês e com sua poderosa API, é usado por muitas centrais de mídia populares como o XBMC para buscar metadados, cartazes e fanart de filmes para enriquecer a experiência do usuário. + themoviedb.org este o bază de date de filme gratuită È™i deschisă. Este actualizată de oameni ca È™i tine. TMDb este curent folosită de milioane de oameni în fiecare lună È™i datorită API-ului puternic, este de asemena folosită de multe centre media populare ca XBMC pentru a obÈ›ine informaÈ›ii despre filme, afiÈ™e È™i imagini produse de fani (Fanart) care îmbogățesc experienÈ›a utilizatorului. + themoviedb.org — Ñто беÑÐ¿Ð»Ð°Ñ‚Ð½Ð°Ñ Ð¸ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð°Ñ Ð±Ð°Ð·Ð° данных фильмов. Она полноÑтью поддерживаетÑÑ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ð¼Ð¸ людьми. Ð’ данный момент Ñайт TMDb иÑпользуют миллионы людей каждый меÑÑц, и Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð¼Ð¾Ñ‰Ð½Ð¾Ð¼Ñƒ API его могут иÑпользовать различные популÑрные медиацентры, такие как XBMC, чтобы получать метаданные, поÑтеры и фанарт Ð´Ð»Ñ Ñ„Ð¸Ð»ÑŒÐ¼Ð¾Ð² Ñ Ñ†ÐµÐ»ÑŒÑŽ краÑивого Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа. + themoviedb.org är en fri och öppen filmdatabas. Det drivs helt av människor som dig. TMDb används av miljontals människor varje mÃ¥nad och med deras kraftfulla API, är det ocksÃ¥ använt av mÃ¥nga populära mediacenter som XBMC för att hämta filmmetadata, omslag och fanart för att förgylla användarens upplevelse. + themoviedb.org je voľná a otvorená databáza filmov. Je výluÄne vedená užívateľmi ako si ty. TMDb je každý mesiac používaná miliónmi ľudí, a vÄaka svojmu výkonnému API je veľmi populárna medzi 'media centrami' ako XBMC pre sÅ¥ahovanie filmových metadát, plagátov a fanartov pre obohatenie zážitkov. + themoviedb.org je brezplaÄna in prosta baza filmov. Je v celoti ustvarjena s strani uporabnikov kot ste vi. TMDB uporablja miljone ljudi in z njihovo moÄno API, jo lahko uporabljate tudi v multimedijskih centrih kot XBMC, s tem prenesete informacije o filmih, plakate in ozadja ter s tem popestrite uporabniÅ¡ko izkuÅ¡njo. + themoviedb.org är en gratis och öppen filmdatabas. Den drivs helt av människor som du. TMDb används för närvarande av miljoner människor varje mÃ¥nad och med deras kraftfulla API används den även av mÃ¥nga populära mediacenter som t.ex. XBMC för att hämta metadata om filmer, affischer och fanart för att berika användarens upplevelse. + themoviedb.org เป็นà¸à¸²à¸™à¸‚้อมูลภาพยนตร์ที่ฟรีà¹à¸¥à¸°à¹€à¸›à¸´à¸”à¸à¸§à¹‰à¸²à¸‡. มันถูà¸à¸‚ับเคลื่อนจาà¸à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰ โดยคนเช่นคุณ. TMDb ปัจจุบันมีà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹‚ดยคนนับล้านในà¹à¸•่ละเดือน à¹à¸¥à¸°à¸¡à¸µà¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพด้วย API ของพวà¸à¹€à¸‚า , มันยังถูà¸à¹ƒà¸Šà¹‰à¹‚ดยหลายศูนย์สื่อที่นิยมเช่น XBMC เพื่อดึง อธิบายข้อมูลภาพยนตร์, โปสเตอร์à¹à¸¥à¸° à¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸• เพื่อเพิ่มประสบà¸à¸²à¸£à¸“์ของผู้ใช้ + themoviedb.org是一个开放和自由的电影数æ®åº“ã€‚å®ƒå®Œå…¨ç”±è±¡ä½ ä¸€æ ·çš„ç”¨æˆ·æ¥æŽŒæŽ§ã€‚TMDbæ¯æœˆä¸ºä¸Šç™¾ä¸‡ç”¨æˆ·æä¾›æœåŠ¡ï¼Œå¹¶é€šè¿‡å¼ºå¤§çš„API界é¢ä¸ºè®¸å¤šæµè¡Œçš„媒体中心系统如XBMCæä¾›ç”µå½±èµ„æ–™ã€å°é¢æµ·æŠ¥å’ŒåŒäººç”»ä»¥ä¸°å¯Œç”¨æˆ·çš„体验。 + all + + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/changelog.txt b/usr/local/share/xbmc/addons/metadata.themoviedb.org/changelog.txt new file mode 100644 index 000000000..c242425df --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/changelog.txt @@ -0,0 +1,171 @@ +[B]3.7.2[/B] +- updated language files from Transifex + +[B]3.7.1[/B] +- updated language files from Transifex + +[B]3.7.0[/B] +- updated: out factored studio and country scraping to common library + +[B]3.6.1[/B] +- updated: Scraper name + +[B]3.6.0[/B] +- updated: out factored tagline scraping to common library + +[B]3.5.0[/B] +- added: aspect tag and reorder languages according to the alphabet + +[B]3.4.1[/B] +- updated chinese translation + +[B]3.4.0[/B] +- added: prefer trailer language according to the selected language + +[B]3.3.0[/B] +- updated: improve CreateSearchUrl according to TMDb API changes + +[B]3.2.0[/B] +- fixed: keep Originaltitle +- fixed: &'s needs double escaping +- added: option to scrape certification from selected country + +[B]3.1.0[/B] +- updated: factored out title scraping to common library + +[B]3.0.9[/B] +- fixed: missing language parameter name in NfoUrl + +[B]3.0.8[/B] +- fixed: movies without release date won't find + +[B]3.0.7[/B] +- fixed: keep originaltitle; IMDb ID; remove TMDb title fallback, because it became obsolate + +[B]3.0.6[/B] +- updated chinese translation + +[B]3.0.5[/B] +- reverted latest change + +[B]3.0.4[/B] +- added: option to not scrape sets + +[B]3.0.3[/B] +- fixed: plot outline includes trash on some movies + +[B]3.0.2[/B] +- fixed: imdb IDs not properly handled + +[B]3.0.1[/B] +- changed: also fallback to original_title to make sure a valid title gets scraped + +[B]3.0.0[/B] +- major rewrite: utilize TMDb API v3, scraping set information, prioritize posters on the selected language + +[B]2.0.1[/B] +- fixed: imdb url nfo not resolving tmdb id + +[B]2.0.0[/B] +- complete rewrite to use the json api + +[B]1.4.5[/B] +- added: support for IMDb.xx support for NFO scraping + +[B]1.4.4[/B] +- fixed: actor thumb scraping was broken due to API changes + +[B]1.4.3[/B] +- fixed: use imdb ID from nfo +- changed: scrape only one studio + +[B]1.4.2[/B] +- fixed: url/mixed nfo scraping + +[B]1.4.1[/B] +- fixed: IMDb rating after site change + +[B]1.4.0[/B] +- added: trailer scraping from TMDB via youtube plugin + +[B]1.3.1[/B] +- fixed: added year to search string properly + +[B]1.3.0[/B] +- added: year to search string + +[B]1.2.5[/B] +- fixed: mpaa is returning string 'Rated' if there is no rating on tmdb + +[B]1.2.4[/B] +- fixed: not scraping artwork for movies without IMDb id + +[B]1.2.3[/B] +- fixed: can't get full search results list when some have message and some haven't + +[B]1.2.2[/B] +- fixed: real fix for hd-trailers.net + +[B]1.2.1[/B] +- fixed: trailer scraping from hd-trailers.net + +[B]1.2.0[/B] +- Added option to scrape rating from IMDb + +[B]1.1.6[/B] +- Fix rating images to show up on default skins + +[B]1.1.5[/B] +- Fix decimal separator + +[B]1.1.4[/B] +- Support for and in searches + +[B]1.1.3[/B] +- fixed missing imdb id (#2) + +[B]1.1.2[/B] +- fixed missing imdb id + +[B]1.1.1[/B] +- no writers due to API changes + +[B]1.1.0[/B] +- added multi-language support + +[B]1.0.11[/B] +- added Polish translation + +[B]1.0.9[/B] +- translation cosmetics + +[B]1.0.8[/B] +- changed hdtrailers.net version dependency + +[B]1.0.7[/B] +- final fix for nfourl scraping issue + +[B]1.0.6[/B] +- fixed nfourl scraping issue + +[B]1.0.5[/B] +- switch tmdb scraper to chain tmdb scraper library functions + +[B]1.0.4[/B] +- replace dtrailer.com with HD-Trailers.net for trailer scraping + +[B]1.0.3[/B] +- scraper library interfaces changed. no functional changes + +[B]1.0.2[/B] + +- scraper might fetch wrong studio, genre and country values +- no search results in case the release date is missing + +[B]1.0.1[/B] + +- various fixes after api change + +[B]1.0.0[/B] + +- Initial import into addons repository diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/icon.png b/usr/local/share/xbmc/addons/metadata.themoviedb.org/icon.png new file mode 100644 index 000000000..b95037a3e Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.themoviedb.org/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Afrikaans/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Afrikaans/strings.xml new file mode 100644 index 000000000..19f2f2afc --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Afrikaans/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Stel Ondersteunerkuns in staat + Verkies Voorskou vanaf HD-Trailers.net + Verkose Taal + Kry Gradering vanaf + Stel Voorskou in staat (YouTube) + Hou Oorspronklike Titel + Verkose Sertifiserings Land + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Belarusian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Belarusian/strings.xml new file mode 100644 index 000000000..3df1a72b8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Belarusian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Enable Fanart + Prefer Trailer from HD-Trailers.net + ÐŸÐµÑ€Ð°Ð²Ð°Ð¶Ð½Ð°Ñ Ð¼Ð¾Ð²Ð° + Get Rating from + Enable Trailer (YouTube) + Keep Original Title + Preferred Certification Country + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Bulgarian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Bulgarian/strings.xml new file mode 100644 index 000000000..f3e216166 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Bulgarian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Разреши ползването на Fanart + ПредимÑтво на трейлърите от HD-Trailers.net + Предпочитан език + СвалÑне на рейтинги от + Разреши ползването на трейлър (YouTube) + Запазване на оригиналното заглавие + Категоризиране Ñпоред Ñтандарта в + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Catalan/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Catalan/strings.xml new file mode 100644 index 000000000..557981acb --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Catalan/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Activar fanart + Prefereix trailers de HD-Trailers.net + Idioma perferit + Obté qualificació de + Activa trailer (YouTube) + Manté el títol original + Païs de certificació preferit + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Chinese (Simple)/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Chinese (Simple)/strings.xml new file mode 100644 index 000000000..c188f2f46 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Chinese (Simple)/strings.xml @@ -0,0 +1,14 @@ + + + + + + + å¯ç”¨åŒäººç”» + 备选HD-Trailers.net预告片 + 首选语言 + 获å–评分于 + å¯ç”¨é¢„告片(YouTube) + 使用未翻译片å + 首选电影分级国别 + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Chinese (Traditional)/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Chinese (Traditional)/strings.xml new file mode 100644 index 000000000..84f20c29a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Chinese (Traditional)/strings.xml @@ -0,0 +1,8 @@ + + + + + + + 啟用 Fanart + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Czech/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Czech/strings.xml new file mode 100644 index 000000000..65a87a482 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Czech/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Povolit fanart + UpÅ™ednostňovat upoutávku z HD-Trailers.net + UpÅ™ednostňovaný jazyk + Získat hodnocení z + Povolit upoutávku (YouTube) + Ponechat původní název + UpÅ™ednostňovaný stát poskytující certifikaci + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Danish/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Danish/strings.xml new file mode 100644 index 000000000..ed8777274 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Danish/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Aktivér Fankunst + Foretræk Trailer fra HD-trailers.net + Foretrukket Sprog + Hent bedømmelse fra + Aktivér Trailer (YouTube) + Behold original titel + Foretrukket land til aldersvejledninger + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Dutch/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Dutch/strings.xml new file mode 100644 index 000000000..5ff01f807 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Dutch/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Fanart inschakelen + Trailers van HD-Trailers.net inschakelen + Voorkeurstaal + Haal score bij + Gebruik trailers (YouTube) + Behoud originele titel + Voorkeur voor certificeringsland + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/English/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/English/strings.xml new file mode 100644 index 000000000..5be2abcf5 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/English/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Enable Fanart + Prefer Trailer from HD-Trailers.net + Preferred Language + Get Rating from + Enable Trailer (YouTube) + Keep Original Title + Preferred Certification Country + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Estonian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Estonian/strings.xml new file mode 100644 index 000000000..f8ef76637 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Estonian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Võimalda fännikunst + Eelista HD-Trailers.net treilerit + Eelistatud keel + Hangi hinnang + Võimalda treilerit (YouTube) + Säilita originaalne pealkiri + Eelistatud kinnitatud riik + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Finnish/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Finnish/strings.xml new file mode 100644 index 000000000..ab425a536 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Finnish/strings.xml @@ -0,0 +1,9 @@ + + + Fanitaide käytössä + Trailerit käytössä + Valitse ensisijaisesti trailerit HD-Trailers.net -sivustolta + Ensisijainen kieli + Hae arvosana IMDb:stä + Näytä alkuperäinen nimi + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/French/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/French/strings.xml new file mode 100644 index 000000000..64734568d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/French/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Activer les Fanarts + Récupérer les bandes-annonces sur HD-Trailers.net + Langue préférée + Obtenir la note à partir de + Activer les bandes-annonces (You Tube) + Garder le titre original + Pays favori de certification + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Galician/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Galician/strings.xml new file mode 100644 index 000000000..bc684aea4 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Galician/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Habilitar Fanart + Preferir os Avances de HD-Trailers.net + Idioma Preferido + Obter a puntuación dende + Habilitar Avance (YouTube) + Manter o Título Orixinal + País de Certificación Preferido + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/German/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/German/strings.xml new file mode 100644 index 000000000..12d545e03 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/German/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Aktiviere Fanart + Aktiviere Trailer von HD-Trailers.net + Bevorzugte Sprache + Bewertung von IMDb nutzen + Aktiviere Trailer (YouTube) + Original + Bevorzugte nationale Alterseinstufung + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Greek/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Greek/strings.xml new file mode 100644 index 000000000..d67c0e8eb --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Greek/strings.xml @@ -0,0 +1,14 @@ + + + + + + + ΕνεÏγοποίηση Fanart + ΠÏοτίμηση διαφημιστικών από HD-Trailers.net + ΠÏοτιμώμενη Γλώσσα + Αξιολόγηση από + Διαφημιστικά από YouTube + ΔιατήÏηση ΠÏωτότυπου Τίτλου + ΠÏοτιμώμενη ΧώÏα για δείκτη Καταλληλότητας + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Hebrew/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Hebrew/strings.xml new file mode 100644 index 000000000..69b931a57 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Hebrew/strings.xml @@ -0,0 +1,14 @@ + + + + + + + הפעל פ×נר×ט + העדף קדימון מ-HD-Trailers.net + שפה מועדפת + השג דירוג מ- + הפעל קדימון (YouTube) + שמור על כותרת מקורית + ×ישור מדינה מועדף + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Hungarian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Hungarian/strings.xml new file mode 100644 index 000000000..e0a3033aa --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Hungarian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Fanartképek engedélyezése + FilmelÅ‘zetesek inkább a HD-Trailers.net-rÅ‘l + Preferált nyelv + Értékelés letöltése innen + FilmelÅ‘zetesek engedélyezése (YouTube) + Eredeti filmcím megtartása + Preferált korhatár-besorolás innen + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Italian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Italian/strings.xml new file mode 100644 index 000000000..c763e04c1 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Italian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Abilita Fanart + Preferire i Trailers provenienti da HD-Trailers.net + Linguaggio preferito + Prendere Valutazioni da + Abilita Trailer (YouTube) + Mantieni Titolo Originale + Paese di Certificazione Preferito + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Japanese/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Japanese/strings.xml new file mode 100644 index 000000000..1863d1ae4 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Japanese/strings.xml @@ -0,0 +1,14 @@ + + + + + + + ファンアートを有効ã«ã™ã‚‹ + HD-Trailers.net ã®äºˆå‘Šç·¨ã‚’優先 + 優先ã™ã‚‹è¨€èªž + 評価ã®å–å¾—å…ˆ + 予告編を有効ã«ã™ã‚‹ (YouTube) + ã‚ªãƒªã‚¸ãƒŠãƒ«ã‚¿ã‚¤ãƒˆãƒ«ã‚’ä¿æŒ + 優先ã™ã‚‹è¨¼æ˜Žæ›¸ã®å›½ + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Korean/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Korean/strings.xml new file mode 100644 index 000000000..8a9602ad2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Korean/strings.xml @@ -0,0 +1,14 @@ + + + + + + + 팬아트 사용 + HD-Trailers.net ì—서 예고편 가져오기 + 선호 언어 + í‰ì  가져오기 + 예고편 사용 (YouTube) + ì› ì œëª© 유지 + 등급 기준 êµ­ê°€ + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Lithuanian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Lithuanian/strings.xml new file mode 100644 index 000000000..797e042bd --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Lithuanian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Atidaryti Fanart + Pageidaujamas filmo anonsas iÅ¡ HD-Trailers.net + Pageidaujama kalba + Gauti įvertinimÄ… iÅ¡ + Atidaryti filmo anonsÄ… (YouTube) + IÅ¡laikyti originalų pavadinimÄ… + Pageidaujama sertifikavimo Å¡alis + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Macedonian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Macedonian/strings.xml new file mode 100644 index 000000000..0275c4a3e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Macedonian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Овозможи Ñликички + Ðктивирај најава од HD-Trailers.net + ПоÑакуван јазик + КориÑти вреднување од IMDb + Овозможи најава (YouTube) + Задржи оригинален назив + Преферирана цертификациона држава + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Malayalam/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Malayalam/strings.xml new file mode 100644 index 000000000..5309ad5ce --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Malayalam/strings.xml @@ -0,0 +1,9 @@ + + + + + + + ഇഷàµà´Ÿà´ªàµà´ªàµ†à´Ÿàµà´Ÿ ഭാഷ + യഥാർതàµà´¤ പേരൠനിലനിർതàµà´¤àµà´• + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Norwegian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Norwegian/strings.xml new file mode 100644 index 000000000..82168519e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Norwegian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Foretrekk trailer fra HD-Trailers.net + Foretrukket sprÃ¥k + Hent rangering fra + Aktive trailer (YouTube) + Bruk originaltittel + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Polish/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Polish/strings.xml new file mode 100644 index 000000000..8044cf8f9 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Polish/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Włącz fanart + Włącz zwiastuny z HD-Trailers.net + Preferowany jÄ™zyk + Pobierz ocenÄ™ z + Włącz zwiastuny (YouTube) + Zachowaj oryginalny tytuÅ‚ + Prefeowany kraj certyfikacji + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Portuguese (Brazil)/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Portuguese (Brazil)/strings.xml new file mode 100644 index 000000000..fae53d269 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Portuguese (Brazil)/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Ativar Fanart + Preferir trailer de HD-Trailers.net + Idioma preferido + Obter classificação de + Ativar trailer (YouTube) + Manter o título original + Preferir país de certificação + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Portuguese/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Portuguese/strings.xml new file mode 100644 index 000000000..124f6f012 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Portuguese/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Activar Fanart + Activar trailers de HD-Trailers.net + Idioma preferido + Obter Classificação de + Activar Trailer (YouTube) + Manter Título Original + País Preferido para Certificação + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Romanian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Romanian/strings.xml new file mode 100644 index 000000000..c20521f64 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Romanian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Activează Fanart + Activează trailere de la HD-Trailers.net + Limbă preferată + Ia rating de la + Activează trailer (YouTube) + Păstrează titlul original + Å¢ară certificare preferată + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Russian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Russian/strings.xml new file mode 100644 index 000000000..df18dfb47 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Russian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + ИÑпользовать фанарт + ИÑпользовать трейлеры Ñ HD-Trailers.net + Предпочтительный Ñзык + Сайт рейтинга + Включить трейлеры (YouTube) + ИÑпользовать оригинальные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ + Страна Ñертификации + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Slovak/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Slovak/strings.xml new file mode 100644 index 000000000..319ac9c9f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Slovak/strings.xml @@ -0,0 +1,14 @@ + + + + + + + PovoliÅ¥ fanart + Daj prednosÅ¥ upútavkám z HD-Trailers.net + Uprednostňovaný jazyk + Hodnotenie získaj z + PovoliÅ¥ upútavky (YouTube) + PonechaÅ¥ pôvodný názov + Uprednostňovaný pôvod hodnotenia prístupnosti pre mládež + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Slovenian/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Slovenian/strings.xml new file mode 100644 index 000000000..95907568d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Slovenian/strings.xml @@ -0,0 +1,14 @@ + + + + + + + VkljuÄi ozadja + Privzeti napovedniki s HD-Trailers.net + Privzet jezik + Prenesi ocene z + VkljuÄi napovednike (YouTube) + Ohrani naslov izvirnika + Država za ocene o omejitvi predvajanja + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish (Argentina)/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish (Argentina)/strings.xml new file mode 100644 index 000000000..1e6bfeafd --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish (Argentina)/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Descargar Fanart + Activar Trailers de HD-Trailers.net + Idioma Preferido + Obtener Puntuación de + Activar Trailer (Youtube) + Mantener Título Original + País de Certificación Preferido + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish (Mexico)/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish (Mexico)/strings.xml new file mode 100644 index 000000000..9730e7010 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish (Mexico)/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Activar Fanart + Preferir Trailers de HD-Trailers.net + Lenguaje Preferido + Obtener Rating de + Habilitar Trailer (YouTube) + Mantener Título Original + País de Certificación Preferido + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish/strings.xml new file mode 100644 index 000000000..84e0bf24a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Spanish/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Descargar Fanart + Activar Trailers de HD-Trailers.net + Idioma preferido + Obtener puntuación de + Activar trailer (Youtube) + Mantener título original + Clasificación por edades + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Swedish/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Swedish/strings.xml new file mode 100644 index 000000000..34c7f59d8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Swedish/strings.xml @@ -0,0 +1,14 @@ + + + + + + + Aktivera fanart + Aktivera trailers frÃ¥n HD-Trailers.net + Föredraget sprÃ¥k + Hämta betyg frÃ¥n + Aktivera trailer (YouTube) + BehÃ¥ll orginaltitel + Önskat certifieringsland + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Thai/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Thai/strings.xml new file mode 100644 index 000000000..15ff77835 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Thai/strings.xml @@ -0,0 +1,14 @@ + + + + + + + เปิดใช้ à¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸• + เรียà¸à¹ƒà¸ƒà¹‰ ตัวอย่างภาพยนตร์ จาภHD-Trailers.net + ภาษา ที่ต้องà¸à¸²à¸£ + รับà¸à¸²à¸£à¸ˆà¸±à¸”อันดับ จาภ+ เปิดใช้ ตัวอย่างภาพยนตร์ (YouTube) + คงไว้ซึ่ง ชื่อต้นฉบับ + à¸à¸²à¸£à¸£à¸±à¸šà¸£à¸­à¸‡à¸ˆà¸²à¸à¸›à¸£à¸°à¹€à¸—ศ ที่ต้องà¸à¸²à¸£ + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Turkish/strings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Turkish/strings.xml new file mode 100644 index 000000000..f30e711c2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/language/Turkish/strings.xml @@ -0,0 +1,10 @@ + + + + + + + Tercih Edilen Dil + Fragmanı EtkinleÅŸtir (YouTube) + Özgün BaÅŸlığı Koru + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/settings.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/settings.xml new file mode 100644 index 000000000..cefac2525 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/resources/settings.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.themoviedb.org/tmdb.xml b/usr/local/share/xbmc/addons/metadata.themoviedb.org/tmdb.xml new file mode 100644 index 000000000..2b90cf03d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.themoviedb.org/tmdb.xml @@ -0,0 +1,145 @@ + + + + + + (.+) + + + + + + + (themoviedb.org/movie/)([0-9]*) + + + imdb....?/title/tt([0-9]*) + + + imdb....?/Title\?([0-9]*) + + + + + + "id":([0-9]*),"original_title":"([^"]*)","release_date":"([0-9]+)-.*?"title":"([^"]*) + + + "id":([0-9]*),"original_title":"([^"]*)","release_date":"([0-9]+)- + + + "id":([0-9]*),"original_title":"([^"]*)","release_date":null + + + + + + + + "id":([0-9]*),"imdb + + + "id":[0-9]*,"imdb_id":"([^"]*) + + + "original_title":"([^"]*) + + + + + + + + + + + + "release_date":"([0-9]+)- + + + "runtime":([0-9]+) + + + ^$ + + + (.+) + + + + "id":[0-9]*,"imdb_id":"([^"]*) + + IMDb + + + TMDb + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "original_title":"([^"]*) + + 480p + + + + "original_title":"([^"]*) + + 720p + + + + "original_title":"([^"]*) + + 1080p + + + + + + + + "runtime":([0-9]+) + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/addon.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/addon.xml new file mode 100644 index 000000000..4e0bcb7bd --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/addon.xml @@ -0,0 +1,85 @@ + + + + + + + + Gaan haal TV vertoning metadata vanaf TheTVDB.com + Fetch TV show metadata from TheTVDB.com + Ð˜Ð·Ñ‚ÐµÐ³Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ТВ Сериали от TheTVDB.com + Získat metadata televizního poÅ™adu z TheTVDB.com + Hent metadata til TV-serier fra TheTVDB.com + Scraper für Fernsehserien von TheTVDB.com + Λήψη μετα-δεδομένων σειÏών από το TVDB.com + Fetch TV show metadata from TheTVDB.com + Recuperar metadatos de series de TV en TheTVDB.com + Recuperar metadatos de series de TV en TheTVDB.com + Obtener metadata de Series desde TheTVDB.com + Nouda TV-ohjelmien tietoja TheTVDB.com -sivustolta + Collecter les métadonnées des séries TV depuis TheTVDB.com + Obter os metadatos das series de TV dende TheTVDB.com + ×”×‘× ×ž×™×“×¢ + TV műsor információk a TheTVDB.com-ról + Sækja Sjónvarpsþátta lýsigögn frá TheTVDB.com + Scarica informazioni programma TV da TheTVDB.com + TheTVDB.com ã‹ã‚‰TV番組メタデータをå–å¾— + TheTVDB.com ì—서 TV 쇼 ì •ë³´ 가져오기 + Parsiųsti TV Å¡ou (serialo) metaduomenis iÅ¡ TheTVDB.com + Превземи ТВ шоу метаподаток од TVDB.com + Seriemetadata ophalen van TheTVDB.com + Pobieraj dane o serialach TV z TheTVDB.com + Obtenha dados para séries TV de TVDB.com + Obtenha dados dos seriados do TheTVDB.com + ObÅ£ineÅ£i datele despre seriale de la TheTVDB.com + Загрузка информации о ТВ-шоу Ñ TheTVDB.com + Skrapa för TV-seriemetadata frÃ¥n TVDB.com + ZískaÅ¥ metadáta o televíznej relácii zo stránky TheTVDB.com + Prenesite informacije o TV serijah z TheTVDB.com + Hämta TV-seriemetadata frÃ¥n TVDB.com + เรียà¸à¸‚้อมูลหลัà¸à¸‚องรายà¸à¸²à¸£à¸—ีวี จาภTheTVDB.com + ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¾Ð¼Ð¾Ñтей про Ñеріали із TheTVDB.com + 从TheTVDB.com获å–ç”µè§†å‰§é›†ä¿¡æ¯ + 從 TheTVDB.com å–得電視節目資訊 + TheTVDB.com is 'n TV Skraper. Die werf is 'n massiewe oop databasis wat deur enige iemand verander kan word en bevat vol meta data vir baie vertonings in verskillende tale. Alle inhoud en prente op die werf is bygedra deur sy gebruikers vir sy gebruikers en het 'n hoë standaard van kwaliteit. Die databasis skema en webruimte is oopbron onder die GPL. + TheTVDB.com is a TV Scraper. The site is a massive open database that can be modified by anybody and contains full meta data for many shows in different languages. All content and images on the site have been contributed by their users for users and have a high standard or quality. The database schema and website are open source under the GPL. + TheTVDB.com предоÑÑ‚Ð°Ð²Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° ТВ Сериали. Сайтът предÑтавлÑва една огромна, безплатна и отворена база от данни. Ð’Ñеки може да редактира (наличната информациÑ) или да Ð´Ð¾Ð±Ð°Ð²Ñ Ð½Ð¾Ð²Ð°. Съдържа подробни данни за много Ñериали и на различни езици. ЦÑлото Ñъдържание на Ñайта и публикуваните Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñа предоÑтавени от потребители за потребителите. Съдържанието на Ñайтът и базата от данни е Ñ Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½ код под лиценза GPL. + TheTVDB.com je zdroj metadat pro televizní poÅ™ady. Stránka je masivní otevÅ™ená databáze, kterou může kdokoliv upravovat a obsahuje veÅ¡kerá metadata v různých jazycích k mnoha poÅ™adům. VÅ¡echen obsah a obrázky jsou poskytnuty uživateli pro uživatele a mají vysokou kvalitu. Návrhový vzor databáze a webová stránka jsou svobodný software licencovaný pod GPL. + TheTVDB.com er en TV-scraper. Siden er en massiv Ã¥ben database, som alle kan modificere, og den indeholder fyldestgørende metadata for mange serier pÃ¥ forskellige sprog. Alt indhold og alle billeder pÃ¥ siden er tilføjet af brugere og har en høj standard eller kvalitet. Databasens model og webside er open source under GPL. + TheTVDB.com ist ein Scraper für TV-Serien. Die Seite hat eine riesige offene Datenbank, welche von jedem geändert werden kann. Sie enthält weitreichende Meta-Daten für viele TV-Serien in verschiedenen Sprachen. Alle Inhalte und Bilder dieser Seite stammen von User für User und haben eine hohe Qualität. Das Datenbankschema und die Webseite sind OpenSource unter dem GPL-Recht + Το TVDB.com είναι ένα Scraper ΤηλεόÏασης. Η ιστοσελίδα είναι μία τεÏάστια ανοικτή βάση δεδομένων η οποία μποÏεί να Ï„Ïοποποιηθεί από τον καθένα και πεÏιέχει πλήÏη μετα-δεδομένα για πολλές σειÏές σε διάφοÏες γλώσσες. Όλο το πεÏιεχόμενο και οι εικόνες στην ιστοσελίδα Ï€ÏοέÏχονται από τους χÏήστες του, και έχουν υψηλά Ï€Ïότυπα ποιότητας. Το σχήμα της βάσης δεδομένων και της ιστοσελίδας είναι Î±Î½Î¿Î¹ÎºÏ„Î¿Ï ÎºÏŽÎ´Î¹ÎºÎ± υπό το GPL. + TheTVDB.com is a TV Scraper. The site is a massive open database that can be modified by anybody and contains full meta data for many shows in different languages. All content and images on the site have been contributed by their users for users and have a high standard or quality. The database schema and website are open source under the GPL. + TheTVDB.com es un scraper de TV. El sitio es una enorme base de datos abierta que puede ser modificada por cualquiera y que contiene metadatos completos de muchas series en diferentes idiomas. Todos los contenidos e imágenes del sitio han sido aportados por sus usuarios y tienen una alta calidad. El esquema de base de datos y sitio web son de código abierto bajo la licencia GPL. + TheTVDB.com es un scraper de TV. El sitio es una enorme base de datos abierta que puede ser modificada por cualquiera y que contiene metadatos completos de muchas series en diferentes idiomas. Todos los contenidos e imágenes del sitio han sido aportados por sus usuarios y tienen una alta calidad. El esquema de base de datos y sitio web son de código abierto bajo la licencia GPL. + TheTVDB.com es un scraper de series de TV. Este sitio es una base de datos masiva y abierta que puede ser modicada por cualquiera y contiene metadata completa para muchas series en diferentes lenguajes. Todo el contenido e imágenes del sitio han sido contribuidos por sus usuarios para usuarios, los cuales tienen un alto estándar de calidad. El esquema de la base de datos y el sitio web son de código abierto bajo GPL. + TheTVDB.com on TV-ohjelmatietojen lataaja. Sivusto on massiivinen avoin tietokanta, jonka tietoja kaikki pystyy muokkaamaan ja se sisältää täydet tiedot monista TV-ohjelmista usealla eri kielellä. Kaikki sivuston sisältö ja kuvat on korkealaatuisia ja käyttäjien lahjoittamia. Tietokanta ja sivusto ovat GPL-lisenssin alaisia. + TheTVDB.com est un collecteur TV. Le site est une immense base de données libre pouvant être modifiée par tout le monde et contenant toutes les informations de nombreuses séries en différentes langues. Les informations et images du site proviennent de contributions d'utilisateurs pour les usagers et sont d'excellentes qualités. Le schéma de la base de données et le site Web sont en open source sous licence GPL. + TheTVDB.com é un Scraper de TV. O sitio é unha enorme base de datos aberta que calquera pode modificar e contén todos os metadatos de centos de series en diferentes idiomas. Todo o contido e imaxes do sitio foi proporcionado polos seus usuarios e amosa un grande estándar de calidade. O esquema da base de datos e o sitio web son de código aberto baixo licenza GPL. + TheTVDB.com ×”×•× ×¡×§×¨×™×™×¤×¨ עבור תוכניות טלוויזיה. ×תר ×–×” ×”×•× ×ž×¡×“ × ×ª×•× ×™× ×¤×ª×•×— ×¢×¦×•× ×שר כל ×חד יכול לערוך ומכיל ×¤×¨×˜×™× ×ž×œ××™× ×œ×”×¨×‘×” תוכניות טלוויזיה בשפות שונות. כל ×”×ª×›× ×™× ×•×”×ª×ž×•× ×•×ª ב×תר נתרמו ×¢"×™ ×”×ž×©×ª×ž×©×™× ×©×œ×” עבור ×ž×©×ª×ž×©×™× ×•×™×©× ×• סטנדרט גבוה ×ו ×יכות גבוהה. תכנית המסד נתונית וה×תר ×”× ×‘×§×•×“ פתוח תחת ×”-GPL. + A TheTVDB.com egy TV műsor leolvasó. Az oldal egy hatalmas adatbázis amit bárki szabadon módosíthat és rengeteg TV műsor adatait tartalmazza különbözÅ‘ nyelveken. A minÅ‘ségi tartalom és képanyag ezen az oldalon felhasználóktól származik más felhasználók számára. Az adatbázisstruktúra és a weblap nyílt forráskódú a GPL licenc alatt. + TheTVDB.com è uno scraper di programmi TV. Questo sito è un enorme database che può essere modificato da chiunque, e contiene tutte le informazioni di molti show in varie lingue. Tutti i contenuti e le immagini sul sito sono stati forniti dagli utenti, ed hanno un alto standard di qualità. Lo schema del database e il sito internet sono open source sotto licenza GPL. + TheTVDB.com 㯠TV スクレーパーã§ã™ã€‚本サイトã¯å¼·åŠ›ã§ã‚ªãƒ¼ãƒ—ンãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§ã€èª°ã‚‚ãŒè¿½åŠ ä¿®æ­£å¯èƒ½ã§ã™ã€‚テレビ番組ã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã¯å¤šãã®è¨€èªžã§æä¾›ã•れã¦ã„ã¾ã™ã€‚番組情報や画åƒãƒ‡ãƒ¼ã‚¿ã¯ãƒ¦ãƒ¼ã‚¶ã«ã‚ˆã‚Šæä¾›ã•れã€ãã®ã‚¯ã‚ªãƒªãƒ†ã‚£ã¯éžå¸¸ã«é«˜ã„ã‚‚ã®ã§ã™ã€‚データベーススキーマ㨠web サイト㯠GPL ライセンスã®ã‚ªãƒ¼ãƒ—ンソースã§ã™ã€‚ + TheTVDB.com ì€ TV ìžë£Œìˆ˜ì§‘기입니다. 위 사ì´íŠ¸ëŠ” ì´ìš©ìžê°€ ì§ì ‘ 수정할 수 있으며 다양한 ì–¸ì–´ì˜ ì™„ì „í•œ 메타 ë°ì´í„°ë¥¼ í¬í•¨í•˜ëŠ” 방대한 오픈 ë°ì´í„°ë² ì´ìŠ¤ìž…ë‹ˆë‹¤. 사ì´íŠ¸ì˜ ëª¨ë“  콘í…츠와 ì´ë¯¸ì§€ë“¤ì€ 사ì´íЏ ì´ìš©ìžë“¤ì´ 다른 ì´ìš©ìžë“¤ì„ 위해 제공한 것ì´ë©° ë†’ì€ í’ˆì§ˆì„ ê°€ì§€ê³  있습니다. 웹사ì´íŠ¸ì™€ ë°ì´í„°ë² ì´ìФ 스키마는 GLP 오픈소스입니다. + TheTVDB.com yra TV Scraper. Å i svetainÄ— yra didžiulÄ— atvira duomenų bazÄ—, kuria gali pakeisti bet kas ir kurioje visa meta duomenis bazÄ— daugelo Å¡ou įvairiomis kalbomis. Visas svetainÄ—s turinys atnaujinamas/papyldomasvartotojų ir turi aukÅ¡tÄ… kokybÄ—s standartÄ…. Duomenų bazÄ—s ir svetainÄ—s yra atviro kodo pagal GPL standartÄ…. + TheTVDB.com is a TV Scraper. The site is a massive open database that can be modified by anybody and contains full meta data for many shows in different languages. All content and images on the site have been contributed by their users for users and have a high standard or quality. The database schema and website are open source under the GPL. + TheTVDB.com is een seriescraper. De site is een gigantische open databank die iedereen kan aanpassen en uitbreiden, en biedt metadata aan voor TV-series in verschillende talen. Alle inhoud en afbeeldingen zijn afkomstig van gebruikers en moeten een grondige kwaliteitscontrole doorstaan. Het databankschema en de websitecode zijn vrijgegeven onder de open source GPL-licentie. + TheTVDB.com jest scraperem TV. Ten serwis jest ogromnÄ…, wielojÄ™zykowÄ… i otwartÄ… bazÄ… danych o serialach, którÄ… może edytować każdy. Zawartość tego serwisu zostaÅ‚a dostarczona przez użytkowników, dla użytkowników. DostÄ™pne materiaÅ‚y sÄ… najwyższej jakoÅ›ci. + O TheTVDB.com é um scraper para séries TV. O site é uma gigantesca base de dados livre que pode ser alterada por qualquer pessoa e contém informação em várias línguas. Todos os conteúdos do site foram enviados por utilizadores e têm um elevado padrão de qualidade. A base de dados e o site funcionam sob uma licença GPL de software livre. + TheTVDB.com é um scraper de seriados. O site é um enorme banco de dados aberto que pode ser modificado por qualquer pessoa e contém metadados completos de muitos seriados em diferentes idiomas. Todos os conteúdos e imagens no site foram contribuições de usuários para usuários e têm um alto padrão de qualidade. O esquema do banco de dados e do site são de código aberto sob a licença GPL. + TheTVDB.com este un colectore TV. Site-ul este o bază de date masivă, deschisă, ce poate fi modificată de oricine ÅŸi conÅ£ine date complete despre multe seriale în diferite limbi. Tot conÅ£inutul site-ului a fost contribuit de către utilizatori pentru utilizatori ÅŸi are un standard de caliate înalt. Schema bazei de date ÅŸi site-ul au sursele libere sub licenţă GPL. + TheTVDB.com — Ñто инфореÑÑƒÑ€Ñ Ð´Ð»Ñ Ñериалов. Сайт предÑтавлÑет Ñобой огромную открытую базу данных, в которую может вноÑить данные любой пользователь и ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñодержит полные мета-данные Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ… Ñериалов на различных Ñзыках. Ð’ÑÑ‘ Ñодержимое и Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° Ñайте были выложены его пользователÑми Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… пользователей и имеют выÑокий уровень качеÑтва. Структура базы данных и веб-Ñайт Ñозданы Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом по лицензии GPL. + TVDB.com är en TV-skrapa. Sajten är en massiv öppen databas som kan ändras av vem som helst och innehÃ¥ller full metadata för mängder av serier pÃ¥ olika sprÃ¥k. Allt innehÃ¥ll och bilder pÃ¥ sajten har bidragits av användare för användare och har en hög standard eller kvalitet. Databasschemat och webbsidan är licensierat som GPL. + TheTVDB.com je zdroj získavania dát ohľadom TV. Táto stránka je obrovskou otvorenou databázou, ktorú môže upravovaÅ¥ ktokoľvek a obsahuje úplne metadáta pre mnoho relácií v rôznych jazykoch. VÅ¡etok obsah a obrázky na stránke bol dodaný samotnými používateľmi pre používateľov a udržuje si vysoký Å¡tandard a kvalitu. Schéma databázy a webová stránka sú dostupné vo forme open source v súlade s licenciou GPL. + TheTVDB.com je ponudnik informacij o TV serijah. Stran je masovna odprta baza podatkov, ki jo lahko dopolni kdorkoli, in vsebuje informacije o najrazliÄnejÅ¡ih TV serijah v veÄ jezikih. Vsa vsebina in slike so bile dodane s strani uporabnikov in imajo visok nivo kvalitete. Shema baze in spletna stran sta odprtokodni pod GPL. + TVDB.com är en TV-skrapa. Sajten är en massiv öppen databas som kan bli modifierad av vem som helst och innehÃ¥ller all metadata för mÃ¥nga serier pÃ¥ olika sprÃ¥k. Allt innehÃ¥ll och bilder pÃ¥ sidan har bidragits av användare för användare och har hög standard eller kvalitet. Databasschemat och sidan är öppen källkod licensierat under GPL. + TheTVDB.com เป็นตัวดึงข้อมูลทีวี เว็บไซต์เป็นà¸à¸²à¸™à¸‚้อมูลเปิดขนาดใหà¸à¹ˆà¸—ี่สามารถà¹à¸à¹‰à¹„ขได้โดยทุà¸à¸„นà¹à¸¥à¸°à¸¡à¸µà¸‚้อมูลขั้นสูงเต็มรูปà¹à¸šà¸š สำหรับหลาย ๆ รายà¸à¸²à¸£ ในà¹à¸•่ละภาษาที่à¹à¸•à¸à¸•่างà¸à¸±à¸™ เนื้อหาà¹à¸¥à¸°à¸£à¸¹à¸›à¸ à¸²à¸žà¸—ั้งหมดในเว็บไซต์ ได้รับà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¹‚ดยผู้ใช้เพื่อผู้ใช้ มีคุณภาพà¹à¸¥à¸°à¸¡à¸²à¸•รà¸à¸²à¸™à¸—ี่สูง schemaของà¸à¸²à¸™à¸‚้อมูลà¹à¸¥à¸°à¹€à¸§à¹‡à¸šà¹„ซต์ได้เปิดภายใต้ GPL + TheTVDB.comæ˜¯ä¸€ä¸ªç”µè§†åˆ®å‰Šå™¨ã€‚è¯¥ç½‘ç«™æ˜¯ä¸€ä¸ªå·¨å¤§çš„å¼€æ”¾å¼æ•°æ®åº“,任何人都å¯ä»¥ä¿®æ”¹ï¼ŒåŒ…å«å¤šè¯­è¨€çš„许多电视剧集资料。网站设定了高å“质标准,所有图片和内容都由用户æä¾›ã€‚æ•°æ®åº“结构和网站å‡åœ¨GPL许å¯ä¸‹å¼€æºã€‚ + all + + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/changelog.txt b/usr/local/share/xbmc/addons/metadata.tvdb.com/changelog.txt new file mode 100644 index 000000000..01a0e682a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/changelog.txt @@ -0,0 +1,50 @@ +[B]1.4.5[/B] +- Fixed: dvdorder setting won't apply in GetEpisodeDetails (thx and credits to scudlee) + +[B]1.4.4[/B] +- Updated: language files from Transifex + +[B]1.4.3[/B] +- Updated: language files from Transifex + +[B]1.4.2[/B] +- Added: cache to GetTVDBId + +[B]1.4.1[/B] +- Fixed: missing xml tag in GetTVDBId + +[B]1.4.0[/B] +- Added: scraping of EpisodeID + +[B]1.3.1[/B] +- Added: added back non-intentional removal of the imdb id lookup + +[B]1.3.0[/B] +- Added: return the aspect attribute for thumb fields as banner or poster + +[B]1.2.4[/B] +- Added: support for imdb url nfo's + +[B]1.2.3[/B] +- Fixed: fixed broken scraping under certain circumtaces + +[B]1.2.2[/B] +- Fixed: episodeguide url won't picked up sometimes + +[B]1.2.1[/B] +- Fixed: won't parse longer search results + +[B]1.2.0[/B] +- Added: episode runtime scraping + +[B]1.1.1[/B] +- Fixed: episodeguide url won't picked up sometimes + +[B]1.1.0[/B] +- Added: support decimals in episode numbers for DVD ordering + +[B]1.0.8[/B] +- Fixed: fallback to other image languages if preferred doesn't exist + +[B]1.0.7[/B] +- Fixed: season thumbs diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/icon.png b/usr/local/share/xbmc/addons/metadata.tvdb.com/icon.png new file mode 100644 index 000000000..f02a372b5 Binary files /dev/null and b/usr/local/share/xbmc/addons/metadata.tvdb.com/icon.png differ diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Afrikaans/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Afrikaans/strings.xml new file mode 100644 index 000000000..064178249 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Afrikaans/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Gebruik DVD Orde + Gebruik Absolute Ordening (Enkele Seisoen) + Stel Ondersteunerkuns in staat + Verkies Plakkate + Taal + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Amharic/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Amharic/strings.xml new file mode 100644 index 000000000..42c17ddfd --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Amharic/strings.xml @@ -0,0 +1,8 @@ + + + + + + + ቋንቋ + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Arabic/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Arabic/strings.xml new file mode 100644 index 000000000..2fd1d1698 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Arabic/strings.xml @@ -0,0 +1,8 @@ + + + + + + + اللغة + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Basque/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Basque/strings.xml new file mode 100644 index 000000000..90d1d2ca7 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Basque/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Hizkuntza + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Belarusian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Belarusian/strings.xml new file mode 100644 index 000000000..e015b8815 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Belarusian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Use DVD Order + Use Absolute Ordering (Single Season) + Enable Fanart + Prefer Posters + Мова + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Bosnian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Bosnian/strings.xml new file mode 100644 index 000000000..f0ac06055 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Bosnian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Jezik + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Bulgarian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Bulgarian/strings.xml new file mode 100644 index 000000000..2bc742e2b --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Bulgarian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Ползване на поÑледователноÑта от DVD + Ползване на поÑледоватена Ð½Ð¾Ð¼ÐµÑ€Ð°Ñ†Ð¸Ñ (един Ñезон) + Разреши ползването на Fanart + ПредимÑтво на поÑтерите + Език + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Catalan/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Catalan/strings.xml new file mode 100644 index 000000000..c796f793b --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Catalan/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Idioma + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Chinese (Simple)/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Chinese (Simple)/strings.xml new file mode 100644 index 000000000..f3f586706 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Chinese (Simple)/strings.xml @@ -0,0 +1,12 @@ + + + + + + + 使用DVDé¡ºåº + 使用ç»å¯¹é¡ºåºï¼ˆå•季) + å¯ç”¨åŒäººç”» + 使用å°é¢æµ·æŠ¥ + 语言 + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Chinese (Traditional)/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Chinese (Traditional)/strings.xml new file mode 100644 index 000000000..59cb6e808 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Chinese (Traditional)/strings.xml @@ -0,0 +1,12 @@ + + + + + + + 使用 DVD é †åº + ä½¿ç”¨åŽŸæœ¬çš„é †åº (單季) + 啟用 Fanart + 下載海報 + 語言 + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Croatian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Croatian/strings.xml new file mode 100644 index 000000000..fa1cc874a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Croatian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Jezik + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Czech/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Czech/strings.xml new file mode 100644 index 000000000..e415dbef5 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Czech/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Použít Å™azení jako na DVD + Použít absolutní Å™azení (pro jednu sérii) + Povolit fanart + UpÅ™ednostňovat plagáty + Jazyk + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Danish/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Danish/strings.xml new file mode 100644 index 000000000..abba8d048 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Danish/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Brug DVD rækkefølge + Brug absolut rækkefølge (enkelt sæson) + Aktiver Fankunst + Foretræk Plakater + Sprog + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Dutch/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Dutch/strings.xml new file mode 100644 index 000000000..7914471c6 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Dutch/strings.xml @@ -0,0 +1,12 @@ + + + + + + + DVD-volgorde gebruiken + Absolute volgorde gebruiken (Eén seizoen) + Fanart inschakelen + Posters inschakelen + Taal + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/English/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/English/strings.xml new file mode 100644 index 000000000..d9822bfba --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/English/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Use DVD Order + Use Absolute Ordering (Single Season) + Enable Fanart + Prefer Posters + Language + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Esperanto/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Esperanto/strings.xml new file mode 100644 index 000000000..13d2d06fc --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Esperanto/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Lingvo + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Estonian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Estonian/strings.xml new file mode 100644 index 000000000..ef95aee08 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Estonian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Keel + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Finnish/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Finnish/strings.xml new file mode 100644 index 000000000..55b184bd2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Finnish/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Käytä DVD järjestystä + Käytä absoluuttista järjestystä (yksi tuotantokausi) + Fanitaide käytössä + Ensisijaisesti julisteet käytössä + Kieli + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/French/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/French/strings.xml new file mode 100644 index 000000000..07b3fdab0 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/French/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Utiliser l'ordre des DVDs + Utiliser l'ordre absolu (Saison seule) + Activer les Fanarts + Préférer les vignettes + Langue + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Galician/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Galician/strings.xml new file mode 100644 index 000000000..200bc850e --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Galician/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Use DVD Order + Usar Oden Absoluto (Só unha tempada) + Habilitar Fanart + Preferir Carteis + Idioma + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/German/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/German/strings.xml new file mode 100644 index 000000000..f81364481 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/German/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Nutze DVD Version + Nutze absolute Versionen (einzelne Staffeln) + Aktiviere Fanart + Bevorzuge Poster + Sprache + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Greek/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Greek/strings.xml new file mode 100644 index 000000000..dbb4d3f3a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Greek/strings.xml @@ -0,0 +1,12 @@ + + + + + + + ΧÏήση ΑÏίθμησης DVD + ΧÏήση Απόλυτης ΑÏίθμησης (Ένας ΚÏκλος) + ΕνεÏγοποίηση Fanart + ΠÏοτίμηση Αφισών + Γλώσσα + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hebrew/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hebrew/strings.xml new file mode 100644 index 000000000..5b5269509 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hebrew/strings.xml @@ -0,0 +1,12 @@ + + + + + + + השתמש בסדר קבצי DVD + השתמש בסידור מחלט(עונה יחידה) + ×פשר עטיפות דיסק + העדף ×¤×•×¡×˜×¨×™× + שפה + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hindi (Devanagiri)/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hindi (Devanagiri)/strings.xml new file mode 100644 index 000000000..c4562640c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hindi (Devanagiri)/strings.xml @@ -0,0 +1,8 @@ + + + + + + + बाशा + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hungarian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hungarian/strings.xml new file mode 100644 index 000000000..bb10fcfcf --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Hungarian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + DVD sorrend használata + Abszolút sorrend használata (Egy évad esetén) + Fanartképek engedélyezése + Poszterek elÅ‘nyben részesítése + Nyelv + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Icelandic/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Icelandic/strings.xml new file mode 100644 index 000000000..7101adc0c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Icelandic/strings.xml @@ -0,0 +1,10 @@ + + + + + + + Nota DVD Uppröðun + Nota Heldur Veggspjöld + Tungumál + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Indonesian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Indonesian/strings.xml new file mode 100644 index 000000000..d9be0d0de --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Indonesian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Bahasa + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Italian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Italian/strings.xml new file mode 100644 index 000000000..2f9b2dead --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Italian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Usa ordine DVD + Usa ordine assoluto (stagione singola) + Abilita Fanart + Preferisci Posters + Lingua + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Japanese/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Japanese/strings.xml new file mode 100644 index 000000000..1ff93ec8c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Japanese/strings.xml @@ -0,0 +1,10 @@ + + + + + + + ファンアートを有効㫠+ ãƒã‚¹ã‚¿ãƒ¼ã‚’使用 + 言語 + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Korean/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Korean/strings.xml new file mode 100644 index 000000000..e9c7af0c0 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Korean/strings.xml @@ -0,0 +1,12 @@ + + + + + + + DVD 순서 사용 + 절대 순서 사용 (í•˜ë‚˜ì˜ ì‹œì¦Œ) + 팬아트 사용 + í¬ìŠ¤í„° ìš°ì„  + 언어 + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Lithuanian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Lithuanian/strings.xml new file mode 100644 index 000000000..c1cd712f4 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Lithuanian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Naudoti DVD Order + Naudoti 'Absoliutus Užsakymas' (vienas sezonas) + Ä®jungti Fanart + Pageidaujamas(-mi) Posters + Kalba + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Macedonian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Macedonian/strings.xml new file mode 100644 index 000000000..cea6f220d --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Macedonian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + КориÑти DVD верзија + КориÑти апÑолути верзии (единечна ÑеÑија) + Овозможи Ñликички + Преферирај поÑтери + Јазик + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Malayalam/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Malayalam/strings.xml new file mode 100644 index 000000000..08dfeda7c --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Malayalam/strings.xml @@ -0,0 +1,8 @@ + + + + + + + ഭാഷ + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Norwegian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Norwegian/strings.xml new file mode 100644 index 000000000..84c859b28 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Norwegian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + SprÃ¥k + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Persian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Persian/strings.xml new file mode 100644 index 000000000..e899e6dde --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Persian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + زبان + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Polish/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Polish/strings.xml new file mode 100644 index 000000000..a5f8698c1 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Polish/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Użyj porzÄ…dku DVD + Użyj absolutnego porzÄ…dku (jeden sezon) + Włącz fanart + Preferuj plakaty + JÄ™zyk + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Portuguese (Brazil)/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Portuguese (Brazil)/strings.xml new file mode 100644 index 000000000..9b68cd8b8 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Portuguese (Brazil)/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Usar a ordem do DVD + Usar ordenamento absoluto (Temporada Única) + Ativar Fanart + Preferir Cartazes + Idioma + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Portuguese/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Portuguese/strings.xml new file mode 100644 index 000000000..fa8d25a09 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Portuguese/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Usar ordem do DVD + Usar Ordem Absoluta (Temporada única) + Activar Fanart + Preferir posters + Idioma + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Romanian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Romanian/strings.xml new file mode 100644 index 000000000..22d9fe87a --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Romanian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Ordonare dupa DVD + Ordonare absolută (Un singur sezon) + Activează Fanart + Preferă postere + Limbă + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Russian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Russian/strings.xml new file mode 100644 index 000000000..eccd636e2 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Russian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + ИÑпользовать порÑдок DVD + ИÑпользовать Ñквозную нумерацию (один Ñезон) + ИÑпользовать фанарт + Предпочитать поÑтеры + Язык + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Serbian (Cyrillic)/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Serbian (Cyrillic)/strings.xml new file mode 100644 index 000000000..127207ebf --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Serbian (Cyrillic)/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Језик + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Serbian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Serbian/strings.xml new file mode 100644 index 000000000..af7dd0301 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Serbian/strings.xml @@ -0,0 +1,8 @@ + + + + + + + Jezik + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Slovak/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Slovak/strings.xml new file mode 100644 index 000000000..f1cdb6509 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Slovak/strings.xml @@ -0,0 +1,12 @@ + + + + + + + PoužívaÅ¥ usporiadanie podľa DVD + PoužiÅ¥ úplné usporiadanie (pre jednu sériu) + PovoliÅ¥ Fanart grafiku + UprednostňovaÅ¥ plagáty + Jazyk + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Slovenian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Slovenian/strings.xml new file mode 100644 index 000000000..1cf7073e7 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Slovenian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Uporabi zaporedje DVD + Uporabi absolutno zaporedje (ena sezona) + VkljuÄi ozadja + Uporabi plakate + Jezik + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish (Argentina)/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish (Argentina)/strings.xml new file mode 100644 index 000000000..4f9a68413 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish (Argentina)/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Usar Orden del DVD + Usar Orden Absoluto (Temporada Única) + Descargar Fanart + Preferir Posters + Idioma + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish (Mexico)/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish (Mexico)/strings.xml new file mode 100644 index 000000000..e20aaa662 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish (Mexico)/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Usar Orden de DVD + Usar Orden Absoluto (Una sola temporada) + Activar Fanart + Preferir Posters + Idioma + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish/strings.xml new file mode 100644 index 000000000..36190dde4 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Spanish/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Usar orden de DVD + Usar orden absoluto (Temporada única) + Descargar Fanart + Preferir Posters + Idioma + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Swedish/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Swedish/strings.xml new file mode 100644 index 000000000..7d3d56c98 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Swedish/strings.xml @@ -0,0 +1,12 @@ + + + + + + + Använd DVD-ordning + Använd absolut ordning (singelsäsong) + Aktivera fanart + Föredra omslag + SprÃ¥k + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Thai/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Thai/strings.xml new file mode 100644 index 000000000..f4ad7f858 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Thai/strings.xml @@ -0,0 +1,12 @@ + + + + + + + ใช้à¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸‡ ดีวีดี + ใช้à¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸‡à¸¥à¸³à¸”ับโดยสมบูรณ์ (ฤดูเดียว) + เปิดใช้ à¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸• + เลือà¸à¹ƒà¸Šà¹‰ โปสเตอร์ + ภาษา + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Turkish/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Turkish/strings.xml new file mode 100644 index 000000000..c91f88124 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Turkish/strings.xml @@ -0,0 +1,10 @@ + + + + + + + Fanart'ı EtkinleÅŸtir + Posterleri Tercih Et + Dil + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Ukrainian/strings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Ukrainian/strings.xml new file mode 100644 index 000000000..aa2472a9f --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/language/Ukrainian/strings.xml @@ -0,0 +1,12 @@ + + + + + + + ПорÑдок DVD + ÐаÑкрізна Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ (один Ñезон) + Завантажувати фанарт + Віддавати перевагу поÑтерам + Мова + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/settings.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/settings.xml new file mode 100644 index 000000000..2396b769b --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/resources/settings.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/metadata.tvdb.com/tvdb.xml b/usr/local/share/xbmc/addons/metadata.tvdb.com/tvdb.xml new file mode 100644 index 000000000..844f94501 --- /dev/null +++ b/usr/local/share/xbmc/addons/metadata.tvdb.com/tvdb.xml @@ -0,0 +1,287 @@ + + + + + + http://(?:www\.)?thetvdb.com/(?:index\.php)?\?tab=series&id=([0-9]+) + + + imdb....?/title/tt([0-9]*) + + + imdb....?/Title\?([0-9]*) + + + + + + <seriesid>([0-9]*)</seriesid> + + + + + + (.*?http://www.thetvdb.com.*) + + + (.*?http://thetvdb.com.*) + + + + + + + + + (.+) + + + + + + + + + + + <seriesid>([0-9]*)</seriesid>[^<]*<language>([^<]*)</language>[^<]*<SeriesName>([^<]*)</SeriesName> + + + + + + + + + + + + <Series>.*?<id>$$2</id>(.*) + + + <Overview>([^<]*)</Overview> + + + + + + <ContentRating>([^<]*)</ContentRating> + + + <FirstAired>([^<]*)</FirstAired> + + + <Rating>([^<]*)</Rating> + + + <Network>([^<]*)</Network> + + + <SeriesName>([^<]*)</SeriesName> + + + <Genre>([^<]*)</Genre> + + + ([^\|]*)\| + + + ([^,]*), + + + ([^\|,]+)$ + + + + <Actor>.*?<Image>([^<]+)</Image>.*?<Name>([^<]*)</Name>.*?<Role>([^<]*) + + + + <Actor>.*?<Image>([^<]*)</Image>.*?<Name>([^<]*)</Name>.*?<Role>([^<]*) + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>poster</BannerType> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>series</BannerType>[^<]*<BannerType2>graphical</BannerType2>[^<]*<Language>$INFO[language]</Language> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>series</BannerType>[^<]*<BannerType2>graphical</BannerType2>[^<]*<Language>((?!$INFO[language])[a-z])*</Language> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>series</BannerType>[^<]*<BannerType2>text</BannerType2>[^<]*<Language>$INFO[language]</Language> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>series</BannerType>[^<]*<BannerType2>text</BannerType2>[^<]*<Language>((?!$INFO[language])[a-z])*</Language> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>series</BannerType>[^<]*<BannerType2>blank</BannerType2>[^<]*<Language></Language> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>season</BannerType>[^<]*<BannerType2>season</BannerType2>[^<]*<Language>$INFO[language]</Language>[^<]*[^S]*Season>([0-9]+)</Season> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>season</BannerType>[^<]*<BannerType2>season</BannerType2>[^<]*<Language>((?!$INFO[language])[a-z])*</Language>[^<]*[^S]*Season>([0-9]+)</Season> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>season</BannerType>[^<]*<BannerType2>seasonwide</BannerType2>[^<]*<Language>$INFO[language]</Language>[^<]*[^S]*Season>([0-9]+)</Season> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>season</BannerType>[^<]*<BannerType2>seasonwide</BannerType2>[^<]*<Language>((?!$INFO[language])[a-z])*</Language>[^<]*[^S]*Season>([0-9]+)</Season> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>poster</BannerType> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>poster</BannerType> + + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>fanart</BannerType>[^<]*<BannerType2>([^<]*)</BannerType2>[^<]*<Colors>([^<]*)</Colors>[^<]*<Language>$INFO[language]</Language> + + + <BannerPath>([^<]*)</BannerPath>[^<]*<BannerType>fanart</BannerType>[^<]*<BannerType2>([^<]*)</BannerType2>[^<]*<Colors>([^<]*)</Colors>[^<]*<Language>((?!$INFO[language])[a-z])*</Language> + + + + + + + + + + + + + + + + + http://(?:www\.)thetvdb.com/api/(.+)/series/([0-9]*)/all/(.+).zip + + + + + <Episode>.*?<id>([0-9]*).*?<EpisodeName>([^<]*).*?<FirstAired>([^<]*).*?<absolute_number>([0-9]*).*?</Episode> + + + + <Episode>.*?<id>([0-9]*).*?<EpisodeName>([^<]*).*?<EpisodeNumber>([0-9]*).*?<FirstAired>([^<]*).*?<SeasonNumber>0</SeasonNumber>.*?</Episode> + + + + <Episode>.*?<id>([0-9]+).*?<EpisodeName>([^<]*).*?<EpisodeNumber>([0-9]+)[^<]*.*?<FirstAired>([^<]*)</FirstAired>.*?<SeasonNumber>([0-9]+)[^<]*.*?</Episode> + + + + + <Episode>.*?<id>([0-9]+).*?<Combined_episodenumber>([^<]*).*?<Combined_season>([^<]*).*?<EpisodeName>([^<]*).*?<FirstAired>([^<]*)</FirstAired>.*?</Episode> + + + + + + + + + + + <Episode>.*?<id>$$2</id>(.*?)</Episode> + + + + + + <Overview>([^<]*)</Overview> + + + <Writer>([^<]*)</Writer> + + + ([^\|]*)\| + + + ([^,]*), + + + ([^\|,]+)$ + + + <Director>([^<]*)</Director> + + + ([^\|]*)\| + + + ([^,]*), + + + ([^\|,]+)$ + + + <GuestStars>([^<]*)</GuestStars> + + + ([^\|]*)\| + + + ([^,]*), + + + ([^\|,]+)$ + + + <EpisodeName>([^<]*)</EpisodeName> + + + + <SeasonNumber>([1-9]*)</SeasonNumber>.*?<absolute_number>([0-9]*)</absolute_number> + + + + <EpisodeNumber>([0-9]*)</EpisodeNumber>.*?<SeasonNumber>0</SeasonNumber> + + + + + <SeasonNumber>([^<]*)</SeasonNumber> + + + <Combined_season>([^<]*)</Combined_season> + + + + + + <EpisodeNumber>([^<]*)</EpisodeNumber> + + + <Combined_episodenumber>([^<]*)</Combined_episodenumber> + + + + + <filename>([^<]+)</filename> + + + <FirstAired>([^<]+)</FirstAired> + + + <airsbefore_season>([^<]+)</airsbefore_season> + + + <airsbefore_episode>([^<]+)</airsbefore_episode> + + + <airsafter_season>([^<]+)</airsafter_season> + + + <Rating>([^<]+)</Rating> + + + <Runtime>([^<]+)</Runtime> + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.argustv/addon.xml b/usr/local/share/xbmc/addons/pvr.argustv/addon.xml new file mode 100644 index 000000000..3a35560d4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/addon.xml @@ -0,0 +1,110 @@ + + + + + + + + + XBMC voorprogram vir die ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend for the ARGUS TV PVR http://www.argus-tv.com// + Rozhraní XBMC pro ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend til ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend für ARGUS TV PVR http://www.argus-tv.com// + Frontend του XBMC για το ARGUS TV PVR http://www.argus-tv.com/ + XBMC frontend for the ARGUS TV PVR http://www.argus-tv.com// + Frontend de XBMC para ARGUS TV PVR http://www.argus-tv.com// + Frontend de XBMC para ARGUS TV PVR http://www.argus-tv.com// + XBMC Interface logicielle pour l'enregistreur vidéo ARGUS TV http://www.argus-tv.com// + Interface de XBMC para o PRV de ARGUS TV http://www.argus-tv.com// + ממשק קדמי של XBMC ל ARGUS TV PVR http://www.argus-tv.com// + XBMC ARGUS TV elÅ‘tér-kiszolgáló http://www.argus-tv.com// + Frontend XBMC di ARGUS TV PVR http://www.argus-tv.com// + ARGUS TV PVR 用 XBMC フロントエンド http://www.argus-tv.com// + ARGUS TV PVRì„ ìœ„í•œ XBMC 프론트엔드 http://www.argus-tv.com// + XBMC sÄ…saja su ARGUS TV PVR http://www.argus-tv.com// + XBMC Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend voor het ARGUS-TV PVR http://www.argus-tv.com// + Interfejs XBMC dla ARGUS TV PVR http://www.argus-tv.com// + Frontend XBMC para ARGUS TV PVR http://www.argus-tv.com// + Frontend do XBMC para o PVR ARGUS TV http://www.argus-tv.com// + Frontend XBMC pentru PVR-ul ARGUS TV http://www.argus-tv.com/ + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ ARGUS TV PVR http://www.argus-tv.com// + XBMC rozhranie pre ARGUS TV PVR http://www.argus-tv.com// + XBMC-jev vmesnik za ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend för ARGUS TV PVR http://www.argus-tv.com/ + XBMCçš„ARGUS TV PVRå‰ç«¯ http://www.argus-tv.com// + ARGUS TV PVR voorprogram. Ondersteun stroom van Lewendige TV & Opnames, luister na Radio kanale, EPG en skedules. + ARGUS TV PVR frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and schedules. + Rozhraní ARGUS TV PVR. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe. + ARGUS TV PVR frontend'en understøtter streaming af direkte TV og optagelser, lytning til radiokanaler, EPG og tidsplaner. + ARGUS TV PVR frontend. Unterstützt Streaming von TV & Aufnahmen, Abspielen von Radiokanälen, EPG und Aufnahmepläne. + Frontend για το ARGUS TV PVR. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ακÏόαση Ραδιοφώνου, EPG και Ï€ÏογÏαμματισμό. + ARGUS TV PVR frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and schedules. + Frontend de ARGUS TV PVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio, Guía Electrónica de Programas (EPG) y temporizadores. + Frontend de ARGUS TV PVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio, Guía Electrónica de Programas (EPG) y temporizadores. + Interface logicielle pour l'enregistreur vidéo ARGUS TV. Supporte la lecture en continu de télévision et son enregistrement, l'écoute de radios, les guides de programmes et les minuteries. + Interface do PVR de ARGUS TV. Soporta transmisión de TV ao vivo e Gravacións, escoita de canles de radio, EPG e programacións. + ממשק קידמי של ARGOS TV PVR. תומך בהצגת שידורי טלויזיה ×—×™×™× ×•×”×§×œ×˜×•×ª רשימות של תחנות רדיו לוחות ×©×™×“×•×¨×™× ×•×ª×–×ž×•× ×™ הקלטות. + ARGUS TV PVR elÅ‘tér-kiszolgáló. ÉlÅ‘ adások, felvételek és rádió csatornák sugárzásának támogatása EPG-vel és idÅ‘zítéssel. + Frontend ARGUS TV PVR. Supporta lo streaming e la registrazione di Live TV, l'ascolto dei canali radio, la guida ai programmi e gli orari. + ARGUS TV PVR フロントエンドã§ã™ã€‚テレビ放é€ã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°ã€éŒ²ç”»ã€ãƒ©ã‚¸ã‚ªãƒãƒ£ãƒ³ãƒãƒ«ã®è¦–è´ã€EPGã€éŒ²ç”»äºˆç´„をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + ARGUS TV PVR 프론트엔드. ë¼ì´ë¸Œ TV 스트리ë°ê³¼ 녹화, ë¼ë””오 ì²­ì·¨, EPG와 예약 ì§€ì›. + ARGUS TV PVR frontend. Palaiko transliacijÄ… ir įraÅ¡us iÅ¡ Live TV. Klausykite radijo kanalus ir derinkite EPG tvarkaraÅ¡Äius. + ARGUS TV PVR интерфејÑ. Подржува Ñтриминг на Live TV & Снимки, Ñлушање на радио канали, EPG и планирања. + ARGUS TV PVR frontend. Ondersteunt het bekijken van Live TV en opnames, het beluisteren van radio zenders, het tonen van de EPG en het inplannen/beheren van nieuwe opnames (Timers). + Interfejs ARGUS TV PVR. ObsÅ‚uguje strumieniowe przesyÅ‚anie TV na żywo oraz nagraÅ„, sÅ‚uchanie kanałów radiowych, EPG i harmonogramy. + Frontend ARGUS TV PVR. Suporta transmissão de TV em directo e Gravações, audição de estações de Rádio, EPG e agendamentos. + Frontend do PVR ARGUS TV. Suporta streaming de TV Ao Vivo & Gravações, canais de Rádio, EPG e agendamento. + Frontend PVR ARGUS TV. Suportă difuzare în flux pentru televiziune în direct È™i pentru înregistrări, ascultarea canalelor radio, EPG È™i planificări. + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ ARGUS TV PVR. Поддерживает проÑмотр потокового ТВ и видеозапиÑей, проÑлушивание радиоканалов и работу Ñ Ñлектронным телегидом и раÑпиÑаниÑми. + ARGUS TV PVR rozhranie. Podporuje streamovanie živého TV vysielania a nahrávok, poÄúvanie rozhlasových kanálov, EPG a plánovaÄe. + Vmesnik za ARGUS TV PVR; podpira pretakanje televizije v živo & posnetkov, posluÅ¡anje radia, EPG in Äasovnike. + ARGUS TV PVR frontend. Stödjer strömmning av direktsänd TV & inspelningar, lyssna pÃ¥ radiokanaler, EPG och schemaläggning. + ARGUS TV PVRå‰ç«¯æ”¯æŒç›´æ’­ç”µè§†å’ŒèŠ‚ç›®å½•åˆ¶ã€æ”¶å¬å¹¿æ’­é¢‘é“ã€ç”µå­èŠ‚ç›®è¡¨åŠè®¡åˆ’任务功能。 + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, gemorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Això és programari inestable! Els autors no són en absolut responsables d'enregistraments fallist, temporitzadors incorrectes, hores tudades, o qualsevol altra efecte indesitjable... + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, fejlagtige timere, spildte timer, eller andre uønskede konsekvenser. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este software es aún inestable! Los autores no son responsables en forma alguna por grabaciones fallidas, temporizaciones incorrectas, tiempo perdido o ningún otro efecto no deseado. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + ¡Esto es software inestable! Los autores no son de ninguna manera responsables por grabaciones fallidas, temporizadores incorrectos, horas perdidas o cualquier otro efecto no deseado... + Tämä on epävakaa ohjelma! Ohjelman kirjoittavat eivät vastaa millään tavalla epäonnistuneista nauhoituksista, ajastimen väärästä toiminnasta, hukatusta ajasta tai muista ei-halutuista tapahtumista. + Logiciel en cours d'élaboration ! Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, minuteries défectueuses, temps perdu ou autres effets indésirables.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה ×œ× ×™×¦×™×‘×”! ×”×™×•×¦×¨×™× ××™× × ×חר××™× ×œ×›×©×œ×•×Ÿ בהקלטה, ×ª×–×ž×•× ×™× ×œ× × ×›×•× ×™×, שעות מבוזבזות ×ו כל השפעות בלתי רצויות ×חרות. + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Þetta er óstöðugur hugbúnaður! Höfundarnir eru á engann hátt ábyrgir fyrir misheppnuðum upptökum, röngum upptökutímum, klukkustundum sem að fóru í súginn eða nokkrum öðrum óæskilegum áhrifum. + Questo software è instabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timers incorretti, ore perse, o qualsiasi altro effetto indesiderato. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Deze software is niet 100% stabiel! De auteurs zijn op geen enkele wijze aansprakelijk voor mislukte opnames, verspilde tijd, of enig ander ongewild neveneffect.. + Dette er ustabil programvare! Skaperen har ikke pÃ¥ noen mÃ¥te ansvar for feilede opptak, feile timere, bortkastede timer, eller andre uønskede effekter.. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce wyłączniki czasowe, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não são de forma alguma responsáveis por gravações falhadas, temporizadores incorrectos, horas desperdiçadas, ou qualquer outro tipo de efeitos indesejáveis.. + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas desperdiçadas, ou quaisquer outros efeitos indesejáveis. + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau orice alte efecte nedorite... + Это неÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ прочие нежелательные Ñффекты. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gra andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.argustv/addon.xml.in b/usr/local/share/xbmc/addons/pvr.argustv/addon.xml.in new file mode 100644 index 000000000..41e2ef261 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/addon.xml.in @@ -0,0 +1,110 @@ + + + + + + + + + XBMC voorprogram vir die ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend for the ARGUS TV PVR http://www.argus-tv.com// + Rozhraní XBMC pro ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend til ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend für ARGUS TV PVR http://www.argus-tv.com// + Frontend του XBMC για το ARGUS TV PVR http://www.argus-tv.com/ + XBMC frontend for the ARGUS TV PVR http://www.argus-tv.com// + Frontend de XBMC para ARGUS TV PVR http://www.argus-tv.com// + Frontend de XBMC para ARGUS TV PVR http://www.argus-tv.com// + XBMC Interface logicielle pour l'enregistreur vidéo ARGUS TV http://www.argus-tv.com// + Interface de XBMC para o PRV de ARGUS TV http://www.argus-tv.com// + ממשק קדמי של XBMC ל ARGUS TV PVR http://www.argus-tv.com// + XBMC ARGUS TV elÅ‘tér-kiszolgáló http://www.argus-tv.com// + Frontend XBMC di ARGUS TV PVR http://www.argus-tv.com// + ARGUS TV PVR 用 XBMC フロントエンド http://www.argus-tv.com// + ARGUS TV PVRì„ ìœ„í•œ XBMC 프론트엔드 http://www.argus-tv.com// + XBMC sÄ…saja su ARGUS TV PVR http://www.argus-tv.com// + XBMC Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend voor het ARGUS-TV PVR http://www.argus-tv.com// + Interfejs XBMC dla ARGUS TV PVR http://www.argus-tv.com// + Frontend XBMC para ARGUS TV PVR http://www.argus-tv.com// + Frontend do XBMC para o PVR ARGUS TV http://www.argus-tv.com// + Frontend XBMC pentru PVR-ul ARGUS TV http://www.argus-tv.com/ + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ ARGUS TV PVR http://www.argus-tv.com// + XBMC rozhranie pre ARGUS TV PVR http://www.argus-tv.com// + XBMC-jev vmesnik za ARGUS TV PVR http://www.argus-tv.com// + XBMC frontend för ARGUS TV PVR http://www.argus-tv.com/ + XBMCçš„ARGUS TV PVRå‰ç«¯ http://www.argus-tv.com// + ARGUS TV PVR voorprogram. Ondersteun stroom van Lewendige TV & Opnames, luister na Radio kanale, EPG en skedules. + ARGUS TV PVR frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and schedules. + Rozhraní ARGUS TV PVR. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe. + ARGUS TV PVR frontend'en understøtter streaming af direkte TV og optagelser, lytning til radiokanaler, EPG og tidsplaner. + ARGUS TV PVR frontend. Unterstützt Streaming von TV & Aufnahmen, Abspielen von Radiokanälen, EPG und Aufnahmepläne. + Frontend για το ARGUS TV PVR. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ακÏόαση Ραδιοφώνου, EPG και Ï€ÏογÏαμματισμό. + ARGUS TV PVR frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and schedules. + Frontend de ARGUS TV PVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio, Guía Electrónica de Programas (EPG) y temporizadores. + Frontend de ARGUS TV PVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio, Guía Electrónica de Programas (EPG) y temporizadores. + Interface logicielle pour l'enregistreur vidéo ARGUS TV. Supporte la lecture en continu de télévision et son enregistrement, l'écoute de radios, les guides de programmes et les minuteries. + Interface do PVR de ARGUS TV. Soporta transmisión de TV ao vivo e Gravacións, escoita de canles de radio, EPG e programacións. + ממשק קידמי של ARGOS TV PVR. תומך בהצגת שידורי טלויזיה ×—×™×™× ×•×”×§×œ×˜×•×ª רשימות של תחנות רדיו לוחות ×©×™×“×•×¨×™× ×•×ª×–×ž×•× ×™ הקלטות. + ARGUS TV PVR elÅ‘tér-kiszolgáló. ÉlÅ‘ adások, felvételek és rádió csatornák sugárzásának támogatása EPG-vel és idÅ‘zítéssel. + Frontend ARGUS TV PVR. Supporta lo streaming e la registrazione di Live TV, l'ascolto dei canali radio, la guida ai programmi e gli orari. + ARGUS TV PVR フロントエンドã§ã™ã€‚テレビ放é€ã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°ã€éŒ²ç”»ã€ãƒ©ã‚¸ã‚ªãƒãƒ£ãƒ³ãƒãƒ«ã®è¦–è´ã€EPGã€éŒ²ç”»äºˆç´„をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + ARGUS TV PVR 프론트엔드. ë¼ì´ë¸Œ TV 스트리ë°ê³¼ 녹화, ë¼ë””오 ì²­ì·¨, EPG와 예약 ì§€ì›. + ARGUS TV PVR frontend. Palaiko transliacijÄ… ir įraÅ¡us iÅ¡ Live TV. Klausykite radijo kanalus ir derinkite EPG tvarkaraÅ¡Äius. + ARGUS TV PVR интерфејÑ. Подржува Ñтриминг на Live TV & Снимки, Ñлушање на радио канали, EPG и планирања. + ARGUS TV PVR frontend. Ondersteunt het bekijken van Live TV en opnames, het beluisteren van radio zenders, het tonen van de EPG en het inplannen/beheren van nieuwe opnames (Timers). + Interfejs ARGUS TV PVR. ObsÅ‚uguje strumieniowe przesyÅ‚anie TV na żywo oraz nagraÅ„, sÅ‚uchanie kanałów radiowych, EPG i harmonogramy. + Frontend ARGUS TV PVR. Suporta transmissão de TV em directo e Gravações, audição de estações de Rádio, EPG e agendamentos. + Frontend do PVR ARGUS TV. Suporta streaming de TV Ao Vivo & Gravações, canais de Rádio, EPG e agendamento. + Frontend PVR ARGUS TV. Suportă difuzare în flux pentru televiziune în direct È™i pentru înregistrări, ascultarea canalelor radio, EPG È™i planificări. + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ ARGUS TV PVR. Поддерживает проÑмотр потокового ТВ и видеозапиÑей, проÑлушивание радиоканалов и работу Ñ Ñлектронным телегидом и раÑпиÑаниÑми. + ARGUS TV PVR rozhranie. Podporuje streamovanie živého TV vysielania a nahrávok, poÄúvanie rozhlasových kanálov, EPG a plánovaÄe. + Vmesnik za ARGUS TV PVR; podpira pretakanje televizije v živo & posnetkov, posluÅ¡anje radia, EPG in Äasovnike. + ARGUS TV PVR frontend. Stödjer strömmning av direktsänd TV & inspelningar, lyssna pÃ¥ radiokanaler, EPG och schemaläggning. + ARGUS TV PVRå‰ç«¯æ”¯æŒç›´æ’­ç”µè§†å’ŒèŠ‚ç›®å½•åˆ¶ã€æ”¶å¬å¹¿æ’­é¢‘é“ã€ç”µå­èŠ‚ç›®è¡¨åŠè®¡åˆ’任务功能。 + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, gemorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Això és programari inestable! Els autors no són en absolut responsables d'enregistraments fallist, temporitzadors incorrectes, hores tudades, o qualsevol altra efecte indesitjable... + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, fejlagtige timere, spildte timer, eller andre uønskede konsekvenser. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este software es aún inestable! Los autores no son responsables en forma alguna por grabaciones fallidas, temporizaciones incorrectas, tiempo perdido o ningún otro efecto no deseado. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + ¡Esto es software inestable! Los autores no son de ninguna manera responsables por grabaciones fallidas, temporizadores incorrectos, horas perdidas o cualquier otro efecto no deseado... + Tämä on epävakaa ohjelma! Ohjelman kirjoittavat eivät vastaa millään tavalla epäonnistuneista nauhoituksista, ajastimen väärästä toiminnasta, hukatusta ajasta tai muista ei-halutuista tapahtumista. + Logiciel en cours d'élaboration ! Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, minuteries défectueuses, temps perdu ou autres effets indésirables.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה ×œ× ×™×¦×™×‘×”! ×”×™×•×¦×¨×™× ××™× × ×חר××™× ×œ×›×©×œ×•×Ÿ בהקלטה, ×ª×–×ž×•× ×™× ×œ× × ×›×•× ×™×, שעות מבוזבזות ×ו כל השפעות בלתי רצויות ×חרות. + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Þetta er óstöðugur hugbúnaður! Höfundarnir eru á engann hátt ábyrgir fyrir misheppnuðum upptökum, röngum upptökutímum, klukkustundum sem að fóru í súginn eða nokkrum öðrum óæskilegum áhrifum. + Questo software è instabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timers incorretti, ore perse, o qualsiasi altro effetto indesiderato. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Deze software is niet 100% stabiel! De auteurs zijn op geen enkele wijze aansprakelijk voor mislukte opnames, verspilde tijd, of enig ander ongewild neveneffect.. + Dette er ustabil programvare! Skaperen har ikke pÃ¥ noen mÃ¥te ansvar for feilede opptak, feile timere, bortkastede timer, eller andre uønskede effekter.. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce wyłączniki czasowe, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não são de forma alguma responsáveis por gravações falhadas, temporizadores incorrectos, horas desperdiçadas, ou qualquer outro tipo de efeitos indesejáveis.. + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas desperdiçadas, ou quaisquer outros efeitos indesejáveis. + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau orice alte efecte nedorite... + Это неÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ прочие нежелательные Ñффекты. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gra andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.argustv/changelog.txt b/usr/local/share/xbmc/addons/pvr.argustv/changelog.txt new file mode 100644 index 000000000..2340e2f4d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/changelog.txt @@ -0,0 +1,134 @@ +v1.6.164 (18-01-2013) +- EPG genre will contain the ARGUS TV "Category" string. +v1.6.163 (01-01-2013) +- Updated language files from Transifex +v1.6.162 (15-12-2012) +- Updated language files from Transifex +v1.6.161 (12-12-2012) +- New version number by Team XBMC +v1.6.160.145 (11-12-2012) +- Support ARGUS TV channel numbers on XBMC, switch on: + Settings / Live-TV / General / + "Use backend channels..." and + "Always use the channel order..." +- New version number by Team XBMC +v1.0.150.144 (18-11-2012) +- First ARGUS TV implementation +- Support XBMC play count + +v1.0.150.143 (03-11-2012) +- Bump version to 1 for Frodo :) +- Version number: major.minor.apiversion.buildnumber +- Fully supports setting and retrieving lastplayed position + on the FTR server for recordings +- Support Timer conflict notification +- Add episode name to epg title +- Credit Team Mediaportal for original TsReader code +v0.0.1.142 (06-09-2012) +- Use the XBMC lifetime setting for a recording when possible +- Now can delete scheduled recordings/programs on the FTR server + that were created by other clients +- At startup try to connect to FTR for 30 seconds, + This fixes startup problems on linux systems where the add-on is + started before the network interface is up (eg. OpenElec) +- Notify user when no free tuner is found, channel is scrambled etc. +- Shorter keep-alive delay to fix loosing Live-TV in certain cases +v0.0.1.141 (04-09-2012) +- Updated to Frodo PVR API +- Add timeshift support for Frodo +v0.0.1.140 (03-06-2012) +- Fixed deletion of recordings due to api change +- Fixed instant-record failed due to start time set to 1970 by XBMC +v0.0.1.138 (02-06-2012) +- Full support for timeshift implemented in the add-on +v0.0.1.137 (18-05-2012) +- Fixed playing recording with national characters in names on Windows +v0.0.1.136 (01-05-2012) +- Aggressively optimised TsReader class +- Added new configurable delay in milliseconds after tuning a channel +v0.0.1.135 (12-04-2012) +- Small regression fixes after switch to new platform library + When ForTheRecord returns 'NoRetunePossible' close the current live stream and + then try to tune again +v0.0.1.134 (07-04-2012) +- Internal change: Switch to new platform library for threading and lock mechanisms +v0.0.1.133 (31-03-2012) +- The add-on now sets the time a recording was last watched on the server +v0.0.1.132 (20-03-2012) +- Small fix to correct one invalid GUID error message at start +v0.0.1.131 (16-03-2012) +- Added many internal verifications to the to + channel mappings. External factors can break the mapping and these + checks will hopefully warn the user to reset the PVR database +v0.0.1.130 (11-03-2012) +- Fixed 64-bit Linux .tsbuffer processing +v0.0.1.129 (04-03-2012) +- Media Portal TV-Server will now work with the FTR - FTR Addon - XBMC combination + Recording titles with trailing periods '...' will show up in XBMC, + NOTICE: this requires FTR 1.6.1.0 Beta 5 or newer +v0.0.1.128 (23-01-2012) +- Added: System Info - PVR Information now shows FTR version info + Timers do no longer retrieve the cancelled 'upcomingprograms' from ForTheRecord +v0.0.1.127 (20-01-2012) +- Added: System Info - PVR Information now shows total and used disk sizes +v0.0.1.126 (10-01-2012) +- Added: titles of recordings changed to be more descriptive +v0.0.1.125 (04-01-2012) +- Added: validation of the shares for all ForTheRecord tuners at startup +v0.0.1.124 (01-01-2012) +- Fixed Linux mutex initialisation, caused by C++ not having static constructors +v0.0.1.123 (20-12-2011) +- Pressing 'record' while viewing will schedule the recording of the show watched +- Delete Timer: will abort an active recording, + will remove the upcoming program from the server + will remove the corresponding schedule from the server + (the schedule name MUST be: "XBMC - " + timer title, this is the case + when the schedule was added by the addon and unchanged by the user) +v0.0.1.122 (07-12-2011) +- Signal quality retrieval implemented +v0.0.1.121 (04-12-2011) +- Channel logo retrieval added +v0.0.1.120 (07-11-2011) +- Windows, Linux and OSX version using TsReader +- Reliable switching between channels with HD and SD content +- TsReader streamlined +v0.0.1.117 (unreleased) +- Adaptation to many changes within XBMC +v0.0.1.116 (16-06-2011) +- Greatly improved channel zapping +- Add timer will now force a recording when no matching show title + is found in the channel epg data on the server +- Add timer fixed: new PVR API +- GUI update triggers added: new PVR API +v0.0.1.115 (10-05-2011) +- First implementation of channelgroups +v0.0.1.114 (26-02-2011) +- Delete recording is now actually working... +v0.0.1.113 (26-02-2011) +- Upcoming recordings now showing as timers in EPG and timerlist +- Delete timer implemented +- Add timer implemented +v0.0.1.112 (23-02-2011) +- Fixed bad bug that caused loss of epg data every 10 minutes +v0.0.1.111 (01-02-2011) +- EPG loading optimised. Programme descriptions only loaded for ForTheRecord 1.5.1. +- EPG loads 48 hours of data now. +- Tune live stream now also supports radio. +v0.0.1.110 (22-01-2011) +- Delete recording implemented, needs ForTheRecord 1.5.1.0 Beta 6 or newer +- Programme descriptions added to EPG and TV channels screen +- More fixes to memory handling +v0.0.1.109 (13-01-2011) +- Initial support for retrieval of recordings on the ForTheRecord Argus server +- Overview of recordings, grouped by Title +- Viewing of a selected recording via the ForTheRecord shares +- Fixes some memory corruptions +- Support for retrieval of recordings on the ForTheRecord Argus server +- Overview of recordings, grouped by Title, including recording starttime, and description +- Credits: Red-F +v0.0.1.108 (08-01-2011) +- EPG data retrieval fixed for dates where month and day have less than 2 digits (credits: Red-F) +v0.0.1.107 (27-11-2010) +- First release of the ForTheRecord PVR client (Windows only, TSReader) +- Implemented: Channel retrieval, tuning of live TV and live radio (tsbuffer only, no rtsp), basic EPG +- Tested ForTheRecord Argus version: v1.5.0.3 diff --git a/usr/local/share/xbmc/addons/pvr.argustv/icon.png b/usr/local/share/xbmc/addons/pvr.argustv/icon.png new file mode 100644 index 000000000..9d5063eb8 Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.argustv/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..04053879e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Afrikaans/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV Gasheernaam" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV webbediener poort" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Sluit Radio in" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Konnekteer tydverstreke(s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows gebruiker rekening" + +msgctxt "#30005" +msgid "Password" +msgstr "Wagwoord" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Vertraging na instemming (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Amharic/strings.po new file mode 100644 index 000000000..3ac83ef39 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Amharic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "የመáŒá‰¢á‹« ቃáˆ" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Arabic/strings.po new file mode 100644 index 000000000..9bba6a150 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Arabic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30005" +msgid "Password" +msgstr "كلمة المرور" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Basque/strings.po new file mode 100644 index 000000000..8ea22bc29 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Basque/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Pasahitza" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..ac4f33cc8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Belarusian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV Hostname" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV webserver port" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Include Radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Connect timeout (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows user account" + +msgctxt "#30005" +msgid "Password" +msgstr "Password" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Delay after tuning (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..0732f9235 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Bosnian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Lozinka" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..dafec2e41 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Bulgarian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Парола" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Catalan/strings.po new file mode 100644 index 000000000..1218f1295 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Catalan/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Inclou ràdio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Temps d'espera de connexió (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Compte d'usuari del Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Contrasenya" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..a23a05b54 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV主机å" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV webæœåŠ¡å™¨ç«¯å£" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "包å«ç”µå°" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "连接超时(秒)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows用户å¸å·" + +msgctxt "#30005" +msgid "Password" +msgstr "密ç " + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "è°ƒå°å»¶è¿Ÿï¼ˆæ¯«ç§’)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..4607f8fd8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30005" +msgid "Password" +msgstr "密碼" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Croatian/strings.po new file mode 100644 index 000000000..c707725f3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Croatian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Zaporka" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Czech/strings.po new file mode 100644 index 000000000..2c4be8757 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Czech/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Název poÄítaÄe ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Port webového serveru ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Zahrnout rádio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "ÄŒasový limit spojení" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Uživatelský úÄet windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Heslo" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "ZpoždÄ›ní po naladÄ›ní (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Danish/strings.po new file mode 100644 index 000000000..72bb0836d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Danish/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV Værtsnavn" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV webserver port" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Inkluder Radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Forbindelsestimeout (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows brugerkonto" + +msgctxt "#30005" +msgid "Password" +msgstr "Adgangskode" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Forsinkelse efter kanalskift (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Dutch/strings.po new file mode 100644 index 000000000..4bf9214ee --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Dutch/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV hostnaam" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV webserver poort" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Toon radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Verbindingstimeout (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows gebruikersaccount" + +msgctxt "#30005" +msgid "Password" +msgstr "Wachtwoord" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Wachttijd na afstemmen (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/English/strings.po new file mode 100644 index 000000000..254f13115 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/English/strings.po @@ -0,0 +1,48 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "" + +msgctxt "#30005" +msgid "Password" +msgstr "" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Esperanto/strings.po new file mode 100644 index 000000000..f2393115e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Esperanto/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "pasvorto" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Estonian/strings.po new file mode 100644 index 000000000..eab4f4bd9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Estonian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Salasõna" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Finnish/strings.po new file mode 100644 index 000000000..e63deaaa5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Finnish/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Sisällytä radiokanavat" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Yhteyden aikakatkaisu (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows-käyttäjätunnus" + +msgctxt "#30005" +msgid "Password" +msgstr "Salasana" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/French/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/French/strings.po new file mode 100644 index 000000000..19dbb1489 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/French/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Nom d'hôte ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Port serveur web ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Inclure la radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Temporisation de connexion (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Compte d'utilisateur Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Mot de passe" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Attente après réglage (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Galician/strings.po new file mode 100644 index 000000000..c0386cbba --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Galician/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Nome do host de ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Porto do servidor web de ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Incluir Radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Tempo(s) de espera da conexión" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "conta do usuario de Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Contrasinal" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Retardo despois do axuste (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/German/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/German/strings.po new file mode 100644 index 000000000..b2a04ffc7 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/German/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV Hostname" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV Web-Server Port" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Zeige Radiokanäle" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Verbindungszeitüberlauf (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows Benutzername" + +msgctxt "#30005" +msgid "Password" +msgstr "Passwort" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Verzögerung nach Tuning (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Greek/strings.po new file mode 100644 index 000000000..bb5012b63 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Greek/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Όνομα υπολογιστή ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ΘÏÏα Διακομιστή Î™ÏƒÏ„Î¿Ï Ï„Î¿Ï… ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "ΣυμπεÏίληψη Ραδιοφώνου" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "ΧÏονικό ÏŒÏιο σÏνδεσης (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "ΛογαÏιασμός χÏήστη Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Κωδικός Ï€Ïόσβασης" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "ΚαθυστέÏηση μετά τη ÏÏθμιση (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Haitian (Haitian Creole)/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Haitian (Haitian Creole)/strings.po new file mode 100644 index 000000000..6812a1f64 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Haitian (Haitian Creole)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Haitian (Haitian Creole) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ht/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ht\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "mo de pas" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..c73390383 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Hebrew/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "×©× ×ž×רח של ARGUS TV " + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "פתחת שרת רשת של ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "כלול ערוצי רדיו" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "זמן לניסיון חיבור (שניות)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "חשבון משתמש חלונות" + +msgctxt "#30005" +msgid "Password" +msgstr "סיסמ×" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "השהיה ל×חר כיונון (מילי שניות)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..a2e95b99c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Hungarian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV Ãllomásnév" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV webkiszolgáló port" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Tartalmaz rádiót" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "A kapcsolat idÅ‘túllépése (mp.)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows felhasználói fiók" + +msgctxt "#30005" +msgid "Password" +msgstr "Jelszó" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Hangolás utáni késleltetés (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..40accaeb0 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Icelandic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Lykilorð" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Indonesian/strings.po new file mode 100644 index 000000000..a0904d5c1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Indonesian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Password" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Italian/strings.po new file mode 100644 index 000000000..be1ae1661 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Italian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Nome del server ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Porta del webserver di ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Includi Radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Timeout per la connessione (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows user account" + +msgctxt "#30005" +msgid "Password" +msgstr "Password" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Delay after tuning (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Japanese/strings.po new file mode 100644 index 000000000..cc06cb2a8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Japanese/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV ホストå" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV web サーãƒãƒ¼ã®ãƒãƒ¼ãƒˆç•ªå·" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "ラジオもå«ã‚ã‚‹" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "接続タイムアウト (ç§’)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows ユーザーアカウントå" + +msgctxt "#30005" +msgid "Password" +msgstr "パスワード" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "ãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°å¾Œã®ãƒ‡ã‚£ãƒ¬ã‚¤ (ミリ秒)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Korean/strings.po new file mode 100644 index 000000000..f3f913ac5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Korean/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV 호스트명" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV 웹서버 í¬íЏ" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "ë¼ë””오 í¬í•¨" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "연결시간 제한 (ì´ˆ)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "윈ë„ìš° ì‚¬ìš©ìž ê³„ì •" + +msgctxt "#30005" +msgid "Password" +msgstr "비밀번호" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "íŠœë‹ í›„ 지연 (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..9cb74c7f9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Lithuanian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV mazgo vardas" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV serverio prievadas" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Ä®traukti radijÄ…" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Prisijungimui skyrtas laikas (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows vartotojo sÄ…skaita" + +msgctxt "#30005" +msgid "Password" +msgstr "Slaptažodis" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "AtidÄ—ti po derinimo (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..f7a915cf7 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Macedonian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV Hostname" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV webserver port" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Вклучително Радио" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Тајмаут на поврзување (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows кориÑничка претплата" + +msgctxt "#30005" +msgid "Password" +msgstr "Лозинка" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Доцнење (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..60666e3e3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Norwegian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Inkluder radio" + +msgctxt "#30005" +msgid "Password" +msgstr "Passord" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Persian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Persian/strings.po new file mode 100644 index 000000000..af537964f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Persian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "در Ø¨Ø±Ú¯Ø±ÙØªÙ† رادیو" + +msgctxt "#30005" +msgid "Password" +msgstr "کلمه عبور" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Polish/strings.po new file mode 100644 index 000000000..afe6cbb16 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Polish/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Nazwa hosta ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Port serwera ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "UwzglÄ™dnij Radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Limit czasu połączenia (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Konto użytkownika Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "HasÅ‚o" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Opóźnienie po dostrajaniu (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..a94dd4624 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Anfitrião ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Porta do servidor web ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Incluir Rádio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Tempo limite para conectar (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Conta do usuário Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Senha" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Atraso após sintonizar (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..eba24e936 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Portuguese/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Servidor ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Porta do servidor web ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Incluir Rádio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Tempo limite para ligação (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Conta de utilizador Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Palavra-passe" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Atraso depois da sintonização (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Romanian/strings.po new file mode 100644 index 000000000..ed13453ee --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Romanian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Nume gazdă ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Port server web ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Include Radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Conexiune timeout (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Cont utilizator Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Parolă" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "ÃŽntârziere după căutare (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Russian/strings.po new file mode 100644 index 000000000..c870207de --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Russian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Ð˜Ð¼Ñ Ñервера ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Порт веб-Ñервера ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Поддержка радио" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Тайм-ауты подключениÑ" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Профиль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Пароль" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Задержка поÑле наÑтройки (мÑ)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..054653a25 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Лозинка" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Serbian/strings.po new file mode 100644 index 000000000..b826753c3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Serbian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Lozinka" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Slovak/strings.po new file mode 100644 index 000000000..ae1b17106 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Slovak/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Názov hostiteľa služby ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Port webového servera služby ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Zahrnúť rozhlasové stanice" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "ÄŒasový limit pre spojenie" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Používateľské konto systému Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Heslo" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Oneskorenie po naladení (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..7ff4579c9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Slovenian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Ime gostitelja ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Vrata spletnega strežnika ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "VkljuÄi radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "NajdaljÅ¡i Äas povezave (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Uporabnik sistema Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Geslo" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Zamik pri preklopu (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..16223ed07 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Hostname ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Puerto del webserver de ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Incluir Radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Tiempo de espera de la conexión (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Cuenta de usuario de Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Retraso después de sintonizar (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..b09cb4f64 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Incluir Radio" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Cuenta de usuario de Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Contraseña" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish/strings.po new file mode 100644 index 000000000..9f08255a4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Spanish/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "Hostname ARGUS TV" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "Puerto del webserver de ARGUS TV" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Incluir Radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Tiempo para conectar excedido" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Cuenta de usuario de Windows" + +msgctxt "#30005" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Retraso después de sintonizar (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Swedish/strings.po new file mode 100644 index 000000000..d2ab8dac3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Swedish/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "ARGUS TV Hostname" +msgstr "ARGUS TV-värdnamn" + +msgctxt "#30001" +msgid "ARGUS TV webserver port" +msgstr "ARGUS TV webbserver-port" + +msgctxt "#30002" +msgid "Include Radio" +msgstr "Inkludera radio" + +msgctxt "#30003" +msgid "Connect timeout (s)" +msgstr "Anslutningstimeout (s)" + +msgctxt "#30004" +msgid "Windows user account" +msgstr "Windows-användarkonto" + +msgctxt "#30005" +msgid "Password" +msgstr "Lösenord" + +msgctxt "#30006" +msgid "Delay after tuning (ms)" +msgstr "Fördröjning efter kanalinställning (ms)" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Thai/strings.po new file mode 100644 index 000000000..c15f03c0e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Thai/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30005" +msgid "Password" +msgstr "รหัสผ่าน" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Turkish/strings.po new file mode 100644 index 000000000..553578344 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Turkish/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Parola" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..cbfc65cc4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/language/Ukrainian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: ARGUS TV client +# Addon id: pvr.argustv +# Addon version: 1.6.163 +# Addon Provider: Fred Hoogduin, Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30005" +msgid "Password" +msgstr "Пароль" diff --git a/usr/local/share/xbmc/addons/pvr.argustv/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.argustv/resources/settings.xml new file mode 100644 index 000000000..ca62c867d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.argustv/resources/settings.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.demo/PVRDemoAddonSettings.xml b/usr/local/share/xbmc/addons/pvr.demo/PVRDemoAddonSettings.xml new file mode 100644 index 000000000..3e695836a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.demo/PVRDemoAddonSettings.xml @@ -0,0 +1,571 @@ + + + + Demo TV Channel 1 + 0 + 1 + 0 + + + + + Demo TV Channel 2 + 0 + 2 + 0 + + + + + Demo TV Channel 3 + 0 + 3 + 0 + + + + + Demo TV Channel 4 + 0 + 4 + 0 + + + + + Demo TV Channel 5 + 0 + 5 + 0 + + + + + Demo TV Channel 10 + 0 + 10 + 0 + + + + + Demo TV Channel 11 + 0 + 11 + 0 + + + + + Demo TV Channel 12 + 0 + 12 + 0 + + + + + Demo TV Channel 13 + 0 + 13 + 0 + + + + + Demo TV Channel 14 + 0 + 14 + 0 + + + + + Demo TV Channel 15 + 0 + 15 + 0 + + + + + + Demo Radio Channel #1 + 1 + 1 + 0 + + + + + Demo Radio Channel #2 + 1 + 2 + 0 + + + + + Demo Radio Channel #3 + 1 + 3 + 0 + + + + + Demo Radio Channel #4 + 1 + 4 + 0 + + + + + Demo Radio Channel #5 + 1 + 5 + 0 + + + + + Demo Radio Channel #6 + 1 + 6 + 0 + + + + + Demo Radio Channel #7 + 1 + 7 + 0 + + + + + Demo Radio Channel #8 + 1 + 8 + 0 + + + + + Demo Radio Channel #9 + 1 + 9 + 0 + + + + + Demo Radio Channel #10 + 1 + 10 + 0 + + + + + + + Demo Group #1 + 0 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + + + + Demo Group #2 + 0 + + 1 + 3 + 5 + 7 + 9 + 11 + + + + + + 100 + Demo EPG entry #1 + 1 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 10 + 0 + + + 200 + Demo EPG entry #2 + 2 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 20 + 0 + + + 300 + Demo EPG entry #3 + 3 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + + 0 + + + 400 + Demo EPG entry #4 + 4 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 30 + 0 + + + 500 + Demo EPG entry #5 + 5 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + + 0 + + + 600 + Demo EPG entry #6 + 6 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 10 + 0 + + + 700 + Demo EPG entry #7 + 7 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 10 + 0 + + + 800 + Demo EPG entry #8 + 8 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 20 + 0 + + + 900 + Demo EPG entry #9 + 9 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 30 + 0 + + + 1000 + Demo EPG entry #10 + 10 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 10 + 0 + + + 1100 + Demo EPG entry #11 + 11 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 20 + 0 + + + + 1200 + Demo Radio EPG entry #1 + 12 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 30 + 0 + + + 1300 + Demo Radio EPG entry #2 + 13 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 10 + 0 + + + 1400 + Demo Radio EPG entry #3 + 14 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 20 + 0 + + + 1500 + Demo Radio EPG entry #4 + 15 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 30 + 0 + + + 1600 + Demo Radio EPG entry #5 + 16 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 10 + 0 + + + 1700 + Demo Radio EPG entry #6 + 17 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 20 + 0 + + + 1800 + Demo Radio EPG entry #7 + 18 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 30 + 0 + + + 1900 + Demo Radio EPG entry #8 + 19 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 10 + 0 + + + 2000 + Demo Radio EPG entry #9 + 20 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 20 + 0 + + + 2100 + Demo Radio EPG entry #10 + 21 + 0 + 7200 + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + + 30 + 0 + + + + + Demo Recording entry #1 + + Demo TV Channel #1 + Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7200 + + + Demo Recording entry #2 + + Demo TV Channel #2 + Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + Demo Recording entry #3 + + Demo TV Channel #3 + Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + Demo Recording entry #4 + + Demo TV Channel #4 + Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + Demo Recording entry #5 + + Demo TV Channel #5 + Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + Demo Recording entry #6 + + Demo TV Channel #6 + Aliquam erat volutpat. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + Demo Recording entry #7 + + Demo TV Channel #7 + Aliquam erat volutpat. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + Demo Recording entry #8 + + Demo TV Channel #8 + Aliquam erat volutpat. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + Demo Recording entry #9 + + Demo TV Channel #9 + Aliquam erat volutpat. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + Demo Recording entry #10 + + Demo TV Channel #10 + Aliquam erat volutpat. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam cursus consectetur ipsum, eu tincidunt dui aliquam ac. Sed scelerisque, augue eu lacinia ultrices, libero ante ullamcorper augue, vel malesuada justo risus ac nulla. Quisque ac libero libero. Sed tincidunt, orci eu condimentum laoreet, felis odio mattis est, et lacinia metus enim in leo. Fusce faucibus tristique risus in varius. Etiam sagittis venenatis ligula nec rutrum. Etiam gravida dictum hendrerit. Sed sodales felis in sapien rutrum non malesuada nisi lobortis. Mauris iaculis ante odio. Nunc gravida erat convallis purus dignissim et ultricies orci dapibus. Aliquam erat volutpat. Vestibulum mi felis, malesuada ac tincidunt sit amet, pulvinar nec dolor. Pellentesque vehicula est vulputate mi adipiscing euismod. Donec ac mauris nulla. Nullam suscipit felis eu quam sodales ac bibendum nisi interdum. Curabitur non lectus a ante venenatis semper eget id justo. Ut facilisis, ligula pretium dictum congue, lacus dolor commodo nibh, sit amet sodales sed. + 10 + 0 + + 7500 + + + diff --git a/usr/local/share/xbmc/addons/pvr.demo/addon.xml b/usr/local/share/xbmc/addons/pvr.demo/addon.xml new file mode 100644 index 000000000..be4aa2742 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.demo/addon.xml @@ -0,0 +1,24 @@ + + + + + + + + + Demo PVR Client + Demo PVR Client + Just contains stubs + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.demo/addon.xml.in b/usr/local/share/xbmc/addons/pvr.demo/addon.xml.in new file mode 100644 index 000000000..920bd372e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.demo/addon.xml.in @@ -0,0 +1,24 @@ + + + + + + + + + Demo PVR Client + Demo PVR Client + Just contains stubs + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/addon.xml b/usr/local/share/xbmc/addons/pvr.dvbviewer/addon.xml new file mode 100644 index 000000000..4995866c9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/addon.xml @@ -0,0 +1,108 @@ + + + + + + + + + XBMC se voorprogram vir DVBViewer + XBMC's frontend for DVBViewer + Rozhraní XBMC pro DVBViewer + XBMC's frontend til DVBViewer + XBMC's Frontend für DVBViewer + Frontend του XBMC για το DVBViewer + XBMC's frontend for DVBViewer + Frontend de XBMC para DVBViewer + Frontend de XBMC para DVBViewer + Client XBMC pour DVBViewer + Interface de XBMC para DVBViewer + ממשק קדמי של XBMC עבור DVBViewer + XBMC DVBViwer elÅ‘tér-kiszolgáló + Frontend XBMC per DVBViewer + DVBViewer 用 XBMC フロントエンド + DVBViewer XBMC 프론트엔드 + XBMC's Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° DVBViewer + XBMC's frontend voor DVBViewer + Interfejs XBMC dla DVBViewer + Frontend XBMC para DVBViewer + XBMC's frontend para DVBViewer + InterfaÈ›a XBMC pentru DVBViewer + ФронтÑнд XBMC Ð´Ð»Ñ DVBViewer + XBMC rozhranie pre DVBViewer + XBMC-jev vmesnik za DVBViewer + XBMC's frontend för DVBViewer + XBMC çš„ DVBViewer å‰ç«¯ + DVBViewer Opname Diens voorprogram; ondersteun stroom van lewendige TV, Tydhouers, Opnames & EPG. Om die XML uittree vanaf die RS webkoppelvlak te ontleed word die xmlParser biblioteek gebruik, ontwikkel deur Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Baie dankie hiervoor! + DVBViewer Recording Service frontend; supporting streaming of LiveTV, Timers, Recordings & EPG. For parsing the XML output from the RS webinterface it uses the xmlParser library developed by Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Many thanks for this! + Rozhraní služby nahrávek DVBViewer. Podporuje proudové vysílání živého vysílání, nahrávky a EPG. Pro zpracování výstupu XML z webového rozhraní RS používá knihovnu xmlParser, kterou vyvinul Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Za to mnohokrát dÄ›kujeme. + DVBViewer Recording Service frontend; Understøtter streaming af Direkte TV, Timere, Optagelser og EPG. For parsing af XML output fra RS webinterface bruges xmlParser biblioteket, der er udviklet af Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Mange tak for dette!\n + DVBViewer Aufnahme Service Frontend; Unterstützt Streamen von LiveTV, Timer, Aufnahmen & EPG. Für das Parsen der XML Ausgabe vom RS Web Interface nutzt es die xmlParser Bibliothek, entwickelt von Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Vielen Dank dafür! + Frontend για την ΥπηÏεσία ΕγγÏαφών του DVBViewer. ΥποστηÏίζει Ïοές Live TV, ΧÏονοδιακόπτες, ΕγγÏαφές & EPG. Για την ανάλυση του XML αÏχείου εξόδου από την RS διεπαφή Î¹ÏƒÏ„Î¿Ï Ï‡Ïησιμοποιείται η βιβλιοθήκη xmlParser που αναπτÏχθηκε από τον Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). ΘεÏμές ευχαÏιστίες για αυτό! + DVBViewer Recording Service frontend; supporting streaming of LiveTV, Timers, Recordings & EPG. For parsing the XML output from the RS webinterface it uses the xmlParser library developed by Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Many thanks for this! + Frontend del Servicio de Grabaciones de DVBViewer; soportando transmisión de TV en Vivo, Temporizadores, Grabaciones y Guía de Programas. Para analizar la salida XML de la interfaz Web RS usa la librería xmlParser desarrollada por Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html).⎠+ Frontend del Servicio de Grabaciones de DVBViewer; soportando transmisión de TV en Vivo, Temporizadores, Grabaciones y Guía de Programas. Para analizar la salida XML de la interfaz Web RS usa la librería xmlParser desarrollada por Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). ¡Mucas gracias por esto!⎠+ Client pour le Service d'Enregistrement DVBViewer; supporte la diffusion de la TV en direct, les programmations, les enregistrements et l'EPG. Utilise la librairie xmlParser développée par Frank Vanden Berghen pour l'interprétation de la sortie XML de l'interface web du SE (http://www.applied-mathematics.net/tools/xmlParser.html). + Servizo da interface de gravación de DVBViewer, soporta a transmisión de TV ao vivo, temporizadores, gravacións e EPG. Para analizar a saída do XML da interface web RS fai uso da librería xmlParser desenrrolada por Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Moitas Grazas! + נגן DVB ממשק קידמי של שרת הקלטה;תומך בהזרמת ×©×™×“×•×¨×™× ×—×™×™× ×©×œ טלויזיה,מתזמני הקלטות ולוחות שידורי×.לניתוח פלט של XML ממשק ×ינטרנט RS משתמש בסיפרית xmlPreser שפותחה ×¢"×™ פר×× ×§ ודן ברגן (http://www.applied-mathematics.net/tools/xmlParser.html).הרבה תודה על כך!⎠+ DVBViwer felvétel szolgáltatás elÅ‘tér-kiszolgáló, ami támogatja az élÅ‘ TV adások sugárzását, idÅ‘zítések hozzáadását, felvételek készítését és EPG adatok kezelését. + Frontend del servizio di registrazione DVBViewer; supporta lo streaming LiveTV, i timer, la registrazione e l'EPG. Per scansionare l'output XML dell'interfaccia web RS viene utilizzata la libreria xmlParser sviluppata da Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Molte grazie per questo! + DVBViewer 録画サービスã®ãƒ•ロントエンドã§ã™ã€‚LiveTV ã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°è¦–è´ã€ã‚¿ã‚¤ãƒžãƒ¼ã€éŒ²ç”»ã€EPG をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚RS web インターフェース㮠XML 出力ã®èª­ã¿è¾¼ã¿ã«ã¯ Frank Vanden Berghen æ°ã®é–‹ç™ºã—㟠xmlParser ライブラリ (http://www.applied-mathematics.net/tools/xmlParser.html) を使用ã—ã¦ã„ã¾ã™ã€‚ã‚りãŒã¨ã†ã”ã–ã„ã¾ã™ï¼ + DVBViewer 녹화 서비스 프론트엔드; ë¼ì´ë¸Œ TV 스트리ë°, 녹화, EPG ì§€ì›. RS 웹ì¸í„°íŽ˜ì´ìФì—서 XMLì„ ì¶”ì¶œí•˜ê¸° 위해 Frank Vanden Berghenì´ ê°œë°œí•œ xmlParser를 ì´ìš©í•©ë‹ˆë‹¤ (http://www.applied-mathematics.net/tools/xmlParser.html). Many thanks for this! + DVBViewer Recording Service frontend; supporting streaming of LiveTV, Timers, Recordings & EPG. For parsing the XML output from the RS webinterface it uses the xmlParser library developed by Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Many thanks for this! + DVBViewer Recording Service frontend; ondersteunt het streamen van LiveTV, Timers, Opnames & EPG. Voor het parsen van de XML output van de RS webinterface wordt gebruik gemaakt van de xmlparser library ontwikkeld door Frank vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Veel dank hiervoor!\n + Interfejs usÅ‚ugi nagraÅ„ DVBViwer; wspiera strumieniowe oglÄ…danie TV na żywo, wyłączniki czasowe, nagrywanie oraz EPG. Do parsowania XML wyjÅ›cie z interfejsu WWW RS wykorzystuje bibliotekÄ™ XMLParser opracowanÄ… przez Franka Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Wielkie dziÄ™ki za to! + Frontend para o serviço de gravação DVBViewer; permite transmissão ao vivo de LiveTV, temporizadores, gravações e EPG. Para análise do XML emitido da webinterface RS, é utilizada a biblioteca xmlParser de Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Mil obrigados por isso! + DVBViewer frontend Serviço de gravações, suporta streaming de TV ao Vivo, Agendamentos, Gravações e EPG. Para analisar a saída XML do RS webinterface ele usa a biblioteca XmlParser desenvolvido por Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Muito obrigado por isso! + DVBViewer serviciu interfață de înregistrare; suporta streaming de LiveTV, Timers, ÃŽnregistrări È™i EPG. Pentru parsarea XML din webinterface RS se foloseÈ™te biblioteca xmlParser dezvoltat de Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Multe mulÈ›umiri pentru asta!\n + ФронтÑнд ÑервиÑа запиÑи DVBViewer; поддерживает потоковое вещание ТВ, таймеры, запиÑÑŒ и ЕПГ. Ð”Ð»Ñ Ñ€Ð°Ð·Ð±Ð¾Ñ€Ð° XML-вывода RS-интерфейÑа иÑпользует библиотеку xmlParser, напиÑанную Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). За что благодарим его!⎠+ Rozhranie pre spoluprácu s nahrávacou službou aplikácie DVBViewer; podporuje streamovanie živej televízie, ÄasovaÄe, nahrávky a EPG. Na získavanie dát zo XML výstupu z RS webového rozhrania používa knižnicu xmlParser, ktorú vyvinul Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Za to mu veľmi Äakujeme! + Vmesnik za DVBViewer; podpira pretakanje televizije v živo, Äasovnike, snemanje & EPG. Za branje zapisa XML s spletnega vmesnika RS uporablja knjižnico xmlParser avtorja Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Hvala za to! + DVBViewer inspelningsservice-frontend; stödjer strömmning av direktsänd TV, timers, inspelningar & EPG. För analysering av XML-utdata frÃ¥n RS-webbgränssnitt använder det xmlParser-biblioteket utvecklat av Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). MÃ¥nga tack för detta! + DVBViewer Recording Service å‰ç«¯; 支æŒç›´æ’­ç”µè§†çš„æµåª’ä½“è½¬å‘,定时器,录åƒåŠç”µå­èŠ‚ç›®è¡¨ã€‚RS web 接å£çš„ XML 结果解æžé‡‡ç”¨ xmlParser 库,由 Frank Vanden Berghen å¼€å‘(http://www.applied-mathematics.net/tools/xmlParser.html)ã€‚æ„Ÿè°¢ä½œè€…ï¼ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, vermorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Això és programari inestable! Els autors no són en absolut responsables d'enregistraments fallist, temporitzadors incorrectes, hores tudades, o qualsevol altra efecte indesitjable... + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for fejl i optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este software es aún inestable! Los autores no son responsables en forma alguna por grabaciones fallidas, temporizaciones incorrectas, tiempo perdido o ningún otro efecto no deseado. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + ¡Esto es software inestable! Los autores no son de ninguna manera responsables por grabaciones fallidas, temporizadores incorrectos, horas perdidas o cualquier otro efecto no deseado... + Tämä on epävakaa ohjelma! Ohjelman kirjoittavat eivät vastaa millään tavalla epäonnistuneista nauhoituksista, ajastimen väärästä toiminnasta, hukatusta ajasta tai muista ei-halutuista tapahtumista. + Logiciel en cours d'élaboration ! Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, minuteries défectueuses, temps perdu ou autres effets indésirables.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Þetta er óstöðugur hugbúnaður! Höfundarnir eru á engann hátt ábyrgir fyrir misheppnuðum upptökum, röngum upptökutímum, klukkustundum sem að fóru í súginn eða nokkrum öðrum óæskilegum áhrifum. + Questo software è instabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timers incorretti, ore perse, o qualsiasi altro effetto indesiderato. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Deze software is niet 100% stabiel! De auteurs zijn op geen enkele wijze aansprakelijk voor mislukte opnames, verspilde tijd, of enig ander ongewild neveneffect.. + Dette er ustabil programvare! Skaperen har ikke pÃ¥ noen mÃ¥te ansvar for feilede opptak, feile timere, bortkastede timer, eller andre uønskede effekter.. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce wyłączniki czasowe, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este é um software instável! Os autores não se responsabilizam por falhas nas gravações, temporizadores incorrectos, outro qualquer efeito não desejado... + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas dispendidas, ou quaisquer outros efeitos indesejáveis + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau oricare alte efecte nedorite... + Это теÑÑ‚Ð¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ прочие нежелательные Ñффекты.. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gra andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/addon.xml.in b/usr/local/share/xbmc/addons/pvr.dvbviewer/addon.xml.in new file mode 100644 index 000000000..4e6dc5635 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/addon.xml.in @@ -0,0 +1,108 @@ + + + + + + + + + XBMC se voorprogram vir DVBViewer + XBMC's frontend for DVBViewer + Rozhraní XBMC pro DVBViewer + XBMC's frontend til DVBViewer + XBMC's Frontend für DVBViewer + Frontend του XBMC για το DVBViewer + XBMC's frontend for DVBViewer + Frontend de XBMC para DVBViewer + Frontend de XBMC para DVBViewer + Client XBMC pour DVBViewer + Interface de XBMC para DVBViewer + ממשק קדמי של XBMC עבור DVBViewer + XBMC DVBViwer elÅ‘tér-kiszolgáló + Frontend XBMC per DVBViewer + DVBViewer 用 XBMC フロントエンド + DVBViewer XBMC 프론트엔드 + XBMC's Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° DVBViewer + XBMC's frontend voor DVBViewer + Interfejs XBMC dla DVBViewer + Frontend XBMC para DVBViewer + XBMC's frontend para DVBViewer + InterfaÈ›a XBMC pentru DVBViewer + ФронтÑнд XBMC Ð´Ð»Ñ DVBViewer + XBMC rozhranie pre DVBViewer + XBMC-jev vmesnik za DVBViewer + XBMC's frontend för DVBViewer + XBMC çš„ DVBViewer å‰ç«¯ + DVBViewer Opname Diens voorprogram; ondersteun stroom van lewendige TV, Tydhouers, Opnames & EPG. Om die XML uittree vanaf die RS webkoppelvlak te ontleed word die xmlParser biblioteek gebruik, ontwikkel deur Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Baie dankie hiervoor! + DVBViewer Recording Service frontend; supporting streaming of LiveTV, Timers, Recordings & EPG. For parsing the XML output from the RS webinterface it uses the xmlParser library developed by Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Many thanks for this! + Rozhraní služby nahrávek DVBViewer. Podporuje proudové vysílání živého vysílání, nahrávky a EPG. Pro zpracování výstupu XML z webového rozhraní RS používá knihovnu xmlParser, kterou vyvinul Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Za to mnohokrát dÄ›kujeme. + DVBViewer Recording Service frontend; Understøtter streaming af Direkte TV, Timere, Optagelser og EPG. For parsing af XML output fra RS webinterface bruges xmlParser biblioteket, der er udviklet af Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Mange tak for dette!\n + DVBViewer Aufnahme Service Frontend; Unterstützt Streamen von LiveTV, Timer, Aufnahmen & EPG. Für das Parsen der XML Ausgabe vom RS Web Interface nutzt es die xmlParser Bibliothek, entwickelt von Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Vielen Dank dafür! + Frontend για την ΥπηÏεσία ΕγγÏαφών του DVBViewer. ΥποστηÏίζει Ïοές Live TV, ΧÏονοδιακόπτες, ΕγγÏαφές & EPG. Για την ανάλυση του XML αÏχείου εξόδου από την RS διεπαφή Î¹ÏƒÏ„Î¿Ï Ï‡Ïησιμοποιείται η βιβλιοθήκη xmlParser που αναπτÏχθηκε από τον Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). ΘεÏμές ευχαÏιστίες για αυτό! + DVBViewer Recording Service frontend; supporting streaming of LiveTV, Timers, Recordings & EPG. For parsing the XML output from the RS webinterface it uses the xmlParser library developed by Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Many thanks for this! + Frontend del Servicio de Grabaciones de DVBViewer; soportando transmisión de TV en Vivo, Temporizadores, Grabaciones y Guía de Programas. Para analizar la salida XML de la interfaz Web RS usa la librería xmlParser desarrollada por Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html).⎠+ Frontend del Servicio de Grabaciones de DVBViewer; soportando transmisión de TV en Vivo, Temporizadores, Grabaciones y Guía de Programas. Para analizar la salida XML de la interfaz Web RS usa la librería xmlParser desarrollada por Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). ¡Mucas gracias por esto!⎠+ Client pour le Service d'Enregistrement DVBViewer; supporte la diffusion de la TV en direct, les programmations, les enregistrements et l'EPG. Utilise la librairie xmlParser développée par Frank Vanden Berghen pour l'interprétation de la sortie XML de l'interface web du SE (http://www.applied-mathematics.net/tools/xmlParser.html). + Servizo da interface de gravación de DVBViewer, soporta a transmisión de TV ao vivo, temporizadores, gravacións e EPG. Para analizar a saída do XML da interface web RS fai uso da librería xmlParser desenrrolada por Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Moitas Grazas! + נגן DVB ממשק קידמי של שרת הקלטה;תומך בהזרמת ×©×™×“×•×¨×™× ×—×™×™× ×©×œ טלויזיה,מתזמני הקלטות ולוחות שידורי×.לניתוח פלט של XML ממשק ×ינטרנט RS משתמש בסיפרית xmlPreser שפותחה ×¢"×™ פר×× ×§ ודן ברגן (http://www.applied-mathematics.net/tools/xmlParser.html).הרבה תודה על כך!⎠+ DVBViwer felvétel szolgáltatás elÅ‘tér-kiszolgáló, ami támogatja az élÅ‘ TV adások sugárzását, idÅ‘zítések hozzáadását, felvételek készítését és EPG adatok kezelését. + Frontend del servizio di registrazione DVBViewer; supporta lo streaming LiveTV, i timer, la registrazione e l'EPG. Per scansionare l'output XML dell'interfaccia web RS viene utilizzata la libreria xmlParser sviluppata da Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Molte grazie per questo! + DVBViewer 録画サービスã®ãƒ•ロントエンドã§ã™ã€‚LiveTV ã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°è¦–è´ã€ã‚¿ã‚¤ãƒžãƒ¼ã€éŒ²ç”»ã€EPG をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚RS web インターフェース㮠XML 出力ã®èª­ã¿è¾¼ã¿ã«ã¯ Frank Vanden Berghen æ°ã®é–‹ç™ºã—㟠xmlParser ライブラリ (http://www.applied-mathematics.net/tools/xmlParser.html) を使用ã—ã¦ã„ã¾ã™ã€‚ã‚りãŒã¨ã†ã”ã–ã„ã¾ã™ï¼ + DVBViewer 녹화 서비스 프론트엔드; ë¼ì´ë¸Œ TV 스트리ë°, 녹화, EPG ì§€ì›. RS 웹ì¸í„°íŽ˜ì´ìФì—서 XMLì„ ì¶”ì¶œí•˜ê¸° 위해 Frank Vanden Berghenì´ ê°œë°œí•œ xmlParser를 ì´ìš©í•©ë‹ˆë‹¤ (http://www.applied-mathematics.net/tools/xmlParser.html). Many thanks for this! + DVBViewer Recording Service frontend; supporting streaming of LiveTV, Timers, Recordings & EPG. For parsing the XML output from the RS webinterface it uses the xmlParser library developed by Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Many thanks for this! + DVBViewer Recording Service frontend; ondersteunt het streamen van LiveTV, Timers, Opnames & EPG. Voor het parsen van de XML output van de RS webinterface wordt gebruik gemaakt van de xmlparser library ontwikkeld door Frank vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Veel dank hiervoor!\n + Interfejs usÅ‚ugi nagraÅ„ DVBViwer; wspiera strumieniowe oglÄ…danie TV na żywo, wyłączniki czasowe, nagrywanie oraz EPG. Do parsowania XML wyjÅ›cie z interfejsu WWW RS wykorzystuje bibliotekÄ™ XMLParser opracowanÄ… przez Franka Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Wielkie dziÄ™ki za to! + Frontend para o serviço de gravação DVBViewer; permite transmissão ao vivo de LiveTV, temporizadores, gravações e EPG. Para análise do XML emitido da webinterface RS, é utilizada a biblioteca xmlParser de Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Mil obrigados por isso! + DVBViewer frontend Serviço de gravações, suporta streaming de TV ao Vivo, Agendamentos, Gravações e EPG. Para analisar a saída XML do RS webinterface ele usa a biblioteca XmlParser desenvolvido por Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Muito obrigado por isso! + DVBViewer serviciu interfață de înregistrare; suporta streaming de LiveTV, Timers, ÃŽnregistrări È™i EPG. Pentru parsarea XML din webinterface RS se foloseÈ™te biblioteca xmlParser dezvoltat de Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Multe mulÈ›umiri pentru asta!\n + ФронтÑнд ÑервиÑа запиÑи DVBViewer; поддерживает потоковое вещание ТВ, таймеры, запиÑÑŒ и ЕПГ. Ð”Ð»Ñ Ñ€Ð°Ð·Ð±Ð¾Ñ€Ð° XML-вывода RS-интерфейÑа иÑпользует библиотеку xmlParser, напиÑанную Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). За что благодарим его!⎠+ Rozhranie pre spoluprácu s nahrávacou službou aplikácie DVBViewer; podporuje streamovanie živej televízie, ÄasovaÄe, nahrávky a EPG. Na získavanie dát zo XML výstupu z RS webového rozhrania používa knižnicu xmlParser, ktorú vyvinul Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Za to mu veľmi Äakujeme! + Vmesnik za DVBViewer; podpira pretakanje televizije v živo, Äasovnike, snemanje & EPG. Za branje zapisa XML s spletnega vmesnika RS uporablja knjižnico xmlParser avtorja Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). Hvala za to! + DVBViewer inspelningsservice-frontend; stödjer strömmning av direktsänd TV, timers, inspelningar & EPG. För analysering av XML-utdata frÃ¥n RS-webbgränssnitt använder det xmlParser-biblioteket utvecklat av Frank Vanden Berghen (http://www.applied-mathematics.net/tools/xmlParser.html). MÃ¥nga tack för detta! + DVBViewer Recording Service å‰ç«¯; 支æŒç›´æ’­ç”µè§†çš„æµåª’ä½“è½¬å‘,定时器,录åƒåŠç”µå­èŠ‚ç›®è¡¨ã€‚RS web 接å£çš„ XML 结果解æžé‡‡ç”¨ xmlParser 库,由 Frank Vanden Berghen å¼€å‘(http://www.applied-mathematics.net/tools/xmlParser.html)ã€‚æ„Ÿè°¢ä½œè€…ï¼ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, vermorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Això és programari inestable! Els autors no són en absolut responsables d'enregistraments fallist, temporitzadors incorrectes, hores tudades, o qualsevol altra efecte indesitjable... + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for fejl i optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este software es aún inestable! Los autores no son responsables en forma alguna por grabaciones fallidas, temporizaciones incorrectas, tiempo perdido o ningún otro efecto no deseado. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + ¡Esto es software inestable! Los autores no son de ninguna manera responsables por grabaciones fallidas, temporizadores incorrectos, horas perdidas o cualquier otro efecto no deseado... + Tämä on epävakaa ohjelma! Ohjelman kirjoittavat eivät vastaa millään tavalla epäonnistuneista nauhoituksista, ajastimen väärästä toiminnasta, hukatusta ajasta tai muista ei-halutuista tapahtumista. + Logiciel en cours d'élaboration ! Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, minuteries défectueuses, temps perdu ou autres effets indésirables.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Þetta er óstöðugur hugbúnaður! Höfundarnir eru á engann hátt ábyrgir fyrir misheppnuðum upptökum, röngum upptökutímum, klukkustundum sem að fóru í súginn eða nokkrum öðrum óæskilegum áhrifum. + Questo software è instabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timers incorretti, ore perse, o qualsiasi altro effetto indesiderato. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Deze software is niet 100% stabiel! De auteurs zijn op geen enkele wijze aansprakelijk voor mislukte opnames, verspilde tijd, of enig ander ongewild neveneffect.. + Dette er ustabil programvare! Skaperen har ikke pÃ¥ noen mÃ¥te ansvar for feilede opptak, feile timere, bortkastede timer, eller andre uønskede effekter.. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce wyłączniki czasowe, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este é um software instável! Os autores não se responsabilizam por falhas nas gravações, temporizadores incorrectos, outro qualquer efeito não desejado... + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas dispendidas, ou quaisquer outros efeitos indesejáveis + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau oricare alte efecte nedorite... + Это теÑÑ‚Ð¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ прочие нежелательные Ñффекты.. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gra andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/changelog.txt b/usr/local/share/xbmc/addons/pvr.dvbviewer/changelog.txt new file mode 100644 index 000000000..fe00ee9ab --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/changelog.txt @@ -0,0 +1,49 @@ +1.6.5 + +[updated] Language files from Transifex + +1.6.4 + +[fixed] Use utf-8 encoding to get and set the timers. +[fixed] Channel names with more than 25 chars could crash the add-on. + +1.6.3 + +[updated] Language files from Transifex + +1.6.2 + +New version number by Team XBMC + +0.1.8 + +[fixed] Changed the way timers are calculated. This should fix problems with scheduled and instant recordings on some machines. +[fixed] Favourites didn't show channels if the audio track wasn't the first one. +[fixed] Channel settings weren't saved/restored after a channel switch with the channels OSD. +[fixed] XBMC could hang after a channel switch with the channels OSD. + +0.1.7 + +[added] The Recording Service version 1.21 or higher is now required. Download the latest version from the DVBViewer members area and install it. +[added] Display a notification if the add-on can't connect to the Recording Service. Please, check that the RS is enabled and the IP, webinterface port, username and pass are correct. +[added] If the favourites.xml selector is empty, the favourites are loaded from the web interface. +[added] Don't fetch recording thumbnails at startup if there are more than 20 recordings. +[fixed] The add-on crashed if favourites.xml had entries with the old 32 bits ID. +[fixed] Channel names with ansi chars are converted to utf8 so they can be displayed properly (a reset of the PVR database may be required). +[fixed] Channel names with more than 25 chars. + +0.1.5 + +[added] Timers support. +[added] An option to load the channels from favourites.xml instead of from channels.dat (a reset of the PVR database is required). + It is usually located at c:\ProgramData\CMUV\DVBViewer\ + This is a hidden folder so be sure to enable the "Settings\Appearance\File Lists\Show hidden files and directories" option. +[added] Always grab the EPG data after a channel switch. +[added] Recording thumbnails. +[added] Receiving device name to the status info. +[fixed] The preferred language is loaded from the DVBViewer config and used to get the correct EPG in case it supports multi language entries. +[fixed] When the EPG is missing the description entry, the event entry is used instead. + +0.1.0 + +First version. diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/icon.png b/usr/local/share/xbmc/addons/pvr.dvbviewer/icon.png new file mode 100644 index 000000000..a93c3852d Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.dvbviewer/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..0380a19cf --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Afrikaans/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer Opname Diens IP Adres" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Webkoppelvlak Poort" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Stroom Poort" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Opname Poort" + +msgctxt "#30004" +msgid "Username" +msgstr "Gebruikersnaam" + +msgctxt "#30005" +msgid "Password" +msgstr "Wagwoord" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Laai kanale vanaf favourites.xml in plaas van channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Selekteer die favourites.xml lêer" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Kan nie aan die Opname Diens konnekteer" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Opname Diens weergawe 1.%d of hoër vereis" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Amharic/strings.po new file mode 100644 index 000000000..a24955e9a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Amharic/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "የተጠቃሚ ስሠ" + +msgctxt "#30005" +msgid "Password" +msgstr "የመáŒá‰¢á‹« ቃáˆ" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Arabic/strings.po new file mode 100644 index 000000000..f02f15616 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Arabic/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30004" +msgid "Username" +msgstr "اسم المستخدم" + +msgctxt "#30005" +msgid "Password" +msgstr "كلمة المرور" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Basque/strings.po new file mode 100644 index 000000000..6e0b917c7 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Basque/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Erabiltzailea" + +msgctxt "#30005" +msgid "Password" +msgstr "Pasahitza" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..ed0cc7512 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Belarusian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer Recording Service IP Address" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Webinterface Port" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streaming Port" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Recordings Port" + +msgctxt "#30004" +msgid "Username" +msgstr "Username" + +msgctxt "#30005" +msgid "Password" +msgstr "Password" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Load channels from favourites.xml instead of from channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Select the favourites.xml file" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Can't connect to the Recording Service" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Recording Service version 1.%d or higher required" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..9c9c88477 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Bosnian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30005" +msgid "Password" +msgstr "Lozinka" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..2c367e428 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Bulgarian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "ПотребителÑко име" + +msgctxt "#30005" +msgid "Password" +msgstr "Парола" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Catalan/strings.po new file mode 100644 index 000000000..67e06b34b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Catalan/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Nom d'usuari" + +msgctxt "#30005" +msgid "Password" +msgstr "Contrasenya" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..832d07ba8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer录制æœåŠ¡IP地å€" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Web界é¢ç«¯å£" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "æµåª’体端å£" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "录制端å£" + +msgctxt "#30004" +msgid "Username" +msgstr "用户å" + +msgctxt "#30005" +msgid "Password" +msgstr "密ç " + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "从favourites.xml中载入频é“跳过channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "选择favourites.xml文件" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "无法连接录制æœåŠ¡" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "录制æœåŠ¡ç‰ˆæœ¬éœ€ 1.%d 或以上。" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..ba4f5e7f5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30004" +msgid "Username" +msgstr "帳號" + +msgctxt "#30005" +msgid "Password" +msgstr "密碼" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Croatian/strings.po new file mode 100644 index 000000000..85c2e74fb --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Croatian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30004" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30005" +msgid "Password" +msgstr "Zaporka" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Czech/strings.po new file mode 100644 index 000000000..1e9fa213d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Czech/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "IP adresa služby nahrávání DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Port webového rozhraní" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Port proudového vysílání" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Port nahrávání" + +msgctxt "#30004" +msgid "Username" +msgstr "Uživatelské jméno" + +msgctxt "#30005" +msgid "Password" +msgstr "Heslo" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "NaÄíst kanály z favourites.xml místo channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Vyberte soubor favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Nelze se spojit se službou nahrávání" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Vyžadována služba nahrávání verze 1.%d nebo novÄ›jší" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Danish/strings.po new file mode 100644 index 000000000..a7e8144ed --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Danish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer Optagelsestjeneste IP-adresse" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Web-grænsefladeport" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streamport" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Optagelsesport" + +msgctxt "#30004" +msgid "Username" +msgstr "Brugernavn" + +msgctxt "#30005" +msgid "Password" +msgstr "Adgangskode" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Indlæs kanaler fra favourites.xml i stedet for channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Vælg favourites.xml filen" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Kan ikke forbinde til optagelsestjeneste" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Optagelsestjeneste version 1.%d eller højere kræves" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Dutch/strings.po new file mode 100644 index 000000000..c4736436d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Dutch/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer Recording Service IP-Adres" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Webinterface poort" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streaming Poort" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Opnames Poort" + +msgctxt "#30004" +msgid "Username" +msgstr "Gebruikersnaam" + +msgctxt "#30005" +msgid "Password" +msgstr "Wachtwoord" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Laad kanalen van favourites.xml in plaats van channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Selecteer het favourites.xml bestand" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Kan niet verbinden met de Recording Service" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Recording Service versie 1.%d of hoger benodigd" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/English/strings.po new file mode 100644 index 000000000..e1fbf0c38 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/English/strings.po @@ -0,0 +1,63 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "" + +msgctxt "#30004" +msgid "Username" +msgstr "" + +msgctxt "#30005" +msgid "Password" +msgstr "" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "" + +#empty strings from id 30008 to 30499 +#notifications + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Esperanto/strings.po new file mode 100644 index 000000000..13a485305 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Esperanto/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Uzulonomo" + +msgctxt "#30005" +msgid "Password" +msgstr "pasvorto" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Estonian/strings.po new file mode 100644 index 000000000..778cf87e0 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Estonian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Kasutajanimi" + +msgctxt "#30005" +msgid "Password" +msgstr "Salasõna" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Finnish/strings.po new file mode 100644 index 000000000..b8849cc3f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Finnish/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Käyttäjätunnus" + +msgctxt "#30005" +msgid "Password" +msgstr "Salasana" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/French/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/French/strings.po new file mode 100644 index 000000000..00f83c5b8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/French/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Adresse IP du service d'enregistrement de DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Port de l'interface web" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Port du flux" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Port des enregistrements" + +msgctxt "#30004" +msgid "Username" +msgstr "Utilisateur" + +msgctxt "#30005" +msgid "Password" +msgstr "Mot de passe" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Charger les chaînes depuis favourites.xml au lieu de channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Sélectionner le fichier favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Impossible de se connecter au service d'enregistrement" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Version 1.%d ou supérieure du service d'enregistrement requise" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Galician/strings.po new file mode 100644 index 000000000..ec9fb397f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Galician/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Enderezo IP do servizo de gravación de DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Porto de Webinterface" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Porto do fluxo" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Porto das gravacións" + +msgctxt "#30004" +msgid "Username" +msgstr "Nome de usuario" + +msgctxt "#30005" +msgid "Password" +msgstr "Contrasinal" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Cargar as canles dende favourites.xml no lugar de channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Seleccionar o ficheiro favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Non se puido conectar ao servizo de gravación" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Requírese a versión 1.%d ou superior do servizo de gravación" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/German/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/German/strings.po new file mode 100644 index 000000000..2d602b166 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/German/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer Aufnahme Service IP Addresse" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Webinterface Port" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streaming Port" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Port für Aufnahmen" + +msgctxt "#30004" +msgid "Username" +msgstr "Benutzername" + +msgctxt "#30005" +msgid "Password" +msgstr "Passwort" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Lade Kanäle aus favourites.xml an Stelle von channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Wähle die favourites.xml Datei" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Kann keine Verbindung mit dem Aufnahme Service herstellen." + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Aufnhame Service Version 1.%d oder höher erforderlich" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Greek/strings.po new file mode 100644 index 000000000..cda2c050d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Greek/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "ΔιεÏθυνση IP της ΥπηÏεσίας ΕγγÏαφών του DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "ΘÏÏα Διεπαφής ΙστοÏ" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "ΘÏÏα Ροής" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "ΘÏÏα ΕγγÏαφών" + +msgctxt "#30004" +msgid "Username" +msgstr "Όνομα χÏήστη" + +msgctxt "#30005" +msgid "Password" +msgstr "Κωδικός Ï€Ïόσβασης" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "ΦόÏτωση καναλιών από το favourites.xml αντί του channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Επιλογή του αÏχείου favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Αδυναμία σÏνδεσης με την ΥπηÏεσία ΕγγÏαφών" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Απαιτείται έκδοση 1.%d ή ανώτεÏη της ΥπηÏεσίας ΕγγÏαφών" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Haitian (Haitian Creole)/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Haitian (Haitian Creole)/strings.po new file mode 100644 index 000000000..ee606e459 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Haitian (Haitian Creole)/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Haitian (Haitian Creole) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ht/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ht\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "nom itilizateur" + +msgctxt "#30005" +msgid "Password" +msgstr "mo de pas" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Pa ka konekte ak sevis enrejistremen" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..789394c95 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hebrew/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "נגן DVB כתובת IP של שרות הקלטה" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "פורט ממשק ×ינטרנט" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "פורט הזרמה" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "פורט הקלטה" + +msgctxt "#30004" +msgid "Username" +msgstr "×©× ×ž×©×ª×ž×©" + +msgctxt "#30005" +msgid "Password" +msgstr "סיסמ×" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "טען ×ת ×”×¢×¨×•×¦×™× ×ž×”×§×•×‘×¥ favourites.xml ×‘×ž×§×•× channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "סמן ×ת הקובץ favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "×ין ×פשרות להתחבר לשירות ההקלטה" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "נחוצה גרסת שירות הקלטה 1.%d ×ו גבוהה יותר" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..12d8c5873 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "उपयोगकरà¥à¤¤à¤¾ नाम" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..4818d1616 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Hungarian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer felvétel szolgáltatás IP címe" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Web-kezelÅ‘felület port" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Sugárzási port" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Felvételek portja" + +msgctxt "#30004" +msgid "Username" +msgstr "Felhasználónév" + +msgctxt "#30005" +msgid "Password" +msgstr "Jelszó" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Csatornák betöltése a favourites.xml fájlból a channels.dat helyett" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "A favourites.xml fájl kiválasztása" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Nem lehet a felvétel szolgáltatáshoz csatlakozni" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Legalább 1.%d verziószámú felvétel szolgáltatás szükséges" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..159471dce --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Icelandic/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Notandanafn" + +msgctxt "#30005" +msgid "Password" +msgstr "Lykilorð" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Indonesian/strings.po new file mode 100644 index 000000000..c698edb79 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Indonesian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Nama" + +msgctxt "#30005" +msgid "Password" +msgstr "Password" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Italian/strings.po new file mode 100644 index 000000000..ebc100ea5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Italian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Indirizzo IP del servizio di registrazione DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Porta interfaccia web" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Porta streaming" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Porta registrazione" + +msgctxt "#30004" +msgid "Username" +msgstr "Nome utente" + +msgctxt "#30005" +msgid "Password" +msgstr "Password" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Carica canali da favourites.xml invece che da channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Seleziona il file favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Impossibile connettersi al servizio di registrazione" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "È richiesta la versione 1.%d o superiore del servizio di registrazione" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Japanese/strings.po new file mode 100644 index 000000000..590052379 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Japanese/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer 録画サービス㮠IP アドレス" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Web インターフェースã®ãƒãƒ¼ãƒˆç•ªå·" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "ストリーミングã®ãƒãƒ¼ãƒˆç•ªå·" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "録画ã®ãƒãƒ¼ãƒˆç•ªå·" + +msgctxt "#30004" +msgid "Username" +msgstr "ユーザーå" + +msgctxt "#30005" +msgid "Password" +msgstr "パスワード" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "channels.dat ã‹ã‚‰ã§ã¯ãªã favourites.xml ã‹ã‚‰ãƒãƒ£ãƒ³ãƒãƒ«ã‚’読ã¿è¾¼ã‚€" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "favourites.xml ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠž" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "éŒ²ç”»ã‚µãƒ¼ãƒ“ã‚¹ã«æŽ¥ç¶šã§ãã¾ã›ã‚“" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "録画サービス 1.%d ã¾ãŸã¯ãれ以上ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå¿…è¦ã§ã™" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Korean/strings.po new file mode 100644 index 000000000..e859cd451 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Korean/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer 녹화 서비스 IP 주소" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "웹ì¸í„°íŽ˜ì´ìФ í¬íЏ" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "ìŠ¤íŠ¸ë¦¬ë° í¬íЏ" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "녹화 í¬íЏ" + +msgctxt "#30004" +msgid "Username" +msgstr "사용ìžëª…" + +msgctxt "#30005" +msgid "Password" +msgstr "비밀번호" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "channels.dat 대신 favourites.xmlì—서 ì±„ë„ ê°€ì ¸ì˜¤ê¸°" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "favourites.xml íŒŒì¼ ì„ íƒ" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "녹화 ì„œë¹„ìŠ¤ì— ì—°ê²°í•  수 ì—†ìŒ" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "1.%d 버전 ì´ìƒì˜ 녹화 서비스가 필요합니다." diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..fcdf74302 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Lithuanian/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Web sÄ…sajos prievadas" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Srauto prievadas" + +msgctxt "#30004" +msgid "Username" +msgstr "Vartotojo slaptavardis" + +msgctxt "#30005" +msgid "Password" +msgstr "Slaptažodis" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..c8db36044 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Macedonian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer Recording Service IP Address" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Webinterface Port" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streaming Port" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Recordings Port" + +msgctxt "#30004" +msgid "Username" +msgstr "КориÑничко име" + +msgctxt "#30005" +msgid "Password" +msgstr "Лозинка" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Превземи канали од favourites.xml намеÑто од channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Одбери favourites.xml папка" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Ðеможе да Ñе поврзе на Recording Service" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Recording Service верзија 1.%d или повиÑока е потребна" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..45c4c5ce7 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Norwegian/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Webgrensesnitt Port" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Stream Port" + +msgctxt "#30004" +msgid "Username" +msgstr "Brukernavn" + +msgctxt "#30005" +msgid "Password" +msgstr "Passord" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Persian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Persian/strings.po new file mode 100644 index 000000000..1d2f93c0c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Persian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30004" +msgid "Username" +msgstr "نام کاربری" + +msgctxt "#30005" +msgid "Password" +msgstr "کلمه عبور" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Polish/strings.po new file mode 100644 index 000000000..58b3896cb --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Polish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Adres IP usÅ‚ugi nagrywania DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Port interfejsu webowego" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Port strumieniowania" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Port nagrywania" + +msgctxt "#30004" +msgid "Username" +msgstr "Użytkownik" + +msgctxt "#30005" +msgid "Password" +msgstr "HasÅ‚o" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "ZaÅ‚aduj kanaÅ‚y z favourites.xml zamiast z channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Wybierz plik favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Nie można połączyć siÄ™ z usÅ‚ugÄ… nagrywania" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "UsÅ‚uga nagrywania potrzebna w wersji 1.%d lub wyższej" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..7c559b164 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Endereço IP do Serviço de Gravação DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Porta Webinterface" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Porta Streaming" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Porta de Gravações" + +msgctxt "#30004" +msgid "Username" +msgstr "Nome do usuário" + +msgctxt "#30005" +msgid "Password" +msgstr "Senha" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Carregar canais de favourites.xml ao invés de channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Selecione o arquivo favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Não pude me conectar ao Serviço de Gravação" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Versão de Serviço Gravações 1.%d ou maior é requerido" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..db607c302 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Portuguese/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Endereço IP do serviço de gravação DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Porta da interface Web" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Porta de Transmissão" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Porta das Gravações" + +msgctxt "#30004" +msgid "Username" +msgstr "Nome de Utilizador" + +msgctxt "#30005" +msgid "Password" +msgstr "Palavra-passe" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Carregar canais de favourites.xml em vez de channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Seleccione o ficheiro favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Não foi possível ligar ao Serviço de Gravação" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "É necessária uma versão do Serviço de Gravação 1.%d ou mais recente." diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Romanian/strings.po new file mode 100644 index 000000000..336e944ad --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Romanian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Adresa IP a DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Portul interfaÈ›ei web" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Portul de streaming" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Portul de înregistrare " + +msgctxt "#30004" +msgid "Username" +msgstr "Utilizator" + +msgctxt "#30005" +msgid "Password" +msgstr "Parolă" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "ÃŽncarcă canalele din favourites.xml È™i nu din channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Selectează fiÈ™ierul favourites.xml " + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Nu se poate conecta la Serviciul de înregistrare" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Este necesară o versiune 1.%d sau mai mare " diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Russian/strings.po new file mode 100644 index 000000000..8f0004c64 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Russian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "IP Ð°Ð´Ñ€ÐµÑ ÑервиÑа запиÑи DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Порт веб-интерфейÑа" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Порт видео-потока" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Порт запиÑей" + +msgctxt "#30004" +msgid "Username" +msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" + +msgctxt "#30005" +msgid "Password" +msgstr "Пароль" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Загружать каналы из favourites.xml вмеÑто channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Выбрать файл favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Ðе могу ÑоединитьÑÑ Ñ ÑервиÑом запиÑи" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "ТребуетÑÑ Ð²ÐµÑ€ÑÐ¸Ñ ÑервиÑа запиÑи 1.%d или выше" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..023c7cf1c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "КориÑничко име" + +msgctxt "#30005" +msgid "Password" +msgstr "Лозинка" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Serbian/strings.po new file mode 100644 index 000000000..8d7bf6245 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Serbian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30005" +msgid "Password" +msgstr "Lozinka" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Slovak/strings.po new file mode 100644 index 000000000..b94b822c8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Slovak/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "IP adresa k nahrávacej službe aplikácie DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Port pre webové rozhranie" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Port pre streamovanie" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Port pre nahrávky" + +msgctxt "#30004" +msgid "Username" +msgstr "Používateľské meno" + +msgctxt "#30005" +msgid "Password" +msgstr "Heslo" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "NaÄítaÅ¥ kanály zo súboru favourites.xml namiesto zo súboru channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "VybraÅ¥ súbor favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Nie je možné sa pripojiÅ¥ k nahrávacej službe" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Vyžaduje sa nahrávacia služba vo verzii 1.%d alebo vyššej" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..f1008b49f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Slovenian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Naslov IP storitve snemanja DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Vrata spletnega vmesnika" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Vrata za pretakanje" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Vrata posnetkov" + +msgctxt "#30004" +msgid "Username" +msgstr "UporabniÅ¡ko ime" + +msgctxt "#30005" +msgid "Password" +msgstr "Geslo" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Naloži programe iz favourites.xml namesto iz channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Izberi datoteko favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Ni se mogoÄe povezati s storitvijo DVBViewer" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Potrebna je storitev DVBViewer razliÄice 1.%d ali novejÅ¡e" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..0abf6bdde --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Dirección IP del Servicio de Grabaciones de DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Puerto interface web" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Puerto streaming" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Puerto de Grabaciones" + +msgctxt "#30004" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30005" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Cargar canales de favourites.xml en lugar de hacerlo de channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Elegir el archivo favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "No se puede conectar con el Servicio de Grabación" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Versión del Servicio de Grabación requerida 1.%d o superior" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..4833070ca --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30005" +msgid "Password" +msgstr "Contraseña" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish/strings.po new file mode 100644 index 000000000..d17aec3d2 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Spanish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "Dirección IP del Servicio de Grabaciones de DVBViewer" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Puerto interface web" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Puerto streaming" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Puerto de Grabaciones" + +msgctxt "#30004" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30005" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Cargar canales de favourites.xml en lugar de hacerlo de channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Elegir el archivo favourites.xml" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "No se puede conectar con el Servicio de Grabación" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Versión del Servicio de Grabación requerida 1.%d o superior" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Swedish/strings.po new file mode 100644 index 000000000..af4fdd8b1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Swedish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "DVBViewer Recording Service IP Address" +msgstr "DVBViewer inspelningsservice IP-adress" + +msgctxt "#30001" +msgid "Webinterface Port" +msgstr "Webbgränssnittsport" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Strömningsport" + +msgctxt "#30003" +msgid "Recordings Port" +msgstr "Inspelningsport" + +msgctxt "#30004" +msgid "Username" +msgstr "Användarnamn" + +msgctxt "#30005" +msgid "Password" +msgstr "Lösenord" + +msgctxt "#30006" +msgid "Load channels from favourites.xml instead of from channels.dat" +msgstr "Ladda kanaler frÃ¥n favourites.xml istället för channels.dat" + +msgctxt "#30007" +msgid "Select the favourites.xml file" +msgstr "Välj favourites.xml filen" + +msgctxt "#30500" +msgid "Can't connect to the Recording Service" +msgstr "Kan inte ansluta till inspelningsservicen" + +msgctxt "#30501" +msgid "Recording Service version 1.%d or higher required" +msgstr "Inspelningsservice version 1.%d eller högre krävs" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Thai/strings.po new file mode 100644 index 000000000..6474ac192 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Thai/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30004" +msgid "Username" +msgstr "ชื่อผู้ใช้" + +msgctxt "#30005" +msgid "Password" +msgstr "รหัสผ่าน" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Turkish/strings.po new file mode 100644 index 000000000..12ef46553 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Turkish/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Kullanıcı Adı" + +msgctxt "#30005" +msgid "Password" +msgstr "Parola" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..a6432d644 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/language/Ukrainian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DVBViewer Client +# Addon id: pvr.dvbviewer +# Addon version: 1.6.5 +# Addon Provider: jdembski, A600 +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30004" +msgid "Username" +msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача" + +msgctxt "#30005" +msgid "Password" +msgstr "Пароль" diff --git a/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/settings.xml new file mode 100644 index 000000000..462864884 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.dvbviewer/resources/settings.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.hts/addon.xml b/usr/local/share/xbmc/addons/pvr.hts/addon.xml new file mode 100644 index 000000000..823c1348e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/addon.xml @@ -0,0 +1,110 @@ + + + + + + + + + XBMC se voorprogram vir Tvheadend + XBMC's frontend for Tvheadend + Rozhraní XBMC pro Tvheadend + XBMC's frontend til Tvheadend + XBMC's Zugang zu Tvheadend + Το frontend του XBMC για το Tvheadend + XBMC's frontend for Tvheadend + Interfaz XBMC para Tvheadend + Interfaz XBMC para Tvheadend + XBMC:n Tvheadend-tuki + Enregistreur Vidéo XBMC pour Tvheadend + Interface do XBMC para Tvheadend + ממשק קדמי XBMC עבורTvheadend + XBMC TVHeadend elÅ‘tér-kiszolgáló + Frontend di XBMC per Tvheadend + TVheadend 用 XBMC フロントエンド + Tvheadend ì„ ìœ„í•œ XBMC 프론트엔드 + XBMC sÄ…saja skirta Tvheadend + XBMC's frontend for Tvheadend + XBMC's frontend voor Tvheadend + Interfejs XBMC dla Tvheadend + Frontend XBMC para Tvheadend + Frontend XBMC para Tvheadend + Frontend XBMC pentru Tvheadend + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ Tvheadend + XBMC rozhranie pre Tvheadend + XBMC-jev vmesnik za Tvheadend + XBMC's frontend för Tvheadend + XBMCçš„Tvheadendå‰ç«¯ + Tvheadend voorprogram; ondersteun stroom van Lewendige TV & Opnames, EPG, Tydhouers + Tvheadend frontend; supporting streaming of Live TV & Recordings, EPG, Timers + Rozhraní Tvheadend. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe. + Tvheadend frontend; understøtter streaming af direkte TV og optagelser, EPG og timere + Erlaubt die Wiedergabe von Live TV und Aufnahmen mittels Tvheadend auf XBMC. Desweiteren werden EPG und Timer unterstützt. + Frontend για το Tvheadend. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, EPG, ΧÏονοδιακόπτες + Tvheadend frontend; supporting streaming of Live TV & Recordings, EPG, Timers + Interfaz Tvheadend; soporta la reproducción de TV en vivo, grabación, guía de programación, temporizadores + Interfaz Tvheadend; soporta la reproducción de TV en vivo, grabación, guía de programación, temporizadores + Tvheadend; tukee reaaliaikaisen television ja nauhoituksien streamausta, EPGtä ja nauhoituksien ajastusta. + Enregistreur Vidéo pourTvheadend supportant la lecture en continu du direct télévision et des enregistrements, les guides de programme TV, les minuteries + Interface Tvheadend; soporta a transmisión de TV ao vivo e Gravacións, EPG, temporizadores + ממשק קדמיTvheadend:תומך בטלוויזיה ×—×™×” והקלטות. לוחות שידורי×,והקלטה מתוזמנת. + TVHeadend elÅ‘tér-kiszolgáló. ÉlÅ‘ adások és felvételek sugárzásának támogatása EPG-vel és idÅ‘zítéssel + Frontend di Tvheadend; supporta lo streaming di Live TV & Registrazione, EPG, Timers + TVheadend フロントエンドã§ã™ã€‚ライブTVストリーミングã€éŒ²ç”»ã€EPGã€ã‚¿ã‚¤ãƒžãƒ¼ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + Tvheadend 프론트엔드; TV 시청 & 녹화, EPG, 타ì´ë¨¸ ì§€ì› + Tvheadend sÄ…saja remia transliacijos Live TV & Ä®raÅ¡us, EPG, LaikmaÄiai + Tvheadend frontend; supporting streaming of Live TV & Recordings, EPG, Timers + Tvheadend frontend, het ondersteunen streaming van Live TV & Recordings, EPG, Timers + Warstwa prezentacji Tvheadend; wspiera TV na żywo i nagrywanie, EPG oraz liczniki czasu + Frontend Tvheadend; suporta transmissão de TV em Directo e Gravações, EPG, Temporizadores + Tvheadend; suporta streaming de TV Ao Vivo e Gravada, EPG, Agendamentos + Frontend Tvheadend; se poate difuza în flux a televiziunii în direct È™i a înregistrăriilor, EPG, Cronometre + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Tvheadend. Поддерживает проÑмотр и запиÑÑŒ ТВ, EPG и таймеры + Rozhranie pre Tvheadend; je podporované streamovanie živého televízneho vysielania a nahrávok, EPG, ÄasovaÄov + Vmesnik za Tvheadend; podpira pretakanje televizije v živo & posnetkov, EPG, Äasovnike + Tvheadend frontend; stödjer strömning av direktsänd TV & inspelningar, EPG, Timers + Tvheadendå‰ç«¯ï¼Œæ”¯æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•制ã€ç”µå­èŠ‚ç›®å•ã€å®šæ—¶å™¨ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, vermorsde ure, of enige ander ongewensde effekte... + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este software es inestable! Los autores no se responsabilizan de grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado... + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + ¡Esto es software inestable! Los autores no son de ninguna manera responsables por grabaciones fallidas, temporizadores incorrectos, horas perdidas o cualquier otro efecto no deseado... + Tämä on epävakaa ohjelma! Ohjelman kirjoittavat eivät vastaa millään tavalla epäonnistuneista nauhoituksista, ajastimen väärästä toiminnasta, hukatusta ajasta tai muista ei-halutuista tapahtumista. + Ce programme est instable ! Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, des minuteries inexactes, du temps perdu ou tous autres effets indésirables. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Þetta er óstöðugur hugbúnaður! Höfundarnir eru á engann hátt ábyrgir fyrir misheppnuðum upptökum, röngum upptökutímum, klukkustundum sem að fóru í súginn eða nokkrum öðrum óæskilegum áhrifum. + Questo software è instabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timers incorretti, ore perse, o qualsiasi altro effetto indesiderato. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects. + Dit is mogelijk onstabiele software! De auteurs zijn op geen enkele wijze verantwoordelijk voor de mislukte opnames, onjuiste timers, verspilde uren, of een andere ongewenste effecten .. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce liczniki czasu, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não são de forma alguma responsáveis por gravações falhadas, temporizadores incorrectos, horas desperdiçadas, ou qualquer outro tipo de efeitos indesejáveis.. + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas desperdiçadas, ou quaisquer outros efeitos indesejáveis... + Acest software nu este stabil! Autorii nu sunt în niciun caz responsabili pentru înregistrările eÈ™uate, cronometre incorecte, ore pierdute sau orice alt efect nedorit. + Это неÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачную запиÑÑŒ, неправильные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ другие нежелательные поÑледÑтвиÑ. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil programvara! Upphovsmännen är inte ansvariga för felaktiga inspelningar, inkorrekta timers, slösad tid eller andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.hts/addon.xml.in b/usr/local/share/xbmc/addons/pvr.hts/addon.xml.in new file mode 100644 index 000000000..77fcf9fb0 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/addon.xml.in @@ -0,0 +1,110 @@ + + + + + + + + + XBMC se voorprogram vir Tvheadend + XBMC's frontend for Tvheadend + Rozhraní XBMC pro Tvheadend + XBMC's frontend til Tvheadend + XBMC's Zugang zu Tvheadend + Το frontend του XBMC για το Tvheadend + XBMC's frontend for Tvheadend + Interfaz XBMC para Tvheadend + Interfaz XBMC para Tvheadend + XBMC:n Tvheadend-tuki + Enregistreur Vidéo XBMC pour Tvheadend + Interface do XBMC para Tvheadend + ממשק קדמי XBMC עבורTvheadend + XBMC TVHeadend elÅ‘tér-kiszolgáló + Frontend di XBMC per Tvheadend + TVheadend 用 XBMC フロントエンド + Tvheadend ì„ ìœ„í•œ XBMC 프론트엔드 + XBMC sÄ…saja skirta Tvheadend + XBMC's frontend for Tvheadend + XBMC's frontend voor Tvheadend + Interfejs XBMC dla Tvheadend + Frontend XBMC para Tvheadend + Frontend XBMC para Tvheadend + Frontend XBMC pentru Tvheadend + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ Tvheadend + XBMC rozhranie pre Tvheadend + XBMC-jev vmesnik za Tvheadend + XBMC's frontend för Tvheadend + XBMCçš„Tvheadendå‰ç«¯ + Tvheadend voorprogram; ondersteun stroom van Lewendige TV & Opnames, EPG, Tydhouers + Tvheadend frontend; supporting streaming of Live TV & Recordings, EPG, Timers + Rozhraní Tvheadend. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe. + Tvheadend frontend; understøtter streaming af direkte TV og optagelser, EPG og timere + Erlaubt die Wiedergabe von Live TV und Aufnahmen mittels Tvheadend auf XBMC. Desweiteren werden EPG und Timer unterstützt. + Frontend για το Tvheadend. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, EPG, ΧÏονοδιακόπτες + Tvheadend frontend; supporting streaming of Live TV & Recordings, EPG, Timers + Interfaz Tvheadend; soporta la reproducción de TV en vivo, grabación, guía de programación, temporizadores + Interfaz Tvheadend; soporta la reproducción de TV en vivo, grabación, guía de programación, temporizadores + Tvheadend; tukee reaaliaikaisen television ja nauhoituksien streamausta, EPGtä ja nauhoituksien ajastusta. + Enregistreur Vidéo pourTvheadend supportant la lecture en continu du direct télévision et des enregistrements, les guides de programme TV, les minuteries + Interface Tvheadend; soporta a transmisión de TV ao vivo e Gravacións, EPG, temporizadores + ממשק קדמיTvheadend:תומך בטלוויזיה ×—×™×” והקלטות. לוחות שידורי×,והקלטה מתוזמנת. + TVHeadend elÅ‘tér-kiszolgáló. ÉlÅ‘ adások és felvételek sugárzásának támogatása EPG-vel és idÅ‘zítéssel + Frontend di Tvheadend; supporta lo streaming di Live TV & Registrazione, EPG, Timers + TVheadend フロントエンドã§ã™ã€‚ライブTVストリーミングã€éŒ²ç”»ã€EPGã€ã‚¿ã‚¤ãƒžãƒ¼ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + Tvheadend 프론트엔드; TV 시청 & 녹화, EPG, 타ì´ë¨¸ ì§€ì› + Tvheadend sÄ…saja remia transliacijos Live TV & Ä®raÅ¡us, EPG, LaikmaÄiai + Tvheadend frontend; supporting streaming of Live TV & Recordings, EPG, Timers + Tvheadend frontend, het ondersteunen streaming van Live TV & Recordings, EPG, Timers + Warstwa prezentacji Tvheadend; wspiera TV na żywo i nagrywanie, EPG oraz liczniki czasu + Frontend Tvheadend; suporta transmissão de TV em Directo e Gravações, EPG, Temporizadores + Tvheadend; suporta streaming de TV Ao Vivo e Gravada, EPG, Agendamentos + Frontend Tvheadend; se poate difuza în flux a televiziunii în direct È™i a înregistrăriilor, EPG, Cronometre + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Tvheadend. Поддерживает проÑмотр и запиÑÑŒ ТВ, EPG и таймеры + Rozhranie pre Tvheadend; je podporované streamovanie živého televízneho vysielania a nahrávok, EPG, ÄasovaÄov + Vmesnik za Tvheadend; podpira pretakanje televizije v živo & posnetkov, EPG, Äasovnike + Tvheadend frontend; stödjer strömning av direktsänd TV & inspelningar, EPG, Timers + Tvheadendå‰ç«¯ï¼Œæ”¯æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•制ã€ç”µå­èŠ‚ç›®å•ã€å®šæ—¶å™¨ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, vermorsde ure, of enige ander ongewensde effekte... + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este software es inestable! Los autores no se responsabilizan de grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado... + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + ¡Esto es software inestable! Los autores no son de ninguna manera responsables por grabaciones fallidas, temporizadores incorrectos, horas perdidas o cualquier otro efecto no deseado... + Tämä on epävakaa ohjelma! Ohjelman kirjoittavat eivät vastaa millään tavalla epäonnistuneista nauhoituksista, ajastimen väärästä toiminnasta, hukatusta ajasta tai muista ei-halutuista tapahtumista. + Ce programme est instable ! Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, des minuteries inexactes, du temps perdu ou tous autres effets indésirables. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Þetta er óstöðugur hugbúnaður! Höfundarnir eru á engann hátt ábyrgir fyrir misheppnuðum upptökum, röngum upptökutímum, klukkustundum sem að fóru í súginn eða nokkrum öðrum óæskilegum áhrifum. + Questo software è instabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timers incorretti, ore perse, o qualsiasi altro effetto indesiderato. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects. + Dit is mogelijk onstabiele software! De auteurs zijn op geen enkele wijze verantwoordelijk voor de mislukte opnames, onjuiste timers, verspilde uren, of een andere ongewenste effecten .. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce liczniki czasu, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não são de forma alguma responsáveis por gravações falhadas, temporizadores incorrectos, horas desperdiçadas, ou qualquer outro tipo de efeitos indesejáveis.. + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas desperdiçadas, ou quaisquer outros efeitos indesejáveis... + Acest software nu este stabil! Autorii nu sunt în niciun caz responsabili pentru înregistrările eÈ™uate, cronometre incorecte, ore pierdute sau orice alt efect nedorit. + Это неÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачную запиÑÑŒ, неправильные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ другие нежелательные поÑледÑтвиÑ. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil programvara! Upphovsmännen är inte ansvariga för felaktiga inspelningar, inkorrekta timers, slösad tid eller andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.hts/changelog.txt b/usr/local/share/xbmc/addons/pvr.hts/changelog.txt new file mode 100644 index 000000000..726ff7ce1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/changelog.txt @@ -0,0 +1,77 @@ +1.6.18 + +- ensure channel count is not cleared after succesful sub +- fix default webroot param +- remove missing files from recordings list +- expand dvr directories to full hierarchy + +1.6.17 + +- fixed possible crash after reconnecting + +1.6.16 + +- correct some signed/unsigned mixups +- added imagecache support (icons on the backend) + +1.6.15 + +- fix false disconnects by raising default (hardcoded) read timeout value when opening streams from 10 to 20 seconds. + +1.6.14 + +- fix errors sent by client when fetching events for a channel with no epg data + +1.6.13 + +- make channel.radio to not reset to false during update if tvheadend not provided channel services +- change handling of EPG events to not fail all events if only one/few events were broken/malformed + +1.6.12 + +- fix instant recordings when channel has no epg data + +1.6.11 + +- disable read timeout check while the stream is paused + +1.6.10 + +- fixed authentication +- display an error message when an error is detected + +1.6.9 + +- call to Close() didn't work in CHTSPData::Open() +- don't delete and create CHTSPReconnect each time, just stop the thread +- don't wait for an iframe but let tvheadend handle it +- fixed missing htsmsg_destroy() call after processing an incoming message + +1.6.8 + +- refactor CHTSPConnection +- fixed disconnection checks and reconnect when needed +- consider the connection dropped if no data has been received for a while +- more efficient data reading +- shared connection between CHTSPDemux and CHTSPData + +1.6.7 + +- add support for servers with transcoding capabilities + +1.6.6 + +- fixed radio playback + +1.6.5 + +- fixed channel and channel group update triggers +- ensure that the first demux is an I-frame +- add CHTSPConnection::CheckConnection() that waits for a connection to be restored when it was dropped +- cleaner CHTSPConnection::Connect() +- removed unneeded member in CHTSPDemux +- better handling of disconnect and reconnects + +1.6.4 + +- initial release diff --git a/usr/local/share/xbmc/addons/pvr.hts/icon.png b/usr/local/share/xbmc/addons/pvr.hts/icon.png new file mode 100644 index 000000000..a99006324 Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.hts/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..70aecccba --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Afrikaans/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend gasheernaam of IP adres" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP poort" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP poort" + +msgctxt "#30003" +msgid "Username" +msgstr "Gebruikersnaam" + +msgctxt "#30004" +msgid "Password" +msgstr "Wagwoord" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Konnekteer tydverstreke in sekondes" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Antwoord tydverstreke in sekondes" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Audio kodek" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video kodek" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolusie" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Diskonnekteer van '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Herkonnekteer aan '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Amharic/strings.po new file mode 100644 index 000000000..b9b77e7e2 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Amharic/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP port" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP port" + +msgctxt "#30003" +msgid "Username" +msgstr "የተጠቃሚ ስሠ" + +msgctxt "#30004" +msgid "Password" +msgstr "የመáŒá‰¢á‹« ቃáˆ" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolution" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "áŒáŠ•áŠ™áŠá‰µ ተቋርጧሠከ '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "እንደገና ተገናáŠá‰·áˆ ወደ '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Arabic/strings.po new file mode 100644 index 000000000..041273f88 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Arabic/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "اسم المستخدم" + +msgctxt "#30004" +msgid "Password" +msgstr "كلمة المرور" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "ترميز الصوت" + +msgctxt "#30104" +msgid "Video codec" +msgstr "ترميز الÙيديو" + +msgctxt "#30105" +msgid "Resolution" +msgstr "دقة" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Basque/strings.po new file mode 100644 index 000000000..293a54534 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Basque/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Erabiltzailea" + +msgctxt "#30004" +msgid "Password" +msgstr "Pasahitza" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Audio codec-a" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Bideo codec-a" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Bereizmena" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..0e5fef1eb --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Belarusian/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend hostname or IP address" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP port" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP port" + +msgctxt "#30003" +msgid "Username" +msgstr "Username" + +msgctxt "#30004" +msgid "Password" +msgstr "Пароль" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Connect timeout in seconds" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Response timeout in seconds" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Audio codec" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video codec" + +msgctxt "#30105" +msgid "Resolution" +msgstr "РазрознаÑьць" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Disconnected from '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconnected to '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..ed3507057 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Bosnian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30004" +msgid "Password" +msgstr "Lozinka" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Kodek zvuka" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video kodek" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Rezolucija" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..adaf01ac7 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Bulgarian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Потребител" + +msgctxt "#30004" +msgid "Password" +msgstr "Парола" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Ðудио кодек" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Видео кодек" + +msgctxt "#30105" +msgid "Resolution" +msgstr "РезолюциÑ" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Catalan/strings.po new file mode 100644 index 000000000..4d18876b6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Catalan/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Nom d'usuari" + +msgctxt "#30004" +msgid "Password" +msgstr "Contrasenya" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Còdec d'àudio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Còdec de vídeo" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolució" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..c01893075 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadendä¸»æœºåæˆ–IP地å€" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP端å£" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP端å£" + +msgctxt "#30003" +msgid "Username" +msgstr "用户å" + +msgctxt "#30004" +msgid "Password" +msgstr "密ç " + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "连接超时(秒)" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "å“应超时(秒)" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Tvheadend转ç è®¾ç½®" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "转ç è®¾ç½®" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "å¯ç”¨è½¬ç " + +msgctxt "#30103" +msgid "Audio codec" +msgstr "音频编ç " + +msgctxt "#30104" +msgid "Video codec" +msgstr "视频编ç " + +msgctxt "#30105" +msgid "Resolution" +msgstr "分辨率" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "断开到“%sâ€çš„连接" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "釿–°è¿žæŽ¥åˆ°â€œ%sâ€" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..90735c964 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "帳號" + +msgctxt "#30004" +msgid "Password" +msgstr "密碼" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "音效編碼" + +msgctxt "#30104" +msgid "Video codec" +msgstr "影片編碼" + +msgctxt "#30105" +msgid "Resolution" +msgstr "è§£æžåº¦" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Croatian/strings.po new file mode 100644 index 000000000..e02da5447 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Croatian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30004" +msgid "Password" +msgstr "Zaporka" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Audio kodek" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video kodek" + +msgctxt "#30105" +msgid "Resolution" +msgstr "RazluÄljivost" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Czech/strings.po new file mode 100644 index 000000000..f37adc4f4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Czech/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Název poÄítaÄe, nebo adresa IP Tvheadend" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Port HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Port HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Uživatelské jméno" + +msgctxt "#30004" +msgid "Password" +msgstr "Heslo" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "ÄŒasový limit spojení v sekundách" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "ÄŒasový limit odpovÄ›di v sekundách" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Nastavení pÅ™ekódování Tvheadend" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Nastavení pÅ™ekódování" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Povolit pÅ™ekódování" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Kodek zvuku" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Kodek videa" + +msgctxt "#30105" +msgid "Resolution" +msgstr "RozliÅ¡ení" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Odpojeno z '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "OpÄ›tovnÄ› pÅ™ipojeno k '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Danish/strings.po new file mode 100644 index 000000000..11ef6c5bb --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Danish/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend værtsnavn eller IP-adresse" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP-port" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP-port" + +msgctxt "#30003" +msgid "Username" +msgstr "Brugernavn" + +msgctxt "#30004" +msgid "Password" +msgstr "Adgangskode" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Tidsfrist for forbindelse i sekunder" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tidsfrist for svar i sekunder" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Lyd-codec" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video-codec" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Opløsning" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Afbrudt fra '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Genforbundet til '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Dutch/strings.po new file mode 100644 index 000000000..a8891333b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Dutch/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend server naam of IP adres" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP poort" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP poort" + +msgctxt "#30003" +msgid "Username" +msgstr "Gebruikersnaam" + +msgctxt "#30004" +msgid "Password" +msgstr "Wachtwoord" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Verbinding timeout in seconden" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Antwoord timeout in seconden" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Audiocodec" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Videocodec" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolutie" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Verbinding met '%s' verbroken" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Verbinding met '%s' hersteld" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/English/strings.po new file mode 100644 index 000000000..51f32b09f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/English/strings.po @@ -0,0 +1,87 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "" + +msgctxt "#30003" +msgid "Username" +msgstr "" + +msgctxt "#30004" +msgid "Password" +msgstr "" + +#empty string with id 30005 + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "" + +#empty strings from id 30008 to 30099 + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "" + +msgctxt "#30104" +msgid "Video codec" +msgstr "" + +msgctxt "#30105" +msgid "Resolution" +msgstr "" + +#empty strings from id 30106 to 30499 +#notifications + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Esperanto/strings.po new file mode 100644 index 000000000..5c8314696 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Esperanto/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Uzulonomo" + +msgctxt "#30004" +msgid "Password" +msgstr "pasvorto" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Distingivo" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Estonian/strings.po new file mode 100644 index 000000000..4fe884d81 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Estonian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Kasutajanimi" + +msgctxt "#30004" +msgid "Password" +msgstr "Salasõna" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Audio koodek" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video koodek" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolutsioon" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Finnish/strings.po new file mode 100644 index 000000000..cd6b34865 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Finnish/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend-palvelimen nimi tai IP-osoite" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP-portti" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP-portti" + +msgctxt "#30003" +msgid "Username" +msgstr "Käyttäjänimi" + +msgctxt "#30004" +msgid "Password" +msgstr "Salasana" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Yhteyden aikakatkaisu sekunneissa" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Vastauksen aikakatkaisu sekunneissa" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Äänikoodekki" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Videokoodekki" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Näytön resoluutio" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Yhteys katkaistu palvelimeen '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Yhdistetty palvelimeen '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/French/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/French/strings.po new file mode 100644 index 000000000..839750597 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/French/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Nom d'hôte ou adresse IP de Tvheadend" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Port HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Port HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Nom d'utilisateur" + +msgctxt "#30004" +msgid "Password" +msgstr "Mot de passe" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Temporisation de connexion en secondes" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Temporisation de réponse en secondes" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Codec audio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Codec vidéo" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Résolution" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Déconnecté de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconnecté à '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Galician/strings.po new file mode 100644 index 000000000..f6d9098f2 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Galician/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "nome do host ou enderezo IP" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Porto HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Porto HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Nome de usuario" + +msgctxt "#30004" +msgid "Password" +msgstr "Contrasinal" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Tempo de espera da conexión en segundos" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tempo de espera da resposta en segundos" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Códec de audio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Códec de vídeo" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolución" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado dende '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/German/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/German/strings.po new file mode 100644 index 000000000..31ff17c88 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/German/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend Hostname oder IP" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP Port" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP Port" + +msgctxt "#30003" +msgid "Username" +msgstr "Benutzername" + +msgctxt "#30004" +msgid "Password" +msgstr "Passwort" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Verbindungszeit Überschreitung in Sekunden" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Antwortzeit Überschreitung in Sekunden" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Tvheadend Transkodierungseinstellungen" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Transkodierungseinstellungen" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Transkodierung aktivieren" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Audio Codec" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video Codec" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Auflösung" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Getrennt von '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Wiederverbunden mit '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Greek/strings.po new file mode 100644 index 000000000..7bdeab841 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Greek/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Όνομα Υπολογιστή ή διεÏθυνση IP του Tvheadend" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "ΘÏÏα HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "ΘÏÏα HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Όνομα χÏήστη" + +msgctxt "#30004" +msgid "Password" +msgstr "Κωδικός Ï€Ïόσβασης" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "ΧÏονικό ÏŒÏιο σÏνδεσης σε δευτεÏόλεπτα" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "ΧÏόνος απόκÏισης σε δευτεÏόλεπτα" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Ρυθμίσεις διακωδικοποίησης του Tvheadend" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Ρυθμίσεις διακωδικοποίησης" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "ΕνεÏγοποίηση διακωδικοποίησης" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Κωδικοποίηση ήχου" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Κωδικοποίηση βίντεο" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Ανάλυση" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "ΑποσÏνδεση από '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "ΕπανασÏνδεση σε '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Haitian (Haitian Creole)/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Haitian (Haitian Creole)/strings.po new file mode 100644 index 000000000..d44b6312b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Haitian (Haitian Creole)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Haitian (Haitian Creole) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ht/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ht\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "nom itilizateur" + +msgctxt "#30004" +msgid "Password" +msgstr "mo de pas" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..a7ec1c63b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hebrew/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend ×©× ×ž×רח ×ו כתובת IP" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP port" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP port" + +msgctxt "#30003" +msgid "Username" +msgstr "×©× ×ž×©×ª×ž×©" + +msgctxt "#30004" +msgid "Password" +msgstr "סיסמ×" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "מגבלת זמן להתחברות בשניות" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "מגבלת זמן לתגובה בשניות" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "מקודד שמע" + +msgctxt "#30104" +msgid "Video codec" +msgstr "מקודד ויד×ו" + +msgctxt "#30105" +msgid "Resolution" +msgstr "רזולוציה" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "התנתק מ'%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "התחבר ל'%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..e59b379a3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "उपयोगकरà¥à¤¤à¤¾ नाम" + +msgctxt "#30105" +msgid "Resolution" +msgstr "संकलà¥à¤ª" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..819b5014c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Hungarian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "TVHeadend kiszolgálónév vagy IP cím" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP Port" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP port" + +msgctxt "#30003" +msgid "Username" +msgstr "Felhasználónév" + +msgctxt "#30004" +msgid "Password" +msgstr "Jelszó" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Kapcsolódási idÅ‘korlát másodpercben" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Válasz idÅ‘korlát másodpercben" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "TV fejállomás átkódolási beállítások" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Ãtkódolási beállítások" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Ãtkódolási beállítások engedélyezése" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Hang codec" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Videó codec" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Felbontás" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "'%s': Kapcsolat bontva" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "'%s': Újrakapcsolódva" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..f8c4f01a1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Icelandic/strings.po @@ -0,0 +1,54 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP gátt" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP gátt" + +msgctxt "#30003" +msgid "Username" +msgstr "Notandanafn" + +msgctxt "#30004" +msgid "Password" +msgstr "Lykilorð" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Hljóðkótari" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Myndkótari" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Upplausn" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Aftengdur frá '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Tengdur við '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Indonesian/strings.po new file mode 100644 index 000000000..28b2c55f6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Indonesian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "NamaPengguna" + +msgctxt "#30004" +msgid "Password" +msgstr "Password" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolusi" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Italian/strings.po new file mode 100644 index 000000000..f5928a823 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Italian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend hostname o indirizzo IP" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Porta HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Porta HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Nome utente" + +msgctxt "#30004" +msgid "Password" +msgstr "Password" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Timeout della connessione in secondi" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Timeout della risposta in secondi" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Impostazioni principali transcodifica TV" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Impostazioni transcodifica" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Abilita transcodifica" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Codec audio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Codec video" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Risoluzione" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Disconnesso da '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Riconnesso a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Japanese/strings.po new file mode 100644 index 000000000..e4ba18939 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Japanese/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "TVheadend ホストåã¾ãŸã¯ IP アドレス" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP ãƒãƒ¼ãƒˆ" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP ãƒãƒ¼ãƒˆ" + +msgctxt "#30003" +msgid "Username" +msgstr "ユーザーå" + +msgctxt "#30004" +msgid "Password" +msgstr "パスワード" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "接続タイムアウト (ç§’)" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "レスãƒãƒ³ã‚¹ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ (ç§’)" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "オーディオコーデック" + +msgctxt "#30104" +msgid "Video codec" +msgstr "ビデオコーデック" + +msgctxt "#30105" +msgid "Resolution" +msgstr "ç”»é¢è§£åƒåº¦" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "'%s' ã¨ã®æŽ¥ç¶šãŒåˆ‡ã‚Œã¾ã—ãŸ" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "'%s' ã¨ã®æŽ¥ç¶šãŒå¾©æ´»ã—ã¾ã—ãŸ" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Korean/strings.po new file mode 100644 index 000000000..57471d40e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Korean/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend 호스트네임 ë˜ëŠ” IP 주소" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP í¬íЏ" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP í¬íЏ" + +msgctxt "#30003" +msgid "Username" +msgstr "사용ìžëª…" + +msgctxt "#30004" +msgid "Password" +msgstr "비밀번호" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "연결시간 제한 (ì´ˆ)" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "ì‘답시간 제한 (ì´ˆ)" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "오디오 ì½”ë±" + +msgctxt "#30104" +msgid "Video codec" +msgstr "비디오 ì½”ë±" + +msgctxt "#30105" +msgid "Resolution" +msgstr "í•´ìƒë„" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "'%s' ì—°ê²° í•´ì œë¨" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "'%s' 다시 ì—°ê²°ë¨" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..4b4b50083 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Lithuanian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend host pavadinimas arba IP adresas" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP portas" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP portas" + +msgctxt "#30003" +msgid "Username" +msgstr "Vartotojo vardas" + +msgctxt "#30004" +msgid "Password" +msgstr "Slaptažodis" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Prisijungimo užlaikymas sek." + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Atsakymo laikas sek." + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Tvheadend transkodavimo nustatymai" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Transkodavimo nustatymai" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Ä®jungti transkodavimÄ…" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Audio kodekai" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Vaizdo kodekai" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Rezoliucija" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Atsijungta nuo '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Prisijungta prie '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..b19ac62f5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Macedonian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend хоÑÑ‚ или IP адреÑа" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP порта" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP порта" + +msgctxt "#30003" +msgid "Username" +msgstr "КориÑничко име" + +msgctxt "#30004" +msgid "Password" +msgstr "Лозинка" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Тајмаут за поврзување во Ñекунди" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Тајмаут на реакција во Ñекунди" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "ПоÑтавки за транÑкодирање на Tvheadend" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "ПоÑтавки за транÑкодирање" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Ðктивирај транÑкодирање" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Ðудио кодек" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Видео кодек" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Резолуција" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "ДиÑконектиран од '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Повторно поврзан Ñо '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Malayalam/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Malayalam/strings.po new file mode 100644 index 000000000..44928d13c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Malayalam/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Malayalam (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30105" +msgid "Resolution" +msgstr "à´µàµà´¯à´•àµà´¤à´¤" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Maltese/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Maltese/strings.po new file mode 100644 index 000000000..a1dc2e468 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Maltese/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Maltese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mt\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Username" + +msgctxt "#30004" +msgid "Password" +msgstr "Sigriet" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolution:" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..4c95edf2c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Norwegian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Brukernavn" + +msgctxt "#30004" +msgid "Password" +msgstr "Passord" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Lydkodek" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Videokodek" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Oppløsning" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Persian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Persian/strings.po new file mode 100644 index 000000000..6868da035 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Persian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "نام کاربری" + +msgctxt "#30004" +msgid "Password" +msgstr "کلمه عبور" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Polish/strings.po new file mode 100644 index 000000000..5050034f3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Polish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Nazwa hosta lub IP Tvheadend " + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Port HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Port HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Użytkownik" + +msgctxt "#30004" +msgid "Password" +msgstr "HasÅ‚o" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Limit czasu połączenia w sekundach" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Limit czasu odpowiedzi w sekundach" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Ustawienia transkodowania Tvheadend" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Ustawienia transkodowania" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Włącz transkodowanie" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Kodek audio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Kodek wideo" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Rozdzielczość" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Odłączono od '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Połącz ponownie z '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..aefee74b9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend: Hostname ou endereço IP" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Porta HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Porta HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Nome do usuário" + +msgctxt "#30004" +msgid "Password" +msgstr "Senha" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Tempo limite para conexão em segundos" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tempo limite para resposta em segundos" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Ajustes de transcodificação Tvheadend " + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Ajustes de transcodificação" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Ativar transcodificação" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Codec de áudio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Codec de vídeo" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolução" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado de '%s' " + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s' " diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..c0ffd6360 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Portuguese/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Nome do servidor Tvheadend ou endereço IP" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Porta HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Porta HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Nome de Utilizador" + +msgctxt "#30004" +msgid "Password" +msgstr "Palavra-passe" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Tempo limite da ligação em segundos" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tempo limite para resposta em segundos" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Codec de áudio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Codec de vídeo" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolução" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desligado de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Ligado novamente a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Romanian/strings.po new file mode 100644 index 000000000..d215ea034 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Romanian/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Nume gazdă sau adresă IP pentru Tvheadend" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Port HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Port HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Utilizator" + +msgctxt "#30004" +msgid "Password" +msgstr "Parolă" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "AÈ™teptare conectare în secunde" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "AÈ™teptare răspuns în secunde" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Codec audio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Codec video" + +msgctxt "#30105" +msgid "Resolution" +msgstr "RezoluÈ›ie" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Deconectat de la '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectat la '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Russian/strings.po new file mode 100644 index 000000000..261e208c9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Russian/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð»Ð¸ IP-Ð°Ð´Ñ€ÐµÑ Tvheadend" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Порт HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Порт HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" + +msgctxt "#30004" +msgid "Password" +msgstr "Пароль" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Ожидание Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ (Ñек.)" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Ожидание ответа (Ñек.)" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Кодек аудио" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Кодек видео" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Разрешение" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Отключен от \"%s\"" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Переподключен к \"%s\"" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..ff440ffc3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "КориÑничко име" + +msgctxt "#30004" +msgid "Password" +msgstr "Лозинка" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Кодек звука" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Видео кодек" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Резолуција" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Serbian/strings.po new file mode 100644 index 000000000..0b2684e19 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Serbian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30004" +msgid "Password" +msgstr "Lozinka" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Kodek zvuka" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video kodek" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Rezolucija" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Slovak/strings.po new file mode 100644 index 000000000..81f70211c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Slovak/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Názov hostiteľa Tvheadend alebo IP adresa" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP port" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP port" + +msgctxt "#30003" +msgid "Username" +msgstr "Užívateľské meno" + +msgctxt "#30004" +msgid "Password" +msgstr "Heslo" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "ÄŒasový limit pre spojenie v sekundách" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "ÄŒasový limit pre odpoveÄ v sekundách" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Nastavenie Tvheadend prekódovania" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Nastavenie prekódovania" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "PovoliÅ¥ prekódovanie" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Koded audia" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Kodek videa" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Rozlíšenie" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Odpojené od '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Opätovne pripojené k '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..a491e1469 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Slovenian/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Ime gostitelja ali IP strežnika Tvheadend" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Vrata HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Vrata HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "UporabniÅ¡ko ime" + +msgctxt "#30004" +msgid "Password" +msgstr "Geslo" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "NajdaljÅ¡i Äas povezave v sekundah" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "NajdaljÅ¡i Äas odgovora v sekundah" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "ZvoÄni kodek" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Slikovni kodek" + +msgctxt "#30105" +msgid "Resolution" +msgstr "LoÄljivost" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Povezava prekinjena z '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Povezava vzpostavljena z '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..c737495c5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend nombre o dirección IP" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Puerto HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Puerto HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30004" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Tiempo de espera de conexión en segundos" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tiempo de espera de respuesta en segundos" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Ajuste de transcodificación de TVheadend" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Ajuste de transcodificación" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "ctivar transcodificación" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Códec de audio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Códec de video" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolución" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..0b1753945 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,54 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Puerto HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Puerto HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30004" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Códec de audio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Códec de video" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolución" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado desde '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish/strings.po new file mode 100644 index 000000000..fa79b82e1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Spanish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend nombre o dirección IP" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "Puerto HTTP" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "Puerto HTSP" + +msgctxt "#30003" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30004" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Tiempo de espera de conexión en segundos" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tiempo de espera de respuesta en segundos" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Ajustes de transcodificación de Tvheadend" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Ajustes de transcodificación" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Habilitar la transcodificación" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Códec de audio" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Códec de vídeo" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Resolución" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Swedish/strings.po new file mode 100644 index 000000000..5e026a191 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Swedish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Tvheadend hostname or IP address" +msgstr "Tvheadend värdnamn eller IP-adress" + +msgctxt "#30001" +msgid "HTTP port" +msgstr "HTTP-port" + +msgctxt "#30002" +msgid "HTSP port" +msgstr "HTSP-port" + +msgctxt "#30003" +msgid "Username" +msgstr "Användarnamn" + +msgctxt "#30004" +msgid "Password" +msgstr "Lösenord" + +msgctxt "#30006" +msgid "Connect timeout in seconds" +msgstr "Anslutningstimeout i sekunder" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Responstimeout i sekunder" + +msgctxt "#30100" +msgid "Tvheadend transcoding settings" +msgstr "Tvheadend omkodningsinställningar" + +msgctxt "#30101" +msgid "Transcoding settings" +msgstr "Omkodningsinställningar" + +msgctxt "#30102" +msgid "Enable transcoding" +msgstr "Aktivera omkodning" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Ljudcodec" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Videocodec" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Upplösning" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Koppa frÃ¥n '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Ã…teranslut till '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Thai/strings.po new file mode 100644 index 000000000..a3f3707ae --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Thai/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "ชื่อผู้ใช้" + +msgctxt "#30004" +msgid "Password" +msgstr "รหัสผ่าน" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "ตัวà¹à¸›à¸¥à¸‡à¸ªà¸±à¸à¸à¸²à¸“เสียง" + +msgctxt "#30104" +msgid "Video codec" +msgstr "ตัวà¹à¸›à¸¥à¸‡à¸ªà¸±à¸à¸à¸²à¸“วิดีโอ" + +msgctxt "#30105" +msgid "Resolution" +msgstr "ความละเอียดจอ" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Turkish/strings.po new file mode 100644 index 000000000..16fcfa2a6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Turkish/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Kullanıcı adı" + +msgctxt "#30004" +msgid "Password" +msgstr "Parola" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "Ses codec" + +msgctxt "#30104" +msgid "Video codec" +msgstr "Video codec" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Çözünürlük" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..e1c310a2b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/language/Ukrainian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Tvheadend HTSP Client +# Addon id: pvr.hts +# Addon version: 1.6.11 +# Addon Provider: Lars Op den Kamp, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача" + +msgctxt "#30004" +msgid "Password" +msgstr "Пароль" + +msgctxt "#30103" +msgid "Audio codec" +msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð°ÑƒÐ´Ñ–Ð¾" + +msgctxt "#30104" +msgid "Video codec" +msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ÐµÐ¾" + +msgctxt "#30105" +msgid "Resolution" +msgstr "Роздільна здатніÑть" diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.hts/resources/settings.xml new file mode 100644 index 000000000..28bb9bc66 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/settings.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.hts/resources/skins/Confluence/720p/DialogTranscode.xml b/usr/local/share/xbmc/addons/pvr.hts/resources/skins/Confluence/720p/DialogTranscode.xml new file mode 100644 index 000000000..191b8f4cd --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.hts/resources/skins/Confluence/720p/DialogTranscode.xml @@ -0,0 +1,170 @@ + + 10 + + 1 + 240 + 100 + + dialogeffect + + + background image + 0 + 0 + 800 + 500 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + + Enable transcoding + 40 + 50 + 40 + 720 + + font13 + grey2 + white + button-nofocus.png + button-focus2.png + 10 + 10 + 1 + 11 + + + + Audio codec + 40 + 100 + 720 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + + 11 + 11 + 10 + 12 + + + + Video codec + 40 + 150 + 720 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + center + + 12 + 12 + 11 + 13 + + + + Resolution + 40 + 200 + 720 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + center + + 13 + 13 + 12 + 1 + + + + 190 + 435 + + Ok Button + 0 + 0 + 200 + 40 + center + center + button-nofocus.png + button-focus.png + + font12_title + 13 + 2 + 2 + 10 + + + Cancel Button + 210 + 0 + 200 + 40 + center + center + button-nofocus.png + button-focus.png + + font12_title + 13 + 1 + 1 + 10 + + + + diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/LICENSE.txt b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/LICENSE.txt new file mode 100644 index 000000000..4f8e8eb30 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/LICENSE.txt @@ -0,0 +1,282 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS +------------------------------------------------------------------------- diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/TVServerXBMC/readme.txt b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/TVServerXBMC/readme.txt new file mode 100644 index 000000000..6b1a3decf --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/TVServerXBMC/readme.txt @@ -0,0 +1 @@ +Download the latest version from http://www.scintilla.utwente.nl/~marcelg/xbmc/tvserverxbmc.html \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/addon.xml b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/addon.xml new file mode 100644 index 000000000..a0a9283f4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/addon.xml @@ -0,0 +1,112 @@ + + + + + + + + + XBMC voorprogram vir die MediaPortal TV Bediener (ffmpeg + tsreader weergawe) + XBMC frontend for the MediaPortal TV Server (ffmpeg + tsreader version) + Frontal XBMC pel servidor de TV MediaPortal (versió ffmpeg + tsreader) + Rozhraní XBMC pro televizní server MediaPortal (verze ffmpeg + tsreader) + XBMC frontend til MediaPortal TV server (ffmpeg + tsreader version) + XBMC-Frontend für MediaPortal TV Server (ffmpeg- und tsreader-Version) + Frontend του XBMC για το διακομιστή MediaPortal TV (έκδοση ffmpeg + tsreader) + XBMC frontend for the MediaPortal TV Server (ffmpeg + tsreader version) + Interfaz XBMC para el MediaPortal TV Server (versión ffmpeg + tsreader) + Interfaz XBMC para el MediaPortal TV Server (versión ffmpeg + tsreader) + XBMC frontend MediaPortal TV-serverille (ffmpeg + tsreader) + Applicatif XBMC pour le serveur TV de MediaPortal (version ffmpeg + tsreader) + O Interface do XBMC para o Servidor de TV de MediaPortal (versión de ffmpeg +tsreader) + ממשק משתמש XBMC לשרת טלוויזיה MediaPortal (גרסת ffmpeg + tsreader ) + XBMC Médiaportal elÅ‘tér-kiszolgáló (ffmpeg + tsreader) + Frontend XBMC per il server MediaPortal TV (version ffmpeg + tsreader) + MediaPortal TV サーãƒãƒ¼ (ffmpeg + tsreader ãƒãƒ¼ã‚¸ãƒ§ãƒ³) ã® XBMC フロントエンド + MediaPortal TV Server (ffmpeg + tsreader version) ì„ ìœ„í•œ XBMC 프론트엔드 + XBMC sÄ…saja MediaPortal TV serverio (ffmpeg + tsreader versija) + XBMC Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° MediaPortal TV Server (ffmpeg + tsreader верзија) + XBMC frontend voor de Mediaportal TV Server (ffmmpeg + tsreader versie) + Interfejs XBMC dla serwera MediaPortal TV (wersja ffmpeg + tsreader) + Frontend XBMC para o MediaPortal TV Server (ffmpeg + versão tsreader) + Frontend do XBMC para Servidor de TV MediaPortal (ffmpeg + versão tsreader) + InterfaÈ›a XBMC pentru MediaPortal TV Server (versiunea ffmpeg + tsreader) + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ Ð¢Ð’-Ñервера MediaPortal (верÑÐ¸Ñ ffmpeg + tsreader) + XBMC rozhranie pre MediaPortal TV server (verzia ffmpeg + tsreader) + XBMC-jev vmesnik za MediaPortal TV strežnik (ffmpeg + tsreader) + XBMC frontend för MediaPortal TV-server (ffmpeg + tsreader versionen) + XBMCçš„MediaPortal TVæœåС噍å‰ç«¯ï¼ˆffmpeg + tsreader版) + MediaPortal TV Bediener voorprogram. Ondersteun stroom van Lewendige TV & Opnames, luister na Radio kanale, EPG en Tydhouers. Hierdie byvoegsel kombineer die voormalige ffmpeg en tsreader byvoegsels. + MediaPortal TV Server frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. This addon combines the former ffmpeg and tsreader addons. + Frontal XMBC de TV MediaPortal. Suporta el flux de TV en directe i enregistraments, escoltes de canals de radio, EPG i temporitzadors. Aquest afegitó combina els anteriors afegitons de ffmpg i tsreader. + Rozhraní pro televizní server MediaPortal. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe. Toto rozšíření kombinuje rozšíření ffmpeg a tsreader. + MediaPortal TV server frontend. Understøtter streaming af TV og Optagelser, Radiokanaler, EPG og Timere. Denne add-on kombinerer de gamle ffmpeg og tsreader add-ons. + Erlaubt die Wiedergabe von Live TV und Aufnahmen mittels MediaPortal TV Server auf XBMC. Desweiteren werden Radiokanäle, EPG und Timer unterstützt. Dieses Addon vereint die ehemaligen ffmpeg- und tsreader-Addons. + Frontend για το διακομιστή MediaPortal TV. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ακÏόαση Ραδιοφώνου, EPG και ΧÏονοδιακόπτες. Αυτό το Ï€Ïόσθετο συνδυάζει τα Ï€ÏοηγοÏμενα Ï€Ïόσθετα ffmpeg και tsreader. + MediaPortal TV Server frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. This addon combines the former ffmpeg and tsreader addons. + Interfaz MediaPortal TV Server. Soporta transmisión de TV en vivo y grabaciones, escuchar canales de radio, EPG y temporizadores. Este complemento combina los anteriores ffmpeg y tsreader. + Interfaz MediaPortal TV Server. Soporta transmisión de TV en vivo y grabaciones, escuchar canales de radio, EPG y temporizadores. Este complemento combina los anteriores ffmpeg y tsreader. + MediaPortal TV-palvelimen frontend. Tukee livelähetysten sekä tallenteiden virtaustoista, radiokanavia, ohjelmaopasta sekä ajastuksia. Tämä lisäosa yhdistää aikaisemmat ffmpeg- ja tsreader-lisäosat. + Applicatif Serveur TV MediaPortal. Il supporte la lecture en continu de direct télévision et enregistrement, l'écoute de radios, guide de programmes et minuteries. Cette extension combine les existants ffmpeg et tsreader. + Interface do Servidor de TV de MediaPortal. Soporta transmisión de TV ao vivo e Gravacións, escoita dos canles da radio, EPG e programacións. Este engadido combina o antigo ffmpeg e os engadidos tsreader. + ממשק משתמש לשרת טלוויזיה MediaPortal.תומך בהזרמת שידורי טלוויזיה ורדיו ×—×™×™× ×•×”×§×œ×˜×ª×,לוח ×©×™×“×•×¨×™× ×•×ž×ª×–×ž× ×™ הקלטות.תוסף ×–×” משלב בתוכו ×ת ×”×ª×•×¡×¤×™× ×©×œ ffmpeg וtsreader. + Médiaportal elÅ‘tér-kiszolgáló. ÉlÅ‘ adások, felvételek,és rádió adások sugárzásának támogatása EPG-vel és idÅ‘zítéssel. Ez a kiegészítÅ‘ egyesíti az ffmpeg, és a tsreader kiegészítÅ‘ket. + Frontend del server MediaPortal TV. Supporta lo streaming di Live TV e le registrazioni, l'ascolto dei canali radio, EPG e i timer. Questo addon combina gli addon ffmpeg e tsreaded. + MediaPortal TV サーãƒãƒ¼ã®ãƒ•ロントエンドã§ã™ã€‚ライブテレビã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°ã‚„録画ã€ãƒ©ã‚¸ã‚ªãƒãƒ£ãƒ³ãƒãƒ«ã®è¦–è´ã€EPGã€ã‚¿ã‚¤ãƒžãƒ¼ãªã©ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚以å‰ã® ffmpeg アドオン㨠tsreader アドオンを組ã¿åˆã‚ã›ãŸã‚‚ã®ã§ã™ã€‚ + MediaPortal TV Server 프론트엔드. TV 시청 & 녹화, ë¼ë””오 ì±„ë„ ì²­ì·¨, EPG ë° íƒ€ì´ë¨¸ ì§€ì›. ì´ ì¶”ê°€ê¸°ëŠ¥ì€ ì´ì „ì˜ ffmpeg ê³¼ tsreader ì¶”ê°€ê¸°ëŠ¥ì„ í•©ì¹œ 것입니다. + MediaPortal TV Serverio sÄ…saja. Palaiko transliacijos Live TV & Ä®raÅ¡us , klausytis radijo kanalus, EPG ir laikmaÄius. Å is priedas vienija buvusius ffmpeg ir TSreader priedus. + MediaPortal TV Server frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. This addon combines the former ffmpeg and tsreader addons. + MediaPortal TV Server frontend. Ondersteunt het bekijken van Live TV en opnames, het luisteren van radio zenders, het tonen van de EPG en het inplannen/beheren van nieuwe opnames (Timers). Deze addon combineert de voorgaande "ffmpeg" en "tsreader" addons. + Interfejs serwera TV MediaPortal. Wspiera strumieniowanie TV na żywo i nagrywanie, sÅ‚uchanie radia, EPG oraz wyłączniki czasu. Ten dodatek łączy dodatki ffmpeg i tsreader. + Frontend para o MediaPortal TV Server. Suporta transmissão de TV em Directo e Gravações, ouvir estações de Rádio, EPG e Temporizadores. Este addon combina os antigos addons ffmpeg e tsreader. + Frontend do Servidor de TV do MediaPortal. Suporta streaming de TV Ao Vivo e Gravações, escutar canais de rádio, EPG e Agendamentos. Este addon combina os antigos addons ffmpeg e tsreader + InterfaÈ›a MediaPortal TV Server. Suportă streaming TV live & ÃŽnregistrări, ascultarea posturilor de radio, EPG È™i ÃŽnregistrare programată. Acest plugin combină ex addons ffmpeg si tsreader. + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ Ð¢Ð’-Ñервера MediaPortal. Поддерживает проÑмотр и запиÑÑŒ ТВ, проÑлушивание радио, EPG и таймеры. Это дополнение заменÑет Ñтарые Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ffmpeg и tsreader. + Rozhranie pre MediaPortal TV server. Podporuje streamovanie živého televízneho vysielania a nahrávok, poÄúvanie rozhlasových kanálov, EPG a ÄasovaÄe. Tento doplnok zluÄuje dohromady bývalé doplnky ffmpeg a tsreader. + Vmesnik za MediaPortal TV strežnik. Podpira pretakanje televizije v živo & posnetkov, posluÅ¡anje radia, EPG in Äasovnike. Ta dodatek združuje prejÅ¡nja dodatka ffmpeg in tsreader. + MediaPortal TV-server frontend. Stödjer strömning av direktsänd TV & inspelningar, lyssna pÃ¥ radiokanaler, EPG och timers. Detta tillägg kombinerar dom tidigare ffmpeg och tsreader tilläggen. + MediaPortal TVæœåС噍å‰ç«¯ï¼Œæ”¯æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•åˆ¶ã€æ”¶å¬ç”µå°ã€ç”µå­èŠ‚ç›®å•和定时器。这个æ’件结åˆäº†è¿™å‰çš„ffmpegå’Œtsreaderæ’件。 + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, gemorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Això és programari inestable! Els autors no són en absolut responsables d'enregistraments fallist, temporitzadors incorrectes, hores tudades, o qualsevol altra efecte indesitjable... + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser.. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este es un software inestable! Los autores no son de ninguna manera responsables de las grabaciones fallidas o incorrectas, las temporizadores perdidas, ni otros efectos no deseables.. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + ¡Esto es software inestable! Los autores no son de ninguna manera responsables por grabaciones fallidas, temporizadores incorrectos, horas perdidas o cualquier otro efecto no deseado... + Tämä on epävakaa ohjelmisto! Tekijät eivät ole millään muotoa vastuussa epäonnistuneista tallennuksista, virheellisistä ajastuksia, haaskatusta ajasta, verenpaineen noususta tai mistään muusta epäsuotuisasta vaikutuksesta. + Cet applicatif est instable ! Les auteurs ne sont en aucun cas responsables d'échec d'enregistrements, minuteries erronées, temps perdu et autres résultats indésirables.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Questo software non è stabile! Gli autori non sono responsabili per registrazioni fallite, timer non corretti, ore perse, o altri effetti indesiderati... + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Deze software is niet 100% stabiel! De auteurs zijn op geen enkele wijze aansprakelijk voor mislukte opnames, verspilde tijd, of enig ander ongewild neveneffect.. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce wyłączniki czasowe, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este é um software instável! Os autores não se responsabilizam por falhas nas gravações, temporizadores incorrectos, ou qualquer outro efeito não desejado... + Este é um software instável! Os autores não são responsáveis por falhas de gravações, agendamentos incorretos, horas desperdiçadas, ou quaisquer outros efeitos indesejados. + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau orice alte efecte nedorite... + Это неÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачную запиÑÑŒ, неправильные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ другие нежелательные поÑледÑтвиÑ. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gra andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/addon.xml.in b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/addon.xml.in new file mode 100644 index 000000000..aa22ad235 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/addon.xml.in @@ -0,0 +1,112 @@ + + + + + + + + + XBMC voorprogram vir die MediaPortal TV Bediener (ffmpeg + tsreader weergawe) + XBMC frontend for the MediaPortal TV Server (ffmpeg + tsreader version) + Frontal XBMC pel servidor de TV MediaPortal (versió ffmpeg + tsreader) + Rozhraní XBMC pro televizní server MediaPortal (verze ffmpeg + tsreader) + XBMC frontend til MediaPortal TV server (ffmpeg + tsreader version) + XBMC-Frontend für MediaPortal TV Server (ffmpeg- und tsreader-Version) + Frontend του XBMC για το διακομιστή MediaPortal TV (έκδοση ffmpeg + tsreader) + XBMC frontend for the MediaPortal TV Server (ffmpeg + tsreader version) + Interfaz XBMC para el MediaPortal TV Server (versión ffmpeg + tsreader) + Interfaz XBMC para el MediaPortal TV Server (versión ffmpeg + tsreader) + XBMC frontend MediaPortal TV-serverille (ffmpeg + tsreader) + Applicatif XBMC pour le serveur TV de MediaPortal (version ffmpeg + tsreader) + O Interface do XBMC para o Servidor de TV de MediaPortal (versión de ffmpeg +tsreader) + ממשק משתמש XBMC לשרת טלוויזיה MediaPortal (גרסת ffmpeg + tsreader ) + XBMC Médiaportal elÅ‘tér-kiszolgáló (ffmpeg + tsreader) + Frontend XBMC per il server MediaPortal TV (version ffmpeg + tsreader) + MediaPortal TV サーãƒãƒ¼ (ffmpeg + tsreader ãƒãƒ¼ã‚¸ãƒ§ãƒ³) ã® XBMC フロントエンド + MediaPortal TV Server (ffmpeg + tsreader version) ì„ ìœ„í•œ XBMC 프론트엔드 + XBMC sÄ…saja MediaPortal TV serverio (ffmpeg + tsreader versija) + XBMC Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° MediaPortal TV Server (ffmpeg + tsreader верзија) + XBMC frontend voor de Mediaportal TV Server (ffmmpeg + tsreader versie) + Interfejs XBMC dla serwera MediaPortal TV (wersja ffmpeg + tsreader) + Frontend XBMC para o MediaPortal TV Server (ffmpeg + versão tsreader) + Frontend do XBMC para Servidor de TV MediaPortal (ffmpeg + versão tsreader) + InterfaÈ›a XBMC pentru MediaPortal TV Server (versiunea ffmpeg + tsreader) + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ Ð¢Ð’-Ñервера MediaPortal (верÑÐ¸Ñ ffmpeg + tsreader) + XBMC rozhranie pre MediaPortal TV server (verzia ffmpeg + tsreader) + XBMC-jev vmesnik za MediaPortal TV strežnik (ffmpeg + tsreader) + XBMC frontend för MediaPortal TV-server (ffmpeg + tsreader versionen) + XBMCçš„MediaPortal TVæœåС噍å‰ç«¯ï¼ˆffmpeg + tsreader版) + MediaPortal TV Bediener voorprogram. Ondersteun stroom van Lewendige TV & Opnames, luister na Radio kanale, EPG en Tydhouers. Hierdie byvoegsel kombineer die voormalige ffmpeg en tsreader byvoegsels. + MediaPortal TV Server frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. This addon combines the former ffmpeg and tsreader addons. + Frontal XMBC de TV MediaPortal. Suporta el flux de TV en directe i enregistraments, escoltes de canals de radio, EPG i temporitzadors. Aquest afegitó combina els anteriors afegitons de ffmpg i tsreader. + Rozhraní pro televizní server MediaPortal. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe. Toto rozšíření kombinuje rozšíření ffmpeg a tsreader. + MediaPortal TV server frontend. Understøtter streaming af TV og Optagelser, Radiokanaler, EPG og Timere. Denne add-on kombinerer de gamle ffmpeg og tsreader add-ons. + Erlaubt die Wiedergabe von Live TV und Aufnahmen mittels MediaPortal TV Server auf XBMC. Desweiteren werden Radiokanäle, EPG und Timer unterstützt. Dieses Addon vereint die ehemaligen ffmpeg- und tsreader-Addons. + Frontend για το διακομιστή MediaPortal TV. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ακÏόαση Ραδιοφώνου, EPG και ΧÏονοδιακόπτες. Αυτό το Ï€Ïόσθετο συνδυάζει τα Ï€ÏοηγοÏμενα Ï€Ïόσθετα ffmpeg και tsreader. + MediaPortal TV Server frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. This addon combines the former ffmpeg and tsreader addons. + Interfaz MediaPortal TV Server. Soporta transmisión de TV en vivo y grabaciones, escuchar canales de radio, EPG y temporizadores. Este complemento combina los anteriores ffmpeg y tsreader. + Interfaz MediaPortal TV Server. Soporta transmisión de TV en vivo y grabaciones, escuchar canales de radio, EPG y temporizadores. Este complemento combina los anteriores ffmpeg y tsreader. + MediaPortal TV-palvelimen frontend. Tukee livelähetysten sekä tallenteiden virtaustoista, radiokanavia, ohjelmaopasta sekä ajastuksia. Tämä lisäosa yhdistää aikaisemmat ffmpeg- ja tsreader-lisäosat. + Applicatif Serveur TV MediaPortal. Il supporte la lecture en continu de direct télévision et enregistrement, l'écoute de radios, guide de programmes et minuteries. Cette extension combine les existants ffmpeg et tsreader. + Interface do Servidor de TV de MediaPortal. Soporta transmisión de TV ao vivo e Gravacións, escoita dos canles da radio, EPG e programacións. Este engadido combina o antigo ffmpeg e os engadidos tsreader. + ממשק משתמש לשרת טלוויזיה MediaPortal.תומך בהזרמת שידורי טלוויזיה ורדיו ×—×™×™× ×•×”×§×œ×˜×ª×,לוח ×©×™×“×•×¨×™× ×•×ž×ª×–×ž× ×™ הקלטות.תוסף ×–×” משלב בתוכו ×ת ×”×ª×•×¡×¤×™× ×©×œ ffmpeg וtsreader. + Médiaportal elÅ‘tér-kiszolgáló. ÉlÅ‘ adások, felvételek,és rádió adások sugárzásának támogatása EPG-vel és idÅ‘zítéssel. Ez a kiegészítÅ‘ egyesíti az ffmpeg, és a tsreader kiegészítÅ‘ket. + Frontend del server MediaPortal TV. Supporta lo streaming di Live TV e le registrazioni, l'ascolto dei canali radio, EPG e i timer. Questo addon combina gli addon ffmpeg e tsreaded. + MediaPortal TV サーãƒãƒ¼ã®ãƒ•ロントエンドã§ã™ã€‚ライブテレビã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°ã‚„録画ã€ãƒ©ã‚¸ã‚ªãƒãƒ£ãƒ³ãƒãƒ«ã®è¦–è´ã€EPGã€ã‚¿ã‚¤ãƒžãƒ¼ãªã©ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚以å‰ã® ffmpeg アドオン㨠tsreader アドオンを組ã¿åˆã‚ã›ãŸã‚‚ã®ã§ã™ã€‚ + MediaPortal TV Server 프론트엔드. TV 시청 & 녹화, ë¼ë””오 ì±„ë„ ì²­ì·¨, EPG ë° íƒ€ì´ë¨¸ ì§€ì›. ì´ ì¶”ê°€ê¸°ëŠ¥ì€ ì´ì „ì˜ ffmpeg ê³¼ tsreader ì¶”ê°€ê¸°ëŠ¥ì„ í•©ì¹œ 것입니다. + MediaPortal TV Serverio sÄ…saja. Palaiko transliacijos Live TV & Ä®raÅ¡us , klausytis radijo kanalus, EPG ir laikmaÄius. Å is priedas vienija buvusius ffmpeg ir TSreader priedus. + MediaPortal TV Server frontend. Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. This addon combines the former ffmpeg and tsreader addons. + MediaPortal TV Server frontend. Ondersteunt het bekijken van Live TV en opnames, het luisteren van radio zenders, het tonen van de EPG en het inplannen/beheren van nieuwe opnames (Timers). Deze addon combineert de voorgaande "ffmpeg" en "tsreader" addons. + Interfejs serwera TV MediaPortal. Wspiera strumieniowanie TV na żywo i nagrywanie, sÅ‚uchanie radia, EPG oraz wyłączniki czasu. Ten dodatek łączy dodatki ffmpeg i tsreader. + Frontend para o MediaPortal TV Server. Suporta transmissão de TV em Directo e Gravações, ouvir estações de Rádio, EPG e Temporizadores. Este addon combina os antigos addons ffmpeg e tsreader. + Frontend do Servidor de TV do MediaPortal. Suporta streaming de TV Ao Vivo e Gravações, escutar canais de rádio, EPG e Agendamentos. Este addon combina os antigos addons ffmpeg e tsreader + InterfaÈ›a MediaPortal TV Server. Suportă streaming TV live & ÃŽnregistrări, ascultarea posturilor de radio, EPG È™i ÃŽnregistrare programată. Acest plugin combină ex addons ffmpeg si tsreader. + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ Ð¢Ð’-Ñервера MediaPortal. Поддерживает проÑмотр и запиÑÑŒ ТВ, проÑлушивание радио, EPG и таймеры. Это дополнение заменÑет Ñтарые Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ffmpeg и tsreader. + Rozhranie pre MediaPortal TV server. Podporuje streamovanie živého televízneho vysielania a nahrávok, poÄúvanie rozhlasových kanálov, EPG a ÄasovaÄe. Tento doplnok zluÄuje dohromady bývalé doplnky ffmpeg a tsreader. + Vmesnik za MediaPortal TV strežnik. Podpira pretakanje televizije v živo & posnetkov, posluÅ¡anje radia, EPG in Äasovnike. Ta dodatek združuje prejÅ¡nja dodatka ffmpeg in tsreader. + MediaPortal TV-server frontend. Stödjer strömning av direktsänd TV & inspelningar, lyssna pÃ¥ radiokanaler, EPG och timers. Detta tillägg kombinerar dom tidigare ffmpeg och tsreader tilläggen. + MediaPortal TVæœåС噍å‰ç«¯ï¼Œæ”¯æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•åˆ¶ã€æ”¶å¬ç”µå°ã€ç”µå­èŠ‚ç›®å•和定时器。这个æ’件结åˆäº†è¿™å‰çš„ffmpegå’Œtsreaderæ’件。 + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, gemorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Això és programari inestable! Els autors no són en absolut responsables d'enregistraments fallist, temporitzadors incorrectes, hores tudades, o qualsevol altra efecte indesitjable... + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser.. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este es un software inestable! Los autores no son de ninguna manera responsables de las grabaciones fallidas o incorrectas, las temporizadores perdidas, ni otros efectos no deseables.. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + ¡Esto es software inestable! Los autores no son de ninguna manera responsables por grabaciones fallidas, temporizadores incorrectos, horas perdidas o cualquier otro efecto no deseado... + Tämä on epävakaa ohjelmisto! Tekijät eivät ole millään muotoa vastuussa epäonnistuneista tallennuksista, virheellisistä ajastuksia, haaskatusta ajasta, verenpaineen noususta tai mistään muusta epäsuotuisasta vaikutuksesta. + Cet applicatif est instable ! Les auteurs ne sont en aucun cas responsables d'échec d'enregistrements, minuteries erronées, temps perdu et autres résultats indésirables.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Questo software non è stabile! Gli autori non sono responsabili per registrazioni fallite, timer non corretti, ore perse, o altri effetti indesiderati... + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Deze software is niet 100% stabiel! De auteurs zijn op geen enkele wijze aansprakelijk voor mislukte opnames, verspilde tijd, of enig ander ongewild neveneffect.. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce wyłączniki czasowe, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este é um software instável! Os autores não se responsabilizam por falhas nas gravações, temporizadores incorrectos, ou qualquer outro efeito não desejado... + Este é um software instável! Os autores não são responsáveis por falhas de gravações, agendamentos incorretos, horas desperdiçadas, ou quaisquer outros efeitos indesejados. + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau orice alte efecte nedorite... + Это неÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачную запиÑÑŒ, неправильные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ другие нежелательные поÑледÑтвиÑ. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gra andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/changelog.txt b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/changelog.txt new file mode 100644 index 000000000..6c870bf5b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/changelog.txt @@ -0,0 +1,126 @@ +v1.6.7 +- Updated language files from Transifex + +v1.6.6 +- Added: Set recording play count on backend (requires TVServerXBMC build 118) +- Added: Enable/Disable support for individual programs on Series Schedules (requires TVServerXBMC build 118) +- Timers: Fixed: MarginStart and MarginEnd are in minuted +- Timers: Fixed: Update and Delete of timers for series Schedules +- TSReader: additional debug/error messages on recording/timeshift buffer file access errors + +v1.6.5 +- Updated language files from Transifex + +v1.6.4 + +-New version number by Team XBMC + +v1.2.3.117 +- Added: timeshift support for XBMC Frodo + +v1.2.3.116: +- Fixed: playback of recordings with non-ASCII characters +- Added: Hungarian translation +- Added: Korean translation + +v1.2.3.115: +- Changed: Switch to gettext (PO) files for addon translations + +v1.2.3.114: +- Added: Live555 RTSP support for Linux + +v1.2.3.113: +- Simplify settings. The TVServerXBMC plugin now reports the sharenames for the recordings and timeshift folder + +v1.2.3.112: +- Merged: tsreader and ffmpeg addons are now combined into one addon + +v1.2.2.111: +- Fixed: Day of the week mismatch for timers between MePo and XBMC. Credits: jajoflo +- Added: Trigger recording update on timer retrieval so the recording list is kept up to date when there is a new recording. Credits: jajoflo +- Fixed: tv group retrieval requested radio groups +- Added: add support for recording genre field +- Fixed: fixes for recording filepath split-up +- Added: show an error message when the recording filename or playback URL is empty + +v1.2.2.110: +- Added: use channel icons from MediaPortal (Windows, localhost only) +- Changed: switch from libPlatform + libTcpSocket to platform library + +v1.2.2.109: +- Fixed: fix mimetype for tv channels +- Fixed: make sure that OpenLiveStream does not return true due to m_iCurrentChannel when the TSReader fails in a later stage +- Fixed: compilation IOS/OSX/Linux +- Fixed: compile fixes for API move into ADDON namespace +- Added: show localized error messages when OpenLiveStream fails +- Added: signal status support +- Fixed: Don't return encrypted channels as group members when FTA only option is turned on +- Added: add more debug log information about the addon settings and status +- Added: add support for direct recording playback from network shares (smb, Windows only) +- Added: implement support for recording subdirectories +- Fixed: don't return radio channels/channelgroup/channelgroup mappings when radio support is disabled + +v1.1.3.107: +- Added: add additional checks for communication errors +- Fixed: trigger also a recording list update on timer changes +- Fixed: add a mutex to prevent mixing up backend communication on concurrent access +- Fixed: stack overflow while closing a live stream +- Fixed: tv/radio playback after recording playback +- Added: EPG genre string-to-id translation table (addons/pvr.team-mediaportal.tvserver/resources/genre_translation.xml) +- Added: EPG genre string support +- Added: Retrieve TV/Radio card settings from the backend +- Added: support for TVServerXBMC v1.1.x.105-107 +- Fixed: several memory leaks +- Changed: sources adapted for PVR API changes + +v1.1.3.103: +- Fixed: trigger timer and recording list update on changes from XBMC side +- Fixed: check for empty recordings list +- Fixed: check for empty timer list +- Fixed: limit EPG request to the requested period +- Fixed: use tuning details to retrieve the channel number from the backend +- Added: support for TVServerXBMC v1.1.x.104 +- Changed: sources adapted for PVR API changes + +v1.1.2.102: +- Added: Channel group support +- Fixed: live stream playback +- Fixed: recording retrieval +- Changed: sources adapted for PVR API changes + +v1.1.2.101: +- Fixed: "Include radio" setting +- Changed: cleanup unused settings + +v1.1.0.100 +- Rewrite: timer code +- Changed: BackendName +- Fixed: Retrieve more details for timers (repeat, lifetime, ...) +- Fixed: Playback of radio channels with a webstream URL (added via the MediaPortal TV-server) +- Fixed: "Free-to-air only" setting +- Support for TVServerXBMC v1.1.0.100 + +v1.1.0.98 +- Log more information on socket related problems + +v1.1.0.97 +- Fixed: Use uri decode for ip-address in hostname field + +v1.1.0.96 +- Fixed: allow spaces in groupnames, recording names and timer titles +- Fixed: GetTimerInfo +- Add debug messages for empty channel list + +v1.1.0.95 +- Fix time mismatch between XBMC and MediaPortal TV Server for new timers (scheduled recordings) +- Send genre strings to XBMC for unrecognised genres. No colors in EPG, but at least the text is now ok. + +v1.1.0.90 +- Faster channel switching (around 2 sec faster) +- Decrease CPU uage when a buffer underrun occurs + +v1.1.0.75 +- PVR client should abort connection when the TVServerXBMC version is too old + +v1.1.0.60 +- Fix PVR client destroy \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/icon.png b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/icon.png new file mode 100644 index 000000000..42f6e37db Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/genre_translation.xml b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/genre_translation.xml new file mode 100644 index 000000000..ca6ceddbc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/genre_translation.xml @@ -0,0 +1,128 @@ + + + + + + movie/drama (general) + detective/thriller + comedy + soap/melodram/folkloric + adult movie/drama + news/current affairs (general) + documentary + show/game show (general) + sports (general) + childrens's/youth program (general) + cartoon/puppets + music/ballet/dance (general) + arts/culture (without music, general) + religion + magazines/reports/documentary + education/science/factual topics (general) + nature/animals/environment + + + + diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..c8357afbc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Afrikaans/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal Gasheernaam" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC byvoegsel Poort" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Vry-op-lug alleenlik" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Sluit Radio in" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Vinnige kanaal oorskakeling (moenie tydskuif stop)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Konnekteer tydverstreke(s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Voer slegs TV Kanale van groep in" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Voer slegs Radio Kanale van groep in" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Skakel gasheernaam om na IP-adres" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Lees genre stringe (stadig)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Wag tyd na kanaal ingestem het (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Stroom metode" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows gebruiker rekening (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows wagwoord (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Gebruik RTSP stroming" + +msgctxt "#30040" +msgid "Connection" +msgstr "Konneksie" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Terugspeel" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Jou TVServerXBMC weergawe '%s' is te oud. Opgradeer asb na '%s' of hoër!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Jou TVServerXBMC weergawe is te oud. Opgradeer asb na '%s' of hoër!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Opname terugspeel het gefaal. Leë URL of lêernaam." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Alle kaarte is besig" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Kanaal is vermeng" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Geen video of oudio bespeur" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Geen sein bespeur" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Onbekende fout" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Kan nie grafiek begin nie" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Onbekende kanaal" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Geen instem besonderhede" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanaal is nie aan enige kaart toegeken" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Kaart is gedeaktiveer" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Konneksie aan slaaf het gefaal" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Nie die eienaar" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Grafiek bou het gefaal" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "SW Enkodeerder afwesig" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Geen oop skyf spasie" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Geen PMT gevind" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Amharic/strings.po new file mode 100644 index 000000000..758841faa --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Amharic/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30040" +msgid "Connection" +msgstr "áŒáŠ•áŠ™áŠá‰µ " + +msgctxt "#30063" +msgid "No signal detected" +msgstr "áˆáŠ•áˆ áŠ á‹­áŠá‰µ áˆáˆáŠ­á‰µ አáˆá‰°áŒˆáŠ˜áˆ " + +msgctxt "#30064" +msgid "Unknown error" +msgstr "á‹«áˆá‰³á‹ˆá‰€ ስህተት " + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "á‹«áˆá‰³á‹ˆá‰€ ጣቢያ " + +msgctxt "#30071" +msgid "Not the owner" +msgstr "ባለቤት አይደሉሠ" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "ባዶ የዲስክ ቦታ የለሠ" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Arabic/strings.po new file mode 100644 index 000000000..1d24b2d86 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Arabic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "توليÙ" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Basque/strings.po new file mode 100644 index 000000000..a20853a1f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Basque/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Erreprodukzioa" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..747d9775a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Belarusian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal Hostname" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC plugin Port" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Free-to-air only" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Include Radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Fast channel switching (don't stop timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Connect timeout (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Import only TV Channels from group" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Import only Radio Channels from group" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Convert hostname to IP-adress" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Read genre strings (slow)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Wait time after tuning a channel (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Streaming method" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows user account (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows password (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Use RTSP streaming" + +msgctxt "#30040" +msgid "Connection" +msgstr "Connection" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Playback" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Recording playback failed. Empty URL of filename." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "All cards are busy" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Channel is scrambled" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "No video or audio detected" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "No signal detected" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Unknown error" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Unable to start graph" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "ÐевÑдомы канал" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "No tuning details" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Channel is not mapped to any card" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Card is disabled" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Connection to slave failed" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Not the owner" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Graph building failed" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "SW Encoder missing" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "No free disk space" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "No PMT found" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..15d15e6a9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Bosnian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reprodukcija" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..8243e0b9f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Bulgarian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Възпроизвеждане" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Ðепозната грешка" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Catalan/strings.po new file mode 100644 index 000000000..1eddb5657 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Catalan/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nom de màquina del MediaPortal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Port de l'afegitó per XBMC del MediaPortal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Només emissions lliures" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Inclou ràdio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Canvi de canal ràpid (no aturis el canvi d'hora)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Temps d'espera de connexió (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importa només canals de TV del grup" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importa només canals de ràdio del grup" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Converteix nom de màquina a adreça IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Llegeix cadenes de gènere (lent)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Temps d'espera després de sintonitzar un canal (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Mètode de flux" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Compte d'usuari de Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Contrasenya de Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Utilitza flux RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Connexió" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reproducció" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "La vostra versió de servidor de TV XMBC '%s' és massa antiga. Per favor, actualitzau a '%s' o superior!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "La vostra versió de servidor de TV XMBC és massa antiga. Per favor, actualitzau a '%s' o superior!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Ha fallat la reproducció de l'enregistrament. L'URL del fitxer és buida." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Totes les tarjes es troben ocupades" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "El canal és codificat" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "No s'ha detectat vídeo o audio" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "No s'ha detectat senyal" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Error desconegut" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "No s'ha pogut iniciar el gràfic" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canal desconegut" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Cap detall de sintonització" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "El canal no es troba mapejat a cap tarja" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "La tarja es troba desactivada" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Ha fallt la connexió a l'esclau" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "No és el propietari" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Ha fallat la construcció del gràfic" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "No es troba el codificador SW " + +msgctxt "#30074" +msgid "No free disk space" +msgstr "No queda espai de disc" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "No es troba el PMT" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..9e799c8be --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal主机å" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMCæ’件端å£" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "ä»…éžåР坆频é“" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "包å«ç”µå°" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "快速频é“切æ¢ï¼ˆä¸åœæ­¢æ—¶å…‰å¹³ç§»ï¼‰" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "连接超时(秒)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "仅从组导入电视频é“" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "仅从组导入电å°é¢‘é“" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "主机å转æ¢ä¸ºIP地å€" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "电å­èŠ‚ç›®å•:读å–类型字串(慢)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "æ¢å°å»¶è¿Ÿæ—¶é—´ï¼ˆæ¯«ç§’)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "æµä¼ è¾“方法" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows用户å¸å·ï¼ˆSMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows密ç ï¼ˆSMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "使用RTSPæµ" + +msgctxt "#30040" +msgid "Connection" +msgstr "连接" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "播放" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "TVServerXBMC版本“%sâ€å¤ªæ—§ï¼Œè¯·å‡çº§åˆ°â€œ%sâ€æˆ–更高版本ï¼" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "TVServerXBMC版本太旧,请å‡çº§åˆ°â€œ%sâ€æˆ–更高版本ï¼" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "å½•åƒæ’­æ”¾å¤±è´¥ã€‚文件åURL空。" + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "所有å¡éƒ½å¿™" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "频é“被å ç”¨" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "未检测到音视频" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "未检测到信å·" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "未知错误" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "无法å¯åЍgraph" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "未知频é“" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "æ— è°ƒè°å™¨è¯¦ç»†ä¿¡æ¯" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "频铿œªæ˜ å°„到任何å¡" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "å¡è¢«ç¦ç”¨" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "连接到从机失败" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "éžæ‰€æœ‰è€…" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Graph创建失败" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "SWç¼–ç å™¨ä¸¢å¤±" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "æ— å¯ç”¨ç£ç›˜ç©ºé—´" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "未找到PMT" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..861cc6923 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "播放" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "未知的錯誤" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Croatian/strings.po new file mode 100644 index 000000000..7c000eb34 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Croatian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reprodukcija" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Czech/strings.po new file mode 100644 index 000000000..b4d1924e4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Czech/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Název poÄítaÄe Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Port modulu XBMC Mediaportal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Pouze nekódované" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Zahrnout rádio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Rychlé pÅ™epínání kanálů (nevypínat Äasový posun)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "ÄŒasový limit spojení" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importovat pouze televizní kanály ze skupiny" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importovat pouze rozhlasové stanice ze skupiny" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "PÅ™evést název poÄítaÄe na IP adresu" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Äíst informace o žánru (pomalé)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Prodleva po naladÄ›ní kanálu (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Metoda proudového vysílání" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Uživatelský úÄet windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Heslo windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Použít proudové vysílání RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Spojení" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "PÅ™ehrávání" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "VaÅ¡e verze TVServerXBMC '%s' je příliÅ¡ stará. Aktualizujte prosím na '%s', nebo novÄ›jší." + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "VaÅ¡e verze TVServerXBMC je příliÅ¡ stará. Aktualizujte prosím na '%s', nebo novÄ›jší." + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "PÅ™ehrávání nahrávky selhalo. Prázdná url, nebo název souboru." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "VÅ¡echny karty jsou zaneprázdnÄ›ny" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Kanál je Å¡ifrovaný" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "NezjiÅ¡tÄ›n obraz, Äi zvuk" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Nenalezen žádný signál" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Neznámá chyba" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Nelze spustit graf" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Neznámý kanál" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Žádné podrobnosti ladÄ›ní" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanál není navázán k žádné kartÄ›" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Karta je zakázána" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "PÅ™ipojení k zařízení selhalo" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Není vlastník" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Sestavení grafu selhalo" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Chybí softwarový kodér" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Žádné volné místo na disku" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT nenalezeno" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Danish/strings.po new file mode 100644 index 000000000..7ab73f279 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Danish/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal Værtsnavn" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC plug-in port" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Kun ukodet" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Inkluder Radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Hurtig kanalskift (stop ikke tidsforskydning)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Tidsfrist for forbindelse (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importer kun TV-kanaler fra gruppe" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importer kun Radio-kanaler fra gruppe" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Konverter værtsnavn til IP-adresse" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Læs genrestrenge (langsom)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Ventetid efter valg af kanal (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Stream-metode" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows brugerkonto (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows kodeord (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Brug RTSP stream" + +msgctxt "#30040" +msgid "Connection" +msgstr "Forbindelse" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Afspilning" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Din TVserverXBMC version '%s' er for gammel. Opgrader venligst til '%s' eller højere!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Din TVserverXBMC version er for gammel. Opgrader venligst til '%s' eller højere!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Afspilning af optagelsen mislykkedes. Fjern filnavn fra URL" + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Alle kort er optagede" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Kanalen er kodet" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Ingen video eller lyd fundet" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Intet signal fundet" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Ukendt fejl" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Grafen kan ikke startes" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Ukendt kanal" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Ingen tuning-detaljer" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanalen er ikke defineret til nogen kort" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Kortet er deaktiveret" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Forbindelsen til slave mislykkedes" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Ikke ejeren" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Grafopbygning mislykkedes" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "SW indkoder mangler" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Ingen ledig diskplads" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Ingen PMT fundet" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Dutch/strings.po new file mode 100644 index 000000000..7b4757832 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Dutch/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal Hostnaam" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC plugin poort" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Toon alleen vrij te ontvangen kanalen" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Toon radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Snel zappen (timeshift niet stoppen)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Verbindingstimeout (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importeer alleen TV kanalen uit groep" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importeer alleen radio kanalen uit groep" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Converteer hostnaam naar IP adres" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Genre tekst inlezen (traag)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Wachttijd na kanaal tunen(ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Streaming methode" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows gebruikersnaam (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows wachtwoord (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Gebruik RTSP streaming" + +msgctxt "#30040" +msgid "Connection" +msgstr "Verbinding" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Afspelen" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Uw TVServerXBMC plugin '%s' is te oud. U heeft minimaal versie '%s' of nieuwer nodig!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Uw TVServerXBMC plugin is te oud. U heeft minimaal versie '%s' of nieuwer nodig!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Afspelen opname mislukt. Lege URL of bestandsnaam." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Alle kaarten zijn bezet" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Kanaal is gecodeerd" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Geen video of audio gedetecteerd" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Geen signaal" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Onbekende fout" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Graph starten mislukt" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Onbekend kanaal" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Geen tuning details" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanaal is niet gekoppeld aan een kaart" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Kaart is uitgeschakeld" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Verbinding met slave verbroken" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Niet de eigenaar" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Aanmaken Graph mislukt" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "SW Encoder ontbreekt" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Geen vrije schijfruimte" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Geen PMT gevonden" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/English/strings.po new file mode 100644 index 000000000..9b56b9778 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/English/strings.po @@ -0,0 +1,179 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#Settings labels + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "" + +#empty strings from id 30011 to 30014 + +msgctxt "#30015" +msgid "Streaming method" +msgstr "" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "" + +#empty strings from id 30019 to 30039 +#Category labels + +msgctxt "#30040" +msgid "Connection" +msgstr "" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "" + +msgctxt "#30042" +msgid "Playback" +msgstr "" + +#empty strings from id 30043 to 30049 +#On-screen error messages + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "" + +#empty strings from id 30053 to 30059 +#Status message strings corresponding to the MediaPortal TvResult enum + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Estonian/strings.po new file mode 100644 index 000000000..ca353e43d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Estonian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Taasesitus" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Finnish/strings.po new file mode 100644 index 000000000..740086179 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Finnish/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal-palvelimen nimi" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC-lisäosan portti" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Vain ilmaiskanavat" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Sisällytä radiokanavat" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Kanavan pikavaihto (älä keskeytä ajansiirtoa)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Yhteyden aikakatkaisu (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Tuo ainoastaan TV-kanavat ryhmästä" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Tuo ainoastaan radiokanavat ryhmästä" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Muunna palvelimen nimi IP-osoitteeksi" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "Ohjelmaopas: Lue lajityyppi merkkijonoista (hidas)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Odotusaika kanavan virittämisen jälkeen (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Suoratoistotapa" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows-käyttäjätunnus (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows-salasana (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Käytä RTSP-suoratoistoa" + +msgctxt "#30040" +msgid "Connection" +msgstr "Yhteys" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Toisto" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "TVServerXBMC:n versio '%s' on liian vanha. Päivitä vähintään versioon '%s' tai uudempaan!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "TVServerXBMC:n versio on liian vanha. Päivitä vähintään versioon '%s' tai uudempaan!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Tallenteen toistaminen epäonnistui. Tyhjä URL tai tiedostonimi." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Ei vapaita virittimiä." + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Kanava on salattu" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Videota tai ääntä ei havaittu" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Signaalia ei havaittu" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Tuntematon virhe" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Kuvaajan näyttäminen ei onnistunut" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Tuntematon kanava" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Ei viritystietoja" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanavaa ei ole osoitettu yhdellekään virittimelle." + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Viritin on poistettu käytöstä." + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Yhteys työläiseen epäonnistui." + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Ei omistaja" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Kuvaajan muodostaminen epäonnistui" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Ohjelmistokodekki puuttuu" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Vapaata levytilaa ei ole" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT:tä ei löytynyt" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/French/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/French/strings.po new file mode 100644 index 000000000..b3889d443 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/French/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nom d'hôte Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Port Plugin Mediaportal XBMC" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Chaînes gratuites uniquement" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Inclure la radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Basculement rapide de chaînes (n'interromps pas l'enregistrement)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Temporisation de connexion (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importer seulement les chaînes TV du groupe" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importer seulement les chaînes radio du groupe" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Convertir le nom d'hôte en adresse IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "Guide Des Programmes : lecture des genres (lent)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Temporisation après réglage de la chaîne (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Méthode de flux" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Compte utilisateur Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Mot de passe Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Utiliser les flux RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Connexion" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Lecture" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Votre version '%s' de TVServerXBMC est obsolète. Merci de mettre à jour en '%s' ou supérieure !" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Votre version de TVServerXBMC est obsolète. Merci de mettre à jour en '%s' ou supérieure !" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Lecture défaillante de l'enregistrement. Effacer l'adresse ou le nom." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Toutes les cartes sont occupées" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "La chaîne est cryptée" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Pas de vidéo ou d'audio détectés" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Aucun signal" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Erreur inconnue" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Impossible de démarrer le chaînage" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Chaîne inconnue" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Aucun détail de réglage" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "La chaîne n'est mappée sur aucune carte" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Carte désactivée" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Connexion impossible à l'enfant " + +msgctxt "#30071" +msgid "Not the owner" +msgstr "N'est pas le propriétaire" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Erreur de création du chaînage" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Encodeur SW manquant" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Plus de place disque" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Aucune Table de Programme trouvée" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Galician/strings.po new file mode 100644 index 000000000..618aeb332 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Galician/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nome de host do Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Extensión para o porto de XBMC de Mediaportal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Só emisión libre" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Incluír Radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Troco rápido de canle (non deter o timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Tempo(s) de espera para conectar" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importar só os canles de TV dende o grupo" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importar só os canles de Radio dende o grupo" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Convertir o nome de host ó enderezo IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: ler as cadeas de xénero (lento)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Tempo de espera despois de sintonizar unha canle (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Metodo de transmisión" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Conta do usuario de Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Contrasinal de Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Usar transmisión RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexión" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reprodución" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "A versión '%s' de TVServerXBMC é demasiado vella, por favor actualiza á '%s' ou superior!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "A versión de TVServerXBMC é demasiado vella, por favor actualiza á '%s' ou superior!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Fallou a gravación da reprodución, o URL do ficheiro está baleiro." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Todas as tarxetas están ocupadas" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "A canle está codificada" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Non se atoparon vídeo ou son." + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Non se detectou ningún sinal" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Erro descoñecido" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Non se puido iniciar o gráfico" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canle descoñecida" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Sen detalles da sintonización" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "A canle non está asignada a ningunha tarxeta" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "A tarxeta está deshabilitada" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Fallou a conexión co escravo" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Non é o propietario" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Fallou a creación do gráfico" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Falta o codificador SW" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Sen espazo libre" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Non se atopou o PMT" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/German/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/German/strings.po new file mode 100644 index 000000000..fb255049c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/German/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal Hostname oder IP" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal Plugin XBMC Port" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Nur frei empfangbare Kanäle" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Zeige Radiokanäle" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Schneller Kanalwechsel (ohne Unterbrechung von Timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Verbindungszeitüberlauf (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importiere nur TV Kanäle aus Gruppe" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importiere nur Radiokanäle aus Gruppe" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Konvertiere Hostname nach IP-Adresse" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Genre Texte hochladen (langsam)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Wartezeit, nachdem ein Kanal abgestimmt worden ist (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Streaming-Methode" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows Benutzername (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows Passwort (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "RTSP Stream verwenden" + +msgctxt "#30040" +msgid "Connection" +msgstr "Verbindung" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Wiedergabe" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Ihre TVServerXBMC plugin '%s' ist zu alt. Sie brauchen mindestens Version '%s'!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Ihre TVServerXBMC plugin Version ist zu alt. Sie brauchen mindestens Version '%s'!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Aufnahme fehlgeschlagen. Leere URL oder Dateiname." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Alle TV-Adapter in Benutzung" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Verschlüsselter Kanal" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Kein Bild oder Ton erkannt" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Kein Signal" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Unbekannter Fehler" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Kurve kann nicht gestartet werden" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Unbekannter Kanal" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Keine Tuning-Details" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanal ist keiner Karte zugeordnet" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Karte deaktiviert" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Verbindung zum Slave fehlgeschlagen" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Kein Besitzer" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Kurvenerstellung fehlgeschlagen" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Software-Encoder fehlt" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Kein Speicherplatz frei" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Keine PMT gefunden" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Greek/strings.po new file mode 100644 index 000000000..f5812e629 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Greek/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Όνομα Υπολογιστή του Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "ΘÏÏα του Mediaportal plugin του XBMC" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "ΕλεÏθεÏα κανάλια μόνο" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "ΣυμπεÏίληψη Ραδιοφώνου" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "ΓÏήγοÏο ζάπινγκ (χωÏίς χÏονική μετατόπιση)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "ΧÏονικό ÏŒÏιο σÏνδεσης (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Εισαγωγή μόνο Τηλεοπτικών Καναλιών από το γκÏουπ" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Εισαγωγή μόνο Ραδιοφωνικών Σταθμών από το γκÏουπ" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "ΜετατÏοπή Ονόματος Υπολογιστή σε διεÏθυνση IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Ανάγνωση είδους (αÏγό)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "ΧÏόνος αναμονής μετά τη ÏÏθμιση ενός ÎºÎ±Î½Î±Î»Î¹Î¿Ï (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Μέθοδος Ïοής" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Όνομα ΧÏήστη Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Κωδικός Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "ΧÏήση Ïοής RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "ΣÏνδεση" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "ΑναπαÏαγωγή" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Η έκδοση '%s' του TVServerXBMC είναι Ï€Î¿Î»Ï Ï€Î±Î»Î¹Î¬. Αναβαθμίστε στην '%s' ή ανώτεÏη!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Η έκδοση του TVServerXBMC είναι Ï€Î¿Î»Ï Ï€Î±Î»Î¹Î¬. Αναβαθμίστε στην '%s' ή ανώτεÏη!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Αποτυχία αναπαÏαγωγής εγγÏαφής. Κενή URL του ονόματος αÏχείου." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Όλες οι κάÏτες είναι απασχολημένες" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Κωδικοποιημένο κανάλι" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Δεν εντοπίστηκε εικόνα ή ήχος" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Δεν εντοπίστηκε σήμα" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Άγνωστο σφάλμα" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Αδυναμία εκκίνησης γÏαφήματος" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Άγνωστο κανάλι" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Καθόλου λεπτομέÏειες συντονισμοÏ" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Το κανάλι δεν είναι αντιστοιχισμένο σε καμία κάÏτα" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Η κάÏτα είναι απενεÏγοποιημένη" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Αποτυχία σÏνδεσης στο slave" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Δεν είναι ο ιδιοκτήτης" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Αποτυχία δημιουÏγίας γÏαφήματος" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Λείπει ο SW κωδικοποιητής" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "ΑνεπαÏκής αποθηκευτικός χώÏος" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Δε βÏέθηκε κανένα PMT" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..f3ce66e76 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hebrew/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "×©× ×ž×רח Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "פורט לפל×גין XBMC בMediaportal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "×¢×¨×•×¦×™× ×—×•×¤×©×™×™× ×œ× ×ž×¡×—×¨×™×™× ×‘×œ×‘×“" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "כלול ערוצי רדיו" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "העברה מהירה בין ×¢×¨×•×¦×™× (×ל תעצור timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "זמן לניסיון חיבור (שניות)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "×™×™×‘× ×¢×¨×•×¦×™ טלוויזיה רק מקבוצת" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "×™×‘× ×¨×§ תחנות רדיו מקבוצה" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "הפוך ×©× ×ž×—×©×‘ לכתובת IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "מדריך התוכניות: ×§×¨× ×–'×× ×¨×™× ×©×œ תוכניות (×יטי)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "המתן ×חרי מעבר ערוץ (מילישניות)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "שיטת הזרמה" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "חשבון משתמש של חלונות (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "סיסמה של חלונות (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "השתמש בהזרמת RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "חיבור" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "ניגון" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "גירסת '%s' של הפל×גין TVServerXBMC ישנה מדי. ×× × ×¢×“×›×Ÿ ל'%s' ×ו חדשה יותר!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "גירסת הפל×גין TVServerXBMC ישנה מדי. ×× × ×¢×“×›×Ÿ ל'%s' ×ו חדשה יותר!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "ניגון ההקלטה נכשלה. × ×§×” ×ת ×”URL ×ו ×©× ×”×§×•×‘×¥." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "כל ×”×›×¨×˜×™×¡×™× ×¢×¡×•×§×™×" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "הערוץ מעורבל/מוצפן" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "×œ× ×–×•×”×” ויד×ו ×ו ×ודיו" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "×ין קליטה" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "שגי××” ×œ× ×™×“×•×¢×”" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "×ין ×פשרות להתחיל ×ת הגרף" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "ערוץ ×œ× ×™×“×•×¢" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "×ין נתוני כוונון" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "הערוץ ×œ× ×ž×ž×•×¤×” ×œ×©×•× ×›×¨×˜×™×¡" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "הכרטיס מנוטרל" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "התקשורת לslave נכשלה" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "×œ× ×”×‘×¢×œ×™×" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "בניית גרף נכשלה" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "מקודד SW חסר" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "×ין ×ž×§×•× ×¤× ×•×™ בדיסק הקשיח" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "×œ× × ×ž×¦× PMT" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..7688f3216 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "पà¥à¤²à¥‡à¤¬à¥ˆà¤•" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..336a515a9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Hungarian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "MediaPortal Kiszolgálónév" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "MediaPortal XBMC bÅ‘vítmény port" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Csak szabadon-fogható" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Tartalmaz Rádiót" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Gyors csatornaváltás (nem szakítja meg az idÅ‘eltolás 'Timeshift' funkció használatát)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "A kapcsolat idÅ‘túllépése (mp.)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "TV csatornák importálása csoportokba" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Rádió csatornák importálása csoportokba" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Kiszolgálónév konvertálása IP címre" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Olvassa a műfaj karakterláncokat (lassú)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Csatornahangolás utáni várakozási idÅ‘ (milliszekundum)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Sugárzási módszer" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows felhasználói fiók (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows jelszó (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Használja az RTSP átvitelt" + +msgctxt "#30040" +msgid "Connection" +msgstr "Kapcsolat" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Lejátszás" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "A TVServerXBMC verzió '%s' túl régi. Kérem frissítse a '%s' vagy újabbra!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "A TVServerXBMC verziója túl régi. Kérem frissítse a '%s' vagy újabbra!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Felvétel lejátszása nem sikerült. Üres URL, vagy fájlnév." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Minden kártyahely foglalt" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "A csatorna kódolva van" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Nincs észlelhetÅ‘ kép vagy hang" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Nincs jel" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Ismeretlen hiba" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Nem lehet elindítani a dekódolást" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Ismeretlen csatorna" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Nincsenek hangolással kapcsolatos részletek" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "A csatorna nincs hozzárendelve semmilyen kártyához" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "A kártya le van tiltva" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "A csatlakozás nem sikerült" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Nem tulajdonos" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Dekódoló felépítése nem sikerült" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Szoftveres kódoló hiányzik" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Nincs elég hely a lemezen" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Nem találtam programleképezési táblát" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..48de0c381 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Icelandic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Spila" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Italian/strings.po new file mode 100644 index 000000000..485703290 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Italian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nome del server Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Porta del plugin Mediaportal di XBMC" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Solo Free-to-air" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Includi Radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Cambio veloce canale (non ferma il timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Timeout per la connessione (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importa solo canali TV dal gruppo" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importa solo canali radio dal gruppo" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Converti il nome del server nell'indirizzo IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Leggi le stringhe dei generi (lento)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Tempo di attesa dopo il tuning di un canale (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Metodologia di streaming" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Account utente Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Password Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Usa streaming RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Connessione" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Riproduzione" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "La tua versione di TVServerXBMC '%s' è troppo vecchia. Per favore, aggiornala a '%s' o superiore!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "La tua versione di TVServerXBMC è troppo vecchia. Per favore, aggiornala a '%s' o superiore!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "La riproduzione della registrazione non è riuscita. URL o nome del file vuoti." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Tutte le card sono occupate" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Il canale è criptato" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Nessun video o audio trovato" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Nessun segnale trovato" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Errore sconosciuto" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Impossibile inizializzare grafico" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canale sconosciuto" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Nessun dettaglio di sintonizzazione" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Il canale non è mappata in nessuna card" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "La card è disabilitata" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Connessione allo slave fallita" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Non sei il proprietario" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Costruzione del grafico fallita" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Encoder SW mancante" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Spazio disco esaurito" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Nessun PMT trovato" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Japanese/strings.po new file mode 100644 index 000000000..5e5fe167d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Japanese/strings.po @@ -0,0 +1,162 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Medialportal ホストå" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC プラグインã®ãƒãƒ¼ãƒˆç•ªå·" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Free-to-air ã®ã¿" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "ラジオもå«ã‚ã‚‹" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "接続タイムアウト (ç§’)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "グループã‹ã‚‰ TV ãƒãƒ£ãƒ³ãƒãƒ«ã®ã¿ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "グループã‹ã‚‰ãƒ©ã‚¸ã‚ªãƒãƒ£ãƒ³ãƒãƒ«ã®ã¿ã‚¤ãƒ³ãƒãƒ¼ãƒˆ" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "ホストåã‚’ IP アドレスã«å¤‰æ›" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: ジャンルåを読ã¿è¾¼ã‚€ (低速)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«ã‚’ã‚ã‚ã›ãŸã‚ã¨ã®å¾…ã¡æ™‚é–“ (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "ストリーミング方å¼" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows ユーザーアカウント (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows パスワード (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "RTSP ストリーミングを使用" + +msgctxt "#30040" +msgid "Connection" +msgstr "接続" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "å†ç”Ÿ" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "TVServerXBMC ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%s' ã¯å¤ã™ãŽã¾ã™ã€‚'%s' ã‹ãれ以上ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚¢ãƒƒãƒ—グレードã—ã¦ãã ã•ã„ï¼" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "TVServerXBMC ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå¤ã™ãŽã¾ã™ã€‚'%s' ã‹ãれ以上ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚¢ãƒƒãƒ—グレードã—ã¦ãã ã•ã„ï¼" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "録画ã®å†ç”Ÿã«å¤±æ•—ã—ã¾ã—ãŸã€‚ファイルåã® URL ãŒç©ºã§ã™ã€‚" + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "全カードãŒä½¿ç”¨ä¸­ã§ã™" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«ãŒã‚¹ã‚¯ãƒ©ãƒ³ãƒ–ル化ã•れã¦ã„ã¾ã™" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "映åƒã‚„éŸ³å£°ãŒæ¤œå‡ºã•れã¾ã›ã‚“ã§ã—ãŸ" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "ä¿¡å·ãŒæ¤œå‡ºã•れã¾ã›ã‚“ã§ã—ãŸ" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "䏿˜Žãªã‚¨ãƒ©ãƒ¼" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "グラフを開始ã§ãã¾ã›ã‚“" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "䏿˜Žãªãƒãƒ£ãƒ³ãƒãƒ«" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "ãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°æƒ…å ±ãŒã‚りã¾ã›ã‚“" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«ãŒã©ã®ã‚«ãƒ¼ãƒ‰ã«ã‚‚割り当ã¦ã‚‰ã‚Œã¦ã„ã¾ã›ã‚“" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "カードãŒç„¡åйã«ãªã£ã¦ã„ã¾ã™" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "スレーブã¸ã®æŽ¥ç¶šã«å¤±æ•—" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "オーナーã§ã¯ã‚りã¾ã›ã‚“" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "グラフ作æˆã«å¤±æ•—" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "ソフトウェアエンコーダーãŒã‚りã¾ã›ã‚“" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "ディスクã®ç©ºã領域ãŒã‚りã¾ã›ã‚“" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT ãŒã¿ã¤ã‹ã‚Šã¾ã›ã‚“" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Korean/strings.po new file mode 100644 index 000000000..5b4745673 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Korean/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal 호스트네임" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC í”ŒëŸ¬ê·¸ì¸ í¬íЏ" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "무료채ë„ë§Œ" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "ë¼ë””오 í¬í•¨" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "빠른 ì±„ë„ ì „í™˜ (타임시프트 중지 안 함)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "연결시간 제한 (ì´ˆ)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "그룹ì—서 TV 채ë„ë§Œ 가져 옴" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "그룹ì—서 ë¼ë””오 채ë„ë§Œ 가져 옴" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "í˜¸ìŠ¤íŠ¸ë„¤ìž„ì„ IP 주소로 변환" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: 장르 가져오기 (ëŠë¦¼)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "ì±„ë„ íŠœë‹ í›„ 대기시간 (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "ìŠ¤íŠ¸ë¦¬ë° ë°©ì‹" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows ì‚¬ìš©ìž ê³„ì • (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows 비밀번호 (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "RTSP ìŠ¤íŠ¸ë¦¬ë° ì‚¬ìš©" + +msgctxt "#30040" +msgid "Connection" +msgstr "ì—°ê²°" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "재ìƒ" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "TVServerXBMC '%s' ì˜ ë²„ì „ì´ ë„ˆë¬´ 낮습니다. '%s' ì´ìƒì˜ 버전으로 업그레ì´ë“œ 하십시오!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "TVServerXBMCì˜ ë²„ì „ì´ ë„ˆë¬´ 낮습니다. '%s' ì´ìƒì˜ 버전으로 업그레ì´ë“œ 하십시오!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "ìž¬ìƒ ë…¹í™” 실패. 파ì¼ì´ë¦„ì—서 URLì„ ì‚­ì œí•˜ì‹­ì‹œì˜¤." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "모든 카드가 사용중입니다" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "스í¬ëž¨ë¸” 채ë„입니다" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "비디오 ë° ì˜¤ë””ì˜¤ ê°ì§€ 안ë¨" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "신호 ì—†ìŒ" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "알 수 없는 오류" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "그래프 시작할 수 ì—†ìŒ" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "알 수 없는 채ë„!" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "ìƒì„¸ íŠœë‹ ì—†ìŒ" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "채ë„ì— í• ë‹¹ëœ ì¹´ë“œ ì—†ìŒ" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "카드 비활성화" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "슬레ì´ë¸Œ ì—°ê²° 실패" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "ì†Œìœ ìž ì•„ë‹˜" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "그래프 ìƒì„± 실패" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "소프트웨어 ì¸ì½”ë” ì—†ìŒ" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "ë””ìŠ¤í¬ ë¹ˆ 공간 ì—†ìŒ" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT ì—†ìŒ" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..d75d2b92e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Lithuanian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal Hosto vardas" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC įskiepių prievadas" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Free-to-air only" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Ä®traukti radijÄ…" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Greitas kanalų perjungimas (nenutraukite laiko poslinkio)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Prisijungimui skirtas laikas (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importas iÅ¡rinktus TV kanalus iÅ¡ grupÄ—s" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importas iÅ¡rinktus radio kanalus iÅ¡ grupÄ—s" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Konvertuoti Host vardÄ… į IP adresÄ…" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Skaityti bÄ—ganÄias eilutes (lÄ—tai)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Laukti laiko po kanalo tiuningo (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Transliacijos metodas" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows vartotojo abonementas (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows slaptažodis (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Naudokite RTSP transliacijÄ…" + +msgctxt "#30040" +msgid "Connection" +msgstr "Prisijungimas" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "AtkÅ«rimas" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "JÅ«sų TVServer XBMC versija '%s' yra per sena. PraÅ¡ome atnaujinti į '%s' arba naujesnÄ™!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "JÅ«sų TVServer XBMC versija '%s' yra per sena. PraÅ¡ome atnaujinti į '%s' arba naujesnÄ™!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Ä®raÅ¡ymo atkÅ«rimas nepavyko. TuÅ¡Äias URL failo vardas." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Visos kortelÄ—s yra užimtas" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Kanalas yra nestabilus" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Vaizdas ir garsas neaptiktas" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Signalas neaptiktas" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Nežinoma klaida" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Nepavyksta pradÄ—ti grafikos" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Nežinomas kanalas" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "NÄ—ra derinimo informacijos" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanalas nebus susietas su kortele" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "KortelÄ— neleidžiama" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Prijungimas prie 'slave' nepavyko" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Nesate savininkas" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Grafiko sudarymas nepavyko" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "TrÅ«ksta SW daviklio (koduotojo)" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "NÄ—ra laisvos vietos diske" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT nerasta(-s)" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..7bbe3cff8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Macedonian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal Hostname" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC plugin Port" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Само Free-to-air" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Вклучено Радио" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Брзо префрлување помеѓу канали (не Ñопирај временÑко помеÑтување)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Тајмаути на поврзување (Ñ)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Увези Ñамо ТВ канали од група" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Увези Ñамо Радио канали од група" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Конвертирај име на хоÑÑ‚ во IP адреÑа" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Read genre strings (slow)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Време на чекање по префрлување на канал (мÑ)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Метод на Ñтримање" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windows user account (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windows password (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "КориÑти RTSP Ñтиминг" + +msgctxt "#30040" +msgid "Connection" +msgstr "Конекција" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Репродукција" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Твојот TVServerXBMC верзија '%s' е преÑтара. Ðадгради на '%s' или по ново!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Твојата TVServerXBMC верзија е преÑтара. Ðадгради на '%s' или по ново!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Репродукција на Ñнименото неуÑпешна. Празна адреÑа или име на папка." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Сите карти Ñе зафатени" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Каналот е кодиран" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Ðема аудио или видео" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Ðема Ñигнал" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Ðепозната грешка" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Ðеможе да Ñе Ñтартува граф" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Ðепознат канал" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Ðема детали за каналите" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Каналот не е мапиран кон било која карта" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Карта е оневозможена" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Конекција кон Ñлејв неуÑпешна" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Ðе Ñи ÑопÑтвеник" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "ÐеуÑпешна изградба на граф" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "ÐедоÑтаÑува SW енкодер" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "нема Ñлободно меÑто на диÑкот" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "нема најдено PMT" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..4ce6bd9b1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Norwegian/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Inkluder radio" + +msgctxt "#30042" +msgid "Playback" +msgstr "Avspilling" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Ukjent feil" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Ukjent kanal" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Persian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Persian/strings.po new file mode 100644 index 000000000..9024c546b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Persian/strings.po @@ -0,0 +1,82 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "نام سرور مدیا پورتال" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "پورت پلاگین مدیاپورتال XBMC" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Ùقط کانالهلی Free" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "در Ø¨Ø±Ú¯Ø±ÙØªÙ† رادیو" + +msgctxt "#30040" +msgid "Connection" +msgstr "اتصال" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "مدیاپورتال" + +msgctxt "#30042" +msgid "Playback" +msgstr "باز پخش" + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "همه کارتها مشغول هستند" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "بدون صدا Ùˆ یا تصویر" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "بدون سیگنال" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "خطای ناشناخته" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "ناتوانی در اجرای گراÙ" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "کانال ناشناخته" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "کارت غیر ÙØ¹Ø§Ù„ است" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "انکودر Ù†Ø±Ø§ÙØ²Ø§Ø±ÛŒ پیدا نشد" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "ÙØ¶Ø§ÛŒ خالی کاÙÛŒ در دیسک وجود ندارد." diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Polish/strings.po new file mode 100644 index 000000000..d56a017bc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Polish/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nazwa hosta Mediaportal " + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Port pluginu Mediaportal XBMC" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Tylko niekodowane (Free-to-air)" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "UwzglÄ™dnij Radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Szybka zmiana kanałów (nie przerywaj timeshift'u)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "UpÅ‚ynÄ…Å‚ limit czasu (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importuj jedynie kanaÅ‚y TV z grupy" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importuj jedynie kanaÅ‚y Radiowe z grupy" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Rozwijaj nazwÄ™ hosta na IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: odczytuj gatunek (powolne)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Czas czekania po dostrojeniu kanaÅ‚u (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Metoda streamingu" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Nazwa użytkownika Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "HasÅ‚o użytkownika Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Używaj streamingu RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Połącznie" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Odtwarzanie" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Twoja wersja TVServerXBMC '%s' jest zbyt stara. ZaktualizujÄ… jÄ… do '%s' lub wyższej!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Twoja wersja TVServerXBMC jest zbyt stara. ZaktualizujÄ… jÄ… do '%s' lub wyższej!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Odtwarzanie nagrania nie powiodÅ‚o siÄ™. Adres URL lub nazwa pliku sÄ… puste." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Wszystkie karty sÄ… zajÄ™ty" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "KanaÅ‚ jest zakodowany" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Nie wykryto fonii ani wizji" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Brak sygnaÅ‚u" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Nieznany błąd" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Nie powiodÅ‚o siÄ™ uruchomienie grafiki" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Nieznany kanaÅ‚" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Brak danych do dostrojenia" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "KanaÅ‚ nie jest przypisany do żadnej karty" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Karta jest niedostÄ™pna" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Połączenie do slave'a nie powiodÅ‚o siÄ™" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "To nie jest wÅ‚aÅ›ciciel" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Budowanie grafiki nie powiodÅ‚o siÄ™" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Brak dekoder SW" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Brak miejsca na dysku" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Nie znaleziono PMT" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..eebf8d982 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nome do host do Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Porta do plugin XBMC do Mediaportal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Somente canais abertos" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Incluir Rádio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Troca rápida de canais (não interrompe o timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Tempo limite para conexão (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importar somente canais de TV do grupo" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importar somente canais de rádio do grupo" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Converter nome do host para endereço IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Ler strings de gêneros (lento)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Tempo limite após sintonizar um canal (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Método Streaming" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Conta de usuário do Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Senha do Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Usar streaming RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexão" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reprodução" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Seu TVServerXBMC versão '%s' é muito antigo. Por favor, atualize para '%s' ou maior!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "A versão do seu TVServerXBMC é muito antiga. Por favor, atualize para '%s' ou maior!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Falha na gravação. URL do nome do arquivo vazia." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Todas as placas estão ocupadas" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Canal está codificado" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Nenhum vídeo ou áudio detectado" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Nenhum sinal detectado" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Erro desconhecido" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Não foi possível iniciar gráfico" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canal desconhecido" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Não há detalhes de sintonia" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Canal não está mapeado para nenhum placa" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Placa está desativada" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Conexão para slave falhou" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Não é o proprietário" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Falha na construção do gráfico" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Encoder SW faltando" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Sem espaço livre no disco" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Nenhum PMT encontrado" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..0541e5095 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Portuguese/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nome do servidor Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Porta do plugin XBMC Mediaportal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Apenas Emissão Livre" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Incluir Rádio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Troca de canais rápida (não pára o timeshit)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Timeout de ligação (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importar apenas Canais de TV do grupo" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importar apenas Canais de Rádio do grupo" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Converter nome do servidor para endereço IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Obter géneros (lento)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Tempo de espera após sintonizar um canal (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Método de transmissão" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Conta do utilizador Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Palavra-passe Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Usar streaming RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Ligação " + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reprodução" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "A sua versão TVServerXBMC '%s' é demasiado antiga. Por favor actualize para '%s' ou superior!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "A sua versão TVServerXBMC é demasiado antiga. Por favor actualize para '%s' ou superior!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "A reprodução da gravação falhou. Nome do ficheiro ou URL vazios." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Todos as placas estão ocupadass" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "O canal é codificado" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Não foi detectado vídeo nem áudio" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Não foi detectado sinal" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Erro desconhecido" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Não foi possível iniciar gráfico" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canal desconhecido" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "A sintonização não tem detalhes" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "O canal não está mapeado para nenhuma placa" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "A placa está desactivada" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Ligação ao escravo falhou" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Não é o proprietário" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "A criação do gráfico falhou" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Falta o codificador SW" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Não existe espaço disponível no disco" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT não encontrado" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Romanian/strings.po new file mode 100644 index 000000000..46288eb76 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Romanian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportal Hostname" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Portul pluginului Mediaportal XBMC" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Doar canalele gratuite" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Include Radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Schimbare de canal rapidă (nu opriÈ›i timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Conexiune timeout (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importă doar Canalele TV din grup" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importă doar Canalele Radio din grup" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "ConverteÈ™te hostname în IP-adress" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: CiteÈ™te genul stringurilor (încet)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Timp de aÈ™teptare după tuning a unui canal (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Metoda de streaming" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Cont Utilizator Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Parola Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "FoloseÈ™te streaming RTSP " + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexiune" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Redare" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Versiunea ta de TVServerXBMC '%s' este prea veche. Va rugam actualizaÈ›i la '%s' sau mai nouă." + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Versiunea ta de TVServerXBMC este prea veche. Va rugam actualizaÈ›i la '%s' sau mai nouă." + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Redarea de înregistrare a eÈ™uat. URL-ul sau fiÈ™ierul sunt goale." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Toate cardurile sunt ocupate" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Canalul este codat" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Nici video nici audio nu a fost detectat" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Nici un semnal detectat" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Eroare necunoscută" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Imposibil de a starta graficul" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canal necunoscut" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Nici un detaliu de tuning" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Canalul nu este mapat pe nici un card" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Cardul e dezactivat" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Conectarea la slave nu a reuÈ™it" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Nu este proprietarul" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Creerea graficului a eÈ™uat" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "LipseÈ™te encoderul SW " + +msgctxt "#30074" +msgid "No free disk space" +msgstr "SpaÈ›iu indisponibil pe disk" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT nu a fost gasit" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Russian/strings.po new file mode 100644 index 000000000..20826e4f2 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Russian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Ð˜Ð¼Ñ Ñ…Ð¾Ñта Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Порт Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ XBMC Ð´Ð»Ñ Mediaportal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Только отрытые каналы" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Включать радио" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "БыÑтрое переключение каналов (без оÑтановки таймшифта)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Интервал Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ (Ñ.)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Импортировать только каналы ТВ из группы" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Импортировать только каналы радио из группы" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Преобразовать Ð¸Ð¼Ñ Ñ…Ð¾Ñта в IP-адреÑ" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: получать жанры (медленно)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Интервал Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñле наÑтройки канала (мÑ)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Метод потока" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Пароль Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "ИÑпользовать поток RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Соединение" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "ВоÑпроизведение" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "ВерÑÐ¸Ñ Ð¢Ð’-Ñервера XBMC \"%s\" Ñлишком ÑтараÑ. ОбновитеÑÑŒ до верÑии \"%s\" или выше." + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "ВерÑÐ¸Ñ Ð¢Ð’-Ñервера XBMC Ñлишком ÑтараÑ. ОбновитеÑÑŒ до верÑии \"%s\" или выше." + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Ðе удалоÑÑŒ воÑпроизвеÑти запиÑÑŒ. Путой URL или Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Ð’Ñе карты занÑты" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Канал зашифрован" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Видео- или аудиопоток не обнаружен" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Ðет Ñигнала" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Ðе удалоÑÑŒ запуÑтить граф" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "ÐеизвеÑтный канал" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Ðет Ñведений о наÑтройке" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Канал не привÑзан ни к одной карте" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Карта отключена" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Ðе удалоÑÑŒ подключитьÑÑ Ðº ведомому уÑтройÑтво" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Владелец отÑутÑтвует" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Ðе удалоÑÑŒ поÑтроить граф" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "ОтÑутÑтвует программный кодировщик" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Ðет меÑта на диÑке" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT не найдена" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..e581bcd42 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Репродукција" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Serbian/strings.po new file mode 100644 index 000000000..3b986244b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Serbian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reprodukcija" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Slovak/strings.po new file mode 100644 index 000000000..1626c7737 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Slovak/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Názov hostiteľa Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC plugin - port" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Iba nekódované programy" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Vrátane rozhlasových kanálov" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Rýchle prepínanie kanálov (nevypínaÅ¥ Äasový posun)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "ÄŒasový limit pre pripojenie" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Zo skupiny importovaÅ¥ iba TV kanály" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Zo skupiny importovaÅ¥ iba rozhlasové kanály" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "KonvertovaÅ¥ názov hostiteľa na IP adresu" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: ÄítaÅ¥ informácie o žánri (pomalé)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Doba Äakania po naladení kanálu (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Metóda streamovania" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Používateľské konto systému Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Heslo pre systém Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "PoužiÅ¥ RTSP streamovanie" + +msgctxt "#30040" +msgid "Connection" +msgstr "Pripojenie" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Prehrávanie" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "VaÅ¡a TVServerXBMC verzia '%s' je príliÅ¡ neaktuálna. Aktualizujte ju, prosím, na verziu '%s' alebo vyššiu!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "VaÅ¡a TVServerXBMC verzia je príliÅ¡ neaktuálna. Aktualizujte ju, prosím, na verziu '%s' alebo vyššiu!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "PoÄas prehrávania nahrávky nastala chyba. Prázdna URL adresa alebo názov súboru." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "VÅ¡etky karty sú zaneprázdnené" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Kanál je kódovaný" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Nebolo zistené žiadne video alebo audio" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Nebol zistený žiadny signál" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Neznáma chyba" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Nie je možné spustiÅ¥ graf" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Neznámy kanál" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Nie sú žiadne podrobnosti o ladení" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanál nie je namapovaný na žiadnu kartu" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Karta je vypnutá" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Pripojenie k zariadeniu zlyhalo" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Nie je vlastník" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Nastala chyba poÄas vytvárania grafu" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Chýba softvérový kodér" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Nie je voľné miesto na disku" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "NenaÅ¡la sa žiadna PMT tabuľka" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..01e7cae85 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Slovenian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Ime gostitelja Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Vrata vtiÄnika XBMC za Mediaportal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Samo brezplaÄni programi" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "VkljuÄi radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Hitro preklapljanje (ne ustavi timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "NajdaljÅ¡i Äas povezave (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Uvozi le TV programe iz skupine" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Uvozi le radijske programe iz skupine" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Pretvori ime gostitelja v IP naslov" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Preberi žanre (poÄasno)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "ÄŒakanje med preklopom programa (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Metoda pretakanja" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Uporabnik sistema Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Geslo sistema Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Uporabi pretakanje RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Povezava" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Predvajanje" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "VaÅ¡a razliÄica TVServerXBMC '%s' je prestara. Posodobite na '%s' ali novejÅ¡e!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "VaÅ¡a razliÄica TVServerXBMC je prestara. Posodobite na '%s' ali novejÅ¡e!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Predvajanje posnetka ni uspelo. Prazen URL ali ime datoteke." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Vse kartice so zasedene" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Program je kodiran" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Ni zaznanega zvoka ali slike" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Ni zaznanega signala" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Neznana napaka" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Ni mogoÄe zagnati grafa" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Neznan program" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Ni podrobnosti preklopa" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Program ni povezan z nobeno kartico" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Kartica je izkljuÄena" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Povezava ni uspela" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Niste lastnik" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Ni mogoÄe zgraditi grafa" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "ManjkajoÄ SW enkoder" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Ni veÄ prostora na disku" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "PMT ni mogoÄe najti" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..c31801bae --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nombre del servidor Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Puerto de plugin XBMC MediaPortal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Sólo transmisiones gratuitas (Free-to-air)" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Incluir Radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Cambio rápido de canales (No paran timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Límite de tiempo para conectar (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importar sólo canales de TV del grupo" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importar sólo canales de Radio del grupo" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Convertir nombre de host a dirección IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Leer cadenas de género (lento)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Tiempo de espera después de sintonizar un canal (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Método de transmisión" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Cuenta de usuario de Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Contraseña de Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Utilizar RTSP streaming" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexión" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reproducción" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Tu versión TVServerXBMC '%s' es demasiado antigua. ¡Por favor actualiza a '%s' o superior!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Tu versión TVServerXBMC es demasiado antigua. ¡Por favor actualiza a '%s' o superior!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Error en la reproducción de la grabación. URL vacía de nombre de archivo." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Todas las tarjetas están ocupadas" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Canal codificado" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Audio o video no detectado" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Ninguna señal detectada" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Error desconocido" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "No se puede iniciar el gráfico" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canal desconocido" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "No hay detalles de sintonización" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Canal no asignado a ninguna tarjeta" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Tarjeta deshabilitada" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Error de conexión al esclavo" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "No eres el propietario" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Error al construir los gráficos" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Falta codificador del SW" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "No hay espacio libre en disco" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "No PMT encontrado" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..738457c85 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Incluir Radio" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Usuario de cuenta de Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Contraseña de Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Usar streaming RTSP" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexión" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reproducir" + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Todas las tarjetas están ocupadas" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Vídeo o audio no detectado" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Señal no detectada" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Error desconocido" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "No es posible comenzar el gráfico" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canal desconocido" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "La tarjeta es deshabilitada" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Falta Encoder de SW" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "No hay espacio en el disco" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish/strings.po new file mode 100644 index 000000000..9ccefe311 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Spanish/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Nombre del servidor Mediaportal" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Puerto de plugin XBMC MediaPortal" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Sólo retransmisiones en abierto" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Incluir Radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Cambio rápido de canales (No para timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Límite de tiempo para conectar (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importar sólo grupos de canales de TV" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importar sólo grupos de canales de Radio" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Convertir nombre de host a dirección IP" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Leer cadenas de género (lento)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Tiempo de espera después de sintonizar un canal (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Método de transmisión" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Cuenta de usuario de Windows (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Contraseña de Windows (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Utilizar RTSP streaming" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexión" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Reproducción" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Su versión TVServerXBMC '%s' es demasiado antigua. ¡Por favor actualice a '%s' o superior!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Su versión TVServerXBMC es demasiado antigua. ¡Por favor actualice a '%s' o superior!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Error en la reproducción de la grabación. URL vacía de nombre de archivo." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Todas las tarjetas están ocupadas" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Canal codificado" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Audio o vídeo no detectado" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Ninguna señal detectada" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Error desconocido" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "No se puede iniciar el gráfico" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Canal desconocido" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "No hay detalles de sintonización" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Canal no asignado a ninguna tarjeta" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Tarjeta deshabilitada" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Error de conexión al esclavo" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "No eres el propietario" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Error al construir los gráficos" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Falta codificador SW" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "No hay espacio libre en disco" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "No PMT encontrado" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Swedish/strings.po new file mode 100644 index 000000000..41124f3d4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Swedish/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mediaportal Hostname" +msgstr "Mediaportalvärdnamn" + +msgctxt "#30001" +msgid "Mediaportal XBMC plugin Port" +msgstr "Mediaportal XBMC-tilläggsport" + +msgctxt "#30002" +msgid "Free-to-air only" +msgstr "Endast okodade kanaler" + +msgctxt "#30003" +msgid "Include Radio" +msgstr "Inkludera radio" + +msgctxt "#30004" +msgid "Fast channel switching (don't stop timeshift)" +msgstr "Snabbt kanalbyte (stoppa inte timeshift)" + +msgctxt "#30005" +msgid "Connect timeout (s)" +msgstr "Anslutningstimeout (s)" + +msgctxt "#30006" +msgid "Import only TV Channels from group" +msgstr "Importera endast TV-kanaler frÃ¥n grupp" + +msgctxt "#30007" +msgid "Import only Radio Channels from group" +msgstr "Importera endast radiokanaler frÃ¥n grupp" + +msgctxt "#30008" +msgid "Convert hostname to IP-adress" +msgstr "Konvertera värdnamn till IP-adress" + +msgctxt "#30009" +msgid "EPG: Read genre strings (slow)" +msgstr "EPG: Läs genresträngar (lÃ¥ngsamt)" + +msgctxt "#30010" +msgid "Wait time after tuning a channel (ms)" +msgstr "Väntetid efter inställning av kanal (ms)" + +msgctxt "#30015" +msgid "Streaming method" +msgstr "Strömningsmetod" + +msgctxt "#30016" +msgid "Windows user account (SMB)" +msgstr "Windowsanvändarnamn (SMB)" + +msgctxt "#30017" +msgid "Windows password (SMB)" +msgstr "Windowslösenord (SMB)" + +msgctxt "#30018" +msgid "Use RTSP streaming" +msgstr "Använd RTSP-strömning" + +msgctxt "#30040" +msgid "Connection" +msgstr "Anslutning" + +msgctxt "#30041" +msgid "MediaPortal" +msgstr "MediaPortal" + +msgctxt "#30042" +msgid "Playback" +msgstr "Uppspelning" + +msgctxt "#30050" +msgid "Your TVServerXBMC version '%s' is too old. Please upgrade to '%s' or higher!" +msgstr "Din TVServerXBMC version '%s' är för gammal. Uppgradera till '%s' eller nyare!" + +msgctxt "#30051" +msgid "Your TVServerXBMC version is too old. Please upgrade to '%s' or higher!" +msgstr "Din TVServerXBMC version är för gammal. Uppgradera till '%s' eller nyare!" + +msgctxt "#30052" +msgid "Recording playback failed. Empty URL of filename." +msgstr "Inspelning av uppspelning misslyckades. Tom URL eller filnamn." + +msgctxt "#30060" +msgid "All cards are busy" +msgstr "Alla kort är upptagna" + +msgctxt "#30061" +msgid "Channel is scrambled" +msgstr "Kanalen är krypterad" + +msgctxt "#30062" +msgid "No video or audio detected" +msgstr "Ingen bild eller ljud detekterad" + +msgctxt "#30063" +msgid "No signal detected" +msgstr "Ingen signal detekterad" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "Okänt fel" + +msgctxt "#30065" +msgid "Unable to start graph" +msgstr "Kunde inte starta graf" + +msgctxt "#30066" +msgid "Unknown channel" +msgstr "Okänd kanal" + +msgctxt "#30067" +msgid "No tuning details" +msgstr "Inga inställningsdetaljer" + +msgctxt "#30068" +msgid "Channel is not mapped to any card" +msgstr "Kanalen är inte mappad till nÃ¥got kort" + +msgctxt "#30069" +msgid "Card is disabled" +msgstr "Kort inaktiverat" + +msgctxt "#30070" +msgid "Connection to slave failed" +msgstr "Anslutning till slav misslyckades" + +msgctxt "#30071" +msgid "Not the owner" +msgstr "Inte ägare" + +msgctxt "#30072" +msgid "Graph building failed" +msgstr "Grafgenerering misslyckades" + +msgctxt "#30073" +msgid "SW Encoder missing" +msgstr "Mjukvaruavkodare saknas" + +msgctxt "#30074" +msgid "No free disk space" +msgstr "Inget ledigt diskutrymme" + +msgctxt "#30075" +msgid "No PMT found" +msgstr "Ingen PMT hittades" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Thai/strings.po new file mode 100644 index 000000000..b28575712 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Thai/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "เล่นเพลง" + +msgctxt "#30064" +msgid "Unknown error" +msgstr "ข้อผิดพลาดที่ไม่ทราบสาเหตุ" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Turkish/strings.po new file mode 100644 index 000000000..30d7e2e32 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Turkish/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "Oynatım" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..b27f9311d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/language/Ukrainian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MediaPortal PVR Client +# Addon id: pvr.mediaportal.tvserver +# Addon version: 1.6.7 +# Addon Provider: Marcel Groothuis +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30042" +msgid "Playback" +msgstr "ВідтвореннÑ" diff --git a/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/settings.xml new file mode 100644 index 000000000..6ff41b4cd --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mediaportal.tvserver/resources/settings.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/addon.xml b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/addon.xml new file mode 100644 index 000000000..56aad209b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/addon.xml @@ -0,0 +1,106 @@ + + + + + + + + + XBMC voorprogram vir MythTV (gebruik libcmyth) + XBMC frontend for MythTV (using libcmyth) + Rozhraní XBMC pro MythTV (používající libcmyth) + XBMC frontend til MythTV (bruger libcmyth) + XBMC's Zugang zu MythTV (benutzt libcmyth) + Frontend του XBMC για το MythTV (με χÏήση του libcmyth) + XBMC frontend for MythTV (using libcmyth) + Front-end de XBMC para MythTV (usando libcmyth) + Front-end de XBMC para MythTV (usando libcmyth) + XBMC frontend para MythTV (usando libmyth) + Applicatif XBMC pour MythTV (utilise libcmyth) + Interface de XBMC para MythTV (usando libcmyth) + ממשק משתמש XBMC לMythTV (משתמש בlibcmyth) + XBMC MythTV elÅ‘tér-kiszolgáló (libcmyth használatával) + Frontend di XBMC per MythTV (utilizzando libcmyth) + MythTV 用 XBMC フロントエンド (libcmyth 使用) + MythTV XBMC 프론트엔드 (libcmyth 사용) + XBMC sÄ…saja į MythTV (naudojant libcmyth) + XBMC Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° MythTV (Ñо кориÑтење libcmyth) + XBMC frontend voor MythTV (maakt gebruik van libcmyth) + Interfejs XBMC dla MythTV (przy użyciu libcmyth) + Frontend XBMC para MythTV (usando libcmyth) + XBMC frontend para MythTV (usando libcmyth) + Frontend XBMC pentru MythTV (folosind libcmyth) + ФронтÑнд XBMC Ð´Ð»Ñ MythTV (Ñ Ð¸Ñпользованием libcmyth) + XBMC rozhranie pre MythTV (používa knižnicu 'libcmyth') + XBMC-jev vmesnik za MythTV (z uporabo libcmyth) + XBMC gränssnitt till MythTV (via libcmyth) + XBMCçš„MythTVå‰ç«¯ï¼ˆä½¿ç”¨libcmyth) + MythTV voorprogram (tot MythTV 0.26). Ondersteun stroom van Lewendige TV & Opnames, luister na Radio kanale, EPG en Tydhouers. + MythTV frontend (up to MythTV 0.26). Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. + Rozhraní MythTV (do verze MythTV 0.26). Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia a EPG, a ÄasovaÄe. + MythTV frontend (op til MythTV 0.26) Understøtter streaming af Live TV & Optagelser, Radiokanaler, EPG samt tidsplaner. + MythTV Frontend (bis zu MythTV 0.26). Unterstützt das Streamen von Live TV & Aufnahmen, Hören von Radiokanälen, EPG und Timer. + Frontend για το MythTV (έως το MythTV 0.26). ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ακÏόαση Ραδιοφώνου, EPG και ΧÏονοδιακόπτες. + MythTV frontend (up to MythTV 0.26). Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. + Front-end de MythTV (hasta MythTV 0.26). Soporte de transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio, Guía Electrónica de Programas (EPG) y Temporizadores. + Front-end de MythTV (hasta MythTV 0.26). Soporte de transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio, Guía Electrónica de Programas (EPG) y Temporizadores. + Applicatif MythTV (jusqu'à la version 0.26). Permet la diffusion de la télévision en direct, des enregistrements, des stations de radios, ainsi que le guide des programmes et les minuteries. + Interface de MythTV (maior da MythTV 0.26). Compatíbel coa transmisión de TV ao vivo, gravacións e escoita de canles de Radio, EPG e temporizadores. + ממשק קדמי MythTV (עד MythTV 0.26). תומך בשידור ממשק טלוויזיה והקלטה, ×”××–× ×” לערוצי רדיו, לוח ×©×™×“×•×¨×™× ×•×ª×–×ž×•× ×™ הקלטה. + MythTV elÅ‘tér-kiszolgáló (MythTv 0.26 verzióig). ÉlÅ‘ adások, felvételek,és rádió adások sugárzásának támogatása EPG-vel és idÅ‘zítéssel. + Frontend MythTV (compatibile fino a MythTV 0.26). Supporta lo streaming di Live TV, le registrazioni, l'ascolto dei canali radio, EPG e i timer. + MythTV (ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 0.26 ã¾ã§) ã®ãƒ•ロントエンドã§ã™ã€‚ライブ TV ストリーミングã€éŒ²ç”»ã€ãƒ©ã‚¸ã‚ªæ”¾é€ã®è¦–è´ã€EPGã€ã‚¿ã‚¤ãƒžãƒ¼ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + MythTV 프론트엔드 (up to MythTV 0.26). ë¼ì´ë¸Œ TV 스트리ë°, 녹화, ë¼ë””오 ì±„ë„ ì²­ì·¨, EPG, 예약 ì§€ì›. + MythTV sÄ…saja (kelias iki MythTV 0.26). Palaiko duomenų srautams pritaikyta(-as) Live TV & Recordings + MythTV Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ (Ñе до MythTV 0.26). Подржува Ñтриминг на Live TV & Снимки, Ñлушање на радио канали, EPG и тајмери. + MythTV frontend (tot MythTV 0.26). Ondersteunt streaming van Live TV & opnames, luisteren naar radiokanalen, EPG en Timers. + Interfejs MythTV (do MythTV 0.26). ObsÅ‚uguje strumieniowe przesyÅ‚anie na żywo TV & nagraÅ„, sÅ‚uchanie kanałów radiowych, EPG i wyłączniki czasowe. + Frontend MythTV (até MythTV 0.26). Permite transmissão ao vivo de Live Tv e gravações, ouvir estações de rádio, EPG e temporizadores. + MythTV frontend (up para MythTV 0.26). Suporta streaming de TV ao Vivo & Gravações, Escutar canais de rádios, EPG e Agendamentos. + Frontend MythTV (până la MythTV 0.25). Suportă difuzare în flux a televiziunii în direct È™i a înregistrăriilor, ascultarea posturilor de radio, EPG È™i Cronometre. + ФронтÑнд MythTV (вплоть до MythTV 0.26). Поддерживает поточное ТВ и запиÑи, проÑлушивание радио-каналов, ЕПГ и таймеры. + MythTV rozhranie (až do verzie MythTV 0.26). Podporuje streamovanie živého TV vysielania a nahrávok, poÄúvanie rozhlasových kanálov, EPG a ÄasovaÄe. + Vmesnik za MythTV (do vkljuÄno MythTV 0.26). Podpira pretakanje televizije v živo & posnetkov, posluÅ¡anje radia, EPG in Äasovnike. + MythTV frontend (upp till MythTV 0.26). Stödjer strömmning av direktsänd TV & inspelningar, radiolyssning, EPG och timers. + MythTV å‰ç«¯ ( MythTV 0.26 åŠä¹‹åŽç‰ˆæœ¬) 。支æŒç›´æ’­ç”µè§†å’Œå½•åƒèŠ‚ç›®çš„æµåª’体转å‘,收å¬å¹¿æ’­é¢‘é“, 电å­èŠ‚ç›®è¡¨åŠå®šæ—¶å™¨åŠŸèƒ½ã€‚ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, vermorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects. + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Denne software er ustabil. Udviklerne er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, fejlagtige tidsindstillinger, spildte timer eller andre uhensigtsmæssigheder. + Dies ist instabile Software! Die Autoren sind in keiner Weise verantwortlich für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewünschte Effekte. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects. + ¡Este software es inestable! Los autores no son en ningún caso responsables por grabaciones fallidas, temporizadores incorrectos, horas desperdiciadas o cualquier otro efecto indeseable. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + Ce logiciel est en cours de développement. Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, minuteries erronées, temps perdu et autres effets indésirables. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Questo software è instabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timers incorretti, ore perse, o qualsiasi altro effetto indesiderato. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + 완성ë˜ì§€ ì•Šì€ ì†Œí”„íŠ¸ì›¨ì–´ìž…ë‹ˆë‹¤. 개발ìžëŠ” 녹화와 ì˜ˆì•½ì˜ ì‹¤íŒ¨, 시간 허비나 다른 ì˜ë„하지 ì•Šì€ ê²°ê³¼ì— ëŒ€í•œ ì±…ìž„ì„ ì§€ì§€ 않습니다. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsako už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt rekomenduoja/siÅ«lo testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Dit is onstabiele software! De auteurs zijn op geen enkele wijze verantwoordelijk voor mislukte opnames, timers, verspilde tijd of enig ander ongewild bijeffect. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce planowanie nagraÅ„, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não se responsabilizam por falhas nas gravações, temporizadores incorrectos, horas perdidas ou outro qualquer efeito não desejado... + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas dispendidas, ou quaisquer outro efeito indesejado. + Acest software nu este stabil! Autorii nu sunt responsabili în niciun caz pentru înregistrările eÈ™uate, cronometre incorecte, ore pierdute sau orice alt efect nedorit. + Это теÑÑ‚Ð¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут никакой ответÑтвенноÑти за иÑпорченные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ за прочие нежелательные Ñффекты. + Toto nie je stabilný software! Autori nie sú zodpovední za zlýhané nahrávky, nesprávne ÄasovaÄe, premrhané hodiny a iné nežiadúce efekty. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek. + Denna mjukvara är instabil! Utvecklarna är inte ansvariga för misslyckade inspelningar, felaktiga timers, bortkastade timmar eller nÃ¥gra andra olyckliga effekter. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/addon.xml.in b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/addon.xml.in new file mode 100644 index 000000000..c0d5a8628 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/addon.xml.in @@ -0,0 +1,106 @@ + + + + + + + + + XBMC voorprogram vir MythTV (gebruik libcmyth) + XBMC frontend for MythTV (using libcmyth) + Rozhraní XBMC pro MythTV (používající libcmyth) + XBMC frontend til MythTV (bruger libcmyth) + XBMC's Zugang zu MythTV (benutzt libcmyth) + Frontend του XBMC για το MythTV (με χÏήση του libcmyth) + XBMC frontend for MythTV (using libcmyth) + Front-end de XBMC para MythTV (usando libcmyth) + Front-end de XBMC para MythTV (usando libcmyth) + XBMC frontend para MythTV (usando libmyth) + Applicatif XBMC pour MythTV (utilise libcmyth) + Interface de XBMC para MythTV (usando libcmyth) + ממשק משתמש XBMC לMythTV (משתמש בlibcmyth) + XBMC MythTV elÅ‘tér-kiszolgáló (libcmyth használatával) + Frontend di XBMC per MythTV (utilizzando libcmyth) + MythTV 用 XBMC フロントエンド (libcmyth 使用) + MythTV XBMC 프론트엔드 (libcmyth 사용) + XBMC sÄ…saja į MythTV (naudojant libcmyth) + XBMC Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° MythTV (Ñо кориÑтење libcmyth) + XBMC frontend voor MythTV (maakt gebruik van libcmyth) + Interfejs XBMC dla MythTV (przy użyciu libcmyth) + Frontend XBMC para MythTV (usando libcmyth) + XBMC frontend para MythTV (usando libcmyth) + Frontend XBMC pentru MythTV (folosind libcmyth) + ФронтÑнд XBMC Ð´Ð»Ñ MythTV (Ñ Ð¸Ñпользованием libcmyth) + XBMC rozhranie pre MythTV (používa knižnicu 'libcmyth') + XBMC-jev vmesnik za MythTV (z uporabo libcmyth) + XBMC gränssnitt till MythTV (via libcmyth) + XBMCçš„MythTVå‰ç«¯ï¼ˆä½¿ç”¨libcmyth) + MythTV voorprogram (tot MythTV 0.26). Ondersteun stroom van Lewendige TV & Opnames, luister na Radio kanale, EPG en Tydhouers. + MythTV frontend (up to MythTV 0.26). Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. + Rozhraní MythTV (do verze MythTV 0.26). Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia a EPG, a ÄasovaÄe. + MythTV frontend (op til MythTV 0.26) Understøtter streaming af Live TV & Optagelser, Radiokanaler, EPG samt tidsplaner. + MythTV Frontend (bis zu MythTV 0.26). Unterstützt das Streamen von Live TV & Aufnahmen, Hören von Radiokanälen, EPG und Timer. + Frontend για το MythTV (έως το MythTV 0.26). ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ακÏόαση Ραδιοφώνου, EPG και ΧÏονοδιακόπτες. + MythTV frontend (up to MythTV 0.26). Supports streaming of Live TV & Recordings, listening to Radio channels, EPG and Timers. + Front-end de MythTV (hasta MythTV 0.26). Soporte de transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio, Guía Electrónica de Programas (EPG) y Temporizadores. + Front-end de MythTV (hasta MythTV 0.26). Soporte de transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio, Guía Electrónica de Programas (EPG) y Temporizadores. + Applicatif MythTV (jusqu'à la version 0.26). Permet la diffusion de la télévision en direct, des enregistrements, des stations de radios, ainsi que le guide des programmes et les minuteries. + Interface de MythTV (maior da MythTV 0.26). Compatíbel coa transmisión de TV ao vivo, gravacións e escoita de canles de Radio, EPG e temporizadores. + ממשק קדמי MythTV (עד MythTV 0.26). תומך בשידור ממשק טלוויזיה והקלטה, ×”××–× ×” לערוצי רדיו, לוח ×©×™×“×•×¨×™× ×•×ª×–×ž×•× ×™ הקלטה. + MythTV elÅ‘tér-kiszolgáló (MythTv 0.26 verzióig). ÉlÅ‘ adások, felvételek,és rádió adások sugárzásának támogatása EPG-vel és idÅ‘zítéssel. + Frontend MythTV (compatibile fino a MythTV 0.26). Supporta lo streaming di Live TV, le registrazioni, l'ascolto dei canali radio, EPG e i timer. + MythTV (ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 0.26 ã¾ã§) ã®ãƒ•ロントエンドã§ã™ã€‚ライブ TV ストリーミングã€éŒ²ç”»ã€ãƒ©ã‚¸ã‚ªæ”¾é€ã®è¦–è´ã€EPGã€ã‚¿ã‚¤ãƒžãƒ¼ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + MythTV 프론트엔드 (up to MythTV 0.26). ë¼ì´ë¸Œ TV 스트리ë°, 녹화, ë¼ë””오 ì±„ë„ ì²­ì·¨, EPG, 예약 ì§€ì›. + MythTV sÄ…saja (kelias iki MythTV 0.26). Palaiko duomenų srautams pritaikyta(-as) Live TV & Recordings + MythTV Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ (Ñе до MythTV 0.26). Подржува Ñтриминг на Live TV & Снимки, Ñлушање на радио канали, EPG и тајмери. + MythTV frontend (tot MythTV 0.26). Ondersteunt streaming van Live TV & opnames, luisteren naar radiokanalen, EPG en Timers. + Interfejs MythTV (do MythTV 0.26). ObsÅ‚uguje strumieniowe przesyÅ‚anie na żywo TV & nagraÅ„, sÅ‚uchanie kanałów radiowych, EPG i wyłączniki czasowe. + Frontend MythTV (até MythTV 0.26). Permite transmissão ao vivo de Live Tv e gravações, ouvir estações de rádio, EPG e temporizadores. + MythTV frontend (up para MythTV 0.26). Suporta streaming de TV ao Vivo & Gravações, Escutar canais de rádios, EPG e Agendamentos. + Frontend MythTV (până la MythTV 0.25). Suportă difuzare în flux a televiziunii în direct È™i a înregistrăriilor, ascultarea posturilor de radio, EPG È™i Cronometre. + ФронтÑнд MythTV (вплоть до MythTV 0.26). Поддерживает поточное ТВ и запиÑи, проÑлушивание радио-каналов, ЕПГ и таймеры. + MythTV rozhranie (až do verzie MythTV 0.26). Podporuje streamovanie živého TV vysielania a nahrávok, poÄúvanie rozhlasových kanálov, EPG a ÄasovaÄe. + Vmesnik za MythTV (do vkljuÄno MythTV 0.26). Podpira pretakanje televizije v živo & posnetkov, posluÅ¡anje radia, EPG in Äasovnike. + MythTV frontend (upp till MythTV 0.26). Stödjer strömmning av direktsänd TV & inspelningar, radiolyssning, EPG och timers. + MythTV å‰ç«¯ ( MythTV 0.26 åŠä¹‹åŽç‰ˆæœ¬) 。支æŒç›´æ’­ç”µè§†å’Œå½•åƒèŠ‚ç›®çš„æµåª’体转å‘,收å¬å¹¿æ’­é¢‘é“, 电å­èŠ‚ç›®è¡¨åŠå®šæ—¶å™¨åŠŸèƒ½ã€‚ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, vermorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects. + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Denne software er ustabil. Udviklerne er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, fejlagtige tidsindstillinger, spildte timer eller andre uhensigtsmæssigheder. + Dies ist instabile Software! Die Autoren sind in keiner Weise verantwortlich für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewünschte Effekte. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects. + ¡Este software es inestable! Los autores no son en ningún caso responsables por grabaciones fallidas, temporizadores incorrectos, horas desperdiciadas o cualquier otro efecto indeseable. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + Ce logiciel est en cours de développement. Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, minuteries erronées, temps perdu et autres effets indésirables. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Questo software è instabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timers incorretti, ore perse, o qualsiasi altro effetto indesiderato. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + 완성ë˜ì§€ ì•Šì€ ì†Œí”„íŠ¸ì›¨ì–´ìž…ë‹ˆë‹¤. 개발ìžëŠ” 녹화와 ì˜ˆì•½ì˜ ì‹¤íŒ¨, 시간 허비나 다른 ì˜ë„하지 ì•Šì€ ê²°ê³¼ì— ëŒ€í•œ ì±…ìž„ì„ ì§€ì§€ 않습니다. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsako už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt rekomenduoja/siÅ«lo testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Dit is onstabiele software! De auteurs zijn op geen enkele wijze verantwoordelijk voor mislukte opnames, timers, verspilde tijd of enig ander ongewild bijeffect. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce planowanie nagraÅ„, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não se responsabilizam por falhas nas gravações, temporizadores incorrectos, horas perdidas ou outro qualquer efeito não desejado... + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas dispendidas, ou quaisquer outro efeito indesejado. + Acest software nu este stabil! Autorii nu sunt responsabili în niciun caz pentru înregistrările eÈ™uate, cronometre incorecte, ore pierdute sau orice alt efect nedorit. + Это теÑÑ‚Ð¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут никакой ответÑтвенноÑти за иÑпорченные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ за прочие нежелательные Ñффекты. + Toto nie je stabilný software! Autori nie sú zodpovední za zlýhané nahrávky, nesprávne ÄasovaÄe, premrhané hodiny a iné nežiadúce efekty. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek. + Denna mjukvara är instabil! Utvecklarna är inte ansvariga för misslyckade inspelningar, felaktiga timers, bortkastade timmar eller nÃ¥gra andra olyckliga effekter. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/changelog.txt b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/changelog.txt new file mode 100644 index 000000000..9417e4b9a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/changelog.txt @@ -0,0 +1,38 @@ +v1.6.7 +- Updated language files from Transifex + +v1.6.6 +- Updated language files from Transifex + +v1.6.5 + +New version number by Team XBMC + +v0.5.0 +- Support MythTV 0.26 backends +- Allow Timer Deletion +- Support reconnecting to backend +- Reworked LiveTV (no more stops at show end, fixed USB tuner support) +- Performance improvements (adapted socket buffer sizes, removed unnecessary locks) +- Stability improvements + - Fixed crash on SetRecordingPlayCount and SetRecordingLastPlayedPosition + - Fixed crash when addon was restarted + - Fixed crash when backend connection was lost + - Fixed memory leaks in libcmyth +- Show correct start/end time in recordings- and timer view + +v0.4.0 +- OSX support + +v0.3.0 +- Transifex localizations +- Support for recording images (icon, thumbnail, fanart) +- Fixed: Preview images of new recordings were not cached + +v0.2.0 +- Added setting to enable / disable Live TV support (disbale to use the addon only for watching recordings) + +v0.1.0 +- Initial version based on Tonny Pettersen's work +- Supports Live TV & Recordings, listening to Radio channels, EPG and Timer +- Supports setting / reading resume bookmarks and watched state on MythTV backend diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/icon.png b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/icon.png new file mode 100644 index 000000000..821f8c5c8 Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..c7cc0effc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Afrikaans/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV Agterkant Gasheernaam of IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV Agterkant Poort" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV Databasis Gebruikernaam" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV Databasis Wagwoord" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV Databasis Databasisnaam" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Sluit meer ontfoutings inligting in log lêer in" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Stel Lewendige TV in staat" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Laat Lewendige TV toe om geskeduleerde vertonings te skuif" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..2ffc58818 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Belarusian/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV Backend Hostname or IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV Backend Port" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV Database Username" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Пароль да базы зьвеÑтак MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV Database Databasename" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Include more debug information in the log file" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Enable Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Allow Live TV to move scheduled shows" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Catalan/strings.po new file mode 100644 index 000000000..8fc0e65a3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Catalan/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Activa la televisió en directe" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..b18314150 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTVåŽç«¯ä¸»æœºå或IP地å€" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTVåŽç«¯ç«¯å£" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTVæ•°æ®åº“用户å" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTVæ•°æ®åº“密ç " + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTVæ•°æ®åº“库å" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "log文件记录更多调试信æ¯" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "å¯ç”¨ç›´æ’­ç”µè§†" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "å…许直播电视移动预定节目" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Czech/strings.po new file mode 100644 index 000000000..c74d99cf6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Czech/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Název poÄítaÄe, nebo IP adresa podpůrné vrstvy MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Port podpůrné vrstvy MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Uživatelské jméno databáze MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Heslo databáze MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Název databáze MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Vkládat více ladících informací do souboru záznamu" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Povolit Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Povolit Live TV pÅ™esovat naplánované poÅ™ady" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Danish/strings.po new file mode 100644 index 000000000..45c01de8c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Danish/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV Backend værtsnavn eller IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV Backend port" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV Database brugernavn" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV Database adgangskode" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV database databasenavn" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Tilføj mere debug-information i logfilen" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Aktiver TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Tillad direkte TV at flytte planlagte programmer" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Dutch/strings.po new file mode 100644 index 000000000..0b97a57f2 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Dutch/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV Backend hostnaam of IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV Backend poort" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV Database Gebruikersnaam" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV Database Wachtwoord" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV Database Databasenaam" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Voeg meer debug-informatie toe aan het logbestand." + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Zet Live TV aan" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Live TV toestaan geplande opnamen te verplaatsen" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/English/strings.po new file mode 100644 index 000000000..2e592dc32 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/English/strings.po @@ -0,0 +1,51 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +# Settings labels +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Finnish/strings.po new file mode 100644 index 000000000..b0e02e89e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Finnish/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV-taustaosan konenimi tai IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV-taustaosan portti" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV-tietokannan käyttäjänimi" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV-tietokannan salasana" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV-tietokannan tietokantanimi" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/French/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/French/strings.po new file mode 100644 index 000000000..9dc6ef017 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/French/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Nom d'hôte de traitement MythTV ou IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Port de traitement MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Nom d'utilisateur de base de données MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Mot de passe de base de données MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nom de la base de données MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Renseigner en détails le journal des évènements" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Activer le direct télévision" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Autorise le direct télévision à modifier la planification des programmes" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Galician/strings.po new file mode 100644 index 000000000..947904cc1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Galician/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Nome do host ou IP do motor de MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Porto do motor de MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Nome de usuario da Base de datos de MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Contrasinal da Base de datos de MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nome da Base de datos de MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Incluír máis información de depuración no ficheiro de rexistro" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Habilitar TV ao vivo" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Permitir á TV ao vivo mover as series programadas." diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/German/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/German/strings.po new file mode 100644 index 000000000..4cbfd6755 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/German/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV Backend Hostname oder IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV Backend Port" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV Datenbank Benutzername" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV Datenbank Passwort" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV Datenbank Datenbankname" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Schreibe ausführliche Debug-Informationen in die Logdatei" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Aktiviere Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Erlaube Live TV geplante Aufnahmen zu verschieben" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Greek/strings.po new file mode 100644 index 000000000..4333c9392 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Greek/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Όνομα Υπολογιστή ή IP του Backend MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "ΘÏÏα του Backend MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Όνομα ΧÏήστη της Βάσης Δεδομένων του MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Κωδικός της Βάσης Δεδομένων του MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Όνομα της Βάσης Δεδομένων του MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "ΠεÏισσότεÏες πληÏοφοÏίες από τον εντοπισμό σφαλμάτων στο αÏχείο καταγÏαφής" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "ΕνεÏγοποίηση Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Îα επιτÏέπεται στο Live TV να μετακινεί Ï€ÏογÏαμματισμένες εκπομπές" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..45d8b88ff --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Hebrew/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "×©× ×ž×ž×©×§ ×חורי ×ו כתובת IP של שרת MythTV " + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "פורט של ממשק ×חורי MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "×©× ×ž×©×ª×ž×© לבסיס המידע של שרת MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "סיסמה לבסיס המידע של שרת MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "×©× ×‘×¡×™×¡ המידע של שרת MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "כלול מידע תקלות נוסף בקובץ הרישו×" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "×פשר ממשק טלוויזיה " + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "×פשר לממשק טלוויזיה להזיז תכניות מתוזמנות" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..cb8486b61 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Hungarian/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV háttér-kiszolgáló Kiszolgálónév vagy IP cím " + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV háttér-kiszolgáló port" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV adatbázis felhasználónév" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV adatbázis jelszó" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV adatbázis név" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Többletinformáció írása a naplóba" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "ÉlÅ‘ TV engedélyezése" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Az ÉlÅ‘ TV elmozdíthatja az ütemezett műsorokat" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Italian/strings.po new file mode 100644 index 000000000..6b2c9928d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Italian/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Hostname o indirizzo IP per il pannello di amministrazione di MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Porta del pannello di amministrazione di MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Username del database di MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Password del database di MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nome del database di MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Includi maggiori informazioni di debug nel file di log" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Attiva la TV Live" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Consenti a TV Live di spostare gli spettacoli programmati" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Japanese/strings.po new file mode 100644 index 000000000..43062b0b6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Japanese/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®ãƒ›ã‚¹ãƒˆåã¾ãŸã¯IPアドレス" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã®ãƒãƒ¼ãƒˆç•ªå·" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV データベースã®ãƒ¦ãƒ¼ã‚¶å" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV データベースã®ãƒ‘スワード" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV データベースå" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›´ã«è©³ã—ã„デãƒãƒƒã‚°æƒ…報をå«ã‚ã‚‹" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Live TV を有効ã«" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Korean/strings.po new file mode 100644 index 000000000..bb0e7b5c0 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Korean/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV 백엔드 호스트네임 ë˜ëŠ” IP 주소" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV 백엔드 í¬íЏ" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV ë°ì´í„°ë² ì´ìФ 사용ìžëª…" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV ë°ì´í„°ë² ì´ìФ 비밀번호" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV ë°ì´í„°ë² ì´ìФ ë°ì´í„°ë² ì´ìŠ¤ëª…" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "로그파ì¼ì— 추가 디버그 ì •ë³´ í¬í•¨" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "ë¼ì´ë¸Œ TV 사용" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "ë¼ì´ë¸Œ TVê°€ ì˜ˆì•½ëœ í”„ë¡œê·¸ëž¨ì„ ì´ë™í•˜ë„ë¡ í—ˆìš©" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..1acb88402 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Lithuanian/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV galinÄ—s sÄ…sajos serverio pavadinimas arba IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV galinÄ—s sÄ…sajos portas" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV galinÄ—s sÄ…sajos naudotojo vardas" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV galinÄ—s sÄ…sajos slaptažodis" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV galinÄ—s sÄ…sajos duomenų bazÄ—s pavadinimas" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Ä®traukti derinimo informacijÄ… žurnalo faile" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Ä®galinti Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Leisti Live TV perkelti į oficialų sÄ…rašą rodymui/naudojimui" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..0a80be1e5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Macedonian/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV Backend Hostname или IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV Backend Port" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV Database КориÑничко име" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV Database Лозинка" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV Database име на база на податоци" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Вклучи повеѓе дебаг информации во лог папката" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Овозможи Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Дозволи Live TV да премеÑтува планирани шоуа" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Polish/strings.po new file mode 100644 index 000000000..e88c93de4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Polish/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "IP lub nazwa hosta serwera MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Port serwera MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Nazwa użytkownika do bazy danych MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "HasÅ‚o do bazy danych MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nazwa bazy danych MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Umieść wiÄ™cej szczegółowych informacji w logach (debug)" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Włącz TV na żywo" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Pozwól TV na żywo na przesuwanie zaplanowanych programów" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..29454bad3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV Backend Hostname ou IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV Backend Porta" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV Database Usuário" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV Database Senha" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV Database Nome do DataBase" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Incluir mais debug informações no arquivo de log" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Ativar TV ao Vivo" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Permitir TV ao Vivo mover-se para programação agendada" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..c398709ff --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Portuguese/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Nome do servidor ou IP da Backend MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Porta da Backend MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Nome Utilizador da Base de Dados MythTV " + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Palavra-passe da Base de Dados MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nome da base de dados MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Incluir mais informação de depuração no ficheiro de log" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Activar TV em Directo" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Permitir que TV em Directo mova programas agendados" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Romanian/strings.po new file mode 100644 index 000000000..9c5466e6f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Romanian/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Nume gazdă sau IP pentru backend MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Port backend MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Utilizator bază de date MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Parolă bază de date MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nume bază de date MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Include mai multe informaÈ›ii de depanare în fiÈ™ierul jurnal" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Activează Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Permite Live TV să mute serialele planificate" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Russian/strings.po new file mode 100644 index 000000000..329a0fe54 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Russian/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Ð˜Ð¼Ñ Ñ…Ð¾Ñта бÑк-Ñнда MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Порт бÑк-Ñнда MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Пароль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Ðазвание базы данных MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Включить в лог-файл отладочную информацию" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Включить Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Разрешить Live TV переключатьÑÑ Ð½Ð° запланированные шоу" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Slovak/strings.po new file mode 100644 index 000000000..d961c8ad3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Slovak/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Názov hostiteľa alebo IP addresa MythTV backendu" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "SieÅ¥ový port MythTV backendu" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Používateľské meno MythTV databázy" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Heslo používateľa MythTV databázy" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Názov databázy MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Zahrnúť viac ladiacich informácií do denníka" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "PovoliÅ¥ Live TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "UmožniÅ¥ Live TV rozhraniu presunúť plánované relácie" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..c4af137de --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Slovenian/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Ime gostitelja ali IP hrbtenice MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Vrata hrbtenice MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "UporabniÅ¡ko ime baze MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Geslo baze MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Ime baze MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "VkljuÄi veÄ razhroÅ¡Äevalnih informacij v zapisniku" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "VkljuÄi TV v živo" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Dovoli TV v živo, da premika nastavljena snemanja" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..61c41fa65 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Hostname o IP del Back-end the MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Puerto del Back-end de MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Usuario de la Base de Datos de MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Contraseña de la Base de Datos de MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nombre de la Base de Datos de MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Incluir mas información de depuración en el archivo de log" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Activar TV en Vivo" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Permitir a la TV en Vivo cambiar los eventos programados" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..8e118f00c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Nombre del host o IP del backend de MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Puerto del Backend de MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Usuario BD MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Contraseña BD MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nombre BD MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Incluir mayor información en el archivo de log" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Activar TV en vivo" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Permitir TV en vivo mover shows programados" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish/strings.po new file mode 100644 index 000000000..9b479b19b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Spanish/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "Hostname o IP del Back-end the MythTV" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "Puerto del Back-end de MythTV" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "Usuario de la Base de Datos de MythTV" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "Contraseña de la Base de Datos de MythTV" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "Nombre de la Base de Datos de MythTV" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Incluir mas información de depuración en el archivo de log" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Activar TV en Vivo" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "Permitir a la TV en Vivo cambiar los eventos programados" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Swedish/strings.po new file mode 100644 index 000000000..410942675 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/language/Swedish/strings.po @@ -0,0 +1,50 @@ +# XBMC Media Center language file +# Addon Name: MythTV cmyth PVR Client +# Addon id: pvr.mythtv.cmyth +# Addon version: 1.6.7 +# Addon Provider: Christian Fetzer, Jean-Luc Barrière, Tonny Petersen +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "MythTV Backend Hostname or IP" +msgstr "MythTV backend värdnamn eller IP" + +msgctxt "#30001" +msgid "MythTV Backend Port" +msgstr "MythTV backend port" + +msgctxt "#30002" +msgid "MythTV Database Username" +msgstr "MythTV databasanvändarnamn" + +msgctxt "#30003" +msgid "MythTV Database Password" +msgstr "MythTV databaslösenord" + +msgctxt "#30004" +msgid "MythTV Database Databasename" +msgstr "MythTV databasnamn" + +msgctxt "#30005" +msgid "Include more debug information in the log file" +msgstr "Inkludera mer debugginformation i loggfilen" + +msgctxt "#30006" +msgid "Enable Live TV" +msgstr "Aktivera direktsänd TV" + +msgctxt "#30007" +msgid "Allow Live TV to move scheduled shows" +msgstr "TillÃ¥t direktsänd TV att flytta schemalagda program" diff --git a/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/settings.xml new file mode 100644 index 000000000..aac2c7edc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.mythtv.cmyth/resources/settings.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/addon.xml b/usr/local/share/xbmc/addons/pvr.nextpvr/addon.xml new file mode 100644 index 000000000..430c91072 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/addon.xml @@ -0,0 +1,112 @@ + + + + + + + + + XBMC voorprogram vir die NextPVR + XBMC frontend for the NextPVR + Frontal XBMC pel NextPVR + Rozhraní XBMC pro NextPVR + XBMC frontend til NextPVR + XBMC-Frontend für NextPVR + Frontend του XBMC για το NextPVR + XBMC frontend for the NextPVR + Front-end de XBMC para NextPVR + Front-end de XBMC para NextPVR + XBMC esi NextPVR'ile + Applicatif XBMC pour l'enregistreur NextPVR + Interface de XBMC para NextPVR + ממשק קדמי XBMC עבור NextPVR + XBMC NextPVR elÅ‘tér-kiszolgáló + Frontend XBMC per NextPVR + NextPVR 用 XBMC フロントエンド + NextPVRì„ ìœ„í•œ XBMC 프론트엔드 + XBMC sÄ…saja dÄ—l/su NextPVR + XBMC Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° NextPVR + XBMC frontend voor de NextPVR + Interfejs XBMC dla NextPVR + Frontend XBMC para NextPVR + XBMC Frontend para o NextPVR + InterfaÈ›a XBMC pentru NextPVR + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ NextPVR + XBMC rozhranie pre NextPVR + XBMC-jev vmesnik za NextPVR + XBMC-frontend för NextPVR + XBMCçš„NextPVRå‰ç«¯ + NextPVR voorprogram. Ondersteun stroom van Lewendige TV & Opnames, luister na Radio kanale en EPG. + NextPVR frontend. Supports streaming of Live TV & Recordings, listening to Radio channels and EPG. + Frontal NextPVR. Suporta fluxes de TV en directe i enregistraments, escoltes de ràdiio i EPG. + Rozhraní NextPVR. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia a EPG. + NextPVR frontend; understøtter streaming af TV og Optagelser, Radiokanaler og EPG. + Erlaubt die Wiedergabe von Live TV und Aufnahmen mittels NextPVR auf XBMC. Desweiteren werden Radio-Kanäle und EPG unterstützt. + Frontend για το NextPVR. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ακÏόαση Ραδιοφώνου και EPG. + NextPVR frontend. Supports streaming of Live TV & Recordings, listening to Radio channels and EPG. + Front-end de NextPVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio y Guía Electrónica de Programas (EPG). + Front-end de NextPVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio y Guía Electrónica de Programas (EPG). + NextPVR esi. Toetab telekanalite striimimist ja salvestamist, raadio kuulamist ja elektroonilist saatekava. + Applicatif XBMC pour NextPVR. Supporte la lecture en continu de direct TV et l'enregistrement, l'écoute de radios et les guides de programmes. + Interface de NextPVR. Compatíbel coa transmisión de TV ao vivo, gravacións e escoita de canles de radio e EPG. + ממשק קדמי NextPVR.תומך ×‘×©×™×“×•×¨×™× ×—×™×™× ×•×”×§×œ×˜×•×ª של טלוויזיה ורדיו ולוחות ×©×™×“×•×¨×™× + NextPVR elÅ‘tér-kiszolgáló. ÉlÅ‘ adások, felvételek és rádió csatornák sugárzásának támogatása EPG-vel + Frontend NextPVR. Supporta lo streaming di Live TV, le registrazioni, l'ascolto dei canali radio e l'EPG. + NextPVR フロントエンドã§ã™ã€‚Live TV や録画番組ã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°ã€ãƒ©ã‚¸ã‚ªãƒãƒ£ãƒ³ãƒãƒ«ã®è¦–è´ã€EPG をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + NextPVR 프론트엔드. ë¼ì´ë¸Œ TV 스트리ë°ê³¼ 녹화, ë¼ë””오 ì²­ì·¨, EPG를 ì§€ì›í•©ë‹ˆë‹¤. + NextPVR sÄ…saja remia transliacijos Live TV & Ä®raÅ¡us, klausytis radijo kanalus per EPG + NextPVR интерфејÑ. Подржува Ñтриминг на Live TV и Ñнимања, Ñлушање радио канали и ЕПГ + NextPVR frontend. Ondersteunt streaming van Live TV & Recordings, het luisteren naar Radio kanalen en EPG. + Warstwa prezentacji NextPVR. Wspiera strumieniowanie TV na żywo i nagrywanie, sÅ‚uchanie radia oraz EPG. + Frontend NextPVR. Suporta transmissão de Live TV e Gravações, ouvir estações de Rádio e EPG. + NextPVR Frontend. Suporta streaming de TV ao Vivo e Gravações, ouvir canais de rádio e EPG. + InterfaÈ›a NextPVR. Suporta streaming Live TV, inregistrari, radio È™i gid electronic de programe + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ NextPVR. Поддерживает проÑмотр и запиÑÑŒ ТВ, проÑлушивание радио и EPG. + NextPVR rozhranie. Podporuje streamovanie živého televízneho vysielania a nahrávok, poÄúvanie rozhlasových kanálov a EPG. + Vmesnik za NextPVR; podpira pretakanje televizije v živo & posnetkov, posluÅ¡anje radia in EPG. + NextPVR-frontend. Stödjer strömning av direktsänd TV & inspelningar, lyssna pÃ¥ radiokanaler och EPG. + Tvheadendå‰ç«¯ï¼Œæ”¯æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•åˆ¶ã€æ”¶å¬ç”µå°å’Œç”µå­èŠ‚ç›®å• + Hierdie is werk in vordering. Gebruik op jou eie risiko. + This is a work in progress. Use at your own risk. + Això és un treball en curs. Utilitzau baix la vostra responsabilitat. + Práce na tomto rozhraní stále probíhají. Používejte na vlastní nebezpeÄí. + Dette er igangværende arbejde. Brug pÃ¥ eget ansvar. + Befindet sich noch in Entwicklung. Benutzung auf eigene Gefahr! + ΈÏγο υπό ανάπτυξη. ΧÏησιμοποιήστε το Ï…Ï€' ευθÏνη σας. + This is a work in progress. Use at your own risk. + Este es un trabajo en desarrollo. Úsalo bajo tu responsabilidad. + Este es un trabajo en desarrollo. Usarlo bajo propio riesgo. + Este es un trabajo en curso. Úsalo bajo tu propio riesgo. + See on pooleliolev töö. Kasutada omal vastutusel. + Logiciel en cours d'élaboration. À utiliser à vos risques et périls. + Aínda se está no desenvolvemento. Usar baixo o seu propio risco. + פרויקט ×–×” הנו בתהליך מתמשך.השתמש על ×חריותך בלבד. + Fejlesztés alatt! A saját felelÅ‘sségére használja! + Questo è un lavoro in corso d'opera. Utilizzalo a tuo rischio e pericolo. + ã“れã¯ç¾åœ¨é–‹ç™ºä¸­ã®ãƒ—ログラムã§ã™ã€‚利用ã¯è‡ªå·±è²¬ä»»ã§ãŠé¡˜ã„ã—ã¾ã™ã€‚ + ì•„ì§ ê°œë°œ 진행중입니다. 부족한 ë¶€ë¶„ì´ ìžˆì„ ìˆ˜ 있습니다. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е работа која Ñе извршува. КориÑти на ÑопÑтвен ризик. + Hier wordt aan gewerkt, Gebruik op eigen risico. + Ten projekt jest w trakcie realizacji. Używasz na wÅ‚asne ryzyko. + Isto é um projecto em curso. Use-o por sua conta e risco. + Este é um trabalho em progresso. Use a seu próprio risco + Această este un proiect în lucru. UtilizaÈ›i pe propriul risc. + Разработка программы не окончена. ИÑпользуйте на Ñвой Ñтрах и риÑк. + Práca na tomto rozhraní stále prebieha. Používajte ho preto na vlastné riziko. + Dodatek je Å¡e v izdelavi. Uporaba na lastno odgovornost. + Detta är ett pÃ¥gÃ¥ende arbete. Använd pÃ¥ egen risk. + æ­¤æ’ä»¶ä»åœ¨å¼€å‘中,请自行把æ¡è¯•用风险。 + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/addon.xml.in b/usr/local/share/xbmc/addons/pvr.nextpvr/addon.xml.in new file mode 100644 index 000000000..cfb8004dc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/addon.xml.in @@ -0,0 +1,112 @@ + + + + + + + + + XBMC voorprogram vir die NextPVR + XBMC frontend for the NextPVR + Frontal XBMC pel NextPVR + Rozhraní XBMC pro NextPVR + XBMC frontend til NextPVR + XBMC-Frontend für NextPVR + Frontend του XBMC για το NextPVR + XBMC frontend for the NextPVR + Front-end de XBMC para NextPVR + Front-end de XBMC para NextPVR + XBMC esi NextPVR'ile + Applicatif XBMC pour l'enregistreur NextPVR + Interface de XBMC para NextPVR + ממשק קדמי XBMC עבור NextPVR + XBMC NextPVR elÅ‘tér-kiszolgáló + Frontend XBMC per NextPVR + NextPVR 用 XBMC フロントエンド + NextPVRì„ ìœ„í•œ XBMC 프론트엔드 + XBMC sÄ…saja dÄ—l/su NextPVR + XBMC Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° NextPVR + XBMC frontend voor de NextPVR + Interfejs XBMC dla NextPVR + Frontend XBMC para NextPVR + XBMC Frontend para o NextPVR + InterfaÈ›a XBMC pentru NextPVR + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC Ð´Ð»Ñ NextPVR + XBMC rozhranie pre NextPVR + XBMC-jev vmesnik za NextPVR + XBMC-frontend för NextPVR + XBMCçš„NextPVRå‰ç«¯ + NextPVR voorprogram. Ondersteun stroom van Lewendige TV & Opnames, luister na Radio kanale en EPG. + NextPVR frontend. Supports streaming of Live TV & Recordings, listening to Radio channels and EPG. + Frontal NextPVR. Suporta fluxes de TV en directe i enregistraments, escoltes de ràdiio i EPG. + Rozhraní NextPVR. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia a EPG. + NextPVR frontend; understøtter streaming af TV og Optagelser, Radiokanaler og EPG. + Erlaubt die Wiedergabe von Live TV und Aufnahmen mittels NextPVR auf XBMC. Desweiteren werden Radio-Kanäle und EPG unterstützt. + Frontend για το NextPVR. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ακÏόαση Ραδιοφώνου και EPG. + NextPVR frontend. Supports streaming of Live TV & Recordings, listening to Radio channels and EPG. + Front-end de NextPVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio y Guía Electrónica de Programas (EPG). + Front-end de NextPVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio y Guía Electrónica de Programas (EPG). + NextPVR esi. Toetab telekanalite striimimist ja salvestamist, raadio kuulamist ja elektroonilist saatekava. + Applicatif XBMC pour NextPVR. Supporte la lecture en continu de direct TV et l'enregistrement, l'écoute de radios et les guides de programmes. + Interface de NextPVR. Compatíbel coa transmisión de TV ao vivo, gravacións e escoita de canles de radio e EPG. + ממשק קדמי NextPVR.תומך ×‘×©×™×“×•×¨×™× ×—×™×™× ×•×”×§×œ×˜×•×ª של טלוויזיה ורדיו ולוחות ×©×™×“×•×¨×™× + NextPVR elÅ‘tér-kiszolgáló. ÉlÅ‘ adások, felvételek és rádió csatornák sugárzásának támogatása EPG-vel + Frontend NextPVR. Supporta lo streaming di Live TV, le registrazioni, l'ascolto dei canali radio e l'EPG. + NextPVR フロントエンドã§ã™ã€‚Live TV や録画番組ã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°ã€ãƒ©ã‚¸ã‚ªãƒãƒ£ãƒ³ãƒãƒ«ã®è¦–è´ã€EPG をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ + NextPVR 프론트엔드. ë¼ì´ë¸Œ TV 스트리ë°ê³¼ 녹화, ë¼ë””오 ì²­ì·¨, EPG를 ì§€ì›í•©ë‹ˆë‹¤. + NextPVR sÄ…saja remia transliacijos Live TV & Ä®raÅ¡us, klausytis radijo kanalus per EPG + NextPVR интерфејÑ. Подржува Ñтриминг на Live TV и Ñнимања, Ñлушање радио канали и ЕПГ + NextPVR frontend. Ondersteunt streaming van Live TV & Recordings, het luisteren naar Radio kanalen en EPG. + Warstwa prezentacji NextPVR. Wspiera strumieniowanie TV na żywo i nagrywanie, sÅ‚uchanie radia oraz EPG. + Frontend NextPVR. Suporta transmissão de Live TV e Gravações, ouvir estações de Rádio e EPG. + NextPVR Frontend. Suporta streaming de TV ao Vivo e Gravações, ouvir canais de rádio e EPG. + InterfaÈ›a NextPVR. Suporta streaming Live TV, inregistrari, radio È™i gid electronic de programe + Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ NextPVR. Поддерживает проÑмотр и запиÑÑŒ ТВ, проÑлушивание радио и EPG. + NextPVR rozhranie. Podporuje streamovanie živého televízneho vysielania a nahrávok, poÄúvanie rozhlasových kanálov a EPG. + Vmesnik za NextPVR; podpira pretakanje televizije v živo & posnetkov, posluÅ¡anje radia in EPG. + NextPVR-frontend. Stödjer strömning av direktsänd TV & inspelningar, lyssna pÃ¥ radiokanaler och EPG. + Tvheadendå‰ç«¯ï¼Œæ”¯æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•åˆ¶ã€æ”¶å¬ç”µå°å’Œç”µå­èŠ‚ç›®å• + Hierdie is werk in vordering. Gebruik op jou eie risiko. + This is a work in progress. Use at your own risk. + Això és un treball en curs. Utilitzau baix la vostra responsabilitat. + Práce na tomto rozhraní stále probíhají. Používejte na vlastní nebezpeÄí. + Dette er igangværende arbejde. Brug pÃ¥ eget ansvar. + Befindet sich noch in Entwicklung. Benutzung auf eigene Gefahr! + ΈÏγο υπό ανάπτυξη. ΧÏησιμοποιήστε το Ï…Ï€' ευθÏνη σας. + This is a work in progress. Use at your own risk. + Este es un trabajo en desarrollo. Úsalo bajo tu responsabilidad. + Este es un trabajo en desarrollo. Usarlo bajo propio riesgo. + Este es un trabajo en curso. Úsalo bajo tu propio riesgo. + See on pooleliolev töö. Kasutada omal vastutusel. + Logiciel en cours d'élaboration. À utiliser à vos risques et périls. + Aínda se está no desenvolvemento. Usar baixo o seu propio risco. + פרויקט ×–×” הנו בתהליך מתמשך.השתמש על ×חריותך בלבד. + Fejlesztés alatt! A saját felelÅ‘sségére használja! + Questo è un lavoro in corso d'opera. Utilizzalo a tuo rischio e pericolo. + ã“れã¯ç¾åœ¨é–‹ç™ºä¸­ã®ãƒ—ログラムã§ã™ã€‚利用ã¯è‡ªå·±è²¬ä»»ã§ãŠé¡˜ã„ã—ã¾ã™ã€‚ + ì•„ì§ ê°œë°œ 진행중입니다. 부족한 ë¶€ë¶„ì´ ìžˆì„ ìˆ˜ 있습니다. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е работа која Ñе извршува. КориÑти на ÑопÑтвен ризик. + Hier wordt aan gewerkt, Gebruik op eigen risico. + Ten projekt jest w trakcie realizacji. Używasz na wÅ‚asne ryzyko. + Isto é um projecto em curso. Use-o por sua conta e risco. + Este é um trabalho em progresso. Use a seu próprio risco + Această este un proiect în lucru. UtilizaÈ›i pe propriul risc. + Разработка программы не окончена. ИÑпользуйте на Ñвой Ñтрах и риÑк. + Práca na tomto rozhraní stále prebieha. Používajte ho preto na vlastné riziko. + Dodatek je Å¡e v izdelavi. Uporaba na lastno odgovornost. + Detta är ett pÃ¥gÃ¥ende arbete. Använd pÃ¥ egen risk. + æ­¤æ’ä»¶ä»åœ¨å¼€å‘中,请自行把æ¡è¯•用风险。 + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/changelog.txt b/usr/local/share/xbmc/addons/pvr.nextpvr/changelog.txt new file mode 100644 index 000000000..c5648cc92 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/changelog.txt @@ -0,0 +1,22 @@ +v1.6.4 + +- small change to improve the performance of radio channels + +v1.6.3 +- updated language files from Transifex + +v1.6.2 +- updated language files from Transifex + +v1.6.0 +- New version number by Team XBMC + +v1.0.1.0 +- added: new experimental timeshift support. This requires updated backend components, otherwise falls back to previous non-timeshift live tv. +- added: new 'advanced' settings page where timeshift can be enabled/disabled. +- added: radio support, mainly to workaround an XBMC channel group bug. +- changed: now using XBMC curl abstraction for HTTP requests +- added: detection of live tv having to exit if tuner was required for a recording. Shows user a notification message when this was required. + +v1.0.0.0 +- Created diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/icon.png b/usr/local/share/xbmc/addons/pvr.nextpvr/icon.png new file mode 100644 index 000000000..f4229766b Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.nextpvr/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..b23061102 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Afrikaans/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR Gasheernaam" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR Poort (gewoonlik 8866 of 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PinKode" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Stel Tydskuif met Lewendige TV in staat" + +msgctxt "#30040" +msgid "Connection" +msgstr "Konneksie" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Gevorderde" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR bediener is te oud." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Opgradeer na '%s' of hoër!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Konneksie het gefaal. Verkeerde PIN?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Instemmer nie meer beskikbaar" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Amharic/strings.po new file mode 100644 index 000000000..d8d0330c8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Amharic/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30040" +msgid "Connection" +msgstr "áŒáŠ•áŠ™áŠá‰µ " + +msgctxt "#30041" +msgid "Advanced" +msgstr "የረቀቀ" + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "ማሻሻያ ወደ '%s' ወይንሠከáተኛ!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "áŒáŠ•áŠ™áŠá‰± አáˆá‰°áˆ³áŠ«áˆ á‹¨á‰°áˆ³áˆ³á‰° PIN?" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Arabic/strings.po new file mode 100644 index 000000000..f6fb30651 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Arabic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30041" +msgid "Advanced" +msgstr "منقدم" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..133192547 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Belarusian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR Hostname" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR Port (usually 8866 or 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PinCode" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Enable TimeShift with Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "ЗлучÑньне" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Advanced" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR server is too old." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Upgrade to '%s' or higher!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Connection failed. Incorrect PIN?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Tuner no longer available" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..1dac0bed5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Bulgarian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Допълнителни" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Catalan/strings.po new file mode 100644 index 000000000..77e4e2201 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Catalan/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Nom de màquine del NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Port del NextPVR (normalment 8866 o 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Codi PIN del NextPVR" + +msgctxt "#30040" +msgid "Connection" +msgstr "Connexió" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "El servidor NextPVR és massa antic" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Ha fallat la connexió. PIN incorrecte?" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..642d30842 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR主机å" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR端å£ï¼ˆé€šå¸¸ä¸º8866或7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PINç " + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "å¯ç”¨ç›´æ’­ç”µè§†æ—¶å…‰å¹³ç§»" + +msgctxt "#30040" +msgid "Connection" +msgstr "连接" + +msgctxt "#30041" +msgid "Advanced" +msgstr "高级" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVRæœåŠ¡å™¨ç‰ˆæœ¬å¤ªæ—§" + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "å‡çº§åˆ°â€œ%sâ€æˆ–更高版本ï¼" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "连接失败,错误PINç ï¼Ÿ" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "电视接收设备ä¸å¯ç”¨" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..ceaf26db4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30041" +msgid "Advanced" +msgstr "進階" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Croatian/strings.po new file mode 100644 index 000000000..9232c4bda --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Croatian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Napredno" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Czech/strings.po new file mode 100644 index 000000000..bda392e10 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Czech/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Název poÄítaÄe NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Port NextPVR (vÄ›tÅ¡inou 8866, nebo 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Kód PIN NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Povolit Äasový posun u živého visílání" + +msgctxt "#30040" +msgid "Connection" +msgstr "Spojení" + +msgctxt "#30041" +msgid "Advanced" +msgstr "PokroÄilé" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "Server NextPVR je příliÅ¡ starý." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Aktualizujte na '%s', nebo novÄ›jší." + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Spojení selhalo. Å patný PIN?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Tuner již není dostupný" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Danish/strings.po new file mode 100644 index 000000000..906812b84 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Danish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR værtsnavn" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR port (almindeligvis 8866 eller 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PinKode" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Aktiver Tidsforskydelse af Direkte TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Forbindelse" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avanceret" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR server er for gammel." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Opgrader til '%s' eller højere!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Forbindelse mislykkedes. Forkert Pinkode?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Tuneren er ikke længere tilgængelig" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Dutch/strings.po new file mode 100644 index 000000000..bb202d3a9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Dutch/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR Hostnaam" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR Poort (aangeraden 8866 of 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR Pincode" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Gebruik TimeShift met Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Verbinding" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Geavanceerd" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR server is te oud." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Voer upgrade uit naar '%s' of hoger!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Connectie Gefaald. Verkeerde Pincode?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Tuner niet langer beschikbaar" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/English/strings.po new file mode 100644 index 000000000..83a1bd2b3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/English/strings.po @@ -0,0 +1,66 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#Settings labels + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "" + +#empty strings from id 30004 to 30039 +#Category labels + +msgctxt "#30040" +msgid "Connection" +msgstr "" + +msgctxt "#30041" +msgid "Advanced" +msgstr "" + +#empty strings from id 30042 to 30049 +#On-screen error messages + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "" + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Estonian/strings.po new file mode 100644 index 000000000..5c23360dc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Estonian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR hosti nimi" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR port (tavaliselt 8866 või 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PinCode" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Finnish/strings.po new file mode 100644 index 000000000..53006013b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Finnish/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30040" +msgid "Connection" +msgstr "Yhteys" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Lisäasetukset" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/French/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/French/strings.po new file mode 100644 index 000000000..da399a295 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/French/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Nom d'hôte NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Port NextPVR (généralement 8866 ou 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Code PIN NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Activer les sauts dans le temps avec la télé en directe" + +msgctxt "#30040" +msgid "Connection" +msgstr "Connexion" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avancés" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "Le serveur NextPVR est périmé." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Mise à jour en version '%s' ou supérieure nécessaire!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Connexion impossible. Code Pin incorrect ?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Le tuner n'est plus disponible" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Galician/strings.po new file mode 100644 index 000000000..6ede58506 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Galician/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Nome do host NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Porto de NextPVR (en xeral 8866 ou 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Código PIN de NextPRV" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Habilitar TimeShift na TV ao vivo" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexión" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avanzado" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "O servidor NextPRV é demasiado vello." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Actualizar a '%s' ou superior!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "A conexión fallou. O PIN é incorrecto?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "O sintonizador non está dispoñíbel" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/German/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/German/strings.po new file mode 100644 index 000000000..ae56c6e27 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/German/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR Hostname" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR Port (nomalerweise 8866 oder 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PinCode" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Timeshift für Live TV aktivieren" + +msgctxt "#30040" +msgid "Connection" +msgstr "Verbindung" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Erweitert" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR server ist zu alt." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Upgrade auf '%s' oder höher!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Verbindung fehlgeschlagen. Vielleicht ist der PIN falsch?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Tuner nicht länger verfügbar" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Greek/strings.po new file mode 100644 index 000000000..4a6c5dd5a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Greek/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Όνομα Υπολογιστή του NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "ΘÏÏα NextPVR (συνήθως 8866 ή 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Κωδικός PIN του NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "ΕνεÏγοποίηση TimeShift με Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "ΣÏνδεση" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Για Ï€ÏοχωÏημένους" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "Ο διακομιστής του NextPVR είναι Ï€Î¿Î»Ï Ï€Î±Î»Î¹ÏŒÏ‚." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Αναβαθμίστε στην έκδοση '%s' ή ανώτεÏη!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Αποτυχία σÏνδεσης. Λανθασμένο PIN;" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Ο δέκτης (tuner) δεν είναι πλέον διαθέσιμος" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..86bb30d98 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Hebrew/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR ×©× ×ž×רח" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR Port (usually 8866 or 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR ססמ×" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "×פשר הרצה ×‘×©×™×“×•×¨×™× ×—×™×™×" + +msgctxt "#30040" +msgid "Connection" +msgstr "חיבור" + +msgctxt "#30041" +msgid "Advanced" +msgstr "מתקד×" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "גרסת שרת NextPVR ישנה מדי." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "עדכן לגרסה '%s' ומעלה!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "התחברות נכשלה.ססמה שגויה?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "מקלט ×ינו זמין יותר" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..66bf4e6ed --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Hungarian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR Kiszolgálónév " + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR port (általában 8866 vagy 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PIN kód" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "IdÅ‘eltolás engedélyezése az ÉlÅ‘ TV-vel" + +msgctxt "#30040" +msgid "Connection" +msgstr "Kapcsolat" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Haladó" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "A NextPVR szerver túl régi." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Frissíts '%s'-re vagy újabbra!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "A kapcsolódás sikertelen. Helyes PIN kódot adott meg?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "A vevÅ‘kártya már nem elérhetÅ‘" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Italian/strings.po new file mode 100644 index 000000000..5725bba0f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Italian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Nome host NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Porta NextPVR (di solito la 8866 o la 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Codice PIN NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Abilita TimeShift su Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Connessione" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avanzato" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "Il server NextPVR è troppo vecchio." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Aggiornare alla '%s' o superiore!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Connessione fallita. PIN non corretto?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Il tuner non è più disponibile" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Japanese/strings.po new file mode 100644 index 000000000..8c715dda4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Japanese/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR ホストå" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR ãƒãƒ¼ãƒˆç•ªå· (通常 8866 ã‹ 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PinCode" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "タイムシフト視è´ã‚’有効ã«" + +msgctxt "#30040" +msgid "Connection" +msgstr "接続" + +msgctxt "#30041" +msgid "Advanced" +msgstr "高度ãªè¨­å®š" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR サーãƒãŒå¤ã™ãŽã¾ã™ã€‚" + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "'%s' 以上ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚¢ãƒƒãƒ—グレードã—ã¦ãã ã•ã„ï¼" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "接続ã«å¤±æ•—。PIN ãŒé–“é•ã£ã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "ãƒãƒ¥ãƒ¼ãƒŠãƒ¼ãŒã¿ã¤ã‹ã‚Šã¾ã›ã‚“" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Korean/strings.po new file mode 100644 index 000000000..008e7c82b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Korean/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR 호스트 네임" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR í¬íЏ (보통 8866 ë˜ëŠ” 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR 암호" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "ë¼ì´ë¸Œ TVì—서 타임시프트 사용" + +msgctxt "#30040" +msgid "Connection" +msgstr "ì—°ê²°" + +msgctxt "#30041" +msgid "Advanced" +msgstr "고급" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR 서버가 ì˜¤ëž˜ëœ ë²„ì „ìž…ë‹ˆë‹¤." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "'%s' ì´ìƒìœ¼ë¡œ 업그레ì´ë“œ 하세요!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "ì—°ê²° 실패. 틀린 암호?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "튜너 사용할 수 ì—†ìŒ" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..db320a12a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Lithuanian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR mazgo vardas" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR portas (paprastai 8866 arba 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR pin kodas" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Ä®jungti TimeShift su Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Prijungimas" + +msgctxt "#30041" +msgid "Advanced" +msgstr "IÅ¡plÄ—stinÄ—(-is)" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR serveris per senas" + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Atnaujinti į '%s' arba naujesnį!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "RyÅ¡ys nutrÅ«ko. Klaidingas PIN kodas?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Imtuvas nebepasiekiamas" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..58d5ec318 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Macedonian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR име на хоÑÑ‚" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR порт (вообичаено 8866 или 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR Пин код" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Овозможи TimeShift Ñо Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Конекција" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Ðапредно" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR Ñерверот е преÑтар" + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Ðадгради на '%s' или поново!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "ÐеуÑпешна конекција. Погрешен PIN" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Тјунер не е веќе доÑтапен" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..faf94134e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Norwegian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avansert" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Polish/strings.po new file mode 100644 index 000000000..9cd87b4cb --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Polish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Nazwa hosta NextPVR " + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Port NextPVR (zwykle 8866 lub 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Kod pin NextPVR " + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Włącz TimeShift dla Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Połączenie" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Zaawansowane" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "Serwer NextPVR jest zbyt stary." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Uaktulanij do '%s' lub wyższej!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Połączenie nie powiodÅ‚o siÄ™. NieprawidÅ‚owy PIN?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Tuner niedostÄ™pny" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..49193c9f8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Hostname NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR Porta (usualmente 8866 ou 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Pincode NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Ativar TimeShift com Tv ao Vivo" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexão" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avançado" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR server é muito antigo." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Atualizar para '%s' ou superior!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Conexão falhou. PIN incorreto" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Sintonizador não está disponível" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..c8e3b9ba5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Portuguese/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Hostname do NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Porta do NextPVR (normalmente 8866 ou 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Código Pin do NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Activar TimeShift com TV ao Vivo" + +msgctxt "#30040" +msgid "Connection" +msgstr "Ligação " + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avançado" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "O servidor NextPVR é demasiado antigo." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Actualizar para '%s' ou superior!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Erro de ligação. PIN incorrecto? " + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "O sintonizador não está disponível" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Romanian/strings.po new file mode 100644 index 000000000..6efe15256 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Romanian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR Hostname" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Portul NextPVR (de obicei 8866 sau 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR cod PIN" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Activează TimeShift cu Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexiune" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avansat" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "Serverul NextPVR este prea vechi." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Upgrade la '%s' sau mai mare!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Conexiune nereuÈ™ită. Cod PIN incorect?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Tuner-ul nu mai este disponibil" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Russian/strings.po new file mode 100644 index 000000000..581e9d6a6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Russian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Ð˜Ð¼Ñ Ñ…Ð¾Ñта NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Порт NextPVR (обычно 8866 или 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "ПИÐ-код NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Включить таймшифт LIveTV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Соединение" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Дополнительные" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "Слишком ÑÑ‚Ð°Ñ€Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ñервера NextPVR" + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Обновите до '%s' или выше!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Ðе удалоÑÑŒ подключитьÑÑ. Возможно, неправильный ПИÐ-код." + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Тюнер более недоÑтупен" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Slovak/strings.po new file mode 100644 index 000000000..1536c0d7f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Slovak/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Názov NextPVR hostiteľa" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR port (zvyÄajne 8866 alebo 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR PIN-kód" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "PovoliÅ¥ Äasový posun v režime Živé TV vysielanie" + +msgctxt "#30040" +msgid "Connection" +msgstr "Pripojenie" + +msgctxt "#30041" +msgid "Advanced" +msgstr "PokroÄilé" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR server je príliÅ¡ neaktuálny." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "AktualizovaÅ¥ na verziu '%s' alebo vyššiu!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "PoÄas pripájania nastala chyba. Nesprávny PIN-kód?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Tuner už nie je k dispozícii" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..d3e4f567d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Slovenian/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Ime gostitelja NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Vrata NextPVR (obiÄajno 8866 ali 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "PIN za NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "VkljuÄi Äasovni zamik televizije v živo" + +msgctxt "#30040" +msgid "Connection" +msgstr "Povezava" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Napredno" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "Strežnik NextPVR je prestar." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Posodobite na razliÄico '%s' ali novejÅ¡o!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Povezava ni uspela. NapaÄen PIN?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Sprejemnik ni veÄ na voljo" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..b9682e38d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Nombre del servidor NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Puerto NextPVR (usualmente 8866 o 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Código Pin de NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Activar TimeShift con TV en vivo" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexión" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avanzado" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "El servidor NextPVR es muy antiguo." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "¡Actualice a '%s' o posterior!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Conexión fallida. ¿PIN incorrecto?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Sintonizador ya no está disponible" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..507eca83a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Puerto de NextPVR (usualmente 8866 o 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "PinCode de NextPVR" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexión" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avanzado" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "El servidor de NextPVR es muy antiguo" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Conexión fallida. ¿PIN incorrecto?" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish/strings.po new file mode 100644 index 000000000..6a4828578 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Spanish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "Nombre del servidor NextPVR" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "Puerto NextPVR (usualmente 8866 o 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "Código Pin de NextPVR" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Activar TimeShift con TV en vivo" + +msgctxt "#30040" +msgid "Connection" +msgstr "Conexión" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avanzado" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "El servidor NextPVR es muy antiguo." + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "¡Actualice a '%s' o posterior!" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Conexión fallida. ¿PIN incorrecto?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Sintonizador ya no está disponible" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Swedish/strings.po new file mode 100644 index 000000000..ca5576a2f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/language/Swedish/strings.po @@ -0,0 +1,58 @@ +# XBMC Media Center language file +# Addon Name: NextPVR PVR Client +# Addon id: pvr.nextpvr +# Addon version: 1.6.3 +# Addon Provider: Graeme Blackley +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "NextPVR Hostname" +msgstr "NextPVR-värdnamn" + +msgctxt "#30001" +msgid "NextPVR Port (usually 8866 or 7799)" +msgstr "NextPVR-port (vanligtvis 8866 eller 7799)" + +msgctxt "#30002" +msgid "NextPVR PinCode" +msgstr "NextPVR pinkod" + +msgctxt "#30003" +msgid "Enable TimeShift with Live TV" +msgstr "Aktivera TimeShift med Live TV" + +msgctxt "#30040" +msgid "Connection" +msgstr "Anslutning" + +msgctxt "#30041" +msgid "Advanced" +msgstr "Avancerad" + +msgctxt "#30050" +msgid "NextPVR server is too old." +msgstr "NextPVR-server är för gammal" + +msgctxt "#30051" +msgid "Upgrade to '%s' or higher!" +msgstr "Uppgradera till '%s' eller nyare" + +msgctxt "#30052" +msgid "Connection failed. Incorrect PIN?" +msgstr "Anslutning misslyckades. Ogiltig PIN?" + +msgctxt "#30053" +msgid "Tuner no longer available" +msgstr "Mottagaren är inte tillgänglig" diff --git a/usr/local/share/xbmc/addons/pvr.nextpvr/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/settings.xml new file mode 100644 index 000000000..2632cb8b1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.nextpvr/resources/settings.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.njoy/addon.xml b/usr/local/share/xbmc/addons/pvr.njoy/addon.xml new file mode 100644 index 000000000..3c4b86d1a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.njoy/addon.xml @@ -0,0 +1,22 @@ + + + + + + + + + Njoy N7 PVR Client + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.njoy/addon.xml.in b/usr/local/share/xbmc/addons/pvr.njoy/addon.xml.in new file mode 100644 index 000000000..53730b559 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.njoy/addon.xml.in @@ -0,0 +1,22 @@ + + + + + + + + + Njoy N7 PVR Client + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.njoy/icon.png b/usr/local/share/xbmc/addons/pvr.njoy/icon.png new file mode 100644 index 000000000..097b1e238 Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.njoy/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.njoy/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.njoy/resources/language/English/strings.po new file mode 100644 index 000000000..d3536818d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.njoy/resources/language/English/strings.po @@ -0,0 +1,28 @@ +# XBMC Media Center language file +# Addon Name: Njoy N7 PVR Client +# Addon id: pvr.njoy +# Addon version: 1.6.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "N7 IP" +msgstr "" + +msgctxt "#30001" +msgid "N7 Port" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.njoy/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.njoy/resources/settings.xml new file mode 100644 index 000000000..a7dee5e44 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.njoy/resources/settings.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/addon.xml b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/addon.xml new file mode 100644 index 000000000..b0597e0b8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/addon.xml @@ -0,0 +1,104 @@ + + + + + + + + + PVR kliënt om VDR te konnekteer aan XBMC oor die VNSI koppelvlak + PVR client to connect VDR to XBMC over the VNSI interface + Klient PVR pro spojení VDR do XBMC skrze rozhraní VNSI + PVR klient som forbinder VDR til XBMC over VNSI grænsefladen + Programm um XBMC mit VDR über die VNSI-Schnittstelle zu verbinden + Πελάτης PVR για σÏνδεση του VDR στο XBMC διαμέσου του VNSI + PVR client to connect VDR to XBMC over the VNSI interface + Cliente PVR para conectar VDR a XBMC sobre la interfaz VNSI + Cliente PVR para conectar VDR a XBMC sobre la interfaz VNSI + PVR-asiakas, joka kytkee VDR:n XBMC:iin VNSI:n avulla + Client d'enregistrement connectant l'Enregistreur de Disque Vidéo à XBMC via l'interface d'enregistrement de flux réseau vidéo + קליינט PVR לחיבור VDR ל XBMC ×¢×´×™ ממשק VNSI + PVR ügyfél a VDR és az XBMC VNSI interfészen keresztüli csatlakoztatásához + Cliente PVR per connettere VDR a XBMC attraverso l'interfaccia VNSI + PVR client to connect VDR to XBMC over the VNSI interface + PVR kliento prisijungimas VDR prie XBMC per VNSI sÄ…saja + PVR клиент за поврзување Ñо XBMC преку VNSI Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ + PVR client VDR verbinding te maken met XBMC op de VNSI-interface + Klient PVR do podłączenia VDR do XBMC przez interfejs VNSI + Cliente PVR para ligar VDR ao XBMC através da interface VNSI + Cliente PVR para conectar VDR ao XBMC sobre interface VNSI + Client PVR pentru conectare VDR la XBMC folosind interfaÅ£a VNSI + PVR клиент Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ VDR к XBMC через Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ VNSI + PVR klientská aplikácia na pripojenie VDR servera do XBMC prostredníctvom rozhrania VNSI + Odjemalec PVR za povezavo VDR in XBMC preko vmesnika VNSI + PVR-klient för att ansluta VDR till XBMC över VNSI-gränsnittet + 让XBMC通过VNSI界é¢ä¸ŽVDR连接的PVR客户端 + VDR voorprogram; ondersteun stroom van Lewendige TV & Opnames, EPG, Tydhouers oor die VNSI byvoegsel + VDR frontend; supporting streaming of Live TV & Recordings, EPG, Timers over the VNSI plugin + Rozhraní VDR. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe skrze modul VNSI + VDR frontend; understøtter streaming af TV og Optagelser, EPG og Timere over VNSI add-on + Erlaubt das wiedergeben von Live TV und Aufnahmen mittels VDR auf XBMC. Des weiteren werden EPG, Kanalsuche und Timer unterstützt. + Frontend για το VDR. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ΧÏονοδιακόπτες διαμέσου του plugin VNSI + VDR frontend; supporting streaming of Live TV & Recordings, EPG, Timers over the VNSI plugin + Front-end VDR, soporte de streaming de televisión en vivo y grabaciones, EPG, temporizador con el plugin VNSI + Front-end VDR, soporte de streaming de televisión en vivo y grabaciones, EPG, temporizador con el plugin VNSI + VDR-frontend; tukee livelähetyksiä sekä tallenteita, ohjelmaopasta, ajastuksia ja VNSI-lisäosia + Applicatif d'Enregistreur de Disque Vidéo. Il Supporte la lecture en continu de flux direct télévision et l'enregistrement, les guides de programmes, les minuteries via les routines d'enregistrement de flux réseau vidéo + ממשק קדמי של VDR;תומך בזרימת שידורי טלוויזיה ×—×™×” והקלטה,רשימות ×©×™×“×•×¨×™× ×•×ž×ª×–×ž× ×™ הקלטות דרך תוסף VNSI + VDR elÅ‘tér-kiszolgáló. ÉlÅ‘ adások és felvételek sugárzásának támogatása EPG-vel és idÅ‘zítéssel a VNSI kiegészítÅ‘n keresztül + Frontend VDR; supporta lo streaming di Live TV e le registrazioni, EPG e timer sul plugin VNSI + VDR 프론트엔드; TV 시청 & 녹화, EPG, VNSI 플러그ì¸ì„ 통한 타ì´ë¨¸ ì§€ì› + VDR sÄ…saja, remti transliacijos Live TV & įraÅ¡ai, EPG, LaikmaÄiai ir VNSI įskiepiai + VDR интерфејÑ; подржува Ñтриминг на Live TV и Ñнимки, EPG тајмери преку VNSI додаток + VDR frontend, het ondersteunen streaming van Live TV & Recordings, EPG, Timers over de VNSI plugin + Interfejs VDR; wspiera strumieniowanie TV na żywo i nagrywanie, EPG, wyłączniki czasowe przez plugin VNSI + Frontend VDR; suporta transmissão de Live TV e Gravações, EPG e Temporizadores através do plugin VNSI + Frontend VDR; suporta streaming de TV ao vivo e gravações, EPG, agendamentos sobre o plugin VNSI + Frontend VDRÅŸ suportă streaming de TV Live & ÃŽnregistrări, EPG, Cronometre folosind pluginul VNSI + VDR фронтÑнд; поддерживает потоковое TV, запиÑÑŒ, ЕПГ, таймеры через VNSI плагин + VDR rozhranie; je podporované streamovanie živého televízneho vysielania a nahrávok, EPG, ÄasovaÄov prostredníctvom modulu VNSI + Vmesnik za VDR; podpira pretakanje televizije v živo & posnetkov, EPG, Äasovnike preko vtiÄnika VNSI + VDR frontend; stödjer strömning av direktsänd TV & inspelningar, EPG, timers över VNSI-tillägget + VDRå‰ç«¯ï¼Œé€šè¿‡VNSIæ’件支æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•制ã€ç”µå­èŠ‚ç›®å•ã€å®šæ—¶å™¨ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, gemorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser.. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este software es aún inestable! Los autores no son responsables en forma alguna por grabaciones fallidas, temporizaciones incorrectas, tiempo perdido o ningún otro efecto no deseado. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + Tämä on epävakaa ohjelmisto! Ohjelmiston tekijät eivät ole millään muotoa vastuussa epäonnistuneista tallennuksista, virheellisistä ajastuksista, haaskatusta ajasta, verenpaineen noususta eikä mistään muusta epäsuotuisasta vaikutuksesta. + Applicatif en cours de réalisation ! Les auteurs ne sont en aucun cas responsables d'enregistrements défaillants, de minuteries erronées, de temps perdu ou tout autre effet indésirable.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זו ×”×™× ×ª×•×›× ×” בלתי יציבה בעליל! ×”×ž×—×‘×¨×™× ××™× × ×חר××™× ×‘×©×•× ×“×¨×š להקלטות כושלות ×ו תיזמוני הקלטות ×œ× ×ž×“×•×™×§×™× , ×ובדן של של שעות ×ו כל ×פקט בלתי רצוי ×חר.... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Questo programma non è stabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timer non corretti, ore perse, o altri effetti indesiderati.. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðуторите не Ñе во никој Ñлучај одговорни за неуÑпешни Ñнимања, грешни тајмери, други непоÑакувани ефекти... + Dit is onstabiel software! De auteurs zijn op geen enkele wijze verantwoordelijk voor de mislukte opnames, onjuiste timers, verspilde uren, of een andere ongewenste effecten .. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce wyłączniki czasowe, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não são responsáveis por falhas na gravação, temporizadores incorrectos, horas perdidas ou outro qualquer efeito não desejado... + Este é um software instável! Os autores não são responsáveis por gravações com falhas, agendamentos incorretos, tempo desperdiçado, ou quaisquer outros efeitos indesejáveis... + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau orice alte efecte nedorite... + Это теÑÑ‚Ð¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут никакой ответÑтвенноÑти за иÑпорченные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ прочие нежелательные Ñффекты.. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gon annan oönskad effekt.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/addon.xml.in b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/addon.xml.in new file mode 100644 index 000000000..3710738d9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/addon.xml.in @@ -0,0 +1,104 @@ + + + + + + + + + PVR kliënt om VDR te konnekteer aan XBMC oor die VNSI koppelvlak + PVR client to connect VDR to XBMC over the VNSI interface + Klient PVR pro spojení VDR do XBMC skrze rozhraní VNSI + PVR klient som forbinder VDR til XBMC over VNSI grænsefladen + Programm um XBMC mit VDR über die VNSI-Schnittstelle zu verbinden + Πελάτης PVR για σÏνδεση του VDR στο XBMC διαμέσου του VNSI + PVR client to connect VDR to XBMC over the VNSI interface + Cliente PVR para conectar VDR a XBMC sobre la interfaz VNSI + Cliente PVR para conectar VDR a XBMC sobre la interfaz VNSI + PVR-asiakas, joka kytkee VDR:n XBMC:iin VNSI:n avulla + Client d'enregistrement connectant l'Enregistreur de Disque Vidéo à XBMC via l'interface d'enregistrement de flux réseau vidéo + קליינט PVR לחיבור VDR ל XBMC ×¢×´×™ ממשק VNSI + PVR ügyfél a VDR és az XBMC VNSI interfészen keresztüli csatlakoztatásához + Cliente PVR per connettere VDR a XBMC attraverso l'interfaccia VNSI + PVR client to connect VDR to XBMC over the VNSI interface + PVR kliento prisijungimas VDR prie XBMC per VNSI sÄ…saja + PVR клиент за поврзување Ñо XBMC преку VNSI Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ + PVR client VDR verbinding te maken met XBMC op de VNSI-interface + Klient PVR do podłączenia VDR do XBMC przez interfejs VNSI + Cliente PVR para ligar VDR ao XBMC através da interface VNSI + Cliente PVR para conectar VDR ao XBMC sobre interface VNSI + Client PVR pentru conectare VDR la XBMC folosind interfaÅ£a VNSI + PVR клиент Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ VDR к XBMC через Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ VNSI + PVR klientská aplikácia na pripojenie VDR servera do XBMC prostredníctvom rozhrania VNSI + Odjemalec PVR za povezavo VDR in XBMC preko vmesnika VNSI + PVR-klient för att ansluta VDR till XBMC över VNSI-gränsnittet + 让XBMC通过VNSI界é¢ä¸ŽVDR连接的PVR客户端 + VDR voorprogram; ondersteun stroom van Lewendige TV & Opnames, EPG, Tydhouers oor die VNSI byvoegsel + VDR frontend; supporting streaming of Live TV & Recordings, EPG, Timers over the VNSI plugin + Rozhraní VDR. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe skrze modul VNSI + VDR frontend; understøtter streaming af TV og Optagelser, EPG og Timere over VNSI add-on + Erlaubt das wiedergeben von Live TV und Aufnahmen mittels VDR auf XBMC. Des weiteren werden EPG, Kanalsuche und Timer unterstützt. + Frontend για το VDR. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, ΧÏονοδιακόπτες διαμέσου του plugin VNSI + VDR frontend; supporting streaming of Live TV & Recordings, EPG, Timers over the VNSI plugin + Front-end VDR, soporte de streaming de televisión en vivo y grabaciones, EPG, temporizador con el plugin VNSI + Front-end VDR, soporte de streaming de televisión en vivo y grabaciones, EPG, temporizador con el plugin VNSI + VDR-frontend; tukee livelähetyksiä sekä tallenteita, ohjelmaopasta, ajastuksia ja VNSI-lisäosia + Applicatif d'Enregistreur de Disque Vidéo. Il Supporte la lecture en continu de flux direct télévision et l'enregistrement, les guides de programmes, les minuteries via les routines d'enregistrement de flux réseau vidéo + ממשק קדמי של VDR;תומך בזרימת שידורי טלוויזיה ×—×™×” והקלטה,רשימות ×©×™×“×•×¨×™× ×•×ž×ª×–×ž× ×™ הקלטות דרך תוסף VNSI + VDR elÅ‘tér-kiszolgáló. ÉlÅ‘ adások és felvételek sugárzásának támogatása EPG-vel és idÅ‘zítéssel a VNSI kiegészítÅ‘n keresztül + Frontend VDR; supporta lo streaming di Live TV e le registrazioni, EPG e timer sul plugin VNSI + VDR 프론트엔드; TV 시청 & 녹화, EPG, VNSI 플러그ì¸ì„ 통한 타ì´ë¨¸ ì§€ì› + VDR sÄ…saja, remti transliacijos Live TV & įraÅ¡ai, EPG, LaikmaÄiai ir VNSI įskiepiai + VDR интерфејÑ; подржува Ñтриминг на Live TV и Ñнимки, EPG тајмери преку VNSI додаток + VDR frontend, het ondersteunen streaming van Live TV & Recordings, EPG, Timers over de VNSI plugin + Interfejs VDR; wspiera strumieniowanie TV na żywo i nagrywanie, EPG, wyłączniki czasowe przez plugin VNSI + Frontend VDR; suporta transmissão de Live TV e Gravações, EPG e Temporizadores através do plugin VNSI + Frontend VDR; suporta streaming de TV ao vivo e gravações, EPG, agendamentos sobre o plugin VNSI + Frontend VDRÅŸ suportă streaming de TV Live & ÃŽnregistrări, EPG, Cronometre folosind pluginul VNSI + VDR фронтÑнд; поддерживает потоковое TV, запиÑÑŒ, ЕПГ, таймеры через VNSI плагин + VDR rozhranie; je podporované streamovanie živého televízneho vysielania a nahrávok, EPG, ÄasovaÄov prostredníctvom modulu VNSI + Vmesnik za VDR; podpira pretakanje televizije v živo & posnetkov, EPG, Äasovnike preko vtiÄnika VNSI + VDR frontend; stödjer strömning av direktsänd TV & inspelningar, EPG, timers över VNSI-tillägget + VDRå‰ç«¯ï¼Œé€šè¿‡VNSIæ’件支æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•制ã€ç”µå­èŠ‚ç›®å•ã€å®šæ—¶å™¨ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, gemorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser.. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este software es aún inestable! Los autores no son responsables en forma alguna por grabaciones fallidas, temporizaciones incorrectas, tiempo perdido o ningún otro efecto no deseado. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + Tämä on epävakaa ohjelmisto! Ohjelmiston tekijät eivät ole millään muotoa vastuussa epäonnistuneista tallennuksista, virheellisistä ajastuksista, haaskatusta ajasta, verenpaineen noususta eikä mistään muusta epäsuotuisasta vaikutuksesta. + Applicatif en cours de réalisation ! Les auteurs ne sont en aucun cas responsables d'enregistrements défaillants, de minuteries erronées, de temps perdu ou tout autre effet indésirable.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זו ×”×™× ×ª×•×›× ×” בלתי יציבה בעליל! ×”×ž×—×‘×¨×™× ××™× × ×חר××™× ×‘×©×•× ×“×¨×š להקלטות כושלות ×ו תיזמוני הקלטות ×œ× ×ž×“×•×™×§×™× , ×ובדן של של שעות ×ו כל ×פקט בלתי רצוי ×חר.... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Questo programma non è stabile! Gli autori non sono in alcun modo responsabili per registrazioni fallite, timer non corretti, ore perse, o altri effetti indesiderati.. + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt siÅ«lo/rekomenduoja testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðуторите не Ñе во никој Ñлучај одговорни за неуÑпешни Ñнимања, грешни тајмери, други непоÑакувани ефекти... + Dit is onstabiel software! De auteurs zijn op geen enkele wijze verantwoordelijk voor de mislukte opnames, onjuiste timers, verspilde uren, of een andere ongewenste effecten .. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce wyłączniki czasowe, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não são responsáveis por falhas na gravação, temporizadores incorrectos, horas perdidas ou outro qualquer efeito não desejado... + Este é um software instável! Os autores não são responsáveis por gravações com falhas, agendamentos incorretos, tempo desperdiçado, ou quaisquer outros efeitos indesejáveis... + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau orice alte efecte nedorite... + Это теÑÑ‚Ð¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут никакой ответÑтвенноÑти за иÑпорченные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ прочие нежелательные Ñффекты.. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gon annan oönskad effekt.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/icon.png b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/icon.png new file mode 100644 index 000000000..d310ddeb1 Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..c1414a874 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Afrikaans/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR Gasheernaam of IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI Poort" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioriteit" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Karakter Stel omskakeling" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Konnekteer tydverstreke(s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Laat VDR Boodskappe toe" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Lees opnames vanaf vouer" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR opnames vouer" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Kanaal soektog" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Kanaal soektog - Verstellings" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Begin Kanaal soektog" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Bron Tipe" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV kanale" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radio kanale" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "FTA kanale" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Vermengde kanale" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD kanale" + +msgctxt "#30017" +msgid "Country" +msgstr "Land" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Kabel Inversie" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Kabel Simbooltempo" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Kabel modulasie" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terr Inversie" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satelliet" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC Tipe" + +msgctxt "#30024" +msgid "Back" +msgstr "Trug" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Kanaal soektog - loop... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipe:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Toestel:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Deursoek: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Sein: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nuwe kanale: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Alle kanale: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analoog TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analoog Radio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Antwoordsender:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nuwe kanale" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Kanaal soektog - Klaar" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Geen toestel beskikbaar - gaan uit" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Geen DVB-S2 toestel beskikbaar - probeer terugval na DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Hardloop" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Gestop" + +msgctxt "#30041" +msgid "Finished" +msgstr "Klaar" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Kanaal soektog - Gekanselleer" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Kanaal soektog - Fout" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Konneksie aan VDR Bediener verloor" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Konneksie aan VDR Bediener herstel" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Skep kanaal groepe outomaties op die bediener" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Albanian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Albanian/strings.po new file mode 100644 index 000000000..976698576 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Albanian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30024" +msgid "Back" +msgstr "Mbrapa" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Amharic/strings.po new file mode 100644 index 000000000..afa1e67e6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Amharic/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30008" +msgid "Channel search" +msgstr "ጣቢያ መáˆáˆˆáŒŠá‹«" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "ጣቢያ መáˆáˆˆáŒŠá‹« - ማሰናጃ" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "ጣቢያ መáˆáˆˆáŒŠá‹« ማስጀመሪያ " + +msgctxt "#30011" +msgid "Source Type" +msgstr "የáˆáŠ•áŒ© አይáŠá‰µ " + +msgctxt "#30012" +msgid "TV channels" +msgstr "የቲቪ ጣቢያ " + +msgctxt "#30013" +msgid "Radio channels" +msgstr "የሬዲዮ ጣቢያ" + +msgctxt "#30017" +msgid "Country" +msgstr "አገር" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "ጣቢያ መáˆáˆˆáŒŠá‹« - በማስኬድ ላይ... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "አይáŠá‰µ :" + +msgctxt "#30027" +msgid "Device:" +msgstr "አካሠ:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "ማሰሻ : %i" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "አዲስ ጣቢያዎች : %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "áˆáˆ‰áŠ•áˆ áŒ£á‰¢á‹«á‹Žá‰½ : %i" + +msgctxt "#30035" +msgid "New channels" +msgstr "አዲስ ጣቢያዎች" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "ጣቢያ መáˆáˆˆáŒ‰áŠ• - ጨርሷሠ" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "á‹áŒáŒ አካሠአáˆá‰°áŒˆáŠ˜áˆ - በመá‹áŒ£á‰µ ላይ " + +msgctxt "#30039" +msgid "Running" +msgstr "በማስኬድ ላይ" + +msgctxt "#30041" +msgid "Finished" +msgstr "ጨርሷሠ" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Arabic/strings.po new file mode 100644 index 000000000..0eb5b9a88 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Arabic/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "محطات TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "محطات الإذاغة" + +msgctxt "#30017" +msgid "Country" +msgstr "البلد" + +msgctxt "#30024" +msgid "Back" +msgstr "خلÙ" + +msgctxt "#30026" +msgid "Type:" +msgstr "النوع:" + +msgctxt "#30039" +msgid "Running" +msgstr "%i جزء" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Basque/strings.po new file mode 100644 index 000000000..7526b1eaa --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Basque/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TB kateak" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Irrati kateak" + +msgctxt "#30017" +msgid "Country" +msgstr "Herrialdea" + +msgctxt "#30026" +msgid "Type:" +msgstr "Mota:" + +msgctxt "#30039" +msgid "Running" +msgstr "Exekutatzen" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..0f33af043 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Belarusian/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR Hostname or IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI Port" + +msgctxt "#30002" +msgid "Priority" +msgstr "Priority" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Character Set Conversion" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Connect timeout (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Allow VDR Messages" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Read recordings from directory" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR recordings directory" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Channel search" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Channel search - Settings" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Start Channel search" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Source Type" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV channels" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radio channels" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "FTA channels" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Scrambled channels" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD channels" + +msgctxt "#30017" +msgid "Country" +msgstr "Country" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Cable Inversion" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Cable Symbolrate" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Cable modulation" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terr Inversion" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satellite" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC Type" + +msgctxt "#30024" +msgid "Back" +msgstr "Back" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Channel search - running... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Type:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Device:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Scan: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "New channels: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "All channels: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analog TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analog Radio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "New channels" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Channel search - Finished" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "No device available - exiting" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "No DVB-S2 device available - trying fallback to DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Running" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Спынены" + +msgctxt "#30041" +msgid "Finished" +msgstr "Finished" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Channel search - Canceled" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Channel search - Error" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "ЗлучÑньне да VDR ÑÑрвÑра згублена" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "ЗлучÑньне да VDR ÑÑрвÑра адноўлена" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Create channel groups automatically on the server" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..a07a949ed --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Bosnian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30017" +msgid "Country" +msgstr "Država" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tip:" + +msgctxt "#30039" +msgid "Running" +msgstr "Pokretanje" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..169c40577 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Bulgarian/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "ТВ канали" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Радио канали" + +msgctxt "#30017" +msgid "Country" +msgstr "Държава" + +msgctxt "#30024" +msgid "Back" +msgstr "Ðазад" + +msgctxt "#30026" +msgid "Type:" +msgstr "Тип:" + +msgctxt "#30039" +msgid "Running" +msgstr "ИзпълнÑва Ñе" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Catalan/strings.po new file mode 100644 index 000000000..f4f9252a6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Catalan/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canals de TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Canals de ràdio" + +msgctxt "#30017" +msgid "Country" +msgstr "País" + +msgctxt "#30024" +msgid "Back" +msgstr "Enrere" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipus:" + +msgctxt "#30039" +msgid "Running" +msgstr "S'està executant" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..d51a6d800 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDRä¸»æœºåæˆ–IP地å€" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI端å£" + +msgctxt "#30002" +msgid "Priority" +msgstr "优先级" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "字符集转æ¢" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "连接超时(秒)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "å…许VDRä¿¡æ¯" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "从目录读å–录制" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR录制目录" + +msgctxt "#30008" +msgid "Channel search" +msgstr "频铿œç´¢" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "频铿œç´¢ - 设置" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "开始频铿œç´¢" + +msgctxt "#30011" +msgid "Source Type" +msgstr "æºç±»åž‹" + +msgctxt "#30012" +msgid "TV channels" +msgstr "电视频é“" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "电å°é¢‘é“" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "FTA频é“" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "加密频é“" + +msgctxt "#30016" +msgid "HD channels" +msgstr "高清频é“" + +msgctxt "#30017" +msgid "Country" +msgstr "国家" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "电缆å转" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "电缆符å·çއ" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "电缆调制" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terrå转" + +msgctxt "#30022" +msgid "Satellite" +msgstr "嫿˜Ÿ" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC类型" + +msgctxt "#30024" +msgid "Back" +msgstr "返回" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "频铿œç´¢ - è¿è¡Œ... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "类型:" + +msgctxt "#30027" +msgid "Device:" +msgstr "设备:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "扫æï¼š%i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "ä¿¡å·ï¼š%i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "新频é“:%i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "全部频é“:%i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "模拟电视" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "模拟电å°" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "转å‘器:" + +msgctxt "#30035" +msgid "New channels" +msgstr "新频é“" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "频铿œç´¢ - 已完æˆ" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "æ— å¯ç”¨è®¾å¤‡ - 正退出" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "æ— å¯ç”¨DVB-S2设备 - å°è¯•DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "è¿è¡Œ" + +msgctxt "#30040" +msgid "Stopped" +msgstr "å·²åœæ­¢" + +msgctxt "#30041" +msgid "Finished" +msgstr "已完æˆ" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "频铿œç´¢ - 已喿¶ˆ" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "频铿œç´¢ - 错误" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "失去与VDRæœåŠ¡å™¨çš„è¿žæŽ¥" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "与VDRæœåŠ¡å™¨çš„è¿žæŽ¥å·²æ¢å¤" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "自动在æœåŠ¡å™¨ä¸Šåˆ›å»ºé¢‘é“组" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..135ca19cf --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "電視頻é“" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "無線電廣播頻é“" + +msgctxt "#30017" +msgid "Country" +msgstr "國家" + +msgctxt "#30024" +msgid "Back" +msgstr "返回" + +msgctxt "#30026" +msgid "Type:" +msgstr "類型:" + +msgctxt "#30039" +msgid "Running" +msgstr "正在執行" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Croatian/strings.po new file mode 100644 index 000000000..4d2eb9445 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Croatian/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV kanali" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radio kanali" + +msgctxt "#30017" +msgid "Country" +msgstr "Zemlja" + +msgctxt "#30024" +msgid "Back" +msgstr "Nazad" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tip:" + +msgctxt "#30039" +msgid "Running" +msgstr "Pokrenut" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Czech/strings.po new file mode 100644 index 000000000..451c1e7c0 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Czech/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Název poÄítaÄe, nebo IP adresa VDR" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Port VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Priorita" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "PÅ™evod znakové sady" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "ÄŒasový limit spojení" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Povolit zprávy VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "NaÄíst nahrávky z adresáře" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Adresář nahrávek VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Hledání kanálů" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Hledání kanálů - Nastavení" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Zahájit hledání kanálů" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Typ zdroje" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Televizní kanály" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Rádiové kanály" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Nekódované kanály" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Kódované kanály" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD kanály" + +msgctxt "#30017" +msgid "Country" +msgstr "ZemÄ›" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inverze kabelu" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Symbolová rychlost kabelu" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulace kabelu" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inverze pozemního příjmu" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satelit" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Typ ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "ZpÄ›t" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Hledání kanálů - vyhledávám... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Typ:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Zařízení:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Vyhledávání: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signál: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nové kanály: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "VÅ¡echny kanály: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analogová televize" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analogové rádio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transpondér:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nové kanály" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Hledání kanálů - dokonÄeno" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Není dostupné žádné zařízení - konÄím" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Není dostupné žádné zařízení DVB-S2 - zkouším se pÅ™epnout do DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Běží" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Zastaveno" + +msgctxt "#30041" +msgid "Finished" +msgstr "DokonÄeno" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Vyhledávání kanálů - zruÅ¡eno" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Vyhledávání kanálů - chyba" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Spojení se serverem VDR bylo ztraceno" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Spojení se serverem VDR bylo obnoveno" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Automaticky vytvářet skupiny kanálu na serveru" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Danish/strings.po new file mode 100644 index 000000000..ad13c62ee --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Danish/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR værtsnavn eller IP-adresse" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI port" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioritet" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Tegnsæt konvertering" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Tidsfrist for forbindelse (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Tillad VDR meddelser" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Indlæs optagelser fra mappen" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR optagelsesmappen" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Kanalsøgning" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Kanalsøgning - Indstillinger" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Start Kanalsøgning" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Kildetype" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Tv-kanaler" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radiokanaler" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Ukodede kanaler" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Kodede kanaler" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD kanaler" + +msgctxt "#30017" +msgid "Country" +msgstr "Land" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Kabelinvertering" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Kabel symbol rate" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Kabelmodulation" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terr invertering" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satellit" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC Type" + +msgctxt "#30024" +msgid "Back" +msgstr "Tilbage" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Kanalsøgning - kører... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Type:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Enhed:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Skan: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nye kanaler: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Alle kanaler: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analog TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analog Radio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nye kanaler" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Kanalsøgning - Færdig" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Ingen enhed tilgængelig - afslutter" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Ingen DVB-S2 enhed tingængelig - prøver DVB-S reserve" + +msgctxt "#30039" +msgid "Running" +msgstr "Kører" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Stoppet" + +msgctxt "#30041" +msgid "Finished" +msgstr "Færdig" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Kanalsøgning - Annulleret" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Kanalsøgning - Fejl" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Mistede forbindelsen til VDR server" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Forbindelsen er genoprettet til VDR server" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Opret automatisk en kanalgruppe pÃ¥ serveren" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Dutch/strings.po new file mode 100644 index 000000000..5ee23249c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Dutch/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR hostnaam of IP adres" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI Poort" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioriteit" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Character Set Conversie" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Connectie timeout (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Berichten vanuit VDR toestaan" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Lees opnames van directory" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR opname directory" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Kanalen scannen" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Kanalen scan - opties" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "kanalen scan starten" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Bron Type" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV kanalen" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radio kanalen" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "FTA kanalen" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Gecodeerde kanalen" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD kanalen" + +msgctxt "#30017" +msgid "Country" +msgstr "Land" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Kabel Inversion" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Kabel Symbolrate" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Kabel modulation" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Antenne Inversion" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Sateliet" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC type" + +msgctxt "#30024" +msgid "Back" +msgstr "Terug" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Kanalen zoeken - bezig... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Type:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Device:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Scan: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signaal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nieuwe kanalen: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Alle kanalen: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analoge TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analoge Radio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nieuwe kanalen" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Kanalen zoeken - Klaar" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Geen device beschikbaar - exiting" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Geen DVB-S2 apparaat beschikbaar - We vallen terug op DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Bezig" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Gestopt" + +msgctxt "#30041" +msgid "Finished" +msgstr "Klaar" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Kanalen scan - Geanuleerd" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Kanalen scan - Fout" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Connectie naar VDR Server Verloren" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Connectie naar VDR Server Hervat" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Automatisch Kanaal Groepen maken op de server" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/English/strings.po new file mode 100644 index 000000000..8309e6a05 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/English/strings.po @@ -0,0 +1,208 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "" + +msgctxt "#30002" +msgid "Priority" +msgstr "" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "" + +msgctxt "#30008" +msgid "Channel search" +msgstr "" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "" + +msgctxt "#30011" +msgid "Source Type" +msgstr "" + +msgctxt "#30012" +msgid "TV channels" +msgstr "" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "" + +msgctxt "#30016" +msgid "HD channels" +msgstr "" + +msgctxt "#30017" +msgid "Country" +msgstr "" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "" + +msgctxt "#30022" +msgid "Satellite" +msgstr "" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "" + +msgctxt "#30024" +msgid "Back" +msgstr "" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "" + +msgctxt "#30026" +msgid "Type:" +msgstr "" + +msgctxt "#30027" +msgid "Device:" +msgstr "" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "" + +msgctxt "#30035" +msgid "New channels" +msgstr "" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "" + +msgctxt "#30039" +msgid "Running" +msgstr "" + +msgctxt "#30040" +msgid "Stopped" +msgstr "" + +msgctxt "#30041" +msgid "Finished" +msgstr "" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Esperanto/strings.po new file mode 100644 index 000000000..46fad815d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Esperanto/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30026" +msgid "Type:" +msgstr "Speco:" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Estonian/strings.po new file mode 100644 index 000000000..f4343aa04 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Estonian/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30017" +msgid "Country" +msgstr "Maa" + +msgctxt "#30024" +msgid "Back" +msgstr "Tagasi" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tüüp:" + +msgctxt "#30039" +msgid "Running" +msgstr "Töötab" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Finnish/strings.po new file mode 100644 index 000000000..8367bdfda --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Finnish/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR-palvelimen nimi tai IP-osoite" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI-portti" + +msgctxt "#30002" +msgid "Priority" +msgstr "Tärkeysaste" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Kirjainmerkistön muunnos" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Yhteyden aikakatkaisu (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Salli VDR-palvelimen viestit" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Lue nauhoitukset kansiosta" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR-nauhoitusten kansio" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Kanavahaku" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Kanavahaun asetukset" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Aloita kanavahaku" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Lähteen tyyppi" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV-kanavat" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radiokanavat" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Ilmaiskanavat" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Salatut kanavat" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD-kanavat" + +msgctxt "#30017" +msgid "Country" +msgstr "Maa" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Kaapeliverkon inversio" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Kaapeliverkon symbolinopeus" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Kaapeliverkon modulaatio" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Antenniverkon inversio" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satelliitti" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC tyyppi" + +msgctxt "#30024" +msgid "Back" +msgstr "Takaisin" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Kanavahaku käynnissä... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tyyppi:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Laite:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Haku: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signaali: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Uudet kanavat: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Kaikki kanavat: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analoginen TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analoginen radio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Uudet kanavat" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Kanavahaku valmis" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Ei laitetta saatavilla - lopetetaan" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Ei DVB-S2 laitetta saatavilla - kokeillaan DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Käynnissä" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Pysäytetty" + +msgctxt "#30041" +msgid "Finished" +msgstr "Valmis" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Kanavahaku peruutettu" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Kanavahaku virhe" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Yhteys VDR-palvelimeen menetetty" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Yhteys VDR-palvelimeen palautettu" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Luo kanavaryhmät automaattisesti palvelimella" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/French/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/French/strings.po new file mode 100644 index 000000000..b75a1e270 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/French/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Nom d'hôte VDR ou adresse IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Port VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Priorité" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Conversion du jeu de caractères" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Temporisation de connexion (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Autoriser les messages VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Lecture des enregistrements depuis un répertoire" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Répertoire des enregistrements VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Recherche des chaînes" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Recherche de chaînes - Paramètres" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Démarrer la recherche des chaînes" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Type de source" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Chaînes TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Chaînes Radio" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Chaînes gratuites" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Chaînes cryptées" + +msgctxt "#30016" +msgid "HD channels" +msgstr "Chaînes HD" + +msgctxt "#30017" +msgid "Country" +msgstr "Pays" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inversion du câble" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Taux de modulation du câble" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulation du câble" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inversion de polarité" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satellite" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Type ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Retour" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Recherche de chaîne - en cours... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Type :" + +msgctxt "#30027" +msgid "Device:" +msgstr "Dispositif :" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Balayage : %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signal : %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nouvelles chaînes : %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Toutes chaînes : %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "TV analogique" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Radio analogique" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transpondeur :" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nouvelles chaînes" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Recherche de chaîne - Terminé" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Pas de dispositif disponible - Abandon" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Dispositif DVB-S2 non disponible - Tentative en DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Lecture en cours" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Arrêté" + +msgctxt "#30041" +msgid "Finished" +msgstr "Terminé" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Recherche de chaîne - Abandonnée" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Recherche de chaîne - Erreur" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Connexion perdue au serveur VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Connexion rétablie au serveur VDR" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Créer automatiquement les groupes de chaîne sur le serveur" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Galician/strings.po new file mode 100644 index 000000000..c5d0df0b3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Galician/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Tempo(s) de espera para conectar" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canles de TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Canles de Radio" + +msgctxt "#30017" +msgid "Country" +msgstr "País" + +msgctxt "#30024" +msgid "Back" +msgstr "Atrás" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipo:" + +msgctxt "#30039" +msgid "Running" +msgstr "Procesando" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/German/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/German/strings.po new file mode 100644 index 000000000..c5f8085f3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/German/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR Hostname oder IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI Port" + +msgctxt "#30002" +msgid "Priority" +msgstr "Priorität" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Textkonvertierung (UTF-8)" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Verbindungszeitüberlauf (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "VDR Nachrichten erlauben" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Aufnahmen aus Ordner lesen" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR Aufnahmeordner" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Kanalsuche" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Kanalsuche - Einstellungen" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Kanalsuche starten" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Empfangsart" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV Kanäle" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radio Kanäle" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Frei empfangbare Kanäle" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Verschlüsselte Kanäle" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD Kanäle" + +msgctxt "#30017" +msgid "Country" +msgstr "Land" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Kabel Inversion" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Kabel Symbolrate" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Kabel Modulation" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terrestrisch Inversion" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satellit" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC Type" + +msgctxt "#30024" +msgid "Back" +msgstr "Zurück" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Kanalsuche - läuft... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Empfangsart:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Gerät:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Fortschritt: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Neue Kanäle: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Alle Kanäle: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analog TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analog Radio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Neue Kanäle" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Kanalsuche - Abgeschlossen" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Kein Empfangsgerät verfügbar" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Kein DVB-S2 Empfangsgerät verfügbar - versuche DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Läuft..." + +msgctxt "#30040" +msgid "Stopped" +msgstr "Angehalten" + +msgctxt "#30041" +msgid "Finished" +msgstr "Fertig" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Kanalsuche - Abgebrochen" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Kanalsuche - Fehler" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Verbindung zum VDR Server unterbrochen" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Verbindung zum VDR Server wiederhergestellt" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Kanalgruppen automatisch am Server erzeugen" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Greek/strings.po new file mode 100644 index 000000000..7a4c0e6f0 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Greek/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Όνομα Υπολογιστή ή IP του VDR" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "ΘÏÏα VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "ΠÏοτεÏαιότητα" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "ΜετατÏοπή Συνόλου ΧαÏακτήÏων" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "ΧÏονικό ÏŒÏιο σÏνδεσης (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Îα επιτÏέπονται ΜηνÏματα VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Ανάγνωση εγγÏαφών από φάκελο" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Φάκελος εγγÏαφών VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Αναζήτηση Καναλιών" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Αναζήτηση Καναλιών - Ρυθμίσεις" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Εκκίνηση αναζήτησης Καναλιών" + +msgctxt "#30011" +msgid "Source Type" +msgstr "ΤÏπος Πηγής" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Τηλεοπτικά κανάλια" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Ραδιοφωνικοί σταθμοί" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "ΕλεÏθεÏα κανάλια" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Κωδικοποιημένα κανάλια" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD Κανάλια" + +msgctxt "#30017" +msgid "Country" +msgstr "ΧώÏα" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Cable Inversion" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Cable Symbolrate" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Cable modulation" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terr Inversion" + +msgctxt "#30022" +msgid "Satellite" +msgstr "ΔοÏυφοÏικά" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ΤÏπος ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Πίσω" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Αναζήτηση καναλιών - εκτελείται... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "ΤÏπος:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Συσκευή:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "ΣάÏωση: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Σήμα: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Îέα κανάλια: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Όλα τα κανάλια: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Αναλογική ΤηλεόÏαση" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Αναλογικό Ραδιόφωνο" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Αναμεταδότης:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Îέα κανάλια" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Αναζήτηση καναλιών - ΟλοκληÏώθηκε" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Καμία συσκευή διαθέσιμη - έξοδος" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Καμία συσκευή DVB-S2 διαθέσιμη - δοκιμή του εφεδÏÎ¹ÎºÎ¿Ï DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Εκτελείται" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Διεκόπη" + +msgctxt "#30041" +msgid "Finished" +msgstr "ΟλοκληÏώθηκε" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Αναζήτηση καναλιών - ΑκυÏώθηκε" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Αναζήτηση καναλιών - Σφάλμα" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Απώλεια σÏνδεσης με το διακομιστή VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Αποκαταστάθηκε η σÏνδεση με το διακομιστή VDR" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Αυτόματη δημιουÏγία γκÏουπ καναλιών σε αυτό το διακομιστή" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..6294384d9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hebrew/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "×©× ×ž×רח VDR ×ו כתובת IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "פפורט VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "עדיפות" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "המרת מערך תווי×" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "זמן לניסיון חיבור (שניות)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "×פשר הודעות VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "×§×¨× ×”×§×œ×˜×•×ª מתיקיה" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "תיקית הקלטות VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "חיפוש ערוצי×" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "חיפוש ×¢×¨×•×¦×™× - הגדרות" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "התחל חיפוש ערוצי×" + +msgctxt "#30011" +msgid "Source Type" +msgstr "סוג מקור" + +msgctxt "#30012" +msgid "TV channels" +msgstr "ערוצי טלוויזיה" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "ערוצי רדיו" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "ערוצי FTA" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "×¢×¨×•×¦×™× ×ž×¢×•×¨×‘×œ×™×" + +msgctxt "#30016" +msgid "HD channels" +msgstr "ערוצי HD" + +msgctxt "#30017" +msgid "Country" +msgstr "×רץ" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "כבל Inversion" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "כבל Symbolrate" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "כבל modulation" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terr Inversion" + +msgctxt "#30022" +msgid "Satellite" +msgstr "לווין" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "סוג ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "×חורה" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "חיפוש ערוץ - רץ... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "סוג:" + +msgctxt "#30027" +msgid "Device:" +msgstr "התקן:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "סרוק: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "×ות: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "×¢×¨×•×¦×™× ×—×“×©×™×:%i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "כל הערוצי×: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "שידורי טלוויזיה ×נלוגיי×" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "שידורי רדיו ×× ×œ×•×’×™×™× " + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "×¢×¨×•×¦×™× ×—×“×©×™×:" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "חיפוש ×¢×¨×•×¦×™× - הסתיי×" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "×œ× × ×ž×¦× ×”×ª×§×Ÿ - יוצ×" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "×œ× × ×ž×¦× ×”×ª×§×Ÿ DVB-S2 - מחפש התקן DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "רץ" + +msgctxt "#30040" +msgid "Stopped" +msgstr "נעצר" + +msgctxt "#30041" +msgid "Finished" +msgstr "הסתיי×" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "חיפוש ×¢×¨×•×¦×™× - בוטל" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "חיפוש ×¢×¨×•×¦×™× - שגי××”" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "חיבור לשרת VDR ×בד" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "חיבור לשרת VDR שוחזר" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "צור קבוצות ×¢×¨×•×¦×™× ×¢×œ השרת ×וטומטית" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..f2a598080 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30017" +msgid "Country" +msgstr "देश" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..08abffb5a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Hungarian/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR Kiszolgálónév vagy IP cím" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI Port" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioritás" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Karakterszet konverzió" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "A kapcsolat idÅ‘túllépési értéke (mp.)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "VDR rendszerüzenetek engedélyezése" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Felvételek olvasása könyvtárból" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR felvételi könyvtár" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Csatorna keresés" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Csatorna keresés - Beállítások" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Csatorna keresés indítása" + +msgctxt "#30011" +msgid "Source Type" +msgstr "A forrás típusa" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV csatornák" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Rádió csatornák" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Szabadon fogható csatornák" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Kódolt csatornák" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD csatornák" + +msgctxt "#30017" +msgid "Country" +msgstr "Ország" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "KábelTV inverzió" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "KábelTV szimbólumsebesség" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "KébelTV moduláció" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Földi sugárzás inverzió" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Szatelit" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC típusa" + +msgctxt "#30024" +msgid "Back" +msgstr "Vissza" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Csatorna keresés - folyamatban... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Típus:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Eszköz" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Keresés: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Jelszint: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Új csatorna: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Összes csatorna: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analóg TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analóg Rádió" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transzponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Új csatornák" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Csatorna keresés - BefejezÅ‘dött" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Nincs elérhetÅ‘ eszköz - kilépek" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Nincs elérhetÅ‘ DVB-S2 eszköz - megpróbálom DVB-S eszközzel " + +msgctxt "#30039" +msgid "Running" +msgstr "Fut" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Megállítva" + +msgctxt "#30041" +msgid "Finished" +msgstr "BefejezÅ‘dött" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Csatorna keresés - Megszakítva" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Csatorna keresés - Hiba" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Elveszett a kapcsolat a VDR szerverrel" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr " A kapcsolat a VDR szerverrel visszaállítva" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Csatorna csoportok automatikus létrehozása a szerveren" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..8d68fc2ce --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Icelandic/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Sjónvarpsrásir" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Útvarpsrásir" + +msgctxt "#30017" +msgid "Country" +msgstr "Land" + +msgctxt "#30024" +msgid "Back" +msgstr "Til baka" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tegund:" + +msgctxt "#30039" +msgid "Running" +msgstr "Keyrir" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Indonesian/strings.po new file mode 100644 index 000000000..11ca8f263 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Indonesian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipe:" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Italian/strings.po new file mode 100644 index 000000000..ea6172da5 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Italian/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR hostname o indirizzo IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Porta VSNI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Priorità" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Conversione del set di caratteri" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Timeout per la connessione (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Consenti messaggi VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Leggi le registrazioni dalla cartella" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Cartella delle registrazioni VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Ricerca canale" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Ricerca canale - Impostazioni" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Inizia la ricerca canale" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Tipo sorgente" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canali TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Canali radio" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Canali FTA" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Canali criptati" + +msgctxt "#30016" +msgid "HD channels" +msgstr "Canali HD" + +msgctxt "#30017" +msgid "Country" +msgstr "Nazione" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inversione cavo" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Symbolrate cavo" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulazione cavo" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inversione terr" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satellite" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Tipo ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Indietro" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Ricerca canale - in esecuzione... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipo:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Dispositivo:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Scansione: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Segnale: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nuovi canali: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Tutti i canali: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Tv analogica" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Radio analogica" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nuovi canali" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Ricerca canale - Terminata" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Nessuno dispositivo disponibile - esistente" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Non sono disponibili dispositivi DVB-S2 - fallback a DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "In esecuzione" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Fermato" + +msgctxt "#30041" +msgid "Finished" +msgstr "Finito" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Ricerca canale - Annullata" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Ricerca canale - Errore" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Connessione al server VDR persa" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Connessione al server VDR ripristinata" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Crea automaticamente gruppi di canali sul server" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Japanese/strings.po new file mode 100644 index 000000000..b61d2fc3f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Japanese/strings.po @@ -0,0 +1,138 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR ã®ãƒ›ã‚¹ãƒˆåã¾ãŸã¯IPアドレス" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI ãƒãƒ¼ãƒˆ" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "接続タイムアウト (ç§’)" + +msgctxt "#30008" +msgid "Channel search" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«æ¤œç´¢" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«æ¤œç´¢ - 設定" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«æ¤œç´¢ã‚’é–‹å§‹" + +msgctxt "#30011" +msgid "Source Type" +msgstr "ソースã®ã‚¿ã‚¤ãƒ—" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TVãƒãƒ£ãƒ³ãƒãƒ«" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "ラジオãƒãƒ£ãƒ³ãƒãƒ«" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "FTAãƒãƒ£ãƒ³ãƒãƒ«" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "スクランブルãƒãƒ£ãƒ³ãƒãƒ«" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HDãƒãƒ£ãƒ³ãƒãƒ«" + +msgctxt "#30017" +msgid "Country" +msgstr "国" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSCタイプ" + +msgctxt "#30024" +msgid "Back" +msgstr "戻る" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«æ¤œç´¢ - 実行中... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "タイプ:" + +msgctxt "#30027" +msgid "Device:" +msgstr "デãƒã‚¤ã‚¹ï¼š" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "スキャン:%i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "シグナル:%i %%" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "アナログTV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "アナログラジオ" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«æ¤œç´¢ - 完了" + +msgctxt "#30039" +msgid "Running" +msgstr "実行中" + +msgctxt "#30040" +msgid "Stopped" +msgstr "åœæ­¢" + +msgctxt "#30041" +msgid "Finished" +msgstr "終了" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«æ¤œç´¢ - キャンセル" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«æ¤œç´¢ - エラー" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "VDRサーãƒã¨ã®æŽ¥ç¶šãŒåˆ‡æ–­ã•れã¾ã—ãŸ" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "VDRサーãƒã¨ã®æŽ¥ç¶šãŒå¾©æ´»ã—ã¾ã—ãŸ" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Korean/strings.po new file mode 100644 index 000000000..cd024ffc1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Korean/strings.po @@ -0,0 +1,194 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR 호스트네임 ë˜ëŠ” IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI í¬íЏ" + +msgctxt "#30002" +msgid "Priority" +msgstr "우선순위" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "문ìžì§‘í•© 변환" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "연결시간 제한 (ì´ˆ)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "VDR 메시지 허용" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "디렉터리ì—서 녹화 ì½ê¸°" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR 녹화 디렉터리" + +msgctxt "#30008" +msgid "Channel search" +msgstr "ì±„ë„ ê²€ìƒ‰" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "ì±„ë„ ê²€ìƒ‰ - 설정" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "ì±„ë„ ê²€ìƒ‰ 시작" + +msgctxt "#30011" +msgid "Source Type" +msgstr "소스 종류" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV 채ë„" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "ë¼ë””오 채ë„" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "FTA 채ë„" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "암호화 채ë„" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD 채ë„" + +msgctxt "#30017" +msgid "Country" +msgstr "êµ­ê°€" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "ì¼€ì´ë¸” 변조" + +msgctxt "#30022" +msgid "Satellite" +msgstr "위성" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC 형ì‹" + +msgctxt "#30024" +msgid "Back" +msgstr "뒤로" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "ì±„ë„ ê²€ìƒ‰ - 검색중... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "형ì‹:" + +msgctxt "#30027" +msgid "Device:" +msgstr "장치:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "스캔: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "신호: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "새 채ë„: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "모든 채ë„: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "아날로그 TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "아날로그 ë¼ë””오" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "수신기:" + +msgctxt "#30035" +msgid "New channels" +msgstr "새 채ë„" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "ì±„ë„ ê²€ìƒ‰ - 완료" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "장치 ì—†ìŒ - 종료" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "DVB-S2 장치 ì—†ìŒ - DVB-S 장치로 시ë„중" + +msgctxt "#30039" +msgid "Running" +msgstr "실행중" + +msgctxt "#30040" +msgid "Stopped" +msgstr "ì •ì§€" + +msgctxt "#30041" +msgid "Finished" +msgstr "완료" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "ì±„ë„ ê²€ìƒ‰ - 취소" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "ì±„ë„ ê²€ìƒ‰ - 오류" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "VDR 서버 ì—°ê²° ëŠê¹€" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "VRD 서버 ì—°ê²° 복구" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "ì„œë²„ì— ìžë™ìœ¼ë¡œ ì±„ë„ ê·¸ë£¹ ìƒì„±" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..0cf19fb87 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Lithuanian/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR kompiuterio vardas arba IP adresas" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI prievadas" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioritetas" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Konversijos simbolių rinkinys" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Prisijungimui skyrtas laikas (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Leisti VDR praneÅ¡imus" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Skaityti įraÅ¡us iÅ¡ katalogo" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR įrašų katalogas" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Kanalų paieÅ¡ka" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Kanalų paieÅ¡ka - Nustatymai" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "PradÄ—ti kanalų paieÅ¡kÄ…" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Å altinio tipas" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV kanalai" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radijo kanalai" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "FTA kanalai" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Koduoti kanalai" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD kanalai" + +msgctxt "#30017" +msgid "Country" +msgstr "Å alis" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Kabelio inversija" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Kabelio spartos dažnis" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Kabelio moduliavimas" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terr inversija" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Palydovas (Satellite)" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC tipas" + +msgctxt "#30024" +msgid "Back" +msgstr "Atgal" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Kanalų paieÅ¡ka - veikia... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipas:" + +msgctxt "#30027" +msgid "Device:" +msgstr "prietaisas:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Skenavimas: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signalas: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nauji kanalai: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Visi kanalai: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "AnaloginÄ— TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "AnaloginÄ— Radija" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponderis:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nauji kanalai" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Kanalų paieÅ¡ka - Baigta(-s)" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Negalimi jokie prietaisai - nutraukimas" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "NÄ—ra DVB-S2 - Bandomas atsarginis DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Paleisti" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Sustabdyta" + +msgctxt "#30041" +msgid "Finished" +msgstr "Užbaigta" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Kanalų paieÅ¡ka - AtÅ¡auktas" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Kanalų paieÅ¡ka - Klaida" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "NutrÅ«ko ryÅ¡ys su VDR serveriu" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Prijungimas prie VDR serverio atkurtas" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Serveryje sukurti kanalų grupes automatiÅ¡kai" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..37c47f5a2 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Macedonian/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR Hostname или IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI Port" + +msgctxt "#30002" +msgid "Priority" +msgstr "Приоритет" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Конверзија на вид на карактери" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Тајмаут на поврзување (Ñ)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Дозволи VDR пораки" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Читај Ñнимки од директориум" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR директориум на Ñнимки" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Барање на канали" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Барање на канали - ПоÑтавки" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Почни барање канали" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Вид на извор" + +msgctxt "#30012" +msgid "TV channels" +msgstr "ТВ канали" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Радио канали" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Слободни канали" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Заклучени канали" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD канали" + +msgctxt "#30017" +msgid "Country" +msgstr "Држава" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "КабловÑка инверзија" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "КабловÑка Ñтапка на Ñимбол" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "КабловÑка модулација" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terr Инверзија" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Сателит" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC Тип" + +msgctxt "#30024" +msgid "Back" +msgstr "Ðазад" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Барање канали - бара... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Тип:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Уред:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Барај: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Сигнал: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Ðови канали: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Сите канали: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Ðналогна ТВ" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Ðналогно Радио" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "ТранÑпондер:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Ðови канали" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Барање на канали - Завршено" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Ðема доÑтапни уреди" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Ðема DVB-S2 доÑтапни уреди- trying fallback to DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Стартување" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Запрено" + +msgctxt "#30041" +msgid "Finished" +msgstr "Завршено" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Барање на канали - Откажано" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Барање на канали - Грешка" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Изгубена врÑка Ñо VDR Ñервер" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Обновена врÑка Ñо VDR Ñервер" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "ÐвтоматÑки креирај група на канали на Ñервер" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..e85bdb63f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Norwegian/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30017" +msgid "Country" +msgstr "Land" + +msgctxt "#30024" +msgid "Back" +msgstr "Tilbake" + +msgctxt "#30026" +msgid "Type:" +msgstr "Type:" + +msgctxt "#30039" +msgid "Running" +msgstr "Kjører" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Polish/strings.po new file mode 100644 index 000000000..12cc04c5d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Polish/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "IP lub nazwa hosta VDR" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Port VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Priorytet" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Konwersja zestaw kodowania znaków" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Limit czasu połączenia (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Zezwalaj na wiadomoÅ›ci VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Wczytaj nagrania z folderu" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Katalog nagraÅ„ VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Wyszukiwanie kanałów" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Wyszukiwanie kanałów - Ustawienia" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Rozpocznij wyszukiwanie kanałów" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Typ źródÅ‚a" + +msgctxt "#30012" +msgid "TV channels" +msgstr "KanaÅ‚y TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "KanaÅ‚y radiowe" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "KanaÅ‚y FTA" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "KanaÅ‚y kodowane" + +msgctxt "#30016" +msgid "HD channels" +msgstr "KanaÅ‚y HD" + +msgctxt "#30017" +msgid "Country" +msgstr "Kraj" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inwersja TV kablowej" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Szybkość transmisji symboli TV kablowej" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulacja TV kablowej" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inwersja TV naziemnej" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satelita" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Typ ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Cofnij" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Wyszukiwanie kanałów - w toku... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Typ:" + +msgctxt "#30027" +msgid "Device:" +msgstr "UrzÄ…dzenie:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Skanowanie: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "SygnaÅ‚: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nowych kanałów: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Wszystkich kanałów: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "TV analogowa" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Radio analogowe" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nowe kanaÅ‚y" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Wyszukiwanie kanałów - ZakoÅ„czone" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Brak dostÄ™pnych urzÄ…dzeÅ„ - KoÅ„czenie" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Brak urzÄ…dzenia DVB-S2 - próba powrotu do DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Uruchomiony" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Zatrzymany" + +msgctxt "#30041" +msgid "Finished" +msgstr "ZakoÅ„czono" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Wyszukiwanie kanałów - Anulowano" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Wyszukiwanie kanałów - Błąd" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Utracono połączenie z serwerem VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Przywrócono połączenie z serwerem VDR" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Utwórz automatycznie grupy kanałów na serwerze" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..78d552d97 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Hostname VDR ou IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Porta VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioridade" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Conversão de Conjunto de Caracteres" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Tempo limite para conexão (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Permitir mensagens VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Ler gravações do diretório" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Diretório de gravações VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Procurar canal" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Procurar canal - ajustes" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Iniciar Procura de Canais" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Tipo de Fonte" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canais de TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Canais de rádio" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Canais FTA" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Canais codificados" + +msgctxt "#30016" +msgid "HD channels" +msgstr "Canais HD" + +msgctxt "#30017" +msgid "Country" +msgstr "País" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inversão de cabo" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Cabo Symbolrate" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulação do cabo" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inversão Terr" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satélite" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Tipo ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Voltar" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Procura de canais - executando...%i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipo:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Dispositivo:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Examinar: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Sinal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Novos canais: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Todos os canais: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "TV analógica" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Rádio analógico" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Novos canais" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Procura de canal - Finalizado" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Nenhum dispositivo disponível - saindo" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Nenhum dispositivo DVD-S2 disponível - Tentando para DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Executando" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Interrompido" + +msgctxt "#30041" +msgid "Finished" +msgstr "Finalizado" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Procura de canais - Cancelada" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Procura de canais - Erro" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Conexão perdida com o servidor VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Conexão restabelecida ao servidor VDR" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Criar grupos de canais automaticamente no servidor" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..c1710df36 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Portuguese/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Hostname ou IP VDR" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Porta VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioridade" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Conversão do conjunto de caracteres" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Tempo limite de ligação (seg)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Permitir mensagens VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Ler gravações a partir do directório" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Directório de gravações VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Pesquisa de canais" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Pesquisa de canais - Definições " + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Iniciar a pesquisa de canais" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Tipo de fonte" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canais de TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Estações de Rádio" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Canais FTA" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Canais codificados" + +msgctxt "#30016" +msgid "HD channels" +msgstr "Canais HD" + +msgctxt "#30017" +msgid "Country" +msgstr "País" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inversão de cabo" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Symbolrate do Cabo" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulação do cabo" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inversão Terr" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satélite" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Tipo de ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Retroceder" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Efectuando a procura de canais... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipo:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Dispositivo:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Procurar: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Sinal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Novos canais: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Todos os canais: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "TV analógica " + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Rádio analógico " + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Novos Canais" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Procura de canais - Concluída" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Não há dispositivos disponíveis - encerrando" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Nenhum dispositivo DVB-S2 está disponível - tentando DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Reproduzindo" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Parado" + +msgctxt "#30041" +msgid "Finished" +msgstr "Concluído" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Procura de canais - Cancelada" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Procura de canais - Erro" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "A ligação ao servidor VDR foi perdida" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "A ligação ao servidor VDR foi restabelecida" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Criar automaticamente grupos de canais no servidor" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Romanian/strings.po new file mode 100644 index 000000000..795f189e8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Romanian/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Nume host sau IP VDR" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Port VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioritate" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Conversie caracter set" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Conexiune timeout (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Permite mesaje VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "CiteÅŸte înregistrări din directorul" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Director înregistrări VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Căutare canal" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Căutare canal - setări" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "ÃŽncepe căutare canal" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Tip sursă" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canale TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Canale radio" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Canale FTA" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Canale codate" + +msgctxt "#30016" +msgid "HD channels" +msgstr "Canale HD" + +msgctxt "#30017" +msgid "Country" +msgstr "Èšară" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inversare cablu" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Symbolrate cablu" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulare Cablu" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inversie Terr" + +msgctxt "#30022" +msgid "Satellite" +msgstr "SateliÅ£i" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Tip ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "ÃŽnapoi" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Căutare canal - rulează... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tip:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Aparat:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Scan: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Semnal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Canale noi: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Toate canalele: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "TV Analogic" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Radio analog" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Canale noi" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Căutare canale - terminată" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Nu există aparate disponibile - ieÅŸire" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Nu există aparate DVB-S2 disponibile - se încearcă întoarcerea la DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "ÃŽn execuÈ›ie" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Oprit" + +msgctxt "#30041" +msgid "Finished" +msgstr "Terminat" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Căutare canale - anulată" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Căutare canale - eroare" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "S-a pierdut conexiunea la serverul VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Conexiunea la serverul VDR restaurată" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Creează grupuri canale automat pe server" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Russian/strings.po new file mode 100644 index 000000000..b4d03d483 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Russian/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Ð˜Ð¼Ñ VDR хоÑта или IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI порт" + +msgctxt "#30002" +msgid "Priority" +msgstr "Приоритет" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Конвертирование Ñимволов" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Тайм-аут(Ñ‹) ÑоединениÑ" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Включить VDR ÑообщениÑ" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Читать запиÑи из папки" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Папка запиÑей VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "ПоиÑк канала" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "ПоиÑк канала - ÐаÑтройка" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Ðачать поиÑк канала" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Тип иÑточника" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Телеканалы" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "РадиоÑтанции" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Открытые каналы" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Кодированные каналы" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD каналы" + +msgctxt "#30017" +msgid "Country" +msgstr "Страна" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "ИнверÑÐ¸Ñ ÐºÐ°Ð±ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÑкороÑть кабельного" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "МодулÑÑ†Ð¸Ñ ÐºÐ°Ð±ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "ИнверÑÐ¸Ñ Ð½Ð°Ð·ÐµÐ¼Ð½Ð¾Ð³Ð¾" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Спутниковое" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Тип ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Ðазад" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Идет поиÑк канала... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Тип:" + +msgctxt "#30027" +msgid "Device:" +msgstr "УÑтройÑтво:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Сканировано: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Сигнал: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Ðовых каналов: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Ð’Ñего каналов: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Ðналоговое TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Ðналоговое радио" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "ТранÑпондер:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Ðовые каналы" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "ПоиÑк каналов окончен" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "УÑтройÑтво недоÑтупно - выход" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Ðет доÑтупного DVB-S2 уÑтройÑтва - пробую вернутьÑÑ Ðº DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "ЗапуÑк…" + +msgctxt "#30040" +msgid "Stopped" +msgstr "ОÑтановлено" + +msgctxt "#30041" +msgid "Finished" +msgstr "Окончено" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "ПоиÑк каналов прерван" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Ошибка поиÑка каналов" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "УтерÑна ÑвÑзь Ñ Ñервером VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "УÑтановлена ÑвÑзь Ñ Ñервером VDR" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "ÐвтоматичеÑки Ñоздать на Ñервере группы каналов" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..d1afc9e6c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30017" +msgid "Country" +msgstr "Држава" + +msgctxt "#30026" +msgid "Type:" +msgstr "Тип:" + +msgctxt "#30039" +msgid "Running" +msgstr "Покретање" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Serbian/strings.po new file mode 100644 index 000000000..ef2b2fc9d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Serbian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30017" +msgid "Country" +msgstr "Država" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tip:" + +msgctxt "#30039" +msgid "Running" +msgstr "Pokretanje" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Slovak/strings.po new file mode 100644 index 000000000..d4fd9c51e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Slovak/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Názov hostiteľa VDR alebo IP adresa" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI port" + +msgctxt "#30002" +msgid "Priority" +msgstr "Priorita" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Konverzia znakovej sady" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "ÄŒasový limit pre spojenie" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "PovoliÅ¥ zobrazenie správ z VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "ČítaÅ¥ nahrávky z adresára" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Adresár pre nahrávky z VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Vyhľadávanie kanálov" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Vyhľadávanie kanálov - Nastavenia" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "SpustiÅ¥ vyhľadávanie kanálov" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Typ zdroja" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV kanály" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Rozhlasové kanály" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Nekódované kanály" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Kódované kanály" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD kanály" + +msgctxt "#30017" +msgid "Country" +msgstr "Krajina" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Káblový príjem - Inverzia" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Káblový príjem - Symbolová rýchlosÅ¥" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Káblový príjem - Modulácia" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Pozemný príjem - Inverzia" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satelit" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Typ ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Späť" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Vyhľadávanie kanálov - prebieha... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Typ:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Zariadenie:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Vyhľadávanie na: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signál: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nové kanály: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "VÅ¡etky kanály: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analógová TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analógový rozhlas" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transpondér:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nové kanály" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Vyhľadávanie kanálov - DokonÄené" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Nie je k dispozícii žiadne zariadenie - ukonÄuje sa" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Nie je k dispozícii žiadne DVB-S2 zariadenie - pokus o prepnutie do režimu DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Prebieha spustenie" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Zastavené" + +msgctxt "#30041" +msgid "Finished" +msgstr "DokonÄené" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Vyhľadávanie kanálov - ZruÅ¡ené" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Vyhľadávanie kanálov - Chyba" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Strata spojenia k VDR serveru" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Spojenie k VDR serveru bolo obnovené" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Automaticky vytváraÅ¥ skupiny kanálov na serveri" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..2417f9988 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Slovenian/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Ime gostitelja ali IP strežnika VDR" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Vrata VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioriteta" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Pretvorba kodnega sistema" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "NajdaljÅ¡i dovoljeni Äas povezave (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Dovoli sporoÄila VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Preberi posnetke v mapi" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Mapa posnetkov VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Iskanje programov" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Iskanje programov - Nastavitve" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "ZaÄni iskanje programov" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Tip vira" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV programi" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radijski programi" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "BrezplaÄni programi" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "ZaÅ¡Äiteni programi" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD programi" + +msgctxt "#30017" +msgid "Country" +msgstr "Država" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Cable Inversion" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Cable Symbolrate" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Cable modulation" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Terr Inversion" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satelit" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Tip ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Nazaj" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Iskanje programov - teÄe... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tip:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Naprava:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Iskanje: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Novi programi: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Vsi programi: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analogna TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analogni radio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Oddajnik:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Novi programi" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Iskanje programov - zakljuÄeno" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Naprava ni na voljo - zapuÅ¡Äam" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Naprava DVB-S2 ni na voljo - poskuÅ¡am naprave DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "TeÄe" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Ustavljeno" + +msgctxt "#30041" +msgid "Finished" +msgstr "ZakljuÄeno" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Iskanje programov - preklicano" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Iskanje programov - napaka" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Izgubljena povezava s strežnikom VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Obnovljena povezava s strežnikom VDR" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Samodejno ustvari skupine programov na strežniku" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..54714afab --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Nombre o IP del servidor VDR " + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Puerto VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioridad" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Conversión de caracteres" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Tiempo para conectar excedido" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Permitir mensajes VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Leer grabaciones en carpeta" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Directorio de grabación para VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Buscar canal" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Búsqueda de canales - Ajustes" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Comenzar Búsqueda de canales" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Tipo de fuente" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canales TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Canales Radio" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Canales FTA" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Canales codificados" + +msgctxt "#30016" +msgid "HD channels" +msgstr "Canales HD" + +msgctxt "#30017" +msgid "Country" +msgstr "País" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inversión de cable" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Símbolo de cable" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulación de cable" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inversión Terr" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satélite" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Tipo ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Atrás" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Búsqueda de canales - buscando... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipo:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Dispositivo:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Escanear: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Señal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nuevos canales: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Todos los canales: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "TV Analógica" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Radio Analógica" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nuevos canales" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Búsqueda de canales - Finalizada" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "No hay dispositivo disponible - saliendo" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "DVB-S2 no disponible - regresando a DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Ejecutando" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Detenido" + +msgctxt "#30041" +msgid "Finished" +msgstr "Finalizado" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Búsqueda de canales - Cancelada" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Búsqueda de canales - Error" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Conexión perdida con el servidor VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Conexión con el servidor VDR restablecida" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Crear grupos de canales de forma automática en el servidor" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..f378ade6b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canales TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Canales Radio" + +msgctxt "#30017" +msgid "Country" +msgstr "País" + +msgctxt "#30024" +msgid "Back" +msgstr "Regresar" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipo:" + +msgctxt "#30039" +msgid "Running" +msgstr "Ejecutando" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish/strings.po new file mode 100644 index 000000000..b96ba88fa --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Spanish/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "Nombre o IP del servidor VDR " + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "Puerto VNSI" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioridad" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Conversión de caracteres" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Tiempo para conectar excedido" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "Permitir mensajes VDR" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Leer grabaciones en carpeta" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "Directorio de grabación para VDR" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Buscar canal" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Búsqueda de canales - Ajustes" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Comenzar Búsqueda de canales" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Tipo de fuente" + +msgctxt "#30012" +msgid "TV channels" +msgstr "Canales TV" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Canales Radio" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "Canales FTA" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Canales codificados" + +msgctxt "#30016" +msgid "HD channels" +msgstr "Canales HD" + +msgctxt "#30017" +msgid "Country" +msgstr "País" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Inversión de cable" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Símbolo de cable" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Modulación de cable" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Inversión Terr" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satélite" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "Tipo ATSC" + +msgctxt "#30024" +msgid "Back" +msgstr "Atrás" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Búsqueda de canales - buscando... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tipo:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Dispositivo:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Escanear: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Señal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nuevos canales: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Todos los canales: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "TV Analógica" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Radio Analógica" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nuevos canales" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Búsqueda de canales - Finalizada" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "No hay dispositivo disponible - saliendo" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "DVB-S2 no disponible - regresando a DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "Ejecutando" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Detenido" + +msgctxt "#30041" +msgid "Finished" +msgstr "Finalizado" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Búsqueda de canales - Cancelada" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Búsqueda de canales - Error" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Conexión perdida con el servidor VDR" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Conexión con el servidor VDR restablecida" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Crear grupos de canales de forma automática en el servidor" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Swedish/strings.po new file mode 100644 index 000000000..420fc1133 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Swedish/strings.po @@ -0,0 +1,206 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VDR Hostname or IP" +msgstr "VDR-värdnamn eller IP" + +msgctxt "#30001" +msgid "VNSI Port" +msgstr "VNSI Port" + +msgctxt "#30002" +msgid "Priority" +msgstr "Prioritet" + +msgctxt "#30003" +msgid "Character Set Conversion" +msgstr "Teckenuppsättningskonvertering" + +msgctxt "#30004" +msgid "Connect timeout (s)" +msgstr "Anslutningstimeout (s)" + +msgctxt "#30005" +msgid "Allow VDR Messages" +msgstr "TillÃ¥t VDR Meddelanden" + +msgctxt "#30006" +msgid "Read recordings from directory" +msgstr "Läs inspelningar frÃ¥n katalog" + +msgctxt "#30007" +msgid "VDR recordings directory" +msgstr "VDR inspelningskatalog" + +msgctxt "#30008" +msgid "Channel search" +msgstr "Kanalsök" + +msgctxt "#30009" +msgid "Channel search - Settings" +msgstr "Kanalsök - Inställningar" + +msgctxt "#30010" +msgid "Start Channel search" +msgstr "Starta kanalsök" + +msgctxt "#30011" +msgid "Source Type" +msgstr "Källtyp" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV-kanaler" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radiokanaler" + +msgctxt "#30014" +msgid "FTA channels" +msgstr "FTA kanaler" + +msgctxt "#30015" +msgid "Scrambled channels" +msgstr "Kodade kanaler" + +msgctxt "#30016" +msgid "HD channels" +msgstr "HD kanaler" + +msgctxt "#30017" +msgid "Country" +msgstr "Land" + +msgctxt "#30018" +msgid "Cable Inversion" +msgstr "Kabelinvertering" + +msgctxt "#30019" +msgid "Cable Symbolrate" +msgstr "Kabelsymbolshastighet" + +msgctxt "#30020" +msgid "Cable modulation" +msgstr "Kabelmodulering" + +msgctxt "#30021" +msgid "Terr Inversion" +msgstr "Markinvertering" + +msgctxt "#30022" +msgid "Satellite" +msgstr "Satellit" + +msgctxt "#30023" +msgid "ATSC Type" +msgstr "ATSC typ" + +msgctxt "#30024" +msgid "Back" +msgstr "Tillbaka" + +msgctxt "#30025" +msgid "Channel search - running... %i %%" +msgstr "Kanalsökning - körs... %i %%" + +msgctxt "#30026" +msgid "Type:" +msgstr "Typ:" + +msgctxt "#30027" +msgid "Device:" +msgstr "Enhet:" + +msgctxt "#30028" +msgid "Scan: %i" +msgstr "Sök: %i" + +msgctxt "#30029" +msgid "Signal: %i %%" +msgstr "Signal: %i %%" + +msgctxt "#30030" +msgid "New channels: %i" +msgstr "Nya kanaler: %i" + +msgctxt "#30031" +msgid "All channels: %i" +msgstr "Alla kanaler: %i" + +msgctxt "#30032" +msgid "Analog TV" +msgstr "Analog TV" + +msgctxt "#30033" +msgid "Analog Radio" +msgstr "Analog Radio" + +msgctxt "#30034" +msgid "Transponder:" +msgstr "Transponder:" + +msgctxt "#30035" +msgid "New channels" +msgstr "Nya kanaler:" + +msgctxt "#30036" +msgid "Channel search - Finished" +msgstr "Kanalsökning - slutförd" + +msgctxt "#30037" +msgid "No device available - exiting" +msgstr "Ingen enhet tillgänglig - stänger" + +msgctxt "#30038" +msgid "No DVB-S2 device available - trying fallback to DVB-S" +msgstr "Ingen DVB-S2 enhet tillgänglig - försöker Ã¥tergÃ¥ till DVB-S" + +msgctxt "#30039" +msgid "Running" +msgstr "IgÃ¥ng" + +msgctxt "#30040" +msgid "Stopped" +msgstr "Stoppad" + +msgctxt "#30041" +msgid "Finished" +msgstr "Slutförd" + +msgctxt "#30042" +msgid "Channel search - Canceled" +msgstr "Kanalsökning - Avbruten" + +msgctxt "#30043" +msgid "Channel search - Error" +msgstr "Kanalsökning - Error" + +msgctxt "#30044" +msgid "Lost connection to VDR Server" +msgstr "Tappade anslutning till VDR server" + +msgctxt "#30045" +msgid "Connection to VDR Server restored" +msgstr "Anslutning till VDR server Ã¥terställd" + +msgctxt "#30046" +msgid "Create channel groups automatically on the server" +msgstr "Skapa kanalgrupper automatiskt pÃ¥ servern" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Thai/strings.po new file mode 100644 index 000000000..047dd5568 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Thai/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "ช่อง ทีวี" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "ช่อง วิทยุ" + +msgctxt "#30017" +msgid "Country" +msgstr "ประเทศ" + +msgctxt "#30024" +msgid "Back" +msgstr "ย้อนà¸à¸¥à¸±à¸š" + +msgctxt "#30026" +msgid "Type:" +msgstr "ชนิด:" + +msgctxt "#30039" +msgid "Running" +msgstr "à¸à¸³à¸¥à¸±à¸‡à¸”ำเนินà¸à¸²à¸£" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Turkish/strings.po new file mode 100644 index 000000000..12cb49d16 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Turkish/strings.po @@ -0,0 +1,42 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30012" +msgid "TV channels" +msgstr "TV kanalları" + +msgctxt "#30013" +msgid "Radio channels" +msgstr "Radyo kanalları" + +msgctxt "#30017" +msgid "Country" +msgstr "Ülke" + +msgctxt "#30024" +msgid "Back" +msgstr "Geri" + +msgctxt "#30026" +msgid "Type:" +msgstr "Tür:" + +msgctxt "#30039" +msgid "Running" +msgstr "Çalışıyor" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..1e2bdd9cc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/language/Ukrainian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VDR VNSI Client +# Addon id: pvr.vdr.vnsi +# Addon version: 1.6.4 +# Addon Provider: FernetMenta, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30017" +msgid "Country" +msgstr "Країна" + +msgctxt "#30026" +msgid "Type:" +msgstr "Тип:" + +msgctxt "#30039" +msgid "Running" +msgstr "ЗапуÑк…" diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/settings.xml new file mode 100644 index 000000000..557f54c4b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/settings.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/skins/Confluence/720p/ChannelScan.xml b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/skins/Confluence/720p/ChannelScan.xml new file mode 100644 index 000000000..e4f633825 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.vnsi/resources/skins/Confluence/720p/ChannelScan.xml @@ -0,0 +1,733 @@ + + 5 + no + 2 + + CommonSettingsBackground + CommonMediaPlayingBackground + + 90 + 50 + + + + + + + + + + 0 + 0 + 1100 + 640 + DialogBack.png + + + LOGO + 30 + 15 + 220 + 80 + keep + Confluence_Logo.png + + + 268 + 10 + 790 + 618 + black-back2.png + + + 268 + 10 + 804 + 70 + stretch + GlassTitleBar.png + + + header label + 300 + 20 + 740 + 30 + font16caps + + left + center + white + black + + + Start/Stop Channel search + 10 + 90 + 260 + 60 + 13 + + font13_title + right + center + MenuItemNF.png + MenuItemFO.png + 2 + 10 + 6 + 6 + + + Cancel + 10 + 150 + 260 + 60 + 13 + + font13_title + right + center + MenuItemNF.png + MenuItemFO.png + 10 + 10 + 5 + 5 + IsEmpty(Window.Property(Scanning)) + + + IsEmpty(Window.Property(Scanning)) + + Source Type + 268 + 80 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 22 + 11 + + + Default RadioButton + 268 + 120 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 10 + 12 + Conditional + + + Default RadioButton + 268 + 160 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 11 + 13 + Conditional + Conditional + + + Default RadioButton + 268 + 200 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 12 + 14 + Conditional + Conditional + Conditional + + + Default RadioButton + 268 + 240 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 13 + 15 + Conditional + Conditional + Conditional + Conditional + + + Default RadioButton + 268 + 280 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 14 + 16 + Conditional + Conditional + Conditional + Conditional + Conditional + + + Country selection + 268 + 320 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 15 + 17 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + Satellite selection + 268 + 360 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 16 + 18 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + DVB-C Inversion + 268 + 400 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 17 + 29 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + DVB-C Symbolrate + 268 + 440 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 18 + 20 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + DVB-C QAM + 268 + 480 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 29 + 21 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + DVB-T Inversion + 268 + 520 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 20 + 22 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + ATSC Type + 268 + 560 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 21 + 10 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + + !IsEmpty(Window.Property(Scanning)) + + Progressbar + 275 + 60 + 780 + 14 + + + type label + 275 + 85 + 250 + 30 + font13 + + left + center + grey + black + + + type value + 1040 + 85 + 500 + 30 + font13 + + right + center + white + black + + + device label + 275 + 115 + 250 + 30 + font13 + + left + center + white + black + + + device value + 1040 + 115 + 500 + 30 + font13 + + right + center + white + black + + + transponder label + 275 + 145 + 250 + 30 + font13 + + left + center + white + black + + + transponder value + 1040 + 145 + 500 + 30 + font13 + + right + center + white + black + + + Progressbar + 30 + 160 + 220 + 50 + + + Signal label + 40 + 168 + 250 + 30 + font13 + + left + center + white + black + + + 215 + 170 + 30 + 30 + stretch + amt-overlay-watched.png + !IsEmpty(Window.Property(Locked)) + + + 290 + 180 + 750 + 400 + 2 + 2 + 10 + 60 + 60 + 200 + + + 0 + 0 + 750 + 40 + stretch + MenuItemNF.png + + + 710 + 5 + 40 + 30 + stretch + OverlayLocked.png + !IsEmpty(ListItem.Property(IsEncrypted)) + + + 690 + 7 + 60 + 25 + stretch + OverlayHD.png + Conditional + !IsEmpty(ListItem.Property(IsHD)) + + + 0 + 2 + 36 + 36 + stretch + DefaultVideoCover.png + IsEmpty(ListItem.Property(IsRadio)) + + + 0 + 2 + 36 + 36 + stretch + DefaultAlbumCover.png + !IsEmpty(ListItem.Property(IsRadio)) + + + 45 + 0 + 500 + 40 + font14 + left + center + grey2 + selected + ListItem.Label + + + + + 0 + 0 + 750 + 40 + stretch + MenuItemNF.png + !Control.HasFocus(2) + VisibleFadeEffect + + + 0 + 0 + 750 + 40 + stretch + MenuItemFO.png + Control.HasFocus(2) + VisibleFadeEffect + + + 710 + 5 + 40 + 30 + stretch + OverlayLocked.png + !IsEmpty(ListItem.Property(IsEncrypted)) + + + 690 + 7 + 60 + 25 + stretch + OverlayHD.png + Conditional + !IsEmpty(ListItem.Property(IsHD)) + + + 0 + 2 + 36 + 36 + stretch + DefaultVideoCover.png + IsEmpty(ListItem.Property(IsRadio)) + + + 0 + 2 + 36 + 36 + stretch + DefaultAlbumCover.png + !IsEmpty(ListItem.Property(IsRadio)) + + + 45 + 0 + 500 + 40 + font14 + left + center + grey2 + selected + ListItem.Label + + + + + 1060 + 180 + 25 + 410 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 2 + 10 + true + vertical + + + Page Count Label + 1040 + 600 + 500 + 20 + font12 + grey + false + right + center + + + + Status Label + 275 + 590 + 500 + 20 + font14 + yellow + false + left + center + + + + + BehindDialogFadeOut + + 60 + 0 + WindowClose + WindowOpen + + 0 + 0 + 250 + 35 + header.png + + + WindowTitleCommons + 220 + + + + WindowTitleHomeButton + Clock + + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/XBMC_VDR_xvdr.pvr b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/XBMC_VDR_xvdr.pvr new file mode 100644 index 000000000..7001e096f Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/XBMC_VDR_xvdr.pvr differ diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/addon.xml b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/addon.xml new file mode 100644 index 000000000..b285e9411 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/addon.xml @@ -0,0 +1,24 @@ + + + + + + + + PVR client to connect VDR to XBMC + VDR frontend; supporting streaming of Live TV & Recordings, EPG, Timers + Erlaubt das wiedergeben von Live TV und Aufnahmen mittels VDR auf XBMC. Des weiteren werden EPG, Kanalsuche und Timer unterstützt. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + linux windx wingl osx android + + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/icon.png b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/icon.png new file mode 100644 index 000000000..f8f83ae27 Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/Dutch/strings.xml b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/Dutch/strings.xml new file mode 100644 index 000000000..304c30379 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/Dutch/strings.xml @@ -0,0 +1,70 @@ + + + + VDR hostnaam of IP adres + Protocol Compressie + Prioriteit + Character Set Conversie + Connectie timeout (s) + Berichten vanuit VDR toestaan + Lees opnames van directory^M + VDR opname directory^M + Kanalen scannen + Kanalen scan - opties + kanalen scan starten + Bron Type + TV kanalen + Radio kanalen + FTA kanalen + Gecodeerde kanalen + HD kanalen + Land + Kabel Inversie + Kabel Symbolrate + Kabel modulatie + Antenne Inversion + Satelliet + ATSC type + Terug + Kanalen zoeken - bezig... %i %% + Type: + Toestel: + Scan: %i + Signaal: %i %% + Nieuwe kanalen: %i + Alle kanalen: %i + Analoge TV + Analoge Radio + Transponder: + Nieuwe kanalen + Kanalen zoeken - Klaar + Geen device beschikbaar - exiting + Geen DVB-S2 apparaat beschikbaar - We vallen terug op DVB-S + Bezig + Gestopt + Klaar + Kanalen scan - Geannuleerd + Kanalen scan - Fout + Connectie verloren met VDR Server + Connectie met VDR Server hersteld + Automatische aanmaak kanaalgroepen + TV signaal verloren + TV signaal hersteld + Voorkeur Audiokanaal + Connectie + VDR + Kanaal update + Geen + Enkel namen + Enkel PIDS + Namen en PIDs + Nieuwe kanalen toevoegen + Nieuwe transponders toevoegen + Laag + Midden + Hoog + Opname bezig. Kan het kanaal niet veranderen + Alle ontvangers zijn bezig + Fout bij veranderen van kanaal + Kanaal '%s' ongekend + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/English/strings.xml b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/English/strings.xml new file mode 100644 index 000000000..618e9618b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/English/strings.xml @@ -0,0 +1,76 @@ + + + + VDR Hostname or IP + Protocol Compression + Priority + Character Set Conversion + Connect timeout (s) + Allow VDR Messages + Read recordings from directory + VDR recordings directory + Channel search + Channel search - Settings + Start Channel search + Source Type + TV channels + Radio channels + FTA channels + Scrambled channels + HD channels + Country + Cable Inversion + Cable Symbolrate + Cable modulation + Terr Inversion + Satellite + ATSC Type + Back + Channel search - running... %i %% + Type: + Device: + Scan: %i + Signal: %i %% + New channels: %i + All channels: %i + Analog TV + Analog Radio + Transponder: + New channels + Channel search - Finished + No device available - exiting + No DVB-S2 device available - trying fallback to DVB-S + Running + Stopped + Finished + Channel search - Canceled + Channel search - Error + Lost connection to VDR Server + Connection to VDR Server restored + Create channelgroups automatically + TV Signal lost + TV Signal restored + Preferred Audiotrack + Connection + VDR + Channel update + None + Names only + PIDS only + Names and PIDs + Add new channels + Add new transponders + Low + Medium + High + Active recording. Unable to switch channel + All receivers busy + Error on switching channel + Channel '%s' unknown + Encrypted channel + Channel Filter + FTA channels + Native language only + Supported CaIDs + Encrypted channels + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/Finnish/strings.xml b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/Finnish/strings.xml new file mode 100644 index 000000000..3156a4103 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/Finnish/strings.xml @@ -0,0 +1,47 @@ + + + + VDR-palvelimen nimi tai IP-osoite + Tärkeysaste + Kirjainmerkistön muunnos + Yhteyden aikakatkaisu (s) + Salli VDR-palvelimen viestit + Lue nauhoitukset kansiosta + VDR-nauhoitusten kansio + Kanavahaku + Kanavahaun asetukset + Aloita kanavahaku + Lähteen tyyppi + TV-kanavat + Radiokanavat + Ilmaiskanavat + Salatut kanavat + HD-kanavat + Maa + Kaapeliverkon inversio + Kaapeliverkon symbolinopeus + Kaapeliverkon modulointi + Antenniverkon inversio + Satelliitti + ATSC tyyppi + Takaisin + Kanavahaku käynnissä... %i %% + Tyyppi: + Laite: + Haku: %i + Signaali: %i %% + Uudet kanavat: %i + Kaikki kanavat: %i + Analoginen TV + Analoginen radio + Transponder: + Uudet kanavat + Kanavahaku valmis + Ei laitetta saatavilla - lopetetaan + Ei DVB-S2 laitetta saatavilla - kokeillaan DVB-S + Käynnissä + Pysäytetty + Valmis + Kanavahaku peruutettu + Kanavahaku virhe + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/German/strings.xml b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/German/strings.xml new file mode 100644 index 000000000..bc387a536 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/language/German/strings.xml @@ -0,0 +1,76 @@ + + + + VDR Hostname oder IP + Protokoll Kompression + Priorität + Textkonvertierung (UTF-8) + Verbindungszeitüberlauf (s) + VDR Nachrichten erlauben + Aufnahmen aus Ordner lesen + VDR Aufnahmeordner + Kanalsuche + Kanalsuche - Einstellungen + Kanalsuche starten + Empfangsart + TV Kanäle + Radio Kanäle + Frei empfangbare Kanäle + Verschlüsselte Kanäle + HD Kanäle + Land + Kabel Inversion + Kabel Symbolrate + Kabel Modulation + Terrestrisch Inversion + Satellit + ATSC Type + Zurück + Kanalsuche - läuft... %i %% + Empfangsart: + Gerät: + Fortschritt: %i + Signal: %i %% + Neue Kanäle: %i + Alle Kanäle: %i + Analog TV + Analog Radio + Transponder: + Neue Kanäle + Kanalsuche - Abgeschlossen + Kein Empfangsgerät verfügbar + Kein DVB-S2 Empfangsgerät verfügbar - versuche DVB-S + Läuft... + Angehalten + Fertig + Kanalsuche - Abgebrochen + Kanalsuche - Fehler + Verbindung zum VDR Server unterbrochen + Verbindung zum VDR Server wiederhergestellt + Kanalgruppen automatisch erzeugen + Kein TV Signal + TV Signal wiederhergestellt + Bevorzugte Audiospur + Verbindung + VDR + Kanalaktualisierung + Keine + Nur Namen + Nur PIDs + Namen und PIDs + Neue Kanäle hinzufügen + Neue Transponder hinzufügen + Gering + Mittel + Hoch + Aufnahme läuft. Kanal kann nicht wiedergegeben werden + Alle Empfänger belegt + Fehler beim Wechseln des Kanals + Kanal '%s' unbekannt + Kanal verschlüsselt + Kanalfilter + Unverschlüsselte Kanäle + Nur in eigener Sprache + Unterstüzte CaIDs + Verschlüsselte Kanäle + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/settings.xml new file mode 100644 index 000000000..0314c2176 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/settings.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/skins/Confluence/720p/ChannelScan.xml b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/skins/Confluence/720p/ChannelScan.xml new file mode 100644 index 000000000..e4f633825 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vdr.xvdr/resources/skins/Confluence/720p/ChannelScan.xml @@ -0,0 +1,733 @@ + + 5 + no + 2 + + CommonSettingsBackground + CommonMediaPlayingBackground + + 90 + 50 + + + + + + + + + + 0 + 0 + 1100 + 640 + DialogBack.png + + + LOGO + 30 + 15 + 220 + 80 + keep + Confluence_Logo.png + + + 268 + 10 + 790 + 618 + black-back2.png + + + 268 + 10 + 804 + 70 + stretch + GlassTitleBar.png + + + header label + 300 + 20 + 740 + 30 + font16caps + + left + center + white + black + + + Start/Stop Channel search + 10 + 90 + 260 + 60 + 13 + + font13_title + right + center + MenuItemNF.png + MenuItemFO.png + 2 + 10 + 6 + 6 + + + Cancel + 10 + 150 + 260 + 60 + 13 + + font13_title + right + center + MenuItemNF.png + MenuItemFO.png + 10 + 10 + 5 + 5 + IsEmpty(Window.Property(Scanning)) + + + IsEmpty(Window.Property(Scanning)) + + Source Type + 268 + 80 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 22 + 11 + + + Default RadioButton + 268 + 120 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 10 + 12 + Conditional + + + Default RadioButton + 268 + 160 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 11 + 13 + Conditional + Conditional + + + Default RadioButton + 268 + 200 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 12 + 14 + Conditional + Conditional + Conditional + + + Default RadioButton + 268 + 240 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 13 + 15 + Conditional + Conditional + Conditional + Conditional + + + Default RadioButton + 268 + 280 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + 5 + 5 + 14 + 16 + Conditional + Conditional + Conditional + Conditional + Conditional + + + Country selection + 268 + 320 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 15 + 17 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + Satellite selection + 268 + 360 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 16 + 18 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + DVB-C Inversion + 268 + 400 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 17 + 29 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + DVB-C Symbolrate + 268 + 440 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 18 + 20 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + DVB-C QAM + 268 + 480 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 29 + 21 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + DVB-T Inversion + 268 + 520 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 20 + 22 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + ATSC Type + 268 + 560 + 790 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + + 5 + 5 + 21 + 10 + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + Conditional + + + + !IsEmpty(Window.Property(Scanning)) + + Progressbar + 275 + 60 + 780 + 14 + + + type label + 275 + 85 + 250 + 30 + font13 + + left + center + grey + black + + + type value + 1040 + 85 + 500 + 30 + font13 + + right + center + white + black + + + device label + 275 + 115 + 250 + 30 + font13 + + left + center + white + black + + + device value + 1040 + 115 + 500 + 30 + font13 + + right + center + white + black + + + transponder label + 275 + 145 + 250 + 30 + font13 + + left + center + white + black + + + transponder value + 1040 + 145 + 500 + 30 + font13 + + right + center + white + black + + + Progressbar + 30 + 160 + 220 + 50 + + + Signal label + 40 + 168 + 250 + 30 + font13 + + left + center + white + black + + + 215 + 170 + 30 + 30 + stretch + amt-overlay-watched.png + !IsEmpty(Window.Property(Locked)) + + + 290 + 180 + 750 + 400 + 2 + 2 + 10 + 60 + 60 + 200 + + + 0 + 0 + 750 + 40 + stretch + MenuItemNF.png + + + 710 + 5 + 40 + 30 + stretch + OverlayLocked.png + !IsEmpty(ListItem.Property(IsEncrypted)) + + + 690 + 7 + 60 + 25 + stretch + OverlayHD.png + Conditional + !IsEmpty(ListItem.Property(IsHD)) + + + 0 + 2 + 36 + 36 + stretch + DefaultVideoCover.png + IsEmpty(ListItem.Property(IsRadio)) + + + 0 + 2 + 36 + 36 + stretch + DefaultAlbumCover.png + !IsEmpty(ListItem.Property(IsRadio)) + + + 45 + 0 + 500 + 40 + font14 + left + center + grey2 + selected + ListItem.Label + + + + + 0 + 0 + 750 + 40 + stretch + MenuItemNF.png + !Control.HasFocus(2) + VisibleFadeEffect + + + 0 + 0 + 750 + 40 + stretch + MenuItemFO.png + Control.HasFocus(2) + VisibleFadeEffect + + + 710 + 5 + 40 + 30 + stretch + OverlayLocked.png + !IsEmpty(ListItem.Property(IsEncrypted)) + + + 690 + 7 + 60 + 25 + stretch + OverlayHD.png + Conditional + !IsEmpty(ListItem.Property(IsHD)) + + + 0 + 2 + 36 + 36 + stretch + DefaultVideoCover.png + IsEmpty(ListItem.Property(IsRadio)) + + + 0 + 2 + 36 + 36 + stretch + DefaultAlbumCover.png + !IsEmpty(ListItem.Property(IsRadio)) + + + 45 + 0 + 500 + 40 + font14 + left + center + grey2 + selected + ListItem.Label + + + + + 1060 + 180 + 25 + 410 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 2 + 10 + true + vertical + + + Page Count Label + 1040 + 600 + 500 + 20 + font12 + grey + false + right + center + + + + Status Label + 275 + 590 + 500 + 20 + font14 + yellow + false + left + center + + + + + BehindDialogFadeOut + + 60 + 0 + WindowClose + WindowOpen + + 0 + 0 + 250 + 35 + header.png + + + WindowTitleCommons + 220 + + + + WindowTitleHomeButton + Clock + + diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/addon.xml b/usr/local/share/xbmc/addons/pvr.vuplus/addon.xml new file mode 100644 index 000000000..58c8ff29a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/addon.xml @@ -0,0 +1,109 @@ + + + + + + + + + XBMC se voorprogram vir VU+ / Enigma2 gebasseerde 'set-top' bokse + XBMC's frontend for VU+ / Enigma2 based settop boxes + Rozhraní XBMC pro VU+ / pÅ™ijímaÄe založené na Enigma2 + XBMC's frontend til VU+ / Enigma2 baseret pÃ¥ settop bokse + XBMCs Oberfläche für VU+ / Enigma2-basierte Settop-Boxen + Frontend του XBMC για αποκωδικοποιητές (settop box) Ï„Ïπου VU+ / Enigma2 + XBMC's frontend for VU+ / Enigma2 based settop boxes + XBMC frontend para decodificadores equipados con VU+/Enigma2 + XBMC frontend para decodificadores equipados con VU+/Enigma2 + Applicatif XBMC pour les enregistreurs VU+/Enigma2 + Interface de XBMC para decodificadores equipados con VU+/Enigma2 + XBMC's frontend for VU+ / Enigma2 based settop boxes + XBMC VU+ és Enigma2 elÅ‘tér-kiszolgáló settop boxokhoz + Frontend XBMC per VU+ / Enigma2 + VU+ / Enigma2 ベースã®ã‚»ãƒƒãƒˆãƒˆãƒƒãƒ—ボックス用 XBMC フロントエンド + VU+ / Enigma2 ë² ì´ìФ 셋탑박스를 위한 XBMC 프론트엔드 + XBMC sÄ…saja(-os) VU + / Enigma2 rinkinių priedų pagrindu + XBMC's Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° VU+ / Enigma2 базирани звучници + XBMC's frontend voor op VU+ / Enigma2 gebaseerde settopboxen + XBMC's frontend for VU+ / Enigma2 baserte settop bokser + Interfejs XBMC dla urzÄ…dzeÅ„ typu VU+ / Enigma2 + Frontend XBMC para caixas settop baseadas em VU+ / Enigma2 + Frontend do XBMC para conversores baseados em VU+/Enigma2 + InterfaÈ›a XBMC pentru decodoare VU+ / Enigma2 + ФронтÑнд XBMC Ð´Ð»Ñ Ñ‚ÑŽÐ½ÐµÑ€Ð¾Ð², оÑнованных на VU+ /Enigma2 + Rozhranie XBMC pre spoluprácu s prijímaÄmi VU+ / Enigma2 + XBMC-jev vmesnik za sprejemnike VU+ / Enigma2 + XBMC Frontend för VU+/Enigma2 baserade dekodrar + XBMC基于VU+/Enigma2的机顶盒的å‰ç«¯ + VU+ voorprogram; ondersteun stroom van Lewendige TV & Opnames, EPG, Tydhouers. + VU+ frontend; supporting streaming of Live TV & Recordings, EPG, Timers. + Rozhraní WU+. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe. + VU+ frontend; understøtter streaming af TV og Optagelser, EPG og Timere. + VU+ -Oberfläche; Unterstützt Streaming von Livefernsehen & Aufnahmen, EPG, Timer. + Frontend για το VU+. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, EPG, ΧÏονοδιακόπτες. + VU+ frontend; supporting streaming of Live TV & Recordings, EPG, Timers. + VU+ frontend; soporta TV en vivo, grabaciones, guía de programación (EPG) y temporizadores. + VU+ frontend; soporta TV en vivo, grabaciones, guía de programación (EPG) y temporizadores. + Applicatif VU+. Supporte la lecture en continu de direct télévision et son enregistrement, guide de programme, minuteurs. + Interface VU+; soporta TV ao vivo, gravacións, guía de programación (EPG) e temporizadores. + VU+ frontend; supporting streaming of Live TV & Recordings, EPG, Timers. + VU+ elÅ‘tér-kiszolgáló. ÉlÅ‘ adások és felvételek sugárzásának támogatása EPG-vel és idÅ‘zítéssel. + Frontend VU+; supporta lo streaming di Live TV, registrazioni, EPG e i timer. + VU+ フロントエンド。ライブテレビã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°ã‚„録画ã€EPGã€ã‚¿ã‚¤ãƒžãƒ¼ã‚’サãƒãƒ¼ãƒˆã€‚ + VU+ 프론트엔드; TV 시청 & 녹화, EPG, 타ì´ë¨¸ ì§€ì› + TPB + sÄ…saja, remti transliacijos Live TV & įraÅ¡ai, EPG, LaikmaÄiai. + VU+ интерфејÑ;подржува Ñтриминг на Live TV & Recordings, EPG, Timers. + VU+ frontend; ondersteunt het streamen van LiveTV & Opnames, EPG, Timers + VU+ frontend; støtte for Live TV & Opptak, EPG, Timere. + Interfejs VU+; wspiera strumieniowanie TV na żywo i nagrywania, EPG oraz planowanie nagraÅ„. + Frontend VU+ ; suporta transmissão de TV em Directo e Gravações, EPG, Temporizadores. + VU+ frontend; suporta streaming de TV Ao Vivo e Gravações, EPG, agendamentos. + InterfaÈ›a VU+; suportă streaming programe TV È™i înregistrare, program electronic, cronometre - înregistrare programată + VU+ фронтÑнд; поддерживает потоковое TV, запиÑÑŒ, ЕПГ, таймеры. + VU+ rozhranie; je podporované streamovanie živého televízneho vysielania a nahrávok, EPG, ÄasovaÄov. + Vmesnik za VU+; podpira pretakanje televizije v živo in posnetkov, EPG, Äasovnike. + VU+ frontend; stödjer strömning av direktsänd TV & inspelningar, EPG, timers. + VU+å‰ç«¯ï¼Œæ”¯æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•制ã€ç”µå­èŠ‚ç›®å•ã€å®šæ—¶å™¨ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, gemorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser.. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este es un software inestable! Los autores no son de ninguna manera responsables de las grabaciones fallidas o incorrectas, las temporizadores perdidas, ni otros efectos no deseables.. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + Tämä on epävakaa ohjelmisto! Tekijät eivät ole millään muotoa vastuussa epäonnistuneista tallennuksista, virheellisistä ajastuksia, haaskatusta ajasta, verenpaineen noususta tai mistään muusta epäsuotuisasta vaikutuksesta. + Logiciel en cours d'élaboration ! Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, minuteries défectueuses, temps perdu ou autres effets indésirables.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Questo software è instabile! Gli autori non sono in alcun modo responsabile per le fallite registrazionie, timer non corretti, ore perse o qualsiasi altro effetto non desiderato... + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt rekomenduoja/siÅ«lo testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Dit is onstabiele software! De auteurs zijn op geen enkele manier verantwoordelijk voor mislukte opnames, incorrecte timers, verspilde uren of andere ongewenste effecten. + Dette er ustabil programvare! Skaperen har ikke pÃ¥ noen mÃ¥te ansvar for feilede opptak, feile timere, bortkastede timer, eller andre uønskede effekter.. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce planowanie nagraÅ„, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não se responsabilizam por falhas nas gravações, temporizadores incorrectos, horas perdidas ou outro qualquer efeito não desejado... + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas dispendidas, ou quaisquer outros efeitos indesejáveis + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau orice alte efecte nedorite... + Это теÑÑ‚Ð¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ прочие нежелательные Ñффекты.. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gra andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + linux + + diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/addon.xml.in b/usr/local/share/xbmc/addons/pvr.vuplus/addon.xml.in new file mode 100644 index 000000000..ac409d959 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/addon.xml.in @@ -0,0 +1,109 @@ + + + + + + + + + XBMC se voorprogram vir VU+ / Enigma2 gebasseerde 'set-top' bokse + XBMC's frontend for VU+ / Enigma2 based settop boxes + Rozhraní XBMC pro VU+ / pÅ™ijímaÄe založené na Enigma2 + XBMC's frontend til VU+ / Enigma2 baseret pÃ¥ settop bokse + XBMCs Oberfläche für VU+ / Enigma2-basierte Settop-Boxen + Frontend του XBMC για αποκωδικοποιητές (settop box) Ï„Ïπου VU+ / Enigma2 + XBMC's frontend for VU+ / Enigma2 based settop boxes + XBMC frontend para decodificadores equipados con VU+/Enigma2 + XBMC frontend para decodificadores equipados con VU+/Enigma2 + Applicatif XBMC pour les enregistreurs VU+/Enigma2 + Interface de XBMC para decodificadores equipados con VU+/Enigma2 + XBMC's frontend for VU+ / Enigma2 based settop boxes + XBMC VU+ és Enigma2 elÅ‘tér-kiszolgáló settop boxokhoz + Frontend XBMC per VU+ / Enigma2 + VU+ / Enigma2 ベースã®ã‚»ãƒƒãƒˆãƒˆãƒƒãƒ—ボックス用 XBMC フロントエンド + VU+ / Enigma2 ë² ì´ìФ 셋탑박스를 위한 XBMC 프론트엔드 + XBMC sÄ…saja(-os) VU + / Enigma2 rinkinių priedų pagrindu + XBMC's Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° VU+ / Enigma2 базирани звучници + XBMC's frontend voor op VU+ / Enigma2 gebaseerde settopboxen + XBMC's frontend for VU+ / Enigma2 baserte settop bokser + Interfejs XBMC dla urzÄ…dzeÅ„ typu VU+ / Enigma2 + Frontend XBMC para caixas settop baseadas em VU+ / Enigma2 + Frontend do XBMC para conversores baseados em VU+/Enigma2 + InterfaÈ›a XBMC pentru decodoare VU+ / Enigma2 + ФронтÑнд XBMC Ð´Ð»Ñ Ñ‚ÑŽÐ½ÐµÑ€Ð¾Ð², оÑнованных на VU+ /Enigma2 + Rozhranie XBMC pre spoluprácu s prijímaÄmi VU+ / Enigma2 + XBMC-jev vmesnik za sprejemnike VU+ / Enigma2 + XBMC Frontend för VU+/Enigma2 baserade dekodrar + XBMC基于VU+/Enigma2的机顶盒的å‰ç«¯ + VU+ voorprogram; ondersteun stroom van Lewendige TV & Opnames, EPG, Tydhouers. + VU+ frontend; supporting streaming of Live TV & Recordings, EPG, Timers. + Rozhraní WU+. Podporuje proudové vysílání živého vysílání a nahrávek, poslech kanálů rádia, EPG, a ÄasovaÄe. + VU+ frontend; understøtter streaming af TV og Optagelser, EPG og Timere. + VU+ -Oberfläche; Unterstützt Streaming von Livefernsehen & Aufnahmen, EPG, Timer. + Frontend για το VU+. ΥποστηÏίζει Ïοές Live TV & ΕγγÏαφές, EPG, ΧÏονοδιακόπτες. + VU+ frontend; supporting streaming of Live TV & Recordings, EPG, Timers. + VU+ frontend; soporta TV en vivo, grabaciones, guía de programación (EPG) y temporizadores. + VU+ frontend; soporta TV en vivo, grabaciones, guía de programación (EPG) y temporizadores. + Applicatif VU+. Supporte la lecture en continu de direct télévision et son enregistrement, guide de programme, minuteurs. + Interface VU+; soporta TV ao vivo, gravacións, guía de programación (EPG) e temporizadores. + VU+ frontend; supporting streaming of Live TV & Recordings, EPG, Timers. + VU+ elÅ‘tér-kiszolgáló. ÉlÅ‘ adások és felvételek sugárzásának támogatása EPG-vel és idÅ‘zítéssel. + Frontend VU+; supporta lo streaming di Live TV, registrazioni, EPG e i timer. + VU+ フロントエンド。ライブテレビã®ã‚¹ãƒˆãƒªãƒ¼ãƒŸãƒ³ã‚°ã‚„録画ã€EPGã€ã‚¿ã‚¤ãƒžãƒ¼ã‚’サãƒãƒ¼ãƒˆã€‚ + VU+ 프론트엔드; TV 시청 & 녹화, EPG, 타ì´ë¨¸ ì§€ì› + TPB + sÄ…saja, remti transliacijos Live TV & įraÅ¡ai, EPG, LaikmaÄiai. + VU+ интерфејÑ;подржува Ñтриминг на Live TV & Recordings, EPG, Timers. + VU+ frontend; ondersteunt het streamen van LiveTV & Opnames, EPG, Timers + VU+ frontend; støtte for Live TV & Opptak, EPG, Timere. + Interfejs VU+; wspiera strumieniowanie TV na żywo i nagrywania, EPG oraz planowanie nagraÅ„. + Frontend VU+ ; suporta transmissão de TV em Directo e Gravações, EPG, Temporizadores. + VU+ frontend; suporta streaming de TV Ao Vivo e Gravações, EPG, agendamentos. + InterfaÈ›a VU+; suportă streaming programe TV È™i înregistrare, program electronic, cronometre - înregistrare programată + VU+ фронтÑнд; поддерживает потоковое TV, запиÑÑŒ, ЕПГ, таймеры. + VU+ rozhranie; je podporované streamovanie živého televízneho vysielania a nahrávok, EPG, ÄasovaÄov. + Vmesnik za VU+; podpira pretakanje televizije v živo in posnetkov, EPG, Äasovnike. + VU+ frontend; stödjer strömning av direktsänd TV & inspelningar, EPG, timers. + VU+å‰ç«¯ï¼Œæ”¯æŒç›´æ’­ç”µè§†æ’­æ”¾å’Œå½•制ã€ç”µå­èŠ‚ç›®å•ã€å®šæ—¶å™¨ + Hierdie is onstabiele sagteware! Die outeurs is op geen manier verantwoordelik vir gefaalde opnames, inkorrekte tydhouers, gemorsde ure, of enige ander ongewensde effekte. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + Tento software není stabilní. AutoÅ™i nejsou žádným způsobem zodpovÄ›dní za selhání pÅ™i nahrávání, neplatné ÄasovaÄe, ztracený Äas, Äi jakékoliv jiné nežádoucí události... + Dette er ustabil software! Ophavsmændene er pÃ¥ ingen mÃ¥de ansvarlige for mislykkede optagelser, ukorrekte timere, spildte timer, eller andre uønskede konsekvenser.. + Diese Software ist noch in der Entwicklung! Die Autoren sind nicht für fehlgeschlagene Aufnahmen, falsche Timer, verschwendete Zeit oder andere ungewollte Effekte verantwortlich. + Ασταθές Ï€ÏόγÏαμμα! Οι δημιουÏγοί δεν είναι σε καμία πεÏίπτωση υπεÏθυνοι για αποτυχημένες εγγÏαφές, λανθασμένους χÏονοδιακόπτες, χαμένες ÏŽÏες, ή κάθε είδους ανεπιθÏμητα αποτελέσματα.. + This is unstable software! The authors are in no way responsible for failed recordings, incorrect timers, wasted hours, or any other undesirable effects.. + ¡Este es un software inestable! Los autores no son de ninguna manera responsables de las grabaciones fallidas o incorrectas, las temporizadores perdidas, ni otros efectos no deseables.. + ¡Este software es inestable! Los autores no se responsabilizan por grabaciones fallidas, temporizadores incorrectos, horas perdidas, o cualquier otro efecto no deseado.. + Tämä on epävakaa ohjelmisto! Tekijät eivät ole millään muotoa vastuussa epäonnistuneista tallennuksista, virheellisistä ajastuksia, haaskatusta ajasta, verenpaineen noususta tai mistään muusta epäsuotuisasta vaikutuksesta. + Logiciel en cours d'élaboration ! Les auteurs ne sont en aucun cas responsables de l'échec des enregistrements, minuteries défectueuses, temps perdu ou autres effets indésirables.. + Este é software non estable, os autores non se fan responsábeis dos erros na gravacións, temporizadores incorrectos, e outros efectos non desexados. + זוהי תוכנה בלתי יציבה!מחברי התכנה ××™× × ×חר××™× ×œ×”×§×œ×˜×•×ª כושלות,מתזמני הקלטות שגויי×,שעות מבוזבזות,×ו כל תוצ××” בלתי רצויה... + Ez nem stabil szoftver! A készítÅ‘k nem vállalnak felelÅ‘sséget, a hibás felvételért, rossz idÅ‘zítésért, elvesztegetett időért... + Questo software è instabile! Gli autori non sono in alcun modo responsabile per le fallite registrazionie, timer non corretti, ore perse o qualsiasi altro effetto non desiderato... + ã“れã¯ä¸å®‰å®šãªã‚½ãƒ•トウェアã§ã™ï¼æœ¬ãƒ—ログラムã®ä½œè€…ã¯ã€éŒ²ç”»ã®å¤±æ•—ã€æ­£ç¢ºã«ä½œå‹•ã—ãªã‹ã£ãŸã‚¿ã‚¤ãƒžãƒ¼ã€ç„¡é§„ã«ã—ãŸæ™‚é–“ã€ãã®ä»–ã‚らゆる好ã¾ã—ããªã„çµæžœã«ã¤ã„ã¦è²¬ä»»ã‚’è² ã‚ãªã„ã‚‚ã®ã¨ã—ã¾ã™ã€‚ + ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” 불안정합니다! 제작ìžëŠ” 녹화 실패, 부정확한 타ì´ë¨¸, 시간 낭비 ë° ê¸°íƒ€ 예ìƒí•˜ì§€ 못한 ê²°ê³¼ì— ëŒ€í•´ 책임지지 않습니다.. + Tai yra nestabili programinÄ— įranga! Autorius jokiu bÅ«du neatsakingas už nepavykusius įraÅ¡us, neteisingus laikmaÄius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](xbmc.lt rekomenduoja/siÅ«lo testuojant šį priedÄ… persijungti į Anglų [orinali] kalbÄ…)[/COLOR] + Ова е неÑтабилен Ñофтвер! Ðвторите на ниту еден начин не одговараат за неуÑпешни Ñнимки, неточни тајмери, потрошени чаÑови, или било кои други неÑакани ефекти. + Dit is onstabiele software! De auteurs zijn op geen enkele manier verantwoordelijk voor mislukte opnames, incorrecte timers, verspilde uren of andere ongewenste effecten. + Dette er ustabil programvare! Skaperen har ikke pÃ¥ noen mÃ¥te ansvar for feilede opptak, feile timere, bortkastede timer, eller andre uønskede effekter.. + To oprogramowanie jest niestabilne! Autorzy w żaden sposób nie odpowiadajÄ… za nieudane nagrania, źle dziaÅ‚ajÄ…ce planowanie nagraÅ„, stracone godziny czy też jakiekolwiek inne niepożądane efekty. + Este software é instável! Os autores não se responsabilizam por falhas nas gravações, temporizadores incorrectos, horas perdidas ou outro qualquer efeito não desejado... + Este é um software instável! Os autores não são responsáveis por falhas nas gravações, agendamentos incorretos, horas dispendidas, ou quaisquer outros efeitos indesejáveis + Acesta nu este o aplicaÈ›ie definitivă! Autorii nu sunt în nici un fel responsabili pentru înregistrări eÈ™uate, cronometre incorecte, ore pierdute, sau orice alte efecte nedorite... + Это теÑÑ‚Ð¾Ð²Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°! Ðвторы не неÑут ответÑтвенноÑти за неудачные запиÑи, неверные таймеры, потраченное Ð²Ñ€ÐµÐ¼Ñ Ð¸ прочие нежелательные Ñффекты.. + Tento softvér nie je stabilný! Autori nenesú žiadnu zodpovednosÅ¥ za chybné nahrávky vysielania, nesprávne ÄasovaÄe alebo iné neželané udalosti spôsobené týmto softvérom.. + To je nestabilna programska oprema! Avtorji niso odgovorni za neuspela snemanja, nepravilne Äasovnike, zapravljen Äas in katerikoli drug neželen uÄinek... + Detta är ostabil mjukvara! Upphovsmännen är inte ansvariga för misslyckade inspelningar, inkorrekta timers, bortslösade timmar, eller nÃ¥gra andra oönskade effekter.. + 这是ä¸ç¨³å®šç‰ˆçš„软件ï¼ä½œè€…ä¸å¯¹å½•制失败ã€é”™è¯¯å®šæ—¶é€ æˆæ—¶é—´æµªè´¹æˆ–其它ä¸è‰¯å½±å“负责。 + @OS@ + + diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/changelog.txt b/usr/local/share/xbmc/addons/pvr.vuplus/changelog.txt new file mode 100644 index 000000000..ffb06f963 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/changelog.txt @@ -0,0 +1,128 @@ +1.6.6 +- updated language files from Transifex + +1.6.5 +- updated language files from Transifex + +1.6.4 + +- New version number by Team XBMC + +0.3.5: +- fix: URL encoding in timer-add operations + +0.3.4: +- fix: several crashes on win32 due to missing locks / invalid memory access +- fix: do not report connection problems when there is an empty TV-channel bouquet + +0.3.3: +- add: support for storing the last played positions for recordings. These will be stored in the file recordings.xml +- fix: if the webinterface cannot be loaded, deactivate the addon + +0.3.2: +- fix: continue to load channels even if we do not have any radio channels + +0.3.1: +- change: remove XMLParser +- change: add enigma2 to the displayname + +0.3.0: +- change: remove curl dependancy +- change: adjust to new PVR API + +0.2.8: +- add: option to only fetch one TV bouquet which can be specified via the addon settings + +0.2.7: +- fix: fix incorrect escape character for & (use '&' instead of '"'). Thx to 'hani' for pointing this out. + +0.2.6: +- cosmetic: remove unnecessary '/' in recording-stream url +- cosmetic: inprove log output +- change: get the proper device info from the reveiver box instead of just setting dummy values +- change: change the buildzip.bat to include version string in the name of the zip-file +- change: introduce a version string for the channeldata xml file so that we can invalidate old channeldata files if necessary + +0.2.5: +- fix: cleanup the service reference in the streaming url + +0.2.4 +- fix: put username & password into the streaming url + +0.2.3 +- fix: put username & password into recording-url + +0.2.2: +- fix: escape xml entities in the stream-url before saving to channeldata.xml +- fix: fetch the version string from configure.in not the ChangeLog (thanks to 'trans') +- fix: rename changelog in addon-directory to changelog.txt + +0.2.1: +- fix: encode the stream-url properly. Please remove your channeldata.xml file after updating +- change: add proper version string to the addon.xml generated by buildzip.bat (thanks to 'trans') + +0.2.0: +- change: Complete rework of timer handling. Now it will only show notifications for changed items +- fix: Update / Add / Delete Timers. Note that the timer names in the XBMC are sometimes not updated properly (in the dialog it is OK) +- fix: Instant Recordings do now work again +- fix: timer status is now shown correctly (completed, recording, disabled) +- fix: enabling / disabling timers do now work +- change: removed "show completed timers" option (they are now always be shown) +- add: added buildzip.bat & xbmc-addon-vuplus.sln (thanks to 'trans') +- fix: Channel numbering / incorrect picons due to the change introduced in 0.1.15 + +0.1.15 +- fix: when using the channeldata-store option not all channel groups (bouquets) were loaded due to a nulled counter variable + +0.1.14 +- change: change .gitignores and copy current changelog into the addon folder. This will enable the user to view the changelog in the addon settings window + +0.1.13 +- add: option to set deepstandby powerstate on the DVB box on PVR-addon shutdown +- fix: error in settings.xml, causing crashes on linux + +0.1.12 +- add: support to specify the folder for storing recordings + +0.1.11 +- fix: some unicode string errors in german language file +- change: add categories to addon settings + +0.1.10 +- add: support for using only the recording path currently active on the DVB box + +0.1.9 +- change: add addon icon (copyied from the openelec guys, thanks!) +- fix: win32 release target (thanks to 'trans' for patch) + +0.1.8 +- change: fetch the recording locations and use these locations when querying the recordings +- fix: Stop update thread when destroying the PVR addon - fixes shutdown issues + +0.1.7 +- fix: Copy & Paste error + +0.1.6 +- fix: Change the logic to determine the picon file name from the service reference. + +0.1.5 +- fix: Fix access violation errors on windows (thanks to 'trans' for finding the correct compiler / linker settings) +- fix: do not return out of scope local variable for the streaming URL +- fix: remove the last '_' character from the filename (if applicable). Should finally fix the picon path errors. + +0.1.4 +- fix: limit length of the service reference part of the Icon-Path to 30 characters. +- fix: Escape "&", "<" and ">" characters in XML channeldata file. +- add: support to disable all bouquet or channel updates + +0.1.3 +- fix: order of timerlist cleanup and timerlist updates + +0.1.2 +- add: support for storing channel data into a file + +0.1.1 +- fix: URLEncode the service reference when fetching EPG + +0.1.0 +- Iniital Version diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/icon.png b/usr/local/share/xbmc/addons/pvr.vuplus/icon.png new file mode 100644 index 000000000..7256e1f4f Binary files /dev/null and b/usr/local/share/xbmc/addons/pvr.vuplus/icon.png differ diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..f6e62376f --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Afrikaans/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ gasheernaam of IP adres" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Stroom Poort" + +msgctxt "#30003" +msgid "Username" +msgstr "Gebruikersnaam" + +msgctxt "#30004" +msgid "Password" +msgstr "Wagwoord" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Reaksie tydverstreke in sekondes" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Ikoon Pad" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Opdateer Interval in minute" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatiese Tydhouerlys Skoonmaak" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Webkoppelvlak Poort" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap voor kanaal verander (d.w.s. vir Enkel Stemmer bokse)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Vouer vir kanaal data" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Kyk vir boeket opdaterings" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Kyk vir kanaal opdaterings" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Gebruik slegs die DVB boks se huidige opneem pad" + +msgctxt "#30018" +msgid "General" +msgstr "Algemeen" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanale" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Gevorderde" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Opnames / Tydhouer" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Opname vouer op die ontvanger" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Stuur Diep Bystand bevel" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Gaan haal slegs een TV boeket" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Boeket" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Gediskonnekteer van '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Geherkonnekteer aan '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Amharic/strings.po new file mode 100644 index 000000000..d2961b8f1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Amharic/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "የተጠቃሚ ስሠ" + +msgctxt "#30004" +msgid "Password" +msgstr "የመáŒá‰¢á‹« ቃáˆ" + +msgctxt "#30018" +msgid "General" +msgstr "ባጠቃላይ" + +msgctxt "#30020" +msgid "Advanced" +msgstr "የረቀቀ" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "áŒáŠ•áŠ™áŠá‰µ ተቋርጧሠከ '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "እንደገና ተገናáŠá‰·áˆ ወደ '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Arabic/strings.po new file mode 100644 index 000000000..70c2d38ce --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Arabic/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "اسم المستخدم" + +msgctxt "#30004" +msgid "Password" +msgstr "كلمة المرور" + +msgctxt "#30018" +msgid "General" +msgstr "عام" + +msgctxt "#30019" +msgid "Channels" +msgstr "محطات" + +msgctxt "#30020" +msgid "Advanced" +msgstr "منقدم" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Basque/strings.po new file mode 100644 index 000000000..ac32dc32e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Basque/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Erabiltzailea" + +msgctxt "#30004" +msgid "Password" +msgstr "Pasahitza" + +msgctxt "#30018" +msgid "General" +msgstr "Orokorra" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kateak" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..08cf5bcdf --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Belarusian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ hostname or IP address" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streaming Port" + +msgctxt "#30003" +msgid "Username" +msgstr "Username" + +msgctxt "#30004" +msgid "Password" +msgstr "Пароль" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Response timeout in seconds" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Icon Path" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Update Interval in minutes" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatic Timerlist Cleanup" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Webinterface Port" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap before channelswitch (i.e. for Single Tuner boxes)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Folder for channeldata" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Check for bouquett updates" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Check for channel updates" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Use only the DVB boxes' current recording path" + +msgctxt "#30018" +msgid "General" +msgstr "ÐгульныÑ" + +msgctxt "#30019" +msgid "Channels" +msgstr "Channels" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Advanced" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Recordings / Timer" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Recording folder on the receiver" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Send DeepStandby-Command" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Fetch only one TV bouquet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Disconnected from '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconnected to '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..d35cfeea3 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Bosnian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30004" +msgid "Password" +msgstr "Lozinka" + +msgctxt "#30018" +msgid "General" +msgstr "OpÅ¡te" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..9e9e36b5d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Bulgarian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Потребител" + +msgctxt "#30004" +msgid "Password" +msgstr "Парола" + +msgctxt "#30018" +msgid "General" +msgstr "General" + +msgctxt "#30019" +msgid "Channels" +msgstr "Канали" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Допълнителни" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Catalan/strings.po new file mode 100644 index 000000000..48487efbe --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Catalan/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Nom d'usuari" + +msgctxt "#30004" +msgid "Password" +msgstr "Contrasenya" + +msgctxt "#30018" +msgid "General" +msgstr "General" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canals" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..749905ab6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ä¸»æœºåæˆ–IP地å€" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "æµåª’体端å£" + +msgctxt "#30003" +msgid "Username" +msgstr "用户å" + +msgctxt "#30004" +msgid "Password" +msgstr "密ç " + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "å“应超时(秒)" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "图标路径" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "更新间隔(分)" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "自动清除定时器列表" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Web界é¢ç«¯å£" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "频é“切æ¢å‰æ¸…å±ï¼ˆå¦‚å•è°ƒè°å™¨æœºé¡¶ç›’)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "频铿•°æ®æ–‡ä»¶å¤¹" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "检查频é“组更新" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "æ£€æŸ¥é¢‘é“æ›´æ–°" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "仅使用DVB机顶盒的当å‰å½•制路径" + +msgctxt "#30018" +msgid "General" +msgstr "常用" + +msgctxt "#30019" +msgid "Channels" +msgstr "频é“" + +msgctxt "#30020" +msgid "Advanced" +msgstr "高级选项" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "录制/计时器" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "接收器上的录制文件夹" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "å‘é€DeepStandby命令" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "仅获å–一个电视频é“组" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "电视频é“组" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "断开到“%sâ€çš„连接" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "釿–°è¿žæŽ¥åˆ°â€œ%sâ€" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..56bfc3acf --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "帳號" + +msgctxt "#30004" +msgid "Password" +msgstr "密碼" + +msgctxt "#30018" +msgid "General" +msgstr "一般設定" + +msgctxt "#30019" +msgid "Channels" +msgstr "é »é“" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Croatian/strings.po new file mode 100644 index 000000000..b28221770 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Croatian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30004" +msgid "Password" +msgstr "Zaporka" + +msgctxt "#30018" +msgid "General" +msgstr "Općenito" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanali" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Napredno" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Czech/strings.po new file mode 100644 index 000000000..51488f0ae --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Czech/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Název poÄítaÄe, nebo adresa IP VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Port proudového vysílání" + +msgctxt "#30003" +msgid "Username" +msgstr "Uživatelské jméno" + +msgctxt "#30004" +msgid "Password" +msgstr "Heslo" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "ÄŒasový limit odpovÄ›di v sekundách" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Cesta k ikonám" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Interval aktualizace v minutách" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatické ÄiÅ¡tÄ›ní seznamu ÄasovaÄů" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Port webového rozhraní" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Vypnout zobrazení pÅ™ed pÅ™epnutím kanálu (napÅ™. pro jednotunerová zařízení)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Složka pro data kanálů" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Kontrolovat aktualizace oblíbených skupin programů" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Zkontrolovat aktualizace kanálů" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Použít pouze souÄasný adresář pro ukládání nahrávek DVB pÅ™ijímaÄe" + +msgctxt "#30018" +msgid "General" +msgstr "Obecné" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanály" + +msgctxt "#30020" +msgid "Advanced" +msgstr "PokroÄilé" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Nahrávky / ÄasovaÄ" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Složka nahrávek na pÅ™ijímaÄi" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Odeslat příkaz uspání pÅ™ijímaÄe" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Získat pouze jednu skupinu oblíbených TV programů" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "Oblíbená skupina TV programů" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Odpojeno od '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Znovu pÅ™ipojeno k '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Danish/strings.po new file mode 100644 index 000000000..77d36f681 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Danish/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ værtsnavn eller IP-adresse" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streamport" + +msgctxt "#30003" +msgid "Username" +msgstr "Brugernavn" + +msgctxt "#30004" +msgid "Password" +msgstr "Adgangskode" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tidsfrist for tilbagemelding i sekunder" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Ikon-sti" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Opdateringsinterval i minutter" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatisk oprydning af Timerliste" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Web-grænsefladeport" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap før kanalskift (fx. for enkelttuner-bokse)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Mappe til kanaldata" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Søg efter buketopdateringer" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Søg efter kanalopdateringer" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Brug kun DVB-boksens nuværende sti til optagelser" + +msgctxt "#30018" +msgid "General" +msgstr "Generelt" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanaler" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avanceret" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Optagelser / Timer" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Optagelsesmappe pÃ¥ modtageren" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Send \"DeepStandby\" kommando" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Hent kun én TV-buket" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-buket" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Forbindelse afbrudt fra '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Forbundet igen til '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Dutch/strings.po new file mode 100644 index 000000000..75bbfa6ad --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Dutch/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ hostnaam of IP-adres" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streaming Poort" + +msgctxt "#30003" +msgid "Username" +msgstr "Gebruikersnaam" + +msgctxt "#30004" +msgid "Password" +msgstr "Wachtwoord" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Antwoordtimeout in seconden" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Icoon Pad" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Update-interval in minuten" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatische opschoning van timers" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Webinterface poort" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap voor kanaalwisseling (bv. bij enkelvoudige tuners)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Map voor kanaaldata" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Controleer bouquet updates" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Zoeken naar kanaal-updates" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Gebruik alleen het huidig opnamepad van de DVB box" + +msgctxt "#30018" +msgid "General" +msgstr "Algemeen" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanalen" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Geavanceerd" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Opnames / Timer" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Opnamemap op de ontvanger" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Stuur DeepStandby-commando" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Haal slechts 1 TV bouquet op" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Verbinding met '%s' verbroken" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Verbinding met '%s' hersteld" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/English/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/English/strings.po new file mode 100644 index 000000000..8acbd5d89 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/English/strings.po @@ -0,0 +1,129 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "" + +#empty string with id 30001 + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "" + +msgctxt "#30003" +msgid "Username" +msgstr "" + +msgctxt "#30004" +msgid "Password" +msgstr "" + +#empty strings from id 30005 to 30006 + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "" + +#empty string with id 30009 + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "" + +msgctxt "#30018" +msgid "General" +msgstr "" + +msgctxt "#30019" +msgid "Channels" +msgstr "" + +msgctxt "#30020" +msgid "Advanced" +msgstr "" + +msgctxt "#30021" +msgid "HTTP" +msgstr "" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "" + +#empty strings from id 30027 to 30499 +#notifications + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Esperanto/strings.po new file mode 100644 index 000000000..1e80373c4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Esperanto/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Uzulonomo" + +msgctxt "#30004" +msgid "Password" +msgstr "pasvorto" + +msgctxt "#30018" +msgid "General" +msgstr "Generalo" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Estonian/strings.po new file mode 100644 index 000000000..6bf7b183d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Estonian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Kasutajanimi" + +msgctxt "#30004" +msgid "Password" +msgstr "Salasõna" + +msgctxt "#30018" +msgid "General" +msgstr "Üldine" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Finnish/strings.po new file mode 100644 index 000000000..bf5c0692e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Finnish/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Käyttäjänimi" + +msgctxt "#30004" +msgid "Password" +msgstr "Salasana" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Vastauksen aikakatkaisu sekunneissa" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Kuvakkeen polku" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Päivitysväli minuuteissa" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Webbikäyttöliittymän portti" + +msgctxt "#30018" +msgid "General" +msgstr "Yleiset" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanavat" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Yhteys katkaistu palvelimeen '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Yhdistetty palvelimeen '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/French/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/French/strings.po new file mode 100644 index 000000000..b9bdeea2c --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/French/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Nom d'hôte VU+ ou adresse IP" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Port du flux" + +msgctxt "#30003" +msgid "Username" +msgstr "Nom d'utilisateur" + +msgctxt "#30004" +msgid "Password" +msgstr "Mot de passe" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Temporisation de réponse en secondes" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Chemin d'accès de l'icône" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Intervalle de mise à jour en minutes" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Nettoyage automatique de la liste de minuterie" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Port de l'interface web" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Bip avant le changement de chaîne (par ex. pour les tuners uniques)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Répertoire des données de chaîne" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Mettre à jour les bouquets" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Mettre à jour les chaînes" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Utiliser le dossier actuel d'enregistrement des périphériques DVB" + +msgctxt "#30018" +msgid "General" +msgstr "Général" + +msgctxt "#30019" +msgid "Channels" +msgstr "Chaînes " + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avancé" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Enregistrements / Minuteur" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Dossier d'enregistrement du récepteur" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Envoyer la commande MiseEnVeilleTotale" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Ne rapporter qu'un bouquet TV" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "Bouquet TV" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Déconnecté de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconnecté à '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Galician/strings.po new file mode 100644 index 000000000..8d9ffddbd --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Galician/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Nome de host ou enderezo IP de VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Porto do fluxo" + +msgctxt "#30003" +msgid "Username" +msgstr "Nome de usuario" + +msgctxt "#30004" +msgid "Password" +msgstr "Contrasinal" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tempo de espera da resposta en segundos" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Camiño da icona" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Intervalo de actualización en minutos" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Limpeza automática da Timerlist" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Porto de Webinterface" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap antes de trocar de canle (útil para caixas cun só sintonizador)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Cartafol para channeldata" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Verificar actualizacións de bouquett" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Verificar actualizacións de canles" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Utilizar só o camiño actual das gravacións das caixas DVB" + +msgctxt "#30018" +msgid "General" +msgstr "Xeral" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canles" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avanzado" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Gravacións/Temporizador" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Cartafol de gravacións no receptor" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Enviar comando de Standby profundo" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Obter só un TV bouquet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado dende '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/German/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/German/strings.po new file mode 100644 index 000000000..d104930ed --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/German/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ IP" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streaming Port" + +msgctxt "#30003" +msgid "Username" +msgstr "Benutzername" + +msgctxt "#30004" +msgid "Password" +msgstr "Passwort" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Antwort-Timeout in Sekunden" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Picon-Pfad" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Aktualisierungsintervall (in Minuten)" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Entferne abgeschlossene Timer" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Webinterface Port" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Umschalten auf Receiver (z.B. bei SingleTuner Receivern)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Speicherort für Kanaldaten" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Überprüfe auf Bouquettaktualisierungen" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Überprüfe auf Kanalaktualisierungen" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Aktuellen Box-Aufnahmenpfad nutzen" + +msgctxt "#30018" +msgid "General" +msgstr "Allgemeines" + +msgctxt "#30019" +msgid "Channels" +msgstr "Sender" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Fortgeschritten" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Aufnahmen / Timer" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Aufnahmeverzeichnis auf dem Receiver" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Sende DeepStandby-Befehl" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Nur ein TV-Bouquet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Verbindung '%s' unterbrochen" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Verbindung zu '%s' wiederhergestellt" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Greek/strings.po new file mode 100644 index 000000000..4eb6627c1 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Greek/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Όνομα Υπολογιστή ή διεÏθυνση IP του VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "ΘÏÏα Ροής" + +msgctxt "#30003" +msgid "Username" +msgstr "Όνομα χÏήστη" + +msgctxt "#30004" +msgid "Password" +msgstr "Κωδικός Ï€Ïόσβασης" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "ΧÏόνος απόκÏισης σε δευτεÏόλεπτα" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "ΔιαδÏομή Εικονιδίου" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Διάστημα ΕνημέÏωσης σε λεπτά" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "ΕκκαθάÏιση Αυτόματης Λίστας ΧÏονοδιακοπτών" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "ΘÏÏα Διεπαφής ΙστοÏ" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap Ï€Ïιν την αλλαγή ÎºÎ±Î½Î±Î»Î¹Î¿Ï (Ï€.χ. για αποκωδικοποιητές Single Tuner)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Φάκελος για δεδομένα καναλιών" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Έλεγχος για ενημεÏώσεις μπουκέτων" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Έλεγχος για ενημεÏώσεις καναλιών" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "ΧÏήση μόνο της Ï„Ïέχουσας διαδÏομής εγγÏαφών του DVB" + +msgctxt "#30018" +msgid "General" +msgstr "Γενικά" + +msgctxt "#30019" +msgid "Channels" +msgstr "Κανάλια" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Για Ï€ÏοχωÏημένους" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "ΕγγÏαφές / ΧÏονοδιακόπτης" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Φάκελος εγγÏαφών στο δέκτη" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Αποστολή Εντολής DeepStandby" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Λήψη μόνο ενός μπουκέτου TV" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "Μπουκέτο TV" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "ΑποσÏνδεση από '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "ΕπανασÏνδεση σε '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Haitian (Haitian Creole)/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Haitian (Haitian Creole)/strings.po new file mode 100644 index 000000000..4cb07108a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Haitian (Haitian Creole)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Haitian (Haitian Creole) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ht/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ht\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "nom itilizateur" + +msgctxt "#30004" +msgid "Password" +msgstr "mo de pas" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..5f7ea9274 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hebrew/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ ×©× ×ž×רח ×ו כתובת IP" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "פתחת זרימה" + +msgctxt "#30003" +msgid "Username" +msgstr "×©× ×ž×©×ª×ž×©" + +msgctxt "#30004" +msgid "Password" +msgstr "סיסמ×" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "×ורך פסק זמן לתגובה בשניות" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "נתיב ×ייקוני×" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "מרווח בין ×¢×“×›×•× ×™× ×‘×“×§×•×ª" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "ניקוי רשימת הקלטות ×וטומטית" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "פיתחת ממשק רשת" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap before channelswitch (i.e. for Single Tuner boxes)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "תיקיה עבור מידע ערוצי×" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "בדוק ×œ×¢×“×›×•× ×™× ×œ×–×¨×™×" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "בדוק לעדכוני ערוץ" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "השתמש בנתיבי הקלטה רק של קופס×ות DVB נוכחיי×" + +msgctxt "#30018" +msgid "General" +msgstr "כללי" + +msgctxt "#30019" +msgid "Channels" +msgstr "ערוצי×" + +msgctxt "#30020" +msgid "Advanced" +msgstr "מתקד×" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "הקלטות / מתזמני×" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "תיקית הקלטות על המקלט" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "שלח פקודת DeepStandby" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "תמשוך רק תוכנית זרה ×חת" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "תוכנית זרה" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "התנתק מ '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "התחבר שוב ל '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..45263c5b0 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "उपयोगकरà¥à¤¤à¤¾ नाम" + +msgctxt "#30018" +msgid "General" +msgstr "सामानà¥à¤¯" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..110e19337 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Hungarian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ Kiszolgálónév vagy IP cím" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Sugárzási port" + +msgctxt "#30003" +msgid "Username" +msgstr "Felhasználónév" + +msgctxt "#30004" +msgid "Password" +msgstr "Jelszó" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Válasz idÅ‘korlát másodpercben" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Csatornaikonok elérési útvonala" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Frissítési intervallum percben" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "IdÅ‘zítÅ‘ lista automatikus tisztítása" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Web-kezelÅ‘felület port" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Ãthangolás csatornaváltás elött (Egytuneres boxoknál)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Csatornaadat mappa" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Csatonalista frissítés keresése" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Csatorna frissítés keresése" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Csak a DVB box aktuális felvételi útvonalát használja" + +msgctxt "#30018" +msgid "General" +msgstr "Ãltalános" + +msgctxt "#30019" +msgid "Channels" +msgstr "Csatornák" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Haladó" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Felvételek / IdÅ‘zítÅ‘k" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Felvételi mappa a vevÅ‘n" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "DeepStandby parancs küldése" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Csak egy csatornalista letöltése" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-csatorna-csoport" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "'%s': Kapcsolat bontva" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "'%s': Újrakapcsolódva" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..2475268b4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Icelandic/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Notandanafn" + +msgctxt "#30004" +msgid "Password" +msgstr "Lykilorð" + +msgctxt "#30018" +msgid "General" +msgstr "Almennt" + +msgctxt "#30019" +msgid "Channels" +msgstr "Rásir" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Indonesian/strings.po new file mode 100644 index 000000000..e284ef2e4 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Indonesian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "NamaPengguna" + +msgctxt "#30004" +msgid "Password" +msgstr "Password" + +msgctxt "#30018" +msgid "General" +msgstr "Umum" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Italian/strings.po new file mode 100644 index 000000000..3c777e638 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Italian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Nome host o indirizzo IP VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Porta di streaming" + +msgctxt "#30003" +msgid "Username" +msgstr "Nome utente" + +msgctxt "#30004" +msgid "Password" +msgstr "Password" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Timeout di risposta in secondi" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Percorso dell'icona" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Intervallo di aggiornamento in minuti" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Pulizia automatica della lista dei timer" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Porta interfaccia web" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap prima del cambio canale (e.g. per le postazioni con sintonizzatore singolo)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Cartella dei dati canale" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Controlla aggiornamenti dei bouquet" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Controlla aggiornamenti dei canali" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Usa solo il percorso di registrazione corrente di DVB" + +msgctxt "#30018" +msgid "General" +msgstr "Generale" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canali" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avanzato" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Registrazioni/Timer" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Cartella per le registrazioni del ricevitore" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Spedisci DeepStandby-Command" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Prendi un solo bouquet TV" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Disconnesso da '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Riconnesso a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Japanese/strings.po new file mode 100644 index 000000000..f4c4b104b --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Japanese/strings.po @@ -0,0 +1,98 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ ã®ãƒ›ã‚¹ãƒˆåã¾ãŸã¯IPアドレス" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "ストリーミングã®ãƒãƒ¼ãƒˆç•ªå·" + +msgctxt "#30003" +msgid "Username" +msgstr "ユーザーå" + +msgctxt "#30004" +msgid "Password" +msgstr "パスワード" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "レスãƒãƒ³ã‚¹ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆ (ç§’)" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "アイコンã®ãƒ‘ス" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "æ›´æ–°é–“éš” (分)" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "タイマーリストã®è‡ªå‹•クリーンアップ" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Web インターフェースã®ãƒãƒ¼ãƒˆç•ªå·" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«ãƒ‡ãƒ¼ã‚¿ã®ãƒ•ォルダー" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«æ›´æ–°ã‚’確èª" + +msgctxt "#30018" +msgid "General" +msgstr "一般" + +msgctxt "#30019" +msgid "Channels" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«" + +msgctxt "#30020" +msgid "Advanced" +msgstr "高度ãªè¨­å®š" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "録画/タイマー" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "レシーãƒãƒ¼ã®éŒ²ç”»ãƒ•ォルダー" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "ディープスタンãƒã‚¤ã‚³ãƒžãƒ³ãƒ‰ã‚’é€ã‚‹" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "'%s' ã¨ã®æŽ¥ç¶šãŒåˆ‡ã‚Œã¾ã—ãŸ" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "'%s' ã¨ã®æŽ¥ç¶šãŒå¾©æ´»ã—ã¾ã—ãŸ" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Korean/strings.po new file mode 100644 index 000000000..85290c7dd --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Korean/strings.po @@ -0,0 +1,114 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ 호스트네임 ë˜ëŠ” IP 주소" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "ìŠ¤íŠ¸ë¦¬ë° í¬íЏ" + +msgctxt "#30003" +msgid "Username" +msgstr "사용ìžëª…" + +msgctxt "#30004" +msgid "Password" +msgstr "비밀번호" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "ì‘답 제한시간 (ì´ˆ)" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "ì•„ì´ì½˜ 경로" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "ì—…ë°ì´íЏ 주기 (ë¶„)" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "타임시프트 ìžë™ 정리" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "웹ì¸í„°íŽ˜ì´ìФ í¬íЏ" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "ì±„ë„ ë°ì´í„° í´ë”" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "ë¬¶ìŒ ì—…ë°ì´íЏ 확ì¸" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "ì±„ë„ ì—…ë°ì´íЏ 확ì¸" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "DVB ë°•ìŠ¤ì˜ í˜„ìž¬ 녹화 경로만 사용" + +msgctxt "#30018" +msgid "General" +msgstr "ì¼ë°˜" + +msgctxt "#30019" +msgid "Channels" +msgstr "채ë„" + +msgctxt "#30020" +msgid "Advanced" +msgstr "고급" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "녹화 / 타ì´ë¨¸" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "리시버 녹화 í´ë”" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "DeepStandby-Command 보내기" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "í•˜ë‚˜ì˜ TV 묶ìŒë§Œ 가져오기" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV 묶ìŒ" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "'%s'ì—서 ì—°ê²° í•´ì œë¨" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "'%s'ì— ë‹¤ì‹œ ì—°ê²°ë¨" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..bed7b8953 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Lithuanian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ kompiuterio vardas arba IP adresas" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Srauto prievadas" + +msgctxt "#30003" +msgid "Username" +msgstr "Vartotojo vardas" + +msgctxt "#30004" +msgid "Password" +msgstr "Slaptažodis" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Reakcijos laikas, sekundÄ—mis" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Piktogramos kelias" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Naujinimo intervalas minutÄ—mis" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatinis 'LaikmaÄio SÄ…raÅ¡o' valymas" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Web sÄ…sajos prievadas" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap before channelswitch (i.e. for Single Tuner boxes)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Aplankas kanalo duomenims" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Patikrinkite paketo atnaujinimus" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Patikrinkite kanalo atnaujinimus" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Naudokite tik DVB neužpildyti langeliai 'Esamasis įraÅ¡ymo kelias'" + +msgctxt "#30018" +msgid "General" +msgstr "Pagrindinis" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanalai" + +msgctxt "#30020" +msgid "Advanced" +msgstr "IÅ¡plÄ—stinis" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Ä®raÅ¡as / Laikmatis" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Ä®raÅ¡ymo aplankas į imtuvÄ…" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Siųsti 'Gilus budÄ—jimo režimas' - KomandÄ…" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "IÅ¡rinkta tik viena TV plokÅ¡tÄ—" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-PlokÅ¡tÄ—" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Atjungtas nuo '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Prijungtas prie '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..b542b78e6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Macedonian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ hostname или IP адреÑа" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Streaming Port" + +msgctxt "#30003" +msgid "Username" +msgstr "КориÑничко име" + +msgctxt "#30004" +msgid "Password" +msgstr "Лозинка" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Response timeout in seconds" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Icon Path" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Интервал на надградби во минути" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatic Timerlist Cleanup" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Webinterface Port" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap before channelswitch (i.e. for Single Tuner boxes)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Папки за channeldata" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Провери за надградба на пакети" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Провери за надградба на канали" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "КориÑти Ñамо патека за Ñниманје на DVB уредите" + +msgctxt "#30018" +msgid "General" +msgstr "Општо" + +msgctxt "#30019" +msgid "Channels" +msgstr "Канали" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Ðапредно" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Снимки / Тајмер" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Папка за Ñнимање на реÑиверот" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "ИÑпрати DeepStandby-Ðаредба" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Превземи Ñамо TV пакет" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "ТВ-Пакет" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Деконектирано од '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Конектирано за '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Malayalam/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Malayalam/strings.po new file mode 100644 index 000000000..39903865e --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Malayalam/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Malayalam (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30018" +msgid "General" +msgstr "പോതàµà´µà´¾à´¯à´¤àµ" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..04e67a566 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Norwegian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ vertsnavn eller IP adresse" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Stream Port" + +msgctxt "#30003" +msgid "Username" +msgstr "Brukernavn" + +msgctxt "#30004" +msgid "Password" +msgstr "Passord" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Svar timeout i sekunder" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Sti til ikoner" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Oppdateringsinterval i minutter" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatisk opprydding av timerliste" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Webgrensesnitt Port" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Bytt før kanalbytte (f.eks. for Single Tuner bokser)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Mappe for kanaldata" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Søk etter bouquett oppdateringer" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Se etter kanal oppdateringer" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Bruk bare DVB boksens nÃ¥værende opptakssti" + +msgctxt "#30018" +msgid "General" +msgstr "Generelt" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanaler" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avansert" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Opptaker / Timer" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Opptaksmappe pÃ¥ mottaker" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Send kommandoen DeepStandby" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Hen kun en TV bouquet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Frakoblet fra '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Tilkoblet til '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Persian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Persian/strings.po new file mode 100644 index 000000000..0237d6c9a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Persian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "نام کاربری" + +msgctxt "#30004" +msgid "Password" +msgstr "کلمه عبور" + +msgctxt "#30018" +msgid "General" +msgstr "عمومی" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Polish/strings.po new file mode 100644 index 000000000..5108d4907 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Polish/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Adres IP lub nazwa hosta VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Port strumieniowania" + +msgctxt "#30003" +msgid "Username" +msgstr "Użytkownik" + +msgctxt "#30004" +msgid "Password" +msgstr "HasÅ‚o" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Limit czasu odpowiedzi w sekundach" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Åšcieżka do ikony" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "CzÄ™stotliwość aktualizacji w minutach" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatyczne czyszczenie listy planowanych nagraÅ„" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Port interfejsu webowego" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Przeskocz przed zmianÄ… kanaÅ‚u (np. dla urzÄ…dzeÅ„ z jednym tunerem)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Folder na dane kanaÅ‚owe" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Sprawdź aktualizacjÄ™ bukietów" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Sprawdź aktualizacjÄ™ kanałów" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Używaj tylko bieżącego folderu nagrywania urzÄ…dzenia DVB" + +msgctxt "#30018" +msgid "General" +msgstr "Ogólne" + +msgctxt "#30019" +msgid "Channels" +msgstr "KanaÅ‚y" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Zaawansowane" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Nagrania / Planowane nagrania" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Folder nagrywania na odbiorniku" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "WyÅ›lij polecenie głębokiego czuwania (DeepStandby)" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Pobierz tylko jeden bukiet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "Bukiet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Rozłączono od '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Ponownie połączono z '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..4e0a0b9eb --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Hostname VU+ ou endereço IP" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Porta de Streaming" + +msgctxt "#30003" +msgid "Username" +msgstr "Nome do usuário" + +msgctxt "#30004" +msgid "Password" +msgstr "Senha" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tempo limite para resposta em segundos" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Caminho do ícone" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Intervalo de atualizações em minutos" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Limpar Timerlist automaticamente" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Porta da Interface Web" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zapear antes de trocar canal (isto é, para conversores com sintonizador único)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Pasta para dados dos canais" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Verificar atualizações de bouquett" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Verificar atualizações de canal" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Usar somente o caminho de gravação atual do conversor DVB" + +msgctxt "#30018" +msgid "General" +msgstr "Geral" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canais" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avançado" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Gravações / Agendamentos" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Pasta de gravações no receptor" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Enviar comando de Standby Profundo" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Buscar apenas um TV bouquet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..716af01b9 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Portuguese/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Nome ou endereço IP do servidor VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Porta de Transmissão" + +msgctxt "#30003" +msgid "Username" +msgstr "Utilizador" + +msgctxt "#30004" +msgid "Password" +msgstr "Palavra-passe" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tempo limite para resposta em segundos" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Localização do ícone" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Intervalo de Actualização em minutos" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Limpeza automática da Timerlist" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Porta da interface Web" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap antes de mudar de canal (útil para boxes só com um sintonizador)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Pasta para dados dos canais" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Verificar actualizações do bouquett" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Verificar actualizações de canais" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Usar apenas a localização actual das gravações das boxes DVB" + +msgctxt "#30018" +msgid "General" +msgstr "Geral" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canais" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avançado" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Gravações / Temporizador" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Pasta de gravação no receptor" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Enviar comando de Standby profundo" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Obter somente um TV bouquet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desligado de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Ligado novamente a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Romanian/strings.po new file mode 100644 index 000000000..c5f2ce2c6 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Romanian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ hostname sau IP address" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Portul de streaming" + +msgctxt "#30003" +msgid "Username" +msgstr "Utilizator" + +msgctxt "#30004" +msgid "Password" +msgstr "Parolă" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Timeout de răspuns în secunde" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Adresa pictogramei " + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Intervalul de actualizare în minute" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Ștergere automata a listelor de înregistrare programată" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Portul interfaÈ›ei web" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap înainte de schimbarea canalului (ex. pentru decodoarele cu un singur tuner)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Dosarul pentru informaÈ›iile canalelor" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Verifică actualizarea buchetului" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Verifică actualizarea canalului" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Utilizează pentru înregistrare doar adresa decodorului DVB" + +msgctxt "#30018" +msgid "General" +msgstr "General" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canale" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avansat" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Inregistrari / Cronometru" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Dosarul de înregistrari în decodor" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Trimite comandă - DeepStandby" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Adună date doar pentru un buchet TV" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "Buchet TV" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Deconectat de la '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectat la '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Russian/strings.po new file mode 100644 index 000000000..711995866 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Russian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Ð˜Ð¼Ñ VU+ хоÑта или IP-адреÑ" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Порт видео-потока" + +msgctxt "#30003" +msgid "Username" +msgstr "Пользователь" + +msgctxt "#30004" +msgid "Password" +msgstr "Пароль" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Тайм-аут отклика в Ñекундах" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Путь к иконкам" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Интервал Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð² минутах" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Ðвто-очиÑтка таймеров" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Порт веб-интерфейÑа" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Ð¡Ð±Ñ€Ð¾Ñ Ð¿ÐµÑ€ÐµÐ´ переключением канала (Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾-тюнерных уÑтройÑтв)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Папка Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… о каналах" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "ПроверÑть Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÑƒÐºÐµÑ‚Ð¾Ð²" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "ПроверÑть Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð¾Ð²" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "ИÑпользовать Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи только заданный в DVB путь" + +msgctxt "#30018" +msgid "General" +msgstr "ОÑновное" + +msgctxt "#30019" +msgid "Channels" +msgstr "Каналы" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Дополнительно" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "ЗапиÑи/Таймер" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Папка Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñей на реÑивере" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "ПоÑлать команду DeepStandby" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Выбрать только один букет" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-букет" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "ОтÑоединено от '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Подключено к '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..480acd37a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "КориÑничко име" + +msgctxt "#30004" +msgid "Password" +msgstr "Лозинка" + +msgctxt "#30018" +msgid "General" +msgstr "Опште" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Serbian/strings.po new file mode 100644 index 000000000..d3b030a5a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Serbian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "KorisniÄko ime" + +msgctxt "#30004" +msgid "Password" +msgstr "Lozinka" + +msgctxt "#30018" +msgid "General" +msgstr "OpÅ¡te" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Slovak/strings.po new file mode 100644 index 000000000..95a4b31dc --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Slovak/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "SieÅ¥ový názov VU+ zariadenia (názov hostiteľa) alebo IP adresa" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Port pre streamovanie" + +msgctxt "#30003" +msgid "Username" +msgstr "Užívateľské meno" + +msgctxt "#30004" +msgid "Password" +msgstr "Heslo" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "ÄŒasový limit pre odozvu v sekundách" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Cesta k ikonám" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Interval aktualizácie v minútach" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatické Äistenie zoznamu ÄasovaÄov" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Port pre webové rozhranie" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Vypnúť zobrazenie aktuálneho kanálu pred prepnutím (napr. pre jednotunerové prijímaÄe)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "PrieÄinok pre dáta kanálov" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "KontrolovaÅ¥ dostupnosÅ¥ aktualizácií obľúbených skupín programov" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "KontrolovaÅ¥ dostupnosÅ¥ aktualizácií kanálov" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "PoužiÅ¥ iba aktuálny prieÄinok pre nahrávky z DVB prijímaÄa" + +msgctxt "#30018" +msgid "General" +msgstr "Hlavné" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanály" + +msgctxt "#30020" +msgid "Advanced" +msgstr "PokroÄilé nastavenia" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Nahrávky / ÄasovaÄ" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "PrieÄinok pre nahrávky v prijímaÄi" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "PosielaÅ¥ príkaz pre uspanie prijímaÄa" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "VyvolaÅ¥ len jednu obľúbenú skupinu TV programov" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "Obľúbená skupina TV programov" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Odpojený od '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Opätovne pripojený k '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..2bae613e7 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Slovenian/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Ime gostitelja ali IP strežnika VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Vrata za pretakanje" + +msgctxt "#30003" +msgid "Username" +msgstr "UporabniÅ¡ko ime" + +msgctxt "#30004" +msgid "Password" +msgstr "Geslo" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "NajdaljÅ¡i Äas odgovora v sekundah" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Pot ikon" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Interval posodabljanja v minutah" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Samodejno ÄiÅ¡Äenje seznama Äasovnikov" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Vrata spletnega vmesnika" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zamenjaj program tudi na sprejemniku" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Mapa za podatke o programih" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Preveri za posodobitve skupin" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Preveri za posodobitve programov" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Uporabi le sprejemnikovo trenutno pot snemanja" + +msgctxt "#30018" +msgid "General" +msgstr "SploÅ¡no" + +msgctxt "#30019" +msgid "Channels" +msgstr "Programi" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Napredno" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Posnetki / ÄŒasovniki" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Mapa snemanja na sprejemniku" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "PoÅ¡lji ukaz za prehod v stanje pripravljenosti" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Prenesi le eno skupino" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "Skupina programov" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Povezava prekinjena z '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Povezava vzpostavljena z '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..e44fa83f7 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Nombre o dirección IP de VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Puerto streaming" + +msgctxt "#30003" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30004" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tiempo de espera de respuesta en segundos" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Ruta del icono" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Intervalo de actualización en minutos" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Limpieza automática de Timerlist" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Puerto interface web" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap antes de cambiar de canal (es decir, para las cajas de solo un sintonizador)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Carpeta para canales" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Buscar actualizaciones de bouquett" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Comprobar actualización de canales" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Utilice sólo ruta de grabación actual de los cuadros DVB" + +msgctxt "#30018" +msgid "General" +msgstr "General" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canales" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avanzado" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Grabaciones/ Temporizador" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Carpeta de grabaciones en el receptor" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Envíe el comando DeepStandby" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Buscar sólo TV bouquet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..3b8913f8d --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30004" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30018" +msgid "General" +msgstr "General" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canales" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish/strings.po new file mode 100644 index 000000000..db7116f7a --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Spanish/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "Nombre o dirección IP de VU+" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Puerto streaming" + +msgctxt "#30003" +msgid "Username" +msgstr "Usuario" + +msgctxt "#30004" +msgid "Password" +msgstr "Contraseña" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Tiempo de espera de respuesta en segundos" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Ruta del icono" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Intervalo de actualización en minutos" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Limpieza automática de Timerlist" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Puerto interface web" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zap antes de cambiar de canal (es decir, para las cajas de solo un sintonizador)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Carpeta para canales" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Buscar actualizaciones de bouquett" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Comprobar actualización de canales" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Utilice sólo ruta de grabación actual de los cuadros DVB" + +msgctxt "#30018" +msgid "General" +msgstr "General" + +msgctxt "#30019" +msgid "Channels" +msgstr "Canales" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avanzado" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Grabaciones/ Temporizador" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Carpeta de grabaciones en el receptor" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Envíe el comando DeepStandby" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Buscar sólo TV bouquet" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-Bouquet" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "Desconectado de '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Reconectado a '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Swedish/strings.po new file mode 100644 index 000000000..10dd17733 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Swedish/strings.po @@ -0,0 +1,118 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "VU+ hostname or IP address" +msgstr "VU+ värdnamn eller IP-adress" + +msgctxt "#30002" +msgid "Streaming Port" +msgstr "Strömningsport" + +msgctxt "#30003" +msgid "Username" +msgstr "Användarnamn" + +msgctxt "#30004" +msgid "Password" +msgstr "Lösenord" + +msgctxt "#30007" +msgid "Response timeout in seconds" +msgstr "Anslutningstimeout i sekunder" + +msgctxt "#30008" +msgid "Icon Path" +msgstr "Ikonsökväg" + +msgctxt "#30010" +msgid "Update Interval in minutes" +msgstr "Uppdateringsintervall i minuter" + +msgctxt "#30011" +msgid "Automatic Timerlist Cleanup" +msgstr "Automatisk timerlistsrensning" + +msgctxt "#30012" +msgid "Webinterface Port" +msgstr "Webbgränssnittsport" + +msgctxt "#30013" +msgid "Zap before channelswitch (i.e. for Single Tuner boxes)" +msgstr "Zappa före kanalbyte (för enkeltuner boxar)" + +msgctxt "#30014" +msgid "Folder for channeldata" +msgstr "Mapp för kanaldata" + +msgctxt "#30015" +msgid "Check for bouquett updates" +msgstr "Sök efter bukett-uppdateringar" + +msgctxt "#30016" +msgid "Check for channel updates" +msgstr "Kontrollera efter kanaluppdateringar" + +msgctxt "#30017" +msgid "Use only the DVB boxes' current recording path" +msgstr "Använd endast DVB-boxens nuvarande inspelningssökväg" + +msgctxt "#30018" +msgid "General" +msgstr "Allmänt" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanaler" + +msgctxt "#30020" +msgid "Advanced" +msgstr "Avancerad" + +msgctxt "#30021" +msgid "HTTP" +msgstr "HTTP" + +msgctxt "#30022" +msgid "Recordings / Timer" +msgstr "Inspelningar/Timer" + +msgctxt "#30023" +msgid "Recording folder on the receiver" +msgstr "Inspelningsmapp pÃ¥ mottagaren" + +msgctxt "#30024" +msgid "Send DeepStandby-Command" +msgstr "Skicka djupstandby-kommando" + +msgctxt "#30025" +msgid "Fetch only one TV bouquet" +msgstr "Hämta endast en TV-bukett" + +msgctxt "#30026" +msgid "TV-Bouquet" +msgstr "TV-bukett" + +msgctxt "#30500" +msgid "Disconnected from '%s'" +msgstr "FrÃ¥nkopplad frÃ¥n '%s'" + +msgctxt "#30501" +msgid "Reconnected to '%s'" +msgstr "Ã…teransluten till '%s'" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Thai/strings.po new file mode 100644 index 000000000..a337d3b63 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Thai/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "ชื่อผู้ใช้" + +msgctxt "#30004" +msgid "Password" +msgstr "รหัสผ่าน" + +msgctxt "#30018" +msgid "General" +msgstr "ทั่วไป" + +msgctxt "#30019" +msgid "Channels" +msgstr "ช่องสัà¸à¸à¸²à¸“" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Turkish/strings.po new file mode 100644 index 000000000..dff11f104 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Turkish/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Kullanıcı adı" + +msgctxt "#30004" +msgid "Password" +msgstr "Parola" + +msgctxt "#30018" +msgid "General" +msgstr "Genel" + +msgctxt "#30019" +msgid "Channels" +msgstr "Kanallar" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..576b90d97 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/language/Ukrainian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: VU+ / Enigma2 Client +# Addon id: pvr.vuplus +# Addon version: 1.6.6 +# Addon Provider: Joerg Dembski +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30003" +msgid "Username" +msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача" + +msgctxt "#30004" +msgid "Password" +msgstr "Пароль" + +msgctxt "#30018" +msgid "General" +msgstr "Загальні" diff --git a/usr/local/share/xbmc/addons/pvr.vuplus/resources/settings.xml b/usr/local/share/xbmc/addons/pvr.vuplus/resources/settings.xml new file mode 100644 index 000000000..896cc69c8 --- /dev/null +++ b/usr/local/share/xbmc/addons/pvr.vuplus/resources/settings.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/repository.pvr-android.xbmc.org/addon.xml b/usr/local/share/xbmc/addons/repository.pvr-android.xbmc.org/addon.xml new file mode 100644 index 000000000..aa1f74ccb --- /dev/null +++ b/usr/local/share/xbmc/addons/repository.pvr-android.xbmc.org/addon.xml @@ -0,0 +1,22 @@ + + + + + + + http://mirrors.xbmc.org/addons/frodo/pvr/android/addons.xml + http://mirrors.xbmc.org/addons/frodo/pvr/android/addons.xml.md5 + http://mirrors.xbmc.org/addons/frodo/pvr/android + true + + + Install PVR Add-ons from XBMC.org + Download and install PVR add-ons from the Official XBMC.org addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to Team XBMC so we can take any action needed. + Team XBMC did not make all the add-ons on this repository and are not responsible for their content + android + + diff --git a/usr/local/share/xbmc/addons/repository.pvr-android.xbmc.org/icon.png b/usr/local/share/xbmc/addons/repository.pvr-android.xbmc.org/icon.png new file mode 100644 index 000000000..a7ad3ebb8 Binary files /dev/null and b/usr/local/share/xbmc/addons/repository.pvr-android.xbmc.org/icon.png differ diff --git a/usr/local/share/xbmc/addons/repository.pvr-ios.xbmc.org/addon.xml b/usr/local/share/xbmc/addons/repository.pvr-ios.xbmc.org/addon.xml new file mode 100644 index 000000000..3980724d0 --- /dev/null +++ b/usr/local/share/xbmc/addons/repository.pvr-ios.xbmc.org/addon.xml @@ -0,0 +1,22 @@ + + + + + + + http://mirrors.xbmc.org/addons/frodo/pvr/ios/addons.xml + http://mirrors.xbmc.org/addons/frodo/pvr/ios/addons.xml.md5 + http://mirrors.xbmc.org/addons/frodo/pvr/ios + true + + + Install PVR Add-ons from XBMC.org + Download and install PVR add-ons from the Official XBMC.org addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to Team XBMC so we can take any action needed. + Team XBMC did not make all the add-ons on this repository and are not responsible for their content + ios + + diff --git a/usr/local/share/xbmc/addons/repository.pvr-ios.xbmc.org/icon.png b/usr/local/share/xbmc/addons/repository.pvr-ios.xbmc.org/icon.png new file mode 100644 index 000000000..a7ad3ebb8 Binary files /dev/null and b/usr/local/share/xbmc/addons/repository.pvr-ios.xbmc.org/icon.png differ diff --git a/usr/local/share/xbmc/addons/repository.pvr-osx32.xbmc.org/addon.xml b/usr/local/share/xbmc/addons/repository.pvr-osx32.xbmc.org/addon.xml new file mode 100644 index 000000000..6461fd243 --- /dev/null +++ b/usr/local/share/xbmc/addons/repository.pvr-osx32.xbmc.org/addon.xml @@ -0,0 +1,22 @@ + + + + + + + http://mirrors.xbmc.org/addons/frodo/pvr/osx32/addons.xml + http://mirrors.xbmc.org/addons/frodo/pvr/osx32/addons.xml.md5 + http://mirrors.xbmc.org/addons/frodo/pvr/osx32 + true + + + Install PVR Add-ons from XBMC.org + Download and install PVR add-ons from the Official XBMC.org addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to Team XBMC so we can take any action needed. + Team XBMC did not make all the add-ons on this repository and are not responsible for their content + osx32 + + diff --git a/usr/local/share/xbmc/addons/repository.pvr-osx32.xbmc.org/icon.png b/usr/local/share/xbmc/addons/repository.pvr-osx32.xbmc.org/icon.png new file mode 100644 index 000000000..a7ad3ebb8 Binary files /dev/null and b/usr/local/share/xbmc/addons/repository.pvr-osx32.xbmc.org/icon.png differ diff --git a/usr/local/share/xbmc/addons/repository.pvr-osx64.xbmc.org/addon.xml b/usr/local/share/xbmc/addons/repository.pvr-osx64.xbmc.org/addon.xml new file mode 100644 index 000000000..de8df69ab --- /dev/null +++ b/usr/local/share/xbmc/addons/repository.pvr-osx64.xbmc.org/addon.xml @@ -0,0 +1,22 @@ + + + + + + + http://mirrors.xbmc.org/addons/frodo/pvr/osx64/addons.xml + http://mirrors.xbmc.org/addons/frodo/pvr/osx64/addons.xml.md5 + http://mirrors.xbmc.org/addons/frodo/pvr/osx64 + true + + + Install PVR Add-ons from XBMC.org + Download and install PVR add-ons from the Official XBMC.org addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to Team XBMC so we can take any action needed. + Team XBMC did not make all the add-ons on this repository and are not responsible for their content + osx64 + + diff --git a/usr/local/share/xbmc/addons/repository.pvr-osx64.xbmc.org/icon.png b/usr/local/share/xbmc/addons/repository.pvr-osx64.xbmc.org/icon.png new file mode 100644 index 000000000..a7ad3ebb8 Binary files /dev/null and b/usr/local/share/xbmc/addons/repository.pvr-osx64.xbmc.org/icon.png differ diff --git a/usr/local/share/xbmc/addons/repository.pvr-win32.xbmc.org/addon.xml b/usr/local/share/xbmc/addons/repository.pvr-win32.xbmc.org/addon.xml new file mode 100644 index 000000000..353bc0f81 --- /dev/null +++ b/usr/local/share/xbmc/addons/repository.pvr-win32.xbmc.org/addon.xml @@ -0,0 +1,22 @@ + + + + + + + http://mirrors.xbmc.org/addons/frodo/pvr/win32/addons.xml + http://mirrors.xbmc.org/addons/frodo/pvr/win32/addons.xml.md5 + http://mirrors.xbmc.org/addons/frodo/pvr/win32 + true + + + Install PVR Add-ons from XBMC.org + Download and install PVR add-ons from the Official XBMC.org addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to Team XBMC so we can take any action needed. + Team XBMC did not make all the add-ons on this repository and are not responsible for their content + windx wingl + + diff --git a/usr/local/share/xbmc/addons/repository.pvr-win32.xbmc.org/icon.png b/usr/local/share/xbmc/addons/repository.pvr-win32.xbmc.org/icon.png new file mode 100644 index 000000000..a7ad3ebb8 Binary files /dev/null and b/usr/local/share/xbmc/addons/repository.pvr-win32.xbmc.org/icon.png differ diff --git a/usr/local/share/xbmc/addons/repository.xbmc.org/addon.xml b/usr/local/share/xbmc/addons/repository.xbmc.org/addon.xml new file mode 100644 index 000000000..489afec29 --- /dev/null +++ b/usr/local/share/xbmc/addons/repository.xbmc.org/addon.xml @@ -0,0 +1,146 @@ + + + + + + + http://mirrors.xbmc.org/addons/frodo/addons.xml + http://mirrors.xbmc.org/addons/frodo/addons.xml.md5 + http://mirrors.xbmc.org/addons/frodo + true + + + Installeer Byvoegsels vanaf XBMC.org + ከ XBMC.org ተጨማ-ሪዎች መáŒáŒ áˆšá‹« + تثبيت Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª من XBMC.org + УÑталÑваць дадатак з XBMC.org + ИнÑталира добавки от XBMC.org + Instal·la complements des de XBMC.org + Instalovat rozšíření z XBMC.org + Installer Add-ons fra XBMC.org + Installiere Add-ons von XBMC.org + Εγκατάσταση ΠÏόσθετων από το XBMC.org + Install Add-ons from XBMC.org + Instalar Add-ons de XBMC.org + Instalar Add-ons de XBMC.org + Installar Add-ons de XBMC.org + Paigalda lisasid lehelt XBMC.org + Instalatu XBMC.org-eko gehigarriak + Asenna lisäosia XBMC.org -sivustolta + Installer des extensions depuis XBMC.org + Instalar Engadidos dende XBMC.org + התקן ×ª×•×¡×¤×™× ×ž×ת XBMC.org + Instalacija dodataka sa XBMC.org + KiegészítÅ‘k letöltése az XBMC.org-ról + Setja inn viðbætur frá XBMC.org + Installa add-on da XBMC.org + XBMC.org ã‹ã‚‰ã‚¢ãƒ‰ã‚ªãƒ³ã‚’インストール + XBMC.orgì—서 애드온 설치 + Idiegti papildinius i XBMC.org + ИнÑталирај Додатоци од XBMC.org + Add-ons van XBMC.org installeren + Legg til tillegg fra XBMC.org + Instaluj wtyczki z XBMC.org + Instalar Add-ons de XBMC.org + Instale Add-ons do XBMC.org + InstalaÈ›i suplimente de la XBMC.org + УÑтановить Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ Ñайта XBMC.org + Installera tillägg frÃ¥n XBMC.org + InÅ¡talovaÅ¥ rozšírenia z XBMC.org + Namestite dodatke iz XBMC.org + Installera tillägg frÃ¥n XBMC.org + ติดตั้งส่วนเสริมจาภXBMC.org + Ð’Ñтановити додатки з XBMC.org + 从XBMC.org安装扩展功能 + 從 XBMC.org 安è£é™„加元件 + Aflaai en installeer byvoegsels vanaf die Amptelike XBMC.org byvoegsel kodebank.[CR] Deur die amptelike Kodebank te gebruik trek jy voordeel van ons uitgebreide lêer spieël diens wat jou help vinniger aflaai vanaf 'n gebied naby aan jou.[CR] Alle byvoegsels in die kodebank het basiese toetsing ondergaan, as jy 'n gebreekte of nie werkende byvoegsel vind rapporteer dit asseblief aan die XBMC Span sodat ons die nodige stappe kan neem. + حمل Ùˆ ثبت Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª من موقع XBMC.org مستودع Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª الرسمي. [CR] باستخدام المستودع الرسمي ستكون قادر على أخذ ميزة من خدمة مراة مل٠الواسعة لمساعدتك بالحصول على تحكيل أسرع من منطقة أنت قريب منها. جميع Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª ÙÙŠ هذا المستودع تخضع لاختبار أساسي, إذا وجدت Ø¥Ø¶Ø§ÙØ© معطوية أو لاتعمل الرجاء الإبلاغ عنها Ù„ÙØ±ÙŠÙ‚ XBMC لنتمكن من اتخاذ أي إجراء لازم. + Download and install add-ons from the Official XBMC.org addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to Team XBMC so we can take any action needed. + Ð¡Ð²Ð°Ð»Ñ Ð¸ инÑталира добавки от официалното хранилище за добавки на XBMC.org.[CR] Ползвайки добавката ще Ñе възползвате от ÑиÑтемата ни от огледални Ñървъри - за да ÑвалÑте Ñ Ð²Ð¸Ñока ÑкороÑÑ‚, от Ñървър в район близък до ВаÑ.[CR] Добавките от хранилището Ñа преминали през нÑколко оÑновни теÑта, но въпреки това ако Ñе натъкнете на неработеща или проблемна добавка, Ð¼Ð¾Ð»Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼ÐµÑ‚Ðµ екипа на XBMC, за да бъдат предприети необходимите дейÑтвиÑ. + Baixa i instal·la complements des del repositori oficial de XBMC.org.[CR]Utilitzant el repositori oficial, podràs aprofitar els avantatges del nostre sistema de miralls per ajudar-te a tenir unes descarregues més ràpides des d'una regió propera a tu.[CR] Tots els complements d'aquest repositori han passat per un testeig bàsic, així que si trobeu algun complement que no funcioni correctament, si us plau digueu-ho a l'equip de l'XBMC per què puguin dur a terme les accions pertinents. + Stáhnout a nainstalovat rozšíření z oficiálního repozitáře XBMC.org. [CR] Použitím oficiálního repozitáře získáte rozsáhlý systém zrcadel, který vám umožní rychlé stažení z blízkého regionu.[CR] VÅ¡echna rozšíření v repozitáři proÅ¡la základním testováním. Pokud najdete rozbitý, nebo nefunkÄní, rozšíření nahlaste jej týmu XBMC, abychom mohli dle potÅ™eby zakroÄit. + Hent og installer add-ons fra det officielle XBMC.org add-on fjernlager.[CR] Ved at bruge det officielle fjernlager drager du fordel af vores omfattende spejltjeneste, som gør at du kan hente hurtigere fra et sted nær dig.[CR] Alle add-ons i dette fjernlager har gennemgÃ¥et grundlæggende tests. Hvis du finder en defekt add-on, sÃ¥ rapporter venligst dette til Team XBMC, sÃ¥ vi kan tage hÃ¥nd i hanke med eventuelle problemer. + Downloade und installiere Add-Ons aus dem offiziellen XBMC.org Add-On Repository.[CR] Durch die Nutzung des offiziellen Repository hat man Zugriff auf das große Datei Mirror System welches schnelle Downloads aus der Nähe bereit stellt.[CR] Alle Add-Ons im Repository wurden getestet, sollte dennoch ein Add-On Fehler haben oder gar nicht funktionieren, sollte dieser Fehler an das Team XBMC gemeldet werden, damit die nötigen Schritte getroffen werden können + Λήψη και εγκατάσταση Ï€Ïόσθετων από το επίσημο αποθετήÏιο του XBMC.org.[CR] ΧÏησιμοποιώντας το Επίσημο ΑποθετήÏιο μποÏείτε να εκμεταλλευτείτε τους εκτεταμένους διακομιστές αÏχείων μας για ταχÏτεÏες λήψεις από μία κοντινή σας πεÏιοχή.[CR] Όλα τα Ï€Ïόσθετα σε αυτό το αποθετήÏιο έχουν πεÏάσει τις στοιχειώδεις δοκιμές, αν βÏείτε ένα κατεστÏαμμένο ή ανενεÏγό Ï€Ïόσθετο παÏακαλοÏμε να το αναφέÏετε στην Ομάδα XBMC οÏτως ώστε να ληφθοÏν οι απαÏαίτητες ενέÏγειες. + Download and install add-ons from the Official XBMC.org addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to Team XBMC so we can take any action needed. + Descarga e instala add-ons desde el repositorio oficial de XBMC.[CR] Usando el repositorio oficial tendrás las ventajas de nuestro servicio de mirrors para ayudarte a conseguir unas descargas más rápidas de un sitio cercano a tí.[CR] Todos los add-ons en este repositorio han pasado por un periodo de pruebas básico, pero si encuentras algún add-on que no funciona, por favor informa de ello al equipo de XBMC para solucionar el problema. + Descarga e instala add-ons desde el repositorio oficial de XBMC.[CR] Usando el repositorio oficial tendrás las ventajas de nuestro servicio de mirrors para ayudarte a conseguir unas descargas más rápidas de un sitio cercano a vos.[CR] Todos los add-ons en este repositorio han pasado por un periodo de pruebas básico, pero si encuentras algún add-on que no funciona, por favor informa de ello al equipo de XBMC para solucionar el problema. + Descarga e instala add-ons del repositorio oficial XBMC.org.[CR] Al usar el repositorio oficial, tendrá la ventaja de los servicios de espejos, y así tener descargas más rápidas.[CR] Todos los add-ons en este repositorio se han probado de manera básica, si encuentra alguno que no funciona o roto, favor de reportarlo al Equipo de XBMC para poder tomar las medidas necesarias. + Lae alla ja installi lisasid ametlikust XBMC.org hoidlast.[CR] Ametliku hoidla kasutamise eeliseks on võimalus kasutada meie ulatuslikku failide peegelteenust laadides faile sulle kõige lähemast serverist.[CR] Kõik lisad selles hoidlas on läbinud elementaarse testimise. Siiski, kui sa leiad vigase või mittetöötava lisa, siis palun teavita sellest XBMC meeskonda, et me saaksime vajaliku abi osutada. + Gehigarriak XMBC.org biltegi ofizialetik deskargatu eta instalatu.[CR] Biltegi ofiziala erabiliaz zutaz gertu dagoen gune batetik deskargatu ditzakezu gure fitxategi-ispilu multzoaren abantailaz aprobetxatuaz.[CR] Biltegi honetako gehigarri guztiek proba basikoak gainditu dituzte baina hondaturiko edo funtzionatzen ez duen gehigarri baten bat aurki ezkero honen berri XBMC taldeari eman beharrezko ekintzak burutu ditzagun. + Lataa ja asenna lisäosia virallisesta XBMC.org -lisäosasäilöstä.[CR] Käyttämällä virallista säilöä sinun on mahdollista käyttää hyväksesi meidän kattavaa tiedostojen peilauspalveluamme saavuttaaksesi korkeat latausnopeudet sinun lähialueeltasi.[CR] Kaikki tämän säilön lisäosat on testattu toimiviksi, jos löydät rikkinäisen tai "ei toimivan" lisäosan, ilmoita siitä Team XBMC:lle, jotta voimme korjata asian. + Télécharger et installer des extensions à partir du dépôt officiel XBMC.org.[CR] En utilisant le dépôt officiel, vous bénéficierez de notre service de serveurs miroirs vous permettant de télécharger rapidement depuis une région proche de vous.[CR] Toutes les extensions de ce dépôt ont été testées de manière basique, si vous trouvez une extension corrompue ou inutilisable, merci d'en informer la Team XBMC afin que nous puissions prendre les mesures nécessaires. + Descargar e instalar Engadidos dende o repositorio de engadidos oficial de XBMC.org.[CR] Empregando o repositorio oficial, vostede poderá disfrutar das vanatexes do seu extenso servizo de replicación de arquivos para axudar a descargas rápidas dende unha rexión preto a vostede.[CR] Tódolos Engadidos deste repositorio pasaron por comprobacións básicas. Se atopa algún Engadido roto ou non funcional, por favor reporteo ó equipo de XBMC para que poidan actuar en consecuencia. + התקן והורד ×ª×•×¡×¤×™× ×ž×”×ž×גר הרשמי של Official XBMC.org.[CR] ×¢"×™ שימוש במ×גר הרשמי ×תה תהנה מהיתרון של שירות נרחב של הורדת ×§×‘×¦×™× ×ž×”×יזור הקרוב ×לייך.[CR] כל ×”×ª×•×¡×¤×™× ×‘×ž×גר ×–×” עברו בדיקה בסיסית, ×× ×”×™× ×š ×ž×•×¦× ×ª×•×¡×£ ×©×œ× ×¢×•×‘×“ ×ו הורדה ×©×œ× ×¢×•×‘×“×ª ×× × ×“×•×•×— ×–×ת לצוות XBMC כדי שנוכל לתקן ×–×ת. + Preuzmite i instalirajte dodatke sa Službenog XBMC.org izvora.[CR] KoriÅ¡tenjem službenog izvora imate pristup file mirror usluzi koja vam omogućava brže preuzimanje zavisno od vaÅ¡e lokacije.[CR] Svi dodatci na ovom izvoru su proÅ¡li osnovno testiranje, u sluÄaju da primjetite neispravan dodatak, molimo vas da to prijavite XBMC timu koji će zatim preuzeti potrebne korake. + KiegészítÅ‘k letöltése és telepítése a hivatalos XBMC.org tárolóhelyrÅ‘l.[CR] A hivatalos tárolóhely használatával kihasználhatod szerteágazó tükör-kiszolgáló hálózatunkat, ami segít a gyorsabb letöltésben egy hozzád közelebb esÅ‘ körzet használatával.[CR] Minden kiegészítÅ‘ ezen a tárolóhelyen átment egy alaptesztelésen. Ha mégis hibás vagy nem működÅ‘ kiegészítÅ‘t találsz, kérünk jelezd az XBMC csapatnak, hogy megtegyük a szükséges lépéseket. + Sækja og setja inn viðbætur frá hinu viðurkennda XBMC.org viðbóta safni.[CR] Með því að nota þetta safn getur þú nýtt þér möguleikann á fullkmonni speglunar þjónustu sem hjálpar við að sækja viðbætur hraðar frá landsvæði nálægt þér.[CR] Allar viðbætur í þessu safni hafa gengið undir grunn prófanir, if þú finnur viðbætur sem eru biluð eða virka ekki vinsamlegast látið XBMC teymið vita svo við getum gert eitthvað í málinu. + Scarica ed installa gli add-on dalla libreria ufficiale di XBMC.org[CR] Usando la libreria ufficiale avrai il vantaggio di ottenere download più veloci con mirror più vicini alla tua località.[CR] Tutti gli add-on in questa libreria sono stati sottoposti a test di base, se ne trovi uno non funzionante o corrotto, per favore riporta il problema al team di XBMC così potremmo prendere provvedimenti. + オフィシャル㮠XBMC.org リãƒã‚¸ãƒˆãƒªã‹ã‚‰ã‚¢ãƒ‰ã‚ªãƒ³ã‚’ダウンロードã—ã¾ã™ã€‚[CR] オフィシャルリãƒã‚¸ãƒˆãƒªã‚’使ã†ã“ã¨ã§ã€ãŠä½ã¾ã„ã®ã‚¨ãƒªã‚¢ã«è¿‘ã„ミラーサーãƒãƒ¼ã‹ã‚‰é«˜é€Ÿã«ã‚¢ãƒ‰ã‚ªãƒ³ã‚’ダウンロードã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚[CR] ã“ã®ãƒªãƒã‚¸ãƒˆãƒªä¸Šã®ã‚¢ãƒ‰ã‚ªãƒ³ã¯å…¨ã¦ã€ç°¡å˜ãªå‹•作テストをå—ã‘ã¦ã¯ã„ã¾ã™ãŒã€ã‚‚ã—アドオンãŒãŠã‹ã—ã‹ã£ãŸã‚Šã†ã¾ã動作ã—ãªã‹ã£ãŸã‚Šã—ãŸå ´åˆã¯ã€XBMC ãƒãƒ¼ãƒ ã«é€£çµ¡ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚ + ê³µì‹ XBMC.org 애드온 저장소ì—서 ì• ë“œì˜¨ì„ ë‹¤ìš´ë¡œë“œí•˜ê³  설치합니다.[CR] ê³µì‹ ì €ìž¥ì†Œë¥¼ 사용하면 íŒŒì¼ ë¯¸ëŸ¬ë§ ì„œë¹„ìŠ¤ë¥¼ 통해 사용ìžì™€ 가까운 ê³³ì—서 빠르게 다운로드할 수 있습니다.[CR] ì €ìž¥ì†Œì˜ ëª¨ë“  ì• ë“œì˜¨ì€ ê¸°ë³¸ì ì¸ 확ì¸ì„ 했습니다. 만약 ìž‘ë™ì´ 안ë˜ëŠ” ì• ë“œì˜¨ì„ ë°œê²¬í•˜ë©´, Team XBMC로 알려주시면, 필요한 조치를 취할것입니다. + Atsisiųskite ir įdiegite priedus iÅ¡ oficialios XBMC.org saugyklos.[CR]Naudojantis oficialia saugykla, galÄ—site pasinaudoti pranaÅ¡umu mÅ«sų didele failų veidrodinÄ™ paslauga.[CR]Taip pat siekiame padÄ—ti jums greiÄiau parsisiųsti priedÄ… iÅ¡ JÅ«sų regiono.[CR]Visiems Å¡ioje saugykloje saugomiems priedams buvo atliktas testavimas, jei JÅ«s radote netaisyklingÄ… ir nedarbinį priedÄ….[CR]PraÅ¡ome praneÅ¡ti apie tai XBMC komandai, kad mes galÄ—tume imtis bÅ«tinų veiksmų + Превземи и инÑталирај Додатоци од официјалниот XBMC.org Ñклад.[CR] Со кориÑтење на официјалниот Ñклад ќе бидете во можноÑÑ‚ да ги кориÑтите предноÑтите на нашата богата датотека Ñо уÑлуги која ви помага да добиете побрзи превземања од регионот блиÑку до ваÑ.[CR] Сите Додатоци во овој Ñклад Ñе оÑновно теÑтирани, ако најдете неиÑправни или додатоци кои не работат пријавете го тоа на тимот на XBMC така што ќе можеме да превземеме било каква акција што е потребна. + Download en installeer add-ons van het officiële XBMC.org addon-repository.[CR] Wanneer u het officiële repository gebruikt beschikt u over onze uitgebreide mirrorservice, waardoor u snel kan downloaden van locaties in uw buurt.[CR] Alle add-ons in dit repository ondergingen standaardtests; indien u een defecte of niet-werkende add-on vindt, meld dit dan aan Team XBMC zodat zij actie kunnen ondernemen. + Last ned og installer tillegg fra den offisielle XBMC.org tillegskilden.[CR] NÃ¥r du benytter den offisielle kilden drar du fordel av vÃ¥r utvidede filspeilingstjeneste slik at du fÃ¥r raskere nedlastinger fra en server nær deg.[CR] Alle tilleg i denne kilden har gÃ¥tt gjennom grunnleggende testing, hvis du finner et tillegg som ikke funker vennligst rapporter det til Team XBMC sÃ¥ vi fÃ¥r sett pÃ¥ det. + Pobieraj i instaluj wtyczki z oficjalnego repozytorium XBMC.org.[CR] UżywajÄ…c oficjalnego repozytorium korzystasz z serwerów lustrzanych, rozsianych po caÅ‚ym Å›wiecie. Wybierany jest ten, który znajduje siÄ™ najbliżej ciebie, zapewniajÄ…c dużą prÄ™dkość połączenia.[CR]Wszystkie wtyczki znajdujÄ…ce siÄ™ w tym repozytorium sÄ… testowane, ale mogÄ… okazać siÄ™ niesprawne. ZgÅ‚oÅ› wówczas błąd, aby zaÅ‚oga XBMC mogÅ‚a podjąć odpowiednie dziaÅ‚anie. + Transferir e instalar add-ons do repositório oficial XBMC.org.[CR] Ao usar o repositório oficial, os nossos servidores garantem-lhe sempre transferências rápidas a partir da localização mais próxima.[CR] Todos os Add-ons neste repositório foram alvo de testes preliminares. Na improvável hipótese de encontrar um Add-on que não funcione, por favor contacte a equipa do XBMC, para que a situação se resolva. + Faça downloads e instale add-ons a partir do repositório oficial do XBMC.org.[CR] Ao utilizar o repositório oficial, você será capaz de tirar proveito do nosso serviço de espelhamento de arquivos, auxiliando em downloads mais rápidos a partir de uma região perto de você.[CR] Todos os add-ons neste repositório passam por testes básicos, se você encontrar um quebrado ou que não esteja funcionando, por favor reporte para a equipe do XBMC, para que possamos tomar as ações necessárias. + DescărcaÈ›i È™i instalaÈ›i suplimente din depozitul de suplimente XBMC.org oficial.[CR] Folosind depozitul (repository) oficial puteÈ›i beneficia de serviciul nostru de găzduire distribuită pentru a vă ajuta să descărcaÈ›i mai repede dintr-o regiune mai apropiată de dumneavoastră.[CR] Toate suplimentele din acest depozit au trecut testele de bază, în caz că găsiÈ›i un supliment defect vă rugăm să îl raportaÈ›i echipei XBMC pentru a lua măsurile necesare. + Загружайте и уÑтанавливайте Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð· официального Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ XBMC.org[CR]ИÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¹ репозиторий, вы Ñможете воÑпользоватьÑÑ Ð¿Ñ€ÐµÐ¸Ð¼ÑƒÑ‰ÐµÑтвами раÑпределенного хранилища Ð´Ð»Ñ Ð±Ñ‹Ñтрой загрузки файлов Ñ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐµÐ³Ð¾ к вам Ñервера.[CR]Ð’Ñе Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² данном репозитории прошли теÑтирование. ЕÑли вы обнаружили нерабочее дополнение, Ñообщите об Ñтом разработчикам XBMC. + Ladda ner och installera tillägg frÃ¥n det officiella XBMC.org tilläggsförrÃ¥det.[CR] Genom att använda det officiella förrÃ¥det kan du utnyttja fördelarna med vÃ¥r utökade filspeglinstjänst för att fÃ¥ snabbare nedladdningar frÃ¥n en region nära dig.[CR] Alla tillägg pÃ¥ detta förrÃ¥d har genomgÃ¥tt en enkel testprocedur, om du hittar ett trasigt eller icke fungerande tillägg uppskattar vi om du är vänlig och rapporterar det till Team XBMC sÃ¥ vi kan vidta nödvändiga Ã¥tgärder. + StiahnuÅ¥ a nainÅ¡talovaÅ¥ rozšírenia z oficiálneho zdroja rozšírení XBMC.org.[CR] Použitím oficiálneho zdroja získavate možnosÅ¥ využiÅ¥ rozsiahly systém zrkadiel, ktorý Vám umožní rýchlejÅ¡ie sÅ¥ahovanie z Vám blízkeho regiónu.[CR] VÅ¡etky rozšírenia v tomto zdroji boli podrobené základnému testovaniu. Ak nájdete poÅ¡kodené alebo nefunkÄné rozšírenie, oznámte to prosím týmu XBMC aby mohol podľa potreby zakroÄiÅ¥. + Prenos in namestitev dodatkov iz uradnega skladiÅ¡Äa XBMC.org.[CR] Z uporabo uradnega skladiÅ¡Äa, boste lahko izkoristili hitrejÅ¡o povezavo, ki bo izbrana glede na vaÅ¡o lokacijo.[CR] Vsi dodatki tega odlagaliÅ¡Äa so bili osnovno stestirani, Äe pa boste naÅ¡li pokvarjen ali nedelujoÄ dodatek, to sporoÄite skupini XBMC, da bomo lahko odpravili napake. + Ladda ner och installera tillägg frÃ¥n det officiella XBMC.org tilläggsförrÃ¥det.[CR]Genom att använda det officiella förrÃ¥det kommer du att fÃ¥ fördelen att kunna använda vÃ¥r omfattande spegeltjänst som kommer att hjälpa dig till snabbare nedladdningar frÃ¥n en plats nära dig.[CR]Alla tillägg i detta förrÃ¥d har genomgÃ¥tt grundläggande tester. Hittar du ett trasigt eller icke fungerande tillägg, vänligen meddela detta till Team XBMC sÃ¥ att vi kan vidta nödvändiga Ã¥tgärder. + ดาวน์โหลดà¹à¸¥à¸°à¸•ิดตั้งส่วนเสริม จาà¸à¹à¸«à¸¥à¹ˆà¸‡à¸‚้อมูลโปรà¹à¸à¸£à¸¡à¸‚อง XBMC.org อย่างเป็นทางà¸à¸²à¸£.[CR] โดยà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸«à¸¥à¹ˆà¸‡à¸‚้อมูลโปรà¹à¸à¸£à¸¡à¸­à¸¢à¹ˆà¸²à¸‡à¹€à¸›à¹‡à¸™à¸—างà¸à¸²à¸£ คุณสามารถใช้ประโยชน์จาà¸à¸šà¸£à¸´à¸à¸²à¸£à¹à¸Ÿà¹‰à¸¡à¸¡à¸´à¹€à¸£à¸­à¸£à¹Œà¸—ี่à¸à¸§à¹‰à¸²à¸‡à¸‚วางของเรา ที่จะช่วยให้à¸à¸²à¸£à¸”าวน์โหลดของคุณเร็วขึ้นจาà¸à¸ à¸¹à¸¡à¸´à¸ à¸²à¸„ที่ใà¸à¸¥à¹‰à¸—ี่สุด.[CR] ส่วนเสริม ทั้งหมดในà¹à¸«à¸¥à¹ˆà¸‡à¹€à¸à¹‡à¸šà¸‚้อมูลนี้ อยู่ภายใต้à¸à¸²à¸£à¸—ดสอบขั้นพื้นà¸à¸²à¸™à¹à¸¥à¹‰à¸§ ถ้าคุณพบส่วนเสริมที่เสียหายหรือไม่ทำงาน à¸à¸£à¸¸à¸“าà¹à¸ˆà¹‰à¸‡à¸—ีมงาน XBMC เพื่อให้เราสามารถดำเนินà¸à¸²à¸£à¹ƒà¸” ๆ ที่จำเป็น. + Завантажити Ñ– вÑтановити додатки з Офіційного репозиторію додатків XBMC.org.[CR] ВикориÑтовуючи Офіційний Репозиторій ви отримаєте перевагу надану нашими дзеркальними Ñерверами, Ñкі забезпечать вам швидке Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ð· найближчого до Ð²Ð°Ñ Ñ€ÐµÐ³Ñ–Ð¾Ð½Ñƒ.[CR] Ð’ÑÑ– додатки в цьому Репозиторії пройшли лише базове теÑтуваннÑ. Якщо ви знайшли зламаний або непрацюючий додаток, будь-лаÑка повідомте про це Команду XBMC щоб ми могли вжити потрібних заходів. + 从官方XBMC.org扩展功能库下载和安装扩展功能。[CR] 通过官方程åºåº“ä½ å°†èƒ½åˆ©ç”¨æˆ‘ä»¬å¹¿æ³›çš„é•œåƒæœåŠ¡ä¼˜åŠ¿ï¼Œä½¿ä½ èƒ½å¤Ÿå°±è¿‘ä¸‹è½½èµ„æºã€‚[CR] 官方库中的所有扩展功能模å—都ç»è¿‡äº†åŸºæœ¬çš„æµ‹è¯•,如果你å‘现有æŸå或ä¸èƒ½æ­£å¸¸å·¥ä½œçš„æ’ä»¶è¯·å‘XBMCå¼€å‘å›¢é˜ŸæŠ¥å‘Šï¼Œä»¥ä¾¿åŠæ—¶å¤„ç†ã€‚ + 從 XBMC.org 官方的附加元件庫下載並安è£é™„加元件。[CR] 使用官方的附加元件庫你å¯ä»¥å¾žé›¢ä½ è¼ƒè¿‘的檔案é¡åƒä¼ºå™¨ä»¥è¼ƒå¿«çš„速度下載附加元件。[CR] 在這個附加元件庫中的附加元件都經éŽç°¡å–®çš„æ¸¬è©¦ï¼Œå¦‚æžœä½ ç™¼ç¾æå£žæˆ–ç„¡æ³•æ­£å¸¸å·¥ä½œçš„é™„åŠ å…ƒä»¶ï¼Œè«‹å›žå ±çµ¦ XBMC 團隊,以讓 XBMC 團隊能åšä¸€äº›å¿…須的處置。 + Die XBMC span het nie al die byvoegsels in die kodebank gemaak nie en is nie verantwoordelik vir hulle inhoud nie + ÙØ±ÙŠÙ‚ XBMC لم يصنع كل Ø§Ù„Ø¥Ø¶Ø§ÙØ§Øª ÙÙŠ هذا المستودع Ùˆ غير مسؤول عن محتوياتها + Team XBMC did not make all the add-ons on this repository and are not responsible for their content + Team XBMC (Екипът зад XBMC) не е автор на вÑички добавки в хранилището и не ноÑи отговорноÑÑ‚ за Ñъдържанието им + L'equip de l'XBMC no ha fet tots els complements d'aquest repositori i per tant no són responsables del seu contingut. + XBMC tým nevytvoÅ™il vÅ¡echna rozšíření v tomto repozitáři a není zodpovÄ›dný za jejich obsah + Team XBMC har ikke lavet alle add-ons i dette fjernlager og er ikke ansvarlig for deres indhold + Team XBMC hat nicht alle Add-Ons aus dem Repository erstellt und ist für deren Inhalt nicht verantwortlich + Η Ομάδα XBMC δεν δημιοÏÏγησε όλα τα Ï€Ïόσθετα σε αυτό το αποθετήÏιο συνεπώς δεν είναι υπεÏθυνοι για το πεÏιεχόμενό τους + Team XBMC did not make all the add-ons on this repository and are not responsible for their content + El equipo de XBMC no ha hecho todos los Addons en este repositorio y no son responsables de su contenido + El equipo de XBMC no ha hecho todos los Add-ons en este repositorio y no es responsable de su contenido + El equipo de XBMC no hizo todos los add-ons en este repositorio y no es responsable de su contenido + XBMC meeskond ei teinud kõiki lisasid selles hoidlas ja ei vastuta ka nende sisu eest. + XMBC taldeak ez ditu biltegi honetako gehigarri guztiak sortu eta ez da beren edukien erantzule. + Team XBMC ei ole tehnyt kaikkia tässä säilössä olevia lisäosia, eikä siten ole vastuullinen kyseisten lisäosien sisällöstä + La Team XBMC n'est pas l'auteur de toutes les extensions de ce dépôt et n'est pas responsable de leur contenu + O equipo de XBMC non fai tódolos Engadidos deste repositorio e non é responsable do seu contido + צוותXBMC ×œ× ×™×¦×¨ ×ת כל ×”×ª×•×¡×¤×™× ×‘×ž×גר ×–×” ×•×”× ××™× × ×חר××™× ×¢×œ ×ª×•×›× × + XBMC tim nije autor svih dodataka te kao takav ne odgovara za njihov sadržaj + Nem minden itt található kiegészítÅ‘t az XBMC csapat készített és nem vállal felelÅ‘sséget azok tartalmáért + XBMC teymið gerir ekki allar þessar viðbætur og er ekki ábyrgt fyrir innihaldi þeirra. + Il team di XBMC non ha creato tutti gli add-on di questa libreria e non è responsabile per il loro contenuto + XBMC ãƒãƒ¼ãƒ ãŒã€ã“ã®ãƒªãƒã‚¸ãƒˆãƒªä¸Šã®å…¨ã‚¢ãƒ‰ã‚ªãƒ³ã‚’作ã£ãŸã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“。ã¾ãŸã€ãã®å†…容ã«ã¤ã„ã¦ã‚‚責任ã¯è² ã„ã‹ã­ã¾ã™ã€‚ + Team XBMC는 ì €ìž¥ì†Œì˜ ëª¨ë“  ì• ë“œì˜¨ì„ ë§Œë“¤ì§€ 않았으며, 애드온 컨í…ì¸ ì— ëŒ€í•œ ì±…ìž„ì´ ì—†ìŠµë‹ˆë‹¤. + XBMC komanda netestavo priedų Å¡ioje saugykloje ir neatsako arba nÄ—ra atsakinga už jų turinį + XBMC тимот ги нема направено Ñите овие додатоци и не е одговорен за нивната Ñодржина + Team XBMC heeft niet alle add-ons in dit repository geschreven en is niet verantwoordelijk voor hun inhoud. + Team XBMC har ikke produsert alle tilleggene i denne kilden og er ikke ansvarlig for deres innhold + ZaÅ‚oga XBMC nie tworzy wszystkich dodatków i nie bierze odpowiedzialnoÅ›ci za ich zawartość + A equipa XBMC não desenvolveu todos os Add-ons neste repositório e não é responsável pelo seu conteúdo. + A Equipe XBMC não produziu todos os add-ons deste repositório e não são responsáveis ​​por seu conteúdo + Echipa XBMC nu a creat toate aceste suplimente din acest depozit È™i nu este responsabilă pentru conÈ›inutul lor. + Разработчики XBMC не ÑвлÑÑŽÑ‚ÑÑ Ð°Ð²Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ вÑех дополнений в данном репозитории и не неÑут ответÑтвенноÑть за их Ñодержимое. + Team XBMC har inte skapat alla tillägg pÃ¥ detta förrÃ¥d och är inte ansvariga för deras innehÃ¥ll + Team XBMC nevytvoril vÅ¡etky rozšírenia v tomto zdroji nie je zodpovedný za ich obsah + Skupina XBMC ni naredila vse dodatkov v tem skladiÅ¡Äu in to ni skladiÅ¡Äe za njihovo vsebino + Team XBMC har inte gjort alla tillägg och är inte ansvariga för innehÃ¥llet i dessa. + ทีม XBMC ไม่ได้จัดทำ ส่วนเสริม ทั้งหมดในà¹à¸«à¸¥à¹ˆà¸‡à¸‚้อมูลโปรà¹à¸à¸£à¸¡à¸™à¸µà¹‰ à¹à¸¥à¸°à¸ˆà¸°à¹„ม่รับผิดชอบต่อเนื้อหาเหล่านั้น + Зауважте, що не вÑÑ– додатки в цьому Репозиторії Ñтворені Командою XBMC, Ñ– тому Команда не неÑе відповідальноÑті за Ñ—Ñ… вміÑÑ‚. + 本库中扩展功能模å—å¹¶éžå®Œå…¨ç”±XBMCå¼€å‘团队开å‘,因此ä¸å¯¹ç›¸å…³å†…容承担责任 + 這個附加元件庫的附加元件並éžå…¨éƒ¨ç”± XMBC 團隊製作的,所以我們ä¸å°é€™äº›å…§å®¹è² è²¬ã€‚ + all + + diff --git a/usr/local/share/xbmc/addons/repository.xbmc.org/icon.png b/usr/local/share/xbmc/addons/repository.xbmc.org/icon.png new file mode 100644 index 000000000..a7ad3ebb8 Binary files /dev/null and b/usr/local/share/xbmc/addons/repository.xbmc.org/icon.png differ diff --git a/usr/local/share/xbmc/addons/screensaver.rsxs.euphoria/addon.xml b/usr/local/share/xbmc/addons/screensaver.rsxs.euphoria/addon.xml new file mode 100644 index 000000000..2c7d7c65c --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.rsxs.euphoria/addon.xml @@ -0,0 +1,92 @@ + + + + + + + + Omtrent so psigedelies soos sluimerskerm kan kom + حول الحصول على مهدء كشاشة التوق٠+ Падобны на пÑіхадÑлічны ахоўнік Ñкрану + Колкото халюциногенен може да бъде един ÑкрийнÑейвър + Quant al més psicodèlic dels estalvis de pantalla + NejdivoÄejší Å¡etÅ™iÄ obrazovky vÅ¡ech dob + Omtrent sÃ¥ psykedelisk som en pauseskærm kan blive. + So psychedelisch wie ein Bildschirmschoner nur sein kann + Όσο πιο ψυχεδελική μποÏεί να είναι μία Ï€ÏοφÏλαξη οθόνης + About as psychedelic as screensavers get + El más psicodélico de los salvapantallas + Tan psicodélico como un protector de pantalla pueda serlo + Tan psicodélico como cualquier protector de pantalla debería + Nii psühhedeelne kui üks ekraanisäästja olla saab + Mahdollisesti kaikkein psykedeelisin näytönsäästäjä + Difficilement plus psychédélique comme économiseur d'écran + Máis ou menos tan psicodélico como o pode ser un gardapantallas + זהו שומר המסך הפסיכוד×לי ביותר שיש + PsihodeliÄan koliko Äuvar zaslona može biti + A legpszihedelikusabb képernyÅ‘védÅ‘ + Quanto di più psichedelico possa essere un salvaschermo + スクリーンセーãƒãƒ¼ã¯ã“ã“ã¾ã§ã‚µã‚¤ã‚±ã«ãªã‚Œã‚‹ + 싸ì´í‚¤ë¸ë¦­ 화면보호기 + Psihodeline užsklanda nuneÅ¡anti stoga + ÐајпÑиходелична заштита на екран + Een meer psychedelische schermbeveiliging vindt u niet + SÃ¥ psykadelisk som en skjermsparer kan bli + Tak psychodeliczny jak tylko siÄ™ da + Um protector de ecrã mais psicadélico do que este? Impossível. + Protetor de Tela Psicodélico + Un protector ecran cât se poate de năucitor + Ð¡Ð°Ð¼Ð°Ñ Ð¿ÑиходеличеÑÐºÐ°Ñ Ð² мире заÑтавка + Ungefär sÃ¥ psykedelisk som en skärmsläckare kan bli + Tak psychodelický ako to len ide + Najbolj psihadeliÄni ohranjevalnik zaslona + Ungefär sÃ¥ psykedelisk som en skärmsläckare kan bli + ÐаÑтільки пÑиходелічна наÑкільки можливо Ð´Ð»Ñ Ð·Ð°Ñтавки + 最具迷幻效果的å±å¹•ä¿æŠ¤ç¨‹åº + Die is omtrent so psigedelies soos sluimerskerm kan kom. mogumbo het gedink sy Plasma beskermer was heel voor in die koor, maar die een sal jou maag selfs meer laat draai. Jy beter een van daardie vlug siekte sakke kry voor jy te lank na hierdie een staar. + هذا حول الحصول على مهدء كشاشة التوقÙ. اعتقد موغمبو أن شاشة توق٠البلازمة خاصته ÙÙŠ قمة الجدول, لكن هذا مقر٠أكثر. Ø§Ù„Ø£ÙØ¶Ù„ أن تجد أحد أكياس الغثيان قبل أن تنظر لهذا لوقت طويل. + This is about as psychedelic as screensavers get. mogumbo thought his Plasma saver was at the top of the scale, but this one is even more nauseating. You'd better find one of those air sickness bags before you stare at this one for too long. + Точно колкото може един ÑкрийнÑейвър. mogumbo ÑмÑташе, че неговиÑÑ‚ "Plasma saver" е върхът, но този е по-Ñмущаващ. Препоръчвам Ви да вземете една торбичка/лиген, преди да зазÑпате в ÑкрийнÑейвъра по-дълго отколкото трÑбва. + Aquest és probablement el més psicodèlic dels estalvis de pantalla. mogumbo va pensar que el seu estalvi Plasma estava al capdamunt, però aquest és més nauseabund. Serà millor que agafi una bossa per als marejos si ha d'estar molta estona mirant-lo. + Asi nejdivoÄejší Å¡etÅ™iÄ obrazovky vÅ¡ech dob. Použití plazmového Å¡etÅ™iÄe bývalo vrcholem, ale tento spoÅ™iÄ je jeÅ¡tÄ› více zneklidňující. PÅ™ipravte si pytlíky na zvracení pokud se jej rozhodnete sledovat příliÅ¡ dlouho. + Dette er omtrent sÃ¥ psykedelisk som en pauseskærm kan blive. Mogumbo troede hans Plasma-pauseskærm var i toppen af skalaen, men denne er endnu mere kvalmende. Du mÃ¥ hellere finde en papirpose, inden du kigger alt for længe pÃ¥ denne. + In etwa so ​​psychedelisch wie ein Bildschirmschoner nur sein kann. mogumbo dachte, sein Plasma-Bildschirmschoner wäre bereits abstoßend, aber dieser hier ist noch verabscheuenswürdiger. Kram' besser schon mal eine Kotztüte hervor, bevor Du diesen Bildschirmschoner zu lange anstarrst. + Αυτή είναι η πιο ψυχεδελική Ï€ÏοφÏλαξη οθόνης που υπάÏχει. Ο mogumbo νόμιζε ότι η Plasma Ï€Ïοφ. οθόνης του ήταν η κοÏυφαία, αλλά αυτή είναι ακόμα πιο μπεÏδεμένη. ΚαλÏτεÏα να βÏείτε μία από εκείνες τις σακοÏλες για τη ναυτία Ï€ÏÎ¿Ï„Î¿Ï Ï„Î·Î½ κοιτάξετε για πολλή ÏŽÏα. + This is about as psychedelic as screensavers get. mogumbo thought his Plasma saver was at the top of the scale, but this one is even more nauseating. You'd better find one of those air sickness bags before you stare at this one for too long. + Este es probablemente el más psicodélico de los salvapantallas. mogumbo (el autor) pensó que su protector 'Plasma' estaba en lo mas alto, pero éste es más repugnante. Será mejor que cojas una bolsa para los mareos si vas a estar mucho tiempo viéndolo. + Este es probablemente el más psicodélico de los protectores de pantalla. mogumbo pensó que su protector de Plasma estaba en lo mas alto, pero éste es más repugnante. Será mejor que busques una bolsa para los mareos si vas a estar mucho tiempo viéndolo. + Esto es tan psicodélico como un protector de pantalla debe ser, mogumbo pensó que su protector Plasma estaba en la cima del mundo, pero éste es aún más nauseabundo. Deberías conseguir una bolsa para mareos antes de quedarte observando por mucho tiempo. + See on nii psühhedeelne kui üks ekraanisäästja olla saab. mogumbo arvas, et tema Plasma säästja oli tippude tipp, aga see on isegi rohkem iiveldama ajav. Parem otsi endale üks neist lennuki oksekottidest enne kui liiga kauaks seda siin vaatama jääd. + Tämä on mahdollisesti niin psykedeelinen kuin vain näytönsäästäjä voi olla. mogumbo luuli, että hänen Plasma-näytönäästäjänsä oli asteikon huipulla, mutta tämä ohittaa senkin. Oksennuspussin hakeminen on suositeltavaa ennen pitkäaikaista tuijottamista. + En terme d'économiseur, on fait difficilement plus psychédélique. Mogumbo pensait son économiseur Plasma tout en haut de l'échelle mais, celui-ci donne encore plus la nausée. Mieux vaut se munir d'un de ces sachets pour le mal de l'air avant de le regarder trop longtemps. + Este é máis ou menos tan psicodélico como pode selo un gardapantalla. mogumbo pensou que o seu gardapantallas Plasma estaba arriba de todo na escala, pero este é incluso máis mareante. Será millor que colla unha bolsa de ventilzación ante de quedarse mirando a este demasiado tempo. + זהו שומר המסך הפסיכוד×לי ביותר שיש. מוגמבו חשב ששומר מסך הפלזמה שלו ×”×•× ×”×˜×•×‘ מסוגו, ×בל שומר מסך ×–×” ×”×•× ×פילו מבחיל יותר. עדיף שתשיג לעצמך כמה שקיות ×”×§××” לפני שתבהה בזה יותר מדי זמן. + PsihodeliÄan koliko Äuvar zaslona može biti. mogumbo kroz svoj plazma Äuvar zaslona je bio vrh, ali ovaj je odvratan. Bilo bi vam bolje da pronaÄ‘ete jednu od onih vrećica za muÄninu Å¡to dijele u avionima prije nego poÄnete zuriti u ovaj. + Ez a legpszihedelikusabb képernyÅ‘védÅ‘. mogumbo úgy gondolta, hogy a Plasma képernyÅ‘védÅ‘ van a lista tetején,de ez még inkább kábító. Jobb ha keresel egy légibetegség zacskót mielÅ‘tt túl sokáig néznéd a képernyÅ‘t. + Questo è quanto di più psichedelico possa essere un salvaschermo. mogumbo pensava che il suo salvaschermo 'Plasma' fosse al massimo della psichedelicità, ma questo è anche più nauseante. Faresti meglio a cercare uno di quei sacchetti per il mal d'aria prima di fissarlo troppo a lungo. + This is about as psychedelic as screensavers get. mogumbo thought his Plasma saver was at the top of the scale, but this one is even more nauseating. You'd better find one of those air sickness bags before you stare at this one for too long. + 싸ì´í‚¤ë¸ë¦­í•œ 화면보호기입니다. ê±°ì˜ í† ë‚˜ì˜¬ ì •ë„ì˜ í™”ë©´ë³´í˜¸ê¸°ë¡œ 오래 ì³ë‹¤ë³´ë ¤ë©´ 봉투를 ì¤€ë¹„í•˜ëŠ”ê²ƒì´ ì¢‹ì„ê²ë‹ˆë‹¤. + Tai stogÄ… nuneÅ¡anti užsklanda. Mogumbo galvojo, kad jo užsklandÄ… Plasma niekas neprÅ¡oks, taÄiau Å¡i užsklanda tai kažkas tokio. Ramiai atsisÄ—skite, užtraukite kanapinio, pasiruoÅ¡kite pampersų ir relaksuokite žiÅ«rÄ—dami Å¡iÄ… užsklandÄ…. + This is about as psychedelic as screensavers get. mogumbo thought his Plasma saver was at the top of the scale, but this one is even more nauseating. You'd better find one of those air sickness bags before you stare at this one for too long. + Ongetwijfeld de meest psychedelische screensaver. mogumbo dacht dat zijn Plasmascreensaver al bovenaan deze lijst stond, maar deze is nóg meer misselijkmakend. Houd uw braakzakje bij de hand, mocht u hier te lang naar staren. + Dette er sÃ¥ psykadelisk som en skjermsparer kan bli. Mogumbo trodde hans Plasma skjermsparer var pÃ¥ toppen av skalaen, men denne er enda mer kvalmende. Du bør skaffe deg en slik spypose som de deler ut pÃ¥ fly før du stirrer pÃ¥ denne for lenge. + Tak psychodeliczny wygaszacz jak tylko siÄ™ da. Lepiej zaopatrz siÄ™ w worki na chorobÄ™ lokomocyjnÄ…. + Provavelmente a protecção de ecrã mais psicadélica de sempre. O autor, mogumbo, julgava que a sua protecção de ecrã 'Plasma' estava no topo da escala da náusea. Porém, esta ainda é pior. Se vai ficar muito tempo a olhar para o ecrã, procure um saco de enjoo e sente-se. + Esta é provavelmente a proteção de tela mais psicodélica de todos os tempos. O mogumbo, pensou que a sua proteção de tela 'Plasma' estava no topo da escala de proteções nauseantes mas esta parece ainda pior. Procure um saco de enjoo e sente-se, se vai ficar muito tempo a olhar para a tela. + Acesta este un screensaver cât se poate de năucitor. mogumbo credea că screensaverul creat de el, Plasma este pe primul loc, dar acest screensaver este È™i mai ameÈ›itor. Ar trebui să căutaÈ›i o pungă să nu vi se facă rău înainte de a vă uita la acesta prea mult. + Ð¡Ð°Ð¼Ð°Ñ Ð¿ÑиходеличеÑÐºÐ°Ñ Ð² мире заÑтавка. mogumbo Ñчитал, что никто не Ñможет доÑтичь Ñффекта его заÑтавки Plasma, но от Ñтой заÑтавки укачивает ещё Ñильнее. ЕÑли будете Ñмотреть на Ñту заÑтавку Ñлишком долго, вам очень Ñкоро понадобитÑÑ Ð³Ð¸Ð³Ð¸ÐµÐ½Ð¸Ñ‡ÐµÑкий пакет. + Det här är ungefär sÃ¥ psykedelisk skärmsläckare kan bli. mogumbo trodde hans plasma-skärmsläckare var toppen pÃ¥ skalan, men denna är till och med ännu mer kväljande. Du gör bäst i att leta upp en Ã¥ksjukepÃ¥se innan du stirrar pÃ¥ denna för länge. + Tento Å¡etriÄ je tak psychodelický ako to len ide. Mogumbo myslel, že Plasma Å¡etriÄ je na vrchole rebríÄka, ale tento je eÅ¡te viac zvrátený. RadÅ¡ej si nájdite hygienické vrecko skôr než naň budete civieÅ¥ pridlho. + Težko bi si zamislili bolj psihadeliÄen ohranjevalnik zaslona. Stranski uÄinki daljÅ¡e uporabe vkljuÄujejo slabost, glavobol in bruhanje. + Detta är ungefär sÃ¥ psykedelisk som en skärmsläckare kan bli. mogumbo trodde att hans Plasma Saver var toppen pÃ¥ skalan, men denna gör dig ännu mer illamÃ¥ende. Det är nog bäst att du letar upp en pÃ¥se för flygsjuka innan du sätter dig ned och stirrar pÃ¥ denna för länge. + 这大概是最具迷幻效果的å±å¹•ä¿æŠ¤ç¨‹åºäº†ã€‚mogumbo以为他的Plasmaå±ä¿å·²ç»æ˜¯æ•°ä¸€æ•°äºŒäº†ï¼Œä½†è¿™ä¸ªæ›´ä»¤äººä½œçŠ¯æ™•ã€‚å¦‚æžœä½ è¦é•¿æ—¶é—´ç›¯è§†å®ƒæœ€å¥½å…ˆå‡†å¤‡ä¸€ä¸ªæ™•机袋。 + linux osx + + diff --git a/usr/local/share/xbmc/addons/screensaver.rsxs.euphoria/icon.png b/usr/local/share/xbmc/addons/screensaver.rsxs.euphoria/icon.png new file mode 100644 index 000000000..194e3a4f7 Binary files /dev/null and b/usr/local/share/xbmc/addons/screensaver.rsxs.euphoria/icon.png differ diff --git a/usr/local/share/xbmc/addons/screensaver.rsxs.plasma/addon.xml b/usr/local/share/xbmc/addons/screensaver.rsxs.plasma/addon.xml new file mode 100644 index 000000000..936478cca --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.rsxs.plasma/addon.xml @@ -0,0 +1,93 @@ + + + + + + + + Seker die tweede mees psigedeliese sluimerskerm ooit + ربما شاشة التوق٠الثانية الأكثر هدوء على الإطلاق + ÐапÑўна, другі найбольш пÑіхадÑлічны ахоўнік Ñкрану + ВероÑтно вториÑÑ‚ най-халюциногенен ÑкрийнÑейвър + Probablement el segon estalvi de pantalla més psicodèlic mai creat + PravdÄ›podobnÄ› druhý nejdivoÄejší Å¡etÅ™iÄ obrazovky vÅ¡ech dob + Formodentlig den anden mest psykedeliske pauseskærm nogensinde + Wahrscheinlich der zweit-psychodelischste Bildschirmschoner überhaupt + Πιθανότατα η δεÏτεÏη πιο ψυχεδελική Ï€ÏοφÏλαξη οθόνης που έγινε ποτέ + Probably the second most psychedelic screensaver ever + Probablemente el segundo salvapantallas más psicodélico jamás creado + Probablemente el segundo protector de pantalla más psicodélico jamás creado + Probablemente el segundo protector de pantalla más psicodélico + Arvatavasti teine kõige psühhedeelsem ekraanisäästja, mis iial tehtud + Todennäköisesti toiseksi psykedeelisin näytönsäästäjä koskaan + Probablement le deuxième économiseur d'écran le plus psychédélique jamais créé + Probablemente o segundo gardapantallas máis psicodélico endexamáis. + כנר××” השומר מסך הפסיכוד×לי השני הפופ×לי ביותר + Vjerojatno drugi najveći ikad psihodeliÄni Äuvar zaslona + A második legpszihedelikusabb képernyÅ‘védÅ‘ + Probabilmente il secondo salvaschermo più psichedelico di sempre + 世界ã§2番目ã«ã‚µã‚¤ã‚±ãªã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ + ì•„ë§ˆë„ ì§€ê¸ˆê¹Œì§€ ë‘번째로 가장 환ìƒì ì¸ 화면보호기 + Tikriausiai antra labiausiai psichodeline ekrano uzsklanda pasaulyje. + Можеби втора нај пÑиходелична заштита на екран + Waarschijnlijk de op één na meest psychedelische schermbeveiliging ooit + Helt sikkert den nest psykadeliske skjermsparern som fins + Prawdopodobnie drugi, najbardziej psychodeliczny wygaszacz na Å›wiecie + Este é, provavelmente, o segundo melhor protector de ecrã psicadélico de sempre. + Provavelmente o segundo protetor de tela mais psicodélico + Probabil al doilea cel mai năucitor screensaver care a existat vreodată + Ðаверное, Ð²Ñ‚Ð¾Ñ€Ð°Ñ Ð¸Ð· Ñамых пÑиходеличеÑких заÑтавок в мире + Förmodligen den näst psykedeliska skärmsläckaren + Pravdepodobne druhý najviac hypnotizujúci Å¡etriÄ obrazovky vôbec + Drugi najbolj psihadeliÄni ohranjevalnik zaslona na svetu. + Troligen den näst mest psykedeliska skärmsläckaren nÃ¥gonsin. + Ðапевно, друга Ñеред найбільш пÑиходелічних заÑтавок + 也许是排å第二的迷幻效果å±å¹•ä¿æŠ¤ç¨‹åº + Seker die tweede mees psigedeliese sluimerskerm wat bestaan. Verbeel jou net al daai kleure wat rond beweeg. + ربما شاشة التوق٠الثانية الأكثر هدوء ÙÙŠ الوجود. Ùقط حاول تصوير هذه الألوان المتحركة . + Probably the second most psychedelic screensaver in existence. Just try to picture all those colors moving around. + ВероÑтно вториÑÑ‚ по Ñила халюциногенен ÑкрийнÑейвър Ñъздаван нÑкога. ПроÑто Ñе опитайте да Ñъзрете вÑички тези цветове. + Probablement el segon estalvi de pantalla més psicodèlic que existeix. Intenti imaginar tots aquests colors movent-se. + PravdÄ›podobnÄ› druhý nejdivoÄejší Å¡etÅ™iÄ obrazovky vÅ¡ech dob. Zkuste si pÅ™edstavit vÅ¡echny ty poletující barvy. + Formodentlig den anden mest psykedeliske pauseskærm, der eksisterer. Forestil dig alle de farver, der bevæger sig omkring. + Wahrscheinlich der zweit-psychodelischste Bildschirmschoner, den es gibt. Versuche doch alle diese Farben, die sich umher bewegen, festzuhalten. + Πιθανότατα η δεÏτεÏη πιο ψυχεδελική Ï€ÏοφÏλαξη οθόνης που υπάÏχει. Απλά Ï€Ïοσπαθήστε να φανταστείτε όλα αυτά τα χÏώματα σε κίνηση. + Probably the second most psychedelic screensaver in existence. Just try to picture all those colors moving around. + Probablemente el segundo salvapantallas más psicodélico que existe. Intente imaginarse todos esos colores moviéndose. + Probablemente el segundo protector de pantalla más psicodélico que existe. Solo intente imaginarse todos esos colores moviéndose. + Probablemente el segundo protector de pantallas más psicodélico. Solo trate de captar todos los colores moviéndose alrededor. + Arvatavasti ajaloo teine kõige psühhedeelsem ekraanisäästja. Püüa lihtsalt kujutleda kõiki neid värve, mis ringi liiguvad. + Todennäköisesti toiseksi psykedeelisin olemassa oleva näytönsäästäjä. Kuvittelepa vain kaikki nuo värit lentelemässä ympäriinsä. + Probablement le deuxième économiseur d'écran le plus psychédélique de l'histoire. Essayez seulement d'imaginer toutes ces couleurs en mouvement. + Probalemente o segundo gardapantallas máis psicodélico na existencia. Tan só probe a imaxinarse todas esas cores movéndose ó redor. + כנר××” השומר מסך הפסיכוד×לי השני הפופ×לי ביותר. נסה לדמיין ×ת כל ×”×¦×‘×¢×™× ×”×לה ×–×–×™× ×›×œ הזמן + Vjerojatno drugi najveći ikad psihodeliÄni Äuvar zaslona koji postoji. Samo PokuÅ¡ajte zamisliti sve te boje koje se gibaju okolo. + Valószínüleg a második legpszihedelikusabb képernyÅ‘védÅ‘ ami létezik. Csak képzeld el mindezt a színkavalkádot mozogni. + Probabilmente il secondo salvaschermo più psichedelico di sempre. Prova semplicemente a guardare tutti quei colori che si muovono. + Probably the second most psychedelic screensaver in existence. Just try to picture all those colors moving around. + ì•„ë§ˆë„ ì¡´ìž¬í•˜ëŠ” ë‘번째로 가장 환ìƒì ì¸ 화면보호기. 모든 ìƒ‰ê¹”ë“¤ì´ ì›€ì§ì´ëŠ” ê²ƒì„ ìƒìƒí•´ë³´ì„¸ìš”. + Turbut antra labiausiai psichodeline ekrano uzsklanda pasaulyje. Isbandykite ja ir pamatysite judanciu spalvu svente. + Можеби втора нај пÑиходелична заштита на екран. Само обидете Ñе да ги Ñогледате Ñите тие бои кои Ñе движат. + Waarschlijnlijk de op één na meest psychedelische schermbeveliging ooit. Probeer u het voor te stellen: al die kleuren die door elkaar lopen. + Helt sikkert den nest psykadeliske skjermsparern i verden. Bare prøv Ã¥ fÃ¥restill deg alle de fargene som beveger seg rundt. + Prawdopodobnie drugi, najbardziej psychodeliczny wygaszacz na Å›wiecie. Spróbuj i zobacz feriÄ™ poruszajÄ…cych siÄ™ barw. + É, provavelmente, o segundo melhor protector de ecrã psicadélico de sempre. Experimente-o e veja todas as cores em movimento livre. + Provavelmente, o segundo mais psicodélico screensaver existente. Experimente-a para ver todas as cores moverem-se livremente. + Probabil al doilea cel mai năucitor screensaver care a existat vreodată. Doar încercaÈ›i să vă imaginaÈ›i toate acele culori miÈ™cându-se. + ПроÑто попробуйте предÑтавить Ñебе вÑе цвета в движении. + Förmodligen den näst psykedeliska skärmsläckaren som finns. Försök bara att uppfatta alla färger som rör sig runt och runt. + Pravdepodobne druhý najviac hypnotizujúci Å¡etriÄ obrazovky aký vôbec existuje. Iba si skúste predstaviÅ¥ vÅ¡etky tie farby pohybujúc sa okolo. + Drugi najbolj psihadeliÄni ohranjevalnik zaslona na svetu. Samo predstavljajte si vse te barve, ki letijo naokrog. + Troligen den näst mest psykedeliska skärmsläckaren som existerar. Bara tänk dig alla färgerna som rör pÃ¥ sig. + Ðапевно, друга Ñеред найбільш пÑиходелічних заÑтавок. Лише уÑвіть уÑÑ– ці переливи кольорів. + 也许是排å第二的迷幻效果å±å¹•ä¿æŠ¤ç¨‹åºã€‚你将看到所有颜色满处乱飞。 + linux osx + + diff --git a/usr/local/share/xbmc/addons/screensaver.rsxs.plasma/icon.png b/usr/local/share/xbmc/addons/screensaver.rsxs.plasma/icon.png new file mode 100644 index 000000000..2c8b9b0ff Binary files /dev/null and b/usr/local/share/xbmc/addons/screensaver.rsxs.plasma/icon.png differ diff --git a/usr/local/share/xbmc/addons/screensaver.rsxs.solarwinds/addon.xml b/usr/local/share/xbmc/addons/screensaver.rsxs.solarwinds/addon.xml new file mode 100644 index 000000000..7d46d0106 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.rsxs.solarwinds/addon.xml @@ -0,0 +1,93 @@ + + + + + + + + 'n Betoverende deeltjie effek sluimerskerm + أداة ساحرة تؤثر بشاشة التوق٠+ Ðхоўнік Ñкрану з зачаравальнымі ÑÑ„Ñктамі чаÑьціцаў + СкрийнÑейвър Ñ Ñ‡Ð°Ñтици, които очароват + Un estalvi de pantalla amb uns efectes de partícula fascinants + SpoÅ™iÄ obrazovky s fascinujícími Äásticovými efekty + En tryllebindende pauseskærm med partikeleffekter + Ein faszinierender Bildschirmschoner mit Partikeleffekten + Μία μαγευτική σωματιδιακή Ï€ÏοφÏλαξη οθόνης + A mesmerizing particle effects screensaver + Un salvapatallas con unos efectos de partículas hipnotizantes + Un protector de pantalla con unos efectos de partículas hipnotizantes + Un sorprendente protector de pantalla de partículas + Hüpnotiseeriv osakeste efektiga ekraanisäästja + Lumoava partikkelitehostenäytönsäästäjä + Un économiseur envoûtant à effets de particules + Un hipnotizante gardapantallas con efectos de partículas + שומר מסך מהפנט + ÄŒuvar zaslona - OÄaravajuće kretanje Äestica. + Egy igézÅ‘ részecske-effektus képernyÅ‘védÅ‘ + Un salvaschermo con effetti particellari ipnotizzanti + パーティクルã«ã‚ˆã‚‹å¹»æƒ³çš„ãªã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ + 매혹ì ì¸ íŒŒí‹°í´ ì´íŽ™íŠ¸ 화면보호기 + Itaigus dalelių poveikio ekrano užsklanda + Заштита на екран Ñо Ñмирувачки чеÑтички + Een hypnotiserende schermbeveiliging met partikeleffecten + En hypnotiserende partikkel effekt skjermsparer + Wygaszacz hipnotyzujÄ…cy efektami czÄ…steczek + Protecção de ecrã com um impressionante efeito de partículas + Um protetor de tela hipnotizante com efeitos de partículas + Un srceensaver cu efecte de particule fascinant + Ð—Ð°Ð²Ð¾Ñ€Ð°Ð¶Ð¸Ð²Ð°ÑŽÑ‰Ð°Ñ Ð·Ð°Ñтавка Ñ Ñффектами чаÑтиц + En fascinerande skärmsläckare av partikeleffekter + Fascinujúci Å¡etriÄ s efektom Äastíc + Ohranjevalnik zaslona z uÄinkom hipnotiÄnih delÄkov + En hypnotiserande partikeleffektskärmsläckare + ЗаÑтавка із чаÑтинок, що має гіпнотизуючий ефект + ä¸€ä¸ªè¿·äººçš„ç²’å­æ•ˆæžœå±å¹•ä¿æŠ¤ç¨‹åº + Hierdie is 'n uiters betoverende deeltjie effek sluimerskerm. Jy sal vind dat jy 'n ongelooflike aantal verskillende patrone kan bewerkstellig. + أداة ساحرة جدا تؤثر بشاشة التوقÙ. ستجد أنك تستطيع أن تحقق عدد مذهل من الأنماط Ø§Ù„Ù…Ø®ØªÙ„ÙØ©. + This is a very mesmerizing particle effects screensaver. You'll find that you can achieve an amazing number of different patterns. + Това е ÑкрийнÑейвър, който очарова Ñ Ñ‡Ð°Ñтиците Ñи. Ще откриете, че можете да Ñъздадете изключително голÑм брой различни модели. + Aquest és un estalvi de pantalla amb uns efectes de partícules fascinants. Veurà que pot obtenir un nombre increïble de patrons diferents. + SpoÅ™iÄ obrazovky s velmi fascinujícími Äásticovými efekty. Zjistíte, že můžete dosáhnout úžasného množství různých vzorů. + Dette er en meget tryllebindende pauseskærm med partikeleffekter. Du vil opdage, at man kan opnÃ¥ et forbløffende antal af forskellige mønstre. + Dies ist ein faszinierender Bildschirmschoner mit Partikeleffekten. Du kannst eine verblüffend große Anzahl an verschiedenen Animationen einstellen. + Αυτή είναι μία μαγευτική σωματιδιακή Ï€ÏοφÏλαξη οθόνης. Θα διαπιστώσετε ότι μποÏείτε να επιτÏχετε έναν απίστευτο αÏιθμό διαφοÏετικών σχεδίων. + This is a very mesmerizing particle effects screensaver. You'll find that you can achieve an amazing number of different patterns. + Este es un salvapatallas con unos efectos de partículas hipnotizantes. Descubrirás que puedes obtener un número increíble de patrones diferentes. + Este es un protector de pantalla con unos efectos de partículas hipnotizantes. Descubrirás que puedes obtener un número increíble de patrones diferentes. + Éste es un sorprendente protector de pantalla de partículas. Encontrará que puede obtener un gran número de patrones diferentes. + See on väga hüpnotiseeriv osakeste efektiga ekraanisäästja. Võimalik on koostada tohutul hulgal erinevaid mustreid. + Erittäin lumoava partikkelitehostenäytönsäästäjä. Tulet huomaamaan uskomattoman määrän erilaisia kuvioita. + Voici un économiseur d'écran à effets de particules particulièrement envoûtant. Vous trouverez qu'il permet d'obtenir un nombre incroyable de modèles et d'effets différents. + Este é un gardapantallas con efectos de partículas moi hipnotizante. Atopará que pode acadar un incrible número de patróns diferentes. + זהו שומר מסך מהפנט מ×וד. ×תה ×ª×ž×¦× ×ת עצמך משיג כמויות שונות ומרהיבות של צורות. + Ovo je zaista oÄaravajuÄi Äuvar zaslona. Moguće je ostvariti zapanjujući broj razliÄitih uzoraka. + Ez egy lebilincselÅ‘ hatású részecske-effektus képernyÅ‘védÅ‘. Hihetetlen mennyiségű különbözÅ‘ minta képes benne kialakulni. + Questo è un salvaschermo con effetti particellari è veramente ipnotizzante. E' inoltre possibile ottenere un incredibile numero di differenti schemi. + This is a very mesmerizing particle effects screensaver. You'll find that you can achieve an amazing number of different patterns. + 매혹ì ì¸ íŒŒí‹°í´ ì´íŽ™íŠ¸ 화면보호기입니다. 아주 다양한 íŒ¨í„´ì˜ ë³´ì—¬ì¤ë‹ˆë‹¤. + Tai labai itaigus dalelių poveikio ekrano užsklanda. JÅ«s galite pasiekti nuostabių ivairių modelių nustatymuose. + Ова е заштита на екран Ñо Ñмирувачки чеÑтички. Ќе откриете дека можете да поÑтигнете зачудувачки шеми. + Dit is een erg hypnotiserende screensaver. Je kunt ongelooflijk veel verschillende patronen bekomen. + Dette er en veldig hypnotiserende partikkel effekt skjermsparer. Du fÃ¥r se at der fins en utrolig mengde forskjellige mønster. + Bardzo hipnotyzujÄ…cy wygaszacz. Przekonaj siÄ™, ile niespotykanch wzorów da siÄ™ osiÄ…gnąć. + Uma fantástica protecção de ecrã com um impressionante efeito de partículas. Experimente e verá que obtém um número quase infinito de padrões. + Este é um protetor de tela com efeitos de partícula bem hipnotizante. Você verá que pode alcançar um incrível número de diferentes padrões. + Acesta este un screensaver cu efecte de particule foarte fascinant. O să vedeÈ›i că veÈ›i putea obÈ›ine un număr uimitor de modele diferite. + Ð—Ð°Ð²Ð¾Ñ€Ð°Ð¶Ð¸Ð²Ð°ÑŽÑ‰Ð°Ñ Ð·Ð°Ñтавка Ñ Ñффектами чаÑтиц. Ð”Ð»Ñ Ñтой заÑтавки на выбор доÑтупно огромное количеÑтво вариаций Ñффектов. + Detta är en mycket fascinerande partikeleffektsskärmsläckare. Du kommer att upptäcka att du kan uppnÃ¥ ett otroligt antal olika mönster. + Toto je veľmi fascinujúci Å¡etriÄ s efektom Äastíc. Zistíte, že môžete dosiahnuÅ¥ neskutoÄné Äíslo rôznych vzorov. + To je ohranjevalnik zaslona s presenetiljivim hipnotiÄnim uÄinkom delcev. Odkrili boste, da lahko dosežejo neverjetno Å¡tevilo razliÄnih vzorcev. + Detta är en väldigt hypnotiserande partikeleffektskärmsläckare. Du kommer att upptäcka att du kan Ã¥stadkomma ett häpnadsväckande antal olika mönster. + Це дуже гіпнотизуюча заÑтавка із різноманітних ефектів чаÑтинок. Ви побачите надзвичайно велику кількіÑть різноманітних візерунків. + 这是一个éžå¸¸è¿·äººçš„ç²’å­æ•ˆæžœå±å¹•ä¿æŠ¤ç¨‹åºã€‚你会å‘现你能看到惊人数é‡çš„ä¸åŒå›¾æ¡ˆã€‚ + linux osx + + diff --git a/usr/local/share/xbmc/addons/screensaver.rsxs.solarwinds/icon.png b/usr/local/share/xbmc/addons/screensaver.rsxs.solarwinds/icon.png new file mode 100644 index 000000000..7bca6f51a Binary files /dev/null and b/usr/local/share/xbmc/addons/screensaver.rsxs.solarwinds/icon.png differ diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.black/addon.xml b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.black/addon.xml new file mode 100644 index 000000000..31db520e1 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.black/addon.xml @@ -0,0 +1,90 @@ + + + + + Sluimerskerm wat jou skerm swart maak. + شاشة التوق٠التي تحول شاشتك لأسود + Ðхоўнік Ñкрану што робіць Ñкран чорным + СкрийнÑейвър, който прави екрана черен + Estalvi de pantalla que posa la pantalla en negre + Å etÅ™iÄ obrazovky, který zaÄerní VaÅ¡i obrazovku + Pauseskærm som gør din skærm sort + Bildschirmshoner, welcher den Bildschirm schwarz färbt + ΠÏοφÏλαξη οθόνης που αμαυÏώνει την οθόνη σας + Screensaver that turns your screen black + Un salvapantallas que pone la pantalla en negro + Un protector de pantalla que pone la pantalla en negro + Protector de pantalla que obscurece la pantalla + Ekraanisäästja, mis muudab ekraani mustaks + Tyhjä ruutu + Un économiseur d'écran qui rend votre écran noir + Gardapantallas que volta a súa pantalla negra + שומר מסך ×שר הופך ×ת המסך שלך לשחור + ÄŒuvar zaslona koji pretvara zaslon u crno + KépernyÅ‘védÅ‘ ami elfeketíti a képernyÅ‘t + Skjáhvíla sem sendir svart út á skjáinn + Salvaschermo che trasforma il tuo schermo in nero + ç”»é¢ã‚’é»’ãã™ã‚‹ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ + í™”ë©´ì„ ê²€ê²Œí•˜ëŠ” 화면보호기 + Ekrano užsklanda, kuri paverÄia jÅ«sų ekranÄ… juodu fonu + Заштита на екран која го прави екранот црн + Schermbeveiliging die uw scherm op zwart zet + Skjermsparer som gjør skjermen din svart + Wygaszacz ekranu wyÅ›wietlajÄ…cy czarny ekran + Protecção que escurece o seu ecrã. + Protetor de tela que deixa sua tela preta + Screensaver care afiÈ™ează un ecran negru + ЗаÑтавка «чёрный Ñкран» + Skärmsläckare som gör din skärm svart + Å etriÄ obrazovky, ktorú ju zmení na Äiernu + Ohranjevalnik zaslona, ki poÄrni zaslon. + En skärmsläckare som gör din skärm svart + ЗаÑтавка заповнює екран чорним кольором + 黑å±å±å¹•ä¿æŠ¤ç¨‹åº + 讓螢幕變全黑的螢幕ä¿è­·ç¨‹å¼ + Die is 'n eenvoudige sluimerskerm wat jou skerm swart maak. + بلاك شاشة توق٠بسيطة تحول شاشتك لأسود + Black is a simple screensaver that will turn your screen black. + "Black" е проÑто ÑкрийнÑейвър, който ще направи екрана Ви черен. + Black és un estalvi de pantalla simple que posarà la teva pantalla en negre. + Black je jednoduchý Å¡etÅ™iÄ obrazovky, který zaÄerní VaÅ¡i obrazovku. + Black er en simpel pauseskærm, der gør din skærm sort. + Black ist ein einfacher Bildschirmschoner, welcher den Bildschirm schwarz abdunkelt + Η Black είναι μία απλή Ï€ÏοφÏλαξη οθόνης που αμαυÏώνει την οθόνη σας. + Black is a simple screensaver that will turn your screen black. + Black es un sencillo salvapantallas que pone la pantalla en negro. + Black es un sencillo protector de pantalla que pone la pantalla en negro. + Black es un simple protector de pantalla que la obscurece. + Must on lihtne ekraanisäästja, mis muudab sinu ekraani mustaks. + Black on yksinkertainen näytönsäästäjä, joka muuttaa ruudun mustaksi. + Black est un simple économiseur qui passe votre écran au noir. + Black é un gardapantallas que tornará a súa pantalla a negro. + Black זהו שומר מסך פשוט ×שר הופך ×ת המסך שלך לשחור. + Crn je jednostavni Äuvar zaslona koji pretvara zaslon u crno + A Black egy egyszerű képernyÅ‘védÅ‘ ami feketévé változtatja a képernyÅ‘t. + Black er einföld skjáhvíla sem sendir svart út á skjáinn. + Black è un semplice salvaschermo che trasforma il tuo schermo in nero. + ç”»é¢ã‚’æš—ãé»’ãã™ã‚‹ã ã‘ã®ã€ã‚·ãƒ³ãƒ—ルãªã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ã§ã™ + 블랙 화면보호기는 í™”ë©´ì„ ê²€ê²Œ 만들어ì¤ë‹ˆë‹¤. + Black yra paprasta ekrano užsklanda, kuri pavers jÅ«sų ekranÄ… juodu fonu. + Црна е едноÑтавна заштита на екран која екранот го прави црн. + Black is een eenvoudige schermbeveiliging die uw scherm op zwart zet. + Black er en enkel skjermsparer som gjør skjermen din svart. + Ten wygaszacz ekranu wyÅ›wietla czarny ekran. Staraj siÄ™ używać go na wyÅ›wietlaczach CRT i unikaj na LCD. + Uma protecção simples que escurece o seu ecrã. + Black é um protetor de tela que vai deixar sua tela preta + Black este un screensaver simplu care afiÈ™ează negru pe ecran. + Это проÑÑ‚Ð°Ñ Ð·Ð°Ñтавка, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð´ÐµÐ»Ð°ÐµÑ‚ Ñкран чёрным. + Mörka är en enkel skärmsläckare som gör din skärm svart. + Black je jednoduchý Å¡etriÄ, ktorý zmení vaÅ¡u obrazovku na Äiernu. + Black je enostaven ohranjevalnik zaslona, ki poÄrni zaslon. + Detta är en enkel skärmsläckare som gör din skärm svart. + Black Ñ” проÑтою заÑтавкою що заповнює екран чорним кольором. + 黑å±å±ä¿æ˜¯ä¸€ä¸ªç®€å•çš„å±å¹•ä¿æŠ¤ç¨‹åºï¼Œå®ƒä½¿ä½ çš„æ˜¾ç¤ºå™¨è¿›å…¥é»‘å±çжæ€ã€‚ + Black 是一個讓螢幕變全黑的螢幕ä¿è­·ç¨‹å¼ã€‚ + all + + diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.black/icon.png b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.black/icon.png new file mode 100644 index 000000000..6d14ae6ad Binary files /dev/null and b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.black/icon.png differ diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/addon.xml b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/addon.xml new file mode 100644 index 000000000..0e3990153 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/addon.xml @@ -0,0 +1,92 @@ + + + + + Sluimerskerm wat jou skerm verdof + شاشة توق٠تمكن من تظليم الشاشة + Ðхоўнік Ñкрану што зацÑмнÑе Ñкран + СкрийнÑейвър, който затъмнÑва екрана + Estalvi de pantalla que enfosqueix la pantalla + SpoÅ™iÄ obrazovky, který ztmaví vaÅ¡i obrazovku + Pauseskærm som dæmper din skærm + Bildschirmschoner zum Abdunkeln des Bildschirmes + ΠÏοφÏλαξη οθόνης που σκιάζει την οθόνη σας + Screensaver that dims your screen + Un salvapantallas que oscurece tu pantalla + Un protector de pantalla que oscurece tu pantalla + Protector de pantalla que obscurece su pantalla + Ekraanisäästja, mis hämardab ekraani + Ruudun himmennys + Un économiseur qui assombrit votre écran + O Gardapantallas atenúa a súa pantalla + שומר מסך ×שר ×ž×¢×ž×¢× ×ת המסך + ÄŒuvar zaslona koji će zatamniti ekran + KépernyÅ‘védÅ‘ ami elhalványítja a képernyÅ‘t + Skjáhvíla sem lækkar birtustigið á skjánum + Salvaschermo che oscura lo schermo + ç”»é¢ã‚’æš—ãã™ã‚‹ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ + í™”ë©´ì„ ì–´ë‘¡ê²Œ 하는 화면보호기 + Ekrano vaizdas pritemdantis fonÄ… JÅ«sų ekrane + Заштита што го Ñтемнува екранот + Schermbeveiliging die je scherm dimt + Skjermsparer som dimmer skjermen din + Wygaszacz ekranu przyciemniajÄ…cy ekran + Protecção que esvanece o seu ecrã + Protetor de tela que escurece sua tela + Screensaver ce întunecă ecranul + ЗаÑтавка, поÑтепенно затемнÑÑŽÑ‰Ð°Ñ Ñкран + Å etriÄ obrazovky, ktorý zatemní VaÅ¡u obrazovku + Ohranjevalnik zaslona, ki zatemni zaslon + Ruajtës ekrani, që errëson ekranin + En skärmsläckare som tonar ned din skärm + สà¸à¸£à¸µà¸™à¹€à¸‹à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸—ี่หรี่หน้าจอของคุณ + ПроÑта заÑтавка що затемнÑÑ” екран. + 淡出å±å¹•ä¿æŠ¤ç¨‹åº + 讓螢幕變暗的螢幕ä¿è­·ç¨‹å¼ + Die Verdof sluimerskerm is 'n eenvoudige sluimerskerm wat jou skerm verdof (uit vaag) tot 'n stelbare waarde tussen 20 en 100% + Dim عبارة عن شاشة توق٠تمكن من تظليم (صورة Ø®Ø§ÙØªØ©) الشاشة إلى قيمة قابلة للتحديد بين 20 Ùˆ 100% + The Dim screensaver is a simple screensaver that will dim (fade out) your screen to a setable value between 20 and 100% . + СкрийнÑейвърът "Dim" затъмнÑва екрана, до ÑтойноÑÑ‚, коÑто Вие определÑте предварително (между 20 и 100%). + L'estalvi de pantalla Dim és un estalvi de pantalla simple que enfosquirà (fos en negre) la seva pantalla a un valor que es pot configurar entre 20 i 100%. + Jednoduchý spoÅ™iÄ obrazovky Ztmavení ztmaví (zaÄerní) vaÅ¡i obrazovku podle nastavitelné hodnoty mezi 20 a 100%. + Dæmpningspauseskærmen er en simpel pauseskærm, der dæmper (nedtoner) din skærm til en valgfri værdi mellem 20 og 100%. + Der Dimmer-Bildschirmschoner ist ein einfacher Bildschirmschoner, welcher den Bildschirm auf einen benutzerdefinierten Wert zwischen 20 und 100% abdunkelt. + Η Ï€ÏοφÏλαξη οθόνης Dim είναι μία απλή Ï€ÏοφÏλαξη η οποία σκιάζει την οθόνη σας σε μία τιμή που μποÏεί να Ïυθμιστεί Î¼ÎµÏ„Î±Î¾Ï 20 και 100%. + The Dim screensaver is a simple screensaver that will dim (fade out) your screen to a setable value between 20 and 100% . + Dim es un sencillo salvapantallas que oscurece tu pantalla. El valor es configurable entre el 20% y el 100%. + Dim es un sencillo protector de pantalla que oscurece tu pantalla. El valor es configurable entre el 20% y el 100%. + El protector de pantalla de obscurecimiento, es un protector simple que obscurece (fade out) su pantalla en un valor entre 20 y 100% + Lihtne ekraanisäästja, mis hämardab (tumestab) ekraani vastavalt valitud väärtusele vahemikus 20 kuni 100%. + Dim on yksinkertainen näytönsäästäjä joka himmentää ruudun valitulle tasolle välillä 20-100%. + L'économiseur Dim est un simple économiseur qui assombrira votre écran. L'assombrissement est paramétrable de 20 à 100 %. + O gardapantallas de Atenuación é un gardapantallas simple que atenuará o súa pantall a un valor configurable entre o 20% e o 100% + שומר המסך Dim ×”×•× ×©×•×ž×¨ מסך פשוט ×שר ×™×¢×ž×¢× (fade out) ×ת המסך לערך מוגדר בין 20% ל-100% + Dim je jednostavni Äuvar zaslona koji će zatamniti ekran (postepeno se gubiti) na odabranu vrijednost izmeÄ‘u 20 i 100% . + A Dim képernyÅ‘védÅ‘ egyszerűen elhalványítja a képernyÅ‘t egy elÅ‘re beállítható sötétségi szintre 20 és 100% között. + Dim er einföld skjáhvíla sem lækkar birtustigið á skjánum um stillanlegt gildi á milli 20 og 100% + 'Dim' è un semplice salvaschermo che diminuirà la luminosità del tuo schermo ad un valore (regolabile) tra il 20% ed il 100%. + Dim ã¯ãã®åã®é€šã‚Šã‚·ãƒ³ãƒ—ルãªã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ã§ã€ç”»é¢ã‚’フェードアウトã—ãªãŒã‚‰æš—ãã—ã¾ã™ã€‚値ã¯20%ã‹ã‚‰100%ã¾ã§è¨­å®šå¯èƒ½ã§ã™ã€‚ + Dim 화면보호기는 í™”ë©´ì„ ì–´ë‘¡ê²Œ(페ì´ë“œ 아웃)하는 간단한 화면보호기 입니다. 어둡게 하는 ì •ë„를 20-100%사ì´ì—서 설정할 수 있습니다. + Pritemdyta ekrano užsklanda yra paprasta ekrano užsklanda,katra pamažu (pamažu mažinant vaizdo ryÅ¡kumÄ…) jÅ«sų ekrano ryÅ¡kuma sumažins nuo 20 iki 100%. + ДИМ Заштитата на екран е едноÑтавно Ñтемнување на екранот, може да Ñе одбере вредноÑÑ‚ помеѓу 20 и 100% + De Dim-schermbeveiliging is een eenvoudige schermbeveiliging die uw scherm geleidelijk dimt. U kan een waarde gaande van 20 tot 100% instellen. + Dim er en enkel skjermsparer som dimer skjermen din til en justerbar verdi mellom 20 og 100% + Ten wygaszacz ekranu pÅ‚ynnie przyciemnia ekran po upÅ‚ywie ustawionego czasu. Przyciemnienie jest ustawialne w przedziale 20-100%. + Esta protecção de ecrã esvanecente permite-lhe diminuir a intensidade luminosa do seu ecrã. Pode ser configurada para valores entre 20 e 100% . + O Dim ("Escurecer") é um protetor de tela simples que diminui a intensidade da luz de sua tela (escurece), com um valor selecionável entre 20 e 100%. + Dim este un screensaver simplu care va întuneca (reduce intensitatea luminii) ecranului dumneavoastră la o valoare configurabilă cuprinsă între 20 È™i 100% . + Эта заÑтавка поÑтепенно затемнÑет изображение на Ñкране до заданного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ (от 20% до 100%). + "Dim" Å¡etriÄ obrazovky je jednoduchý Å¡etriÄ, ktorý zatemní VaÅ¡u obrazovku podľa nastavenia v rozsahu 20 až 100%. + Dim je enostaven ohranjevalnik zaslona, ki postopoma zatemni zaslon do izbrane svetlosti med 20 in 100%. + Errësuesi i ekranit është një mbrojtës i thjeshtë ekrani, i cili errëson (zbeh) ekranin tuaj në varësi të një vlere të axhustueshme nga 20 deri në 100%. + Detta är en enkel skärmsläckare som tonar ned ljusstyrkan pÃ¥ din skärm till ett angivet värde mellan 20 och 100% + สà¸à¸£à¸µà¸™à¹€à¸‹à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸«à¸£à¸µà¹ˆà¸«à¸™à¹‰à¸²à¸ˆà¸­à¹€à¸›à¹‡à¸™à¸ªà¸à¸£à¸µà¸™à¹€à¸‹à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¹à¸šà¸šà¸žà¸·à¹‰à¸™à¸à¸²à¸™à¸—ี่ช่วยหรี่หน้าจอของคุณซึ่งสามารถตั้งค่าà¸à¸²à¸£à¸«à¸£à¸µà¹ˆà¸«à¸™à¹‰à¸²à¸ˆà¸­à¹„ด้ตั้งà¹à¸•่ 20% ถึง 100% + Ð¦Ñ Ð·Ð°Ñтавка затемнÑÑ” екран (зменшує ÑÑкравіÑть) на вÑтановлене Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² межах від 20% до 100%. + 淡出å±ä¿æ˜¯ä¸€ä¸ªç®€å•çš„å±å¹•ä¿æŠ¤ç¨‹åºï¼Œå®ƒä½¿ä½ çš„å±å¹•æ˜¾ç¤ºå†…å®¹å˜æš—(淡出效果),暗化度å¯åœ¨20%至100%之间调节。 + Dim + all + + diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/icon.png b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/icon.png new file mode 100644 index 000000000..5dcd7c4b9 Binary files /dev/null and b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/icon.png differ diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..1699e264e --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Afrikaans/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Verdof vlak" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Albanian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Albanian/strings.po new file mode 100644 index 000000000..ee6d98d7f --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Albanian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Niveli i errësimit" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Amharic/strings.po new file mode 100644 index 000000000..e4d10a6f5 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Amharic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "የማደብዘዣ ደረጃ" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Arabic/strings.po new file mode 100644 index 000000000..5e2e52c53 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Arabic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "مستوى التظليم" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..04f986826 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Belarusian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Dim level" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..8d480b4f2 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Bulgarian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Степен на затъмнÑване" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Catalan/strings.po new file mode 100644 index 000000000..e10b23bc2 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Catalan/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nivell d'atenuació" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..63aa39230 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "å˜æš—级别" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..a8f1b735c --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "變暗級別" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Croatian/strings.po new file mode 100644 index 000000000..e3387fa4c --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Croatian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Intenzitet zatamnjenja" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Czech/strings.po new file mode 100644 index 000000000..1c1218da8 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Czech/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Úroveň ztmavení" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Danish/strings.po new file mode 100644 index 000000000..35dc0502e --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Danish/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Dæmpningsniveau" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Dutch/strings.po new file mode 100644 index 000000000..22053c5ff --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Dutch/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Dimveau" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/English (US)/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/English (US)/strings.po new file mode 100644 index 000000000..53b9869a8 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/English (US)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.0 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: 2012-05-28 15:37+0000\n" +"PO-Revision-Date: 2012-05-28 23:29+0000\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (United States) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en_US/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/English/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/English/strings.po new file mode 100644 index 000000000..e39f59d1e --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/English/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Estonian/strings.po new file mode 100644 index 000000000..a4fca411b --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Estonian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Hämarduse aste" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Finnish/strings.po new file mode 100644 index 000000000..6b7ff740f --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Finnish/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Himmennystaso" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/French/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/French/strings.po new file mode 100644 index 000000000..08877f096 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/French/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Niveau d'assombrissement" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Galician/strings.po new file mode 100644 index 000000000..4b88b7b29 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Galician/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nivel de atenuación" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/German/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/German/strings.po new file mode 100644 index 000000000..9578905fb --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/German/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Grad der Abdunklung" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Greek/strings.po new file mode 100644 index 000000000..d0227e133 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Greek/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Επίπεδο σκίασης" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..7ec03c62e --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Hebrew/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "רמת עמעו×" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..fc937524b --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Hungarian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Elsötétítés szintje" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..b001202d4 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Icelandic/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Birtustilling" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Italian/strings.po new file mode 100644 index 000000000..bc7e4c791 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Italian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Livello di oscuramento" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Japanese/strings.po new file mode 100644 index 000000000..59914509c --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Japanese/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Dim レベル" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Korean/strings.po new file mode 100644 index 000000000..7161ccd08 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Korean/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "어둡게 하는 ì •ë„" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..1dc4b1905 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Lithuanian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Pritemdimo lygis" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..1fda180ee --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Macedonian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Ðиво на Ñтемнување" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..3e4fdd283 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Norwegian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Dim nivÃ¥" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Polish/strings.po new file mode 100644 index 000000000..d9d1fcd67 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Polish/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Poziom przyciemnienia" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..382ce033b --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nível de escurecimento" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..fc4880711 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Portuguese/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nível de esvanecimento" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Romanian/strings.po new file mode 100644 index 000000000..e703fa614 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Romanian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nivel întunecare" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Russian/strings.po new file mode 100644 index 000000000..78984595c --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Russian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Уровень затемнениÑ" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Slovak/strings.po new file mode 100644 index 000000000..4e26a2f88 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Slovak/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Úroveň zatemnenia" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..20e8c6f89 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Slovenian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nivo zatemnitve" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..f4b8d3001 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nivel de atenuación" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..e4b9be1dd --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nivel de obscurecimiento" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish/strings.po new file mode 100644 index 000000000..3994b400e --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Spanish/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Nivel de atenuación" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Swedish/strings.po new file mode 100644 index 000000000..b86feb681 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Swedish/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "NedtoningsnivÃ¥" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Thai/strings.po new file mode 100644 index 000000000..c7fc55596 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Thai/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "ระดับà¸à¸²à¸£à¸«à¸£à¸µà¹ˆà¸«à¸™à¹‰à¸²à¸ˆà¸­" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Turkish/strings.po new file mode 100644 index 000000000..8d5206143 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Turkish/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Karatma düzeyi" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..fbdab97a9 --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/language/Ukrainian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Dim +# Addon id: screensaver.xbmc.builtin.dim +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Dim level" +msgstr "Рівень затемненнÑ" diff --git a/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/settings.xml b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/settings.xml new file mode 100644 index 000000000..b6a95cdcb --- /dev/null +++ b/usr/local/share/xbmc/addons/screensaver.xbmc.builtin.dim/resources/settings.xml @@ -0,0 +1,4 @@ + + + + diff --git a/usr/local/share/xbmc/addons/script.module.pil/addon.xml b/usr/local/share/xbmc/addons/script.module.pil/addon.xml new file mode 100644 index 000000000..e49cf896b --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.pil/addon.xml @@ -0,0 +1,14 @@ + + + + + + + + all + + diff --git a/usr/local/share/xbmc/addons/script.module.pysqlite/addon.xml b/usr/local/share/xbmc/addons/script.module.pysqlite/addon.xml new file mode 100644 index 000000000..8b76f6694 --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.pysqlite/addon.xml @@ -0,0 +1,14 @@ + + + + + + + + all + + diff --git a/usr/local/share/xbmc/addons/script.module.pysqlite/lib/pysqlite2/__init__.py b/usr/local/share/xbmc/addons/script.module.pysqlite/lib/pysqlite2/__init__.py new file mode 100644 index 000000000..94d26e669 --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.pysqlite/lib/pysqlite2/__init__.py @@ -0,0 +1,37 @@ + +# if we got here then someone tried to import pysqlite.dbapi2 +# this will only be allowed if the script is greater that version 1.0 + +import warnings +import re + +# Credit gnud on stackoverflow: +# see http://stackoverflow.com/questions/1714027/version-number-comparison/1714190#1714190 +def xbmcVerCmp(version1, version2): + def normalize(v): + return [int(x) for x in re.sub(r'(\.0+)*$','', v).split(".")] + return cmp(normalize(version1), normalize(version2)) + +# Not sure why this might fail but .... +try: + import __main__ + xbmcapiversion = __main__.__xbmcapiversion__ +except: + xbmcapiversion = "1.0" + warnings.warn("For some reason the module '" + str(__name__) + "' couldn't get access to '__main__'. This may prevent certain backward compatility modes from operating correctly.") + +# if the xbmcapiversion is either not set (because trying to get it failed or +# the script was invoked in an odd manner from xbmc) ... +if (xbmcVerCmp(xbmcapiversion,"1.0") <= 0): + # then import sqlite3 in place of dbapi2 + try: + import sqlite3 as dbapi2 + except Exception, e: + warnings.warn("Unable to import sqlite3. This probably means you're on a version of python prior to 2.5 and trying to run an old script.") + raise e + + # ask politely :) + warnings.warn("DeprecationWarning: the pysqlite2 module is deprecated; please change your script to use sqlite3.") +else: + raise DeprecationWarning("You cannot use pysqlite2 while depending on version " + str(xbmcapiversion) + " of the xbmc.python api. Please use sqlite3 instead.") + diff --git a/usr/local/share/xbmc/addons/script.module.simplejson/addon.xml b/usr/local/share/xbmc/addons/script.module.simplejson/addon.xml new file mode 100644 index 000000000..c5709c415 --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.simplejson/addon.xml @@ -0,0 +1,14 @@ + + + + + + + + all + + diff --git a/usr/local/share/xbmc/addons/script.module.simplejson/lib/LICENSE.txt b/usr/local/share/xbmc/addons/script.module.simplejson/lib/LICENSE.txt new file mode 100644 index 000000000..ad95f29c1 --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.simplejson/lib/LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (c) 2006 Bob Ippolito + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/__init__.py b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/__init__.py new file mode 100644 index 000000000..d5b4d3991 --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/__init__.py @@ -0,0 +1,318 @@ +r"""JSON (JavaScript Object Notation) is a subset of +JavaScript syntax (ECMA-262 3rd edition) used as a lightweight data +interchange format. + +:mod:`simplejson` exposes an API familiar to users of the standard library +:mod:`marshal` and :mod:`pickle` modules. It is the externally maintained +version of the :mod:`json` library contained in Python 2.6, but maintains +compatibility with Python 2.4 and Python 2.5 and (currently) has +significant performance advantages, even without using the optional C +extension for speedups. + +Encoding basic Python object hierarchies:: + + >>> import simplejson as json + >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) + '["foo", {"bar": ["baz", null, 1.0, 2]}]' + >>> print json.dumps("\"foo\bar") + "\"foo\bar" + >>> print json.dumps(u'\u1234') + "\u1234" + >>> print json.dumps('\\') + "\\" + >>> print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True) + {"a": 0, "b": 0, "c": 0} + >>> from StringIO import StringIO + >>> io = StringIO() + >>> json.dump(['streaming API'], io) + >>> io.getvalue() + '["streaming API"]' + +Compact encoding:: + + >>> import simplejson as json + >>> json.dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':')) + '[1,2,3,{"4":5,"6":7}]' + +Pretty printing:: + + >>> import simplejson as json + >>> s = json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4) + >>> print '\n'.join([l.rstrip() for l in s.splitlines()]) + { + "4": 5, + "6": 7 + } + +Decoding JSON:: + + >>> import simplejson as json + >>> obj = [u'foo', {u'bar': [u'baz', None, 1.0, 2]}] + >>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') == obj + True + >>> json.loads('"\\"foo\\bar"') == u'"foo\x08ar' + True + >>> from StringIO import StringIO + >>> io = StringIO('["streaming API"]') + >>> json.load(io)[0] == 'streaming API' + True + +Specializing JSON object decoding:: + + >>> import simplejson as json + >>> def as_complex(dct): + ... if '__complex__' in dct: + ... return complex(dct['real'], dct['imag']) + ... return dct + ... + >>> json.loads('{"__complex__": true, "real": 1, "imag": 2}', + ... object_hook=as_complex) + (1+2j) + >>> import decimal + >>> json.loads('1.1', parse_float=decimal.Decimal) == decimal.Decimal('1.1') + True + +Specializing JSON object encoding:: + + >>> import simplejson as json + >>> def encode_complex(obj): + ... if isinstance(obj, complex): + ... return [obj.real, obj.imag] + ... raise TypeError(repr(o) + " is not JSON serializable") + ... + >>> json.dumps(2 + 1j, default=encode_complex) + '[2.0, 1.0]' + >>> json.JSONEncoder(default=encode_complex).encode(2 + 1j) + '[2.0, 1.0]' + >>> ''.join(json.JSONEncoder(default=encode_complex).iterencode(2 + 1j)) + '[2.0, 1.0]' + + +Using simplejson.tool from the shell to validate and pretty-print:: + + $ echo '{"json":"obj"}' | python -m simplejson.tool + { + "json": "obj" + } + $ echo '{ 1.2:3.4}' | python -m simplejson.tool + Expecting property name: line 1 column 2 (char 2) +""" +__version__ = '2.0.9' +__all__ = [ + 'dump', 'dumps', 'load', 'loads', + 'JSONDecoder', 'JSONEncoder', +] + +__author__ = 'Bob Ippolito ' + +from decoder import JSONDecoder +from encoder import JSONEncoder + +_default_encoder = JSONEncoder( + skipkeys=False, + ensure_ascii=True, + check_circular=True, + allow_nan=True, + indent=None, + separators=None, + encoding='utf-8', + default=None, +) + +def dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, + allow_nan=True, cls=None, indent=None, separators=None, + encoding='utf-8', default=None, **kw): + """Serialize ``obj`` as a JSON formatted stream to ``fp`` (a + ``.write()``-supporting file-like object). + + If ``skipkeys`` is true then ``dict`` keys that are not basic types + (``str``, ``unicode``, ``int``, ``long``, ``float``, ``bool``, ``None``) + will be skipped instead of raising a ``TypeError``. + + If ``ensure_ascii`` is false, then the some chunks written to ``fp`` + may be ``unicode`` instances, subject to normal Python ``str`` to + ``unicode`` coercion rules. Unless ``fp.write()`` explicitly + understands ``unicode`` (as in ``codecs.getwriter()``) this is likely + to cause an error. + + If ``check_circular`` is false, then the circular reference check + for container types will be skipped and a circular reference will + result in an ``OverflowError`` (or worse). + + If ``allow_nan`` is false, then it will be a ``ValueError`` to + serialize out of range ``float`` values (``nan``, ``inf``, ``-inf``) + in strict compliance of the JSON specification, instead of using the + JavaScript equivalents (``NaN``, ``Infinity``, ``-Infinity``). + + If ``indent`` is a non-negative integer, then JSON array elements and object + members will be pretty-printed with that indent level. An indent level + of 0 will only insert newlines. ``None`` is the most compact representation. + + If ``separators`` is an ``(item_separator, dict_separator)`` tuple + then it will be used instead of the default ``(', ', ': ')`` separators. + ``(',', ':')`` is the most compact JSON representation. + + ``encoding`` is the character encoding for str instances, default is UTF-8. + + ``default(obj)`` is a function that should return a serializable version + of obj or raise TypeError. The default simply raises TypeError. + + To use a custom ``JSONEncoder`` subclass (e.g. one that overrides the + ``.default()`` method to serialize additional types), specify it with + the ``cls`` kwarg. + + """ + # cached encoder + if (not skipkeys and ensure_ascii and + check_circular and allow_nan and + cls is None and indent is None and separators is None and + encoding == 'utf-8' and default is None and not kw): + iterable = _default_encoder.iterencode(obj) + else: + if cls is None: + cls = JSONEncoder + iterable = cls(skipkeys=skipkeys, ensure_ascii=ensure_ascii, + check_circular=check_circular, allow_nan=allow_nan, indent=indent, + separators=separators, encoding=encoding, + default=default, **kw).iterencode(obj) + # could accelerate with writelines in some versions of Python, at + # a debuggability cost + for chunk in iterable: + fp.write(chunk) + + +def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, + allow_nan=True, cls=None, indent=None, separators=None, + encoding='utf-8', default=None, **kw): + """Serialize ``obj`` to a JSON formatted ``str``. + + If ``skipkeys`` is false then ``dict`` keys that are not basic types + (``str``, ``unicode``, ``int``, ``long``, ``float``, ``bool``, ``None``) + will be skipped instead of raising a ``TypeError``. + + If ``ensure_ascii`` is false, then the return value will be a + ``unicode`` instance subject to normal Python ``str`` to ``unicode`` + coercion rules instead of being escaped to an ASCII ``str``. + + If ``check_circular`` is false, then the circular reference check + for container types will be skipped and a circular reference will + result in an ``OverflowError`` (or worse). + + If ``allow_nan`` is false, then it will be a ``ValueError`` to + serialize out of range ``float`` values (``nan``, ``inf``, ``-inf``) in + strict compliance of the JSON specification, instead of using the + JavaScript equivalents (``NaN``, ``Infinity``, ``-Infinity``). + + If ``indent`` is a non-negative integer, then JSON array elements and + object members will be pretty-printed with that indent level. An indent + level of 0 will only insert newlines. ``None`` is the most compact + representation. + + If ``separators`` is an ``(item_separator, dict_separator)`` tuple + then it will be used instead of the default ``(', ', ': ')`` separators. + ``(',', ':')`` is the most compact JSON representation. + + ``encoding`` is the character encoding for str instances, default is UTF-8. + + ``default(obj)`` is a function that should return a serializable version + of obj or raise TypeError. The default simply raises TypeError. + + To use a custom ``JSONEncoder`` subclass (e.g. one that overrides the + ``.default()`` method to serialize additional types), specify it with + the ``cls`` kwarg. + + """ + # cached encoder + if (not skipkeys and ensure_ascii and + check_circular and allow_nan and + cls is None and indent is None and separators is None and + encoding == 'utf-8' and default is None and not kw): + return _default_encoder.encode(obj) + if cls is None: + cls = JSONEncoder + return cls( + skipkeys=skipkeys, ensure_ascii=ensure_ascii, + check_circular=check_circular, allow_nan=allow_nan, indent=indent, + separators=separators, encoding=encoding, default=default, + **kw).encode(obj) + + +_default_decoder = JSONDecoder(encoding=None, object_hook=None) + + +def load(fp, encoding=None, cls=None, object_hook=None, parse_float=None, + parse_int=None, parse_constant=None, **kw): + """Deserialize ``fp`` (a ``.read()``-supporting file-like object containing + a JSON document) to a Python object. + + If the contents of ``fp`` is encoded with an ASCII based encoding other + than utf-8 (e.g. latin-1), then an appropriate ``encoding`` name must + be specified. Encodings that are not ASCII based (such as UCS-2) are + not allowed, and should be wrapped with + ``codecs.getreader(fp)(encoding)``, or simply decoded to a ``unicode`` + object and passed to ``loads()`` + + ``object_hook`` is an optional function that will be called with the + result of any object literal decode (a ``dict``). The return value of + ``object_hook`` will be used instead of the ``dict``. This feature + can be used to implement custom decoders (e.g. JSON-RPC class hinting). + + To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` + kwarg. + + """ + return loads(fp.read(), + encoding=encoding, cls=cls, object_hook=object_hook, + parse_float=parse_float, parse_int=parse_int, + parse_constant=parse_constant, **kw) + + +def loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, + parse_int=None, parse_constant=None, **kw): + """Deserialize ``s`` (a ``str`` or ``unicode`` instance containing a JSON + document) to a Python object. + + If ``s`` is a ``str`` instance and is encoded with an ASCII based encoding + other than utf-8 (e.g. latin-1) then an appropriate ``encoding`` name + must be specified. Encodings that are not ASCII based (such as UCS-2) + are not allowed and should be decoded to ``unicode`` first. + + ``object_hook`` is an optional function that will be called with the + result of any object literal decode (a ``dict``). The return value of + ``object_hook`` will be used instead of the ``dict``. This feature + can be used to implement custom decoders (e.g. JSON-RPC class hinting). + + ``parse_float``, if specified, will be called with the string + of every JSON float to be decoded. By default this is equivalent to + float(num_str). This can be used to use another datatype or parser + for JSON floats (e.g. decimal.Decimal). + + ``parse_int``, if specified, will be called with the string + of every JSON int to be decoded. By default this is equivalent to + int(num_str). This can be used to use another datatype or parser + for JSON integers (e.g. float). + + ``parse_constant``, if specified, will be called with one of the + following strings: -Infinity, Infinity, NaN, null, true, false. + This can be used to raise an exception if invalid JSON numbers + are encountered. + + To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` + kwarg. + + """ + if (cls is None and encoding is None and object_hook is None and + parse_int is None and parse_float is None and + parse_constant is None and not kw): + return _default_decoder.decode(s) + if cls is None: + cls = JSONDecoder + if object_hook is not None: + kw['object_hook'] = object_hook + if parse_float is not None: + kw['parse_float'] = parse_float + if parse_int is not None: + kw['parse_int'] = parse_int + if parse_constant is not None: + kw['parse_constant'] = parse_constant + return cls(encoding=encoding, **kw).decode(s) diff --git a/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/decoder.py b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/decoder.py new file mode 100644 index 000000000..b769ea486 --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/decoder.py @@ -0,0 +1,354 @@ +"""Implementation of JSONDecoder +""" +import re +import sys +import struct + +from simplejson.scanner import make_scanner +try: + from simplejson._speedups import scanstring as c_scanstring +except ImportError: + c_scanstring = None + +__all__ = ['JSONDecoder'] + +FLAGS = re.VERBOSE | re.MULTILINE | re.DOTALL + +def _floatconstants(): + _BYTES = '7FF80000000000007FF0000000000000'.decode('hex') + if sys.byteorder != 'big': + _BYTES = _BYTES[:8][::-1] + _BYTES[8:][::-1] + nan, inf = struct.unpack('dd', _BYTES) + return nan, inf, -inf + +NaN, PosInf, NegInf = _floatconstants() + + +def linecol(doc, pos): + lineno = doc.count('\n', 0, pos) + 1 + if lineno == 1: + colno = pos + else: + colno = pos - doc.rindex('\n', 0, pos) + return lineno, colno + + +def errmsg(msg, doc, pos, end=None): + # Note that this function is called from _speedups + lineno, colno = linecol(doc, pos) + if end is None: + #fmt = '{0}: line {1} column {2} (char {3})' + #return fmt.format(msg, lineno, colno, pos) + fmt = '%s: line %d column %d (char %d)' + return fmt % (msg, lineno, colno, pos) + endlineno, endcolno = linecol(doc, end) + #fmt = '{0}: line {1} column {2} - line {3} column {4} (char {5} - {6})' + #return fmt.format(msg, lineno, colno, endlineno, endcolno, pos, end) + fmt = '%s: line %d column %d - line %d column %d (char %d - %d)' + return fmt % (msg, lineno, colno, endlineno, endcolno, pos, end) + + +_CONSTANTS = { + '-Infinity': NegInf, + 'Infinity': PosInf, + 'NaN': NaN, +} + +STRINGCHUNK = re.compile(r'(.*?)(["\\\x00-\x1f])', FLAGS) +BACKSLASH = { + '"': u'"', '\\': u'\\', '/': u'/', + 'b': u'\b', 'f': u'\f', 'n': u'\n', 'r': u'\r', 't': u'\t', +} + +DEFAULT_ENCODING = "utf-8" + +def py_scanstring(s, end, encoding=None, strict=True, _b=BACKSLASH, _m=STRINGCHUNK.match): + """Scan the string s for a JSON string. End is the index of the + character in s after the quote that started the JSON string. + Unescapes all valid JSON string escape sequences and raises ValueError + on attempt to decode an invalid string. If strict is False then literal + control characters are allowed in the string. + + Returns a tuple of the decoded string and the index of the character in s + after the end quote.""" + if encoding is None: + encoding = DEFAULT_ENCODING + chunks = [] + _append = chunks.append + begin = end - 1 + while 1: + chunk = _m(s, end) + if chunk is None: + raise ValueError( + errmsg("Unterminated string starting at", s, begin)) + end = chunk.end() + content, terminator = chunk.groups() + # Content is contains zero or more unescaped string characters + if content: + if not isinstance(content, unicode): + content = unicode(content, encoding) + _append(content) + # Terminator is the end of string, a literal control character, + # or a backslash denoting that an escape sequence follows + if terminator == '"': + break + elif terminator != '\\': + if strict: + msg = "Invalid control character %r at" % (terminator,) + #msg = "Invalid control character {0!r} at".format(terminator) + raise ValueError(errmsg(msg, s, end)) + else: + _append(terminator) + continue + try: + esc = s[end] + except IndexError: + raise ValueError( + errmsg("Unterminated string starting at", s, begin)) + # If not a unicode escape sequence, must be in the lookup table + if esc != 'u': + try: + char = _b[esc] + except KeyError: + msg = "Invalid \\escape: " + repr(esc) + raise ValueError(errmsg(msg, s, end)) + end += 1 + else: + # Unicode escape sequence + esc = s[end + 1:end + 5] + next_end = end + 5 + if len(esc) != 4: + msg = "Invalid \\uXXXX escape" + raise ValueError(errmsg(msg, s, end)) + uni = int(esc, 16) + # Check for surrogate pair on UCS-4 systems + if 0xd800 <= uni <= 0xdbff and sys.maxunicode > 65535: + msg = "Invalid \\uXXXX\\uXXXX surrogate pair" + if not s[end + 5:end + 7] == '\\u': + raise ValueError(errmsg(msg, s, end)) + esc2 = s[end + 7:end + 11] + if len(esc2) != 4: + raise ValueError(errmsg(msg, s, end)) + uni2 = int(esc2, 16) + uni = 0x10000 + (((uni - 0xd800) << 10) | (uni2 - 0xdc00)) + next_end += 6 + char = unichr(uni) + end = next_end + # Append the unescaped character + _append(char) + return u''.join(chunks), end + + +# Use speedup if available +scanstring = c_scanstring or py_scanstring + +WHITESPACE = re.compile(r'[ \t\n\r]*', FLAGS) +WHITESPACE_STR = ' \t\n\r' + +def JSONObject((s, end), encoding, strict, scan_once, object_hook, _w=WHITESPACE.match, _ws=WHITESPACE_STR): + pairs = {} + # Use a slice to prevent IndexError from being raised, the following + # check will raise a more specific ValueError if the string is empty + nextchar = s[end:end + 1] + # Normally we expect nextchar == '"' + if nextchar != '"': + if nextchar in _ws: + end = _w(s, end).end() + nextchar = s[end:end + 1] + # Trivial empty object + if nextchar == '}': + return pairs, end + 1 + elif nextchar != '"': + raise ValueError(errmsg("Expecting property name", s, end)) + end += 1 + while True: + key, end = scanstring(s, end, encoding, strict) + + # To skip some function call overhead we optimize the fast paths where + # the JSON key separator is ": " or just ":". + if s[end:end + 1] != ':': + end = _w(s, end).end() + if s[end:end + 1] != ':': + raise ValueError(errmsg("Expecting : delimiter", s, end)) + + end += 1 + + try: + if s[end] in _ws: + end += 1 + if s[end] in _ws: + end = _w(s, end + 1).end() + except IndexError: + pass + + try: + value, end = scan_once(s, end) + except StopIteration: + raise ValueError(errmsg("Expecting object", s, end)) + pairs[key] = value + + try: + nextchar = s[end] + if nextchar in _ws: + end = _w(s, end + 1).end() + nextchar = s[end] + except IndexError: + nextchar = '' + end += 1 + + if nextchar == '}': + break + elif nextchar != ',': + raise ValueError(errmsg("Expecting , delimiter", s, end - 1)) + + try: + nextchar = s[end] + if nextchar in _ws: + end += 1 + nextchar = s[end] + if nextchar in _ws: + end = _w(s, end + 1).end() + nextchar = s[end] + except IndexError: + nextchar = '' + + end += 1 + if nextchar != '"': + raise ValueError(errmsg("Expecting property name", s, end - 1)) + + if object_hook is not None: + pairs = object_hook(pairs) + return pairs, end + +def JSONArray((s, end), scan_once, _w=WHITESPACE.match, _ws=WHITESPACE_STR): + values = [] + nextchar = s[end:end + 1] + if nextchar in _ws: + end = _w(s, end + 1).end() + nextchar = s[end:end + 1] + # Look-ahead for trivial empty array + if nextchar == ']': + return values, end + 1 + _append = values.append + while True: + try: + value, end = scan_once(s, end) + except StopIteration: + raise ValueError(errmsg("Expecting object", s, end)) + _append(value) + nextchar = s[end:end + 1] + if nextchar in _ws: + end = _w(s, end + 1).end() + nextchar = s[end:end + 1] + end += 1 + if nextchar == ']': + break + elif nextchar != ',': + raise ValueError(errmsg("Expecting , delimiter", s, end)) + + try: + if s[end] in _ws: + end += 1 + if s[end] in _ws: + end = _w(s, end + 1).end() + except IndexError: + pass + + return values, end + +class JSONDecoder(object): + """Simple JSON decoder + + Performs the following translations in decoding by default: + + +---------------+-------------------+ + | JSON | Python | + +===============+===================+ + | object | dict | + +---------------+-------------------+ + | array | list | + +---------------+-------------------+ + | string | unicode | + +---------------+-------------------+ + | number (int) | int, long | + +---------------+-------------------+ + | number (real) | float | + +---------------+-------------------+ + | true | True | + +---------------+-------------------+ + | false | False | + +---------------+-------------------+ + | null | None | + +---------------+-------------------+ + + It also understands ``NaN``, ``Infinity``, and ``-Infinity`` as + their corresponding ``float`` values, which is outside the JSON spec. + + """ + + def __init__(self, encoding=None, object_hook=None, parse_float=None, + parse_int=None, parse_constant=None, strict=True): + """``encoding`` determines the encoding used to interpret any ``str`` + objects decoded by this instance (utf-8 by default). It has no + effect when decoding ``unicode`` objects. + + Note that currently only encodings that are a superset of ASCII work, + strings of other encodings should be passed in as ``unicode``. + + ``object_hook``, if specified, will be called with the result + of every JSON object decoded and its return value will be used in + place of the given ``dict``. This can be used to provide custom + deserializations (e.g. to support JSON-RPC class hinting). + + ``parse_float``, if specified, will be called with the string + of every JSON float to be decoded. By default this is equivalent to + float(num_str). This can be used to use another datatype or parser + for JSON floats (e.g. decimal.Decimal). + + ``parse_int``, if specified, will be called with the string + of every JSON int to be decoded. By default this is equivalent to + int(num_str). This can be used to use another datatype or parser + for JSON integers (e.g. float). + + ``parse_constant``, if specified, will be called with one of the + following strings: -Infinity, Infinity, NaN. + This can be used to raise an exception if invalid JSON numbers + are encountered. + + """ + self.encoding = encoding + self.object_hook = object_hook + self.parse_float = parse_float or float + self.parse_int = parse_int or int + self.parse_constant = parse_constant or _CONSTANTS.__getitem__ + self.strict = strict + self.parse_object = JSONObject + self.parse_array = JSONArray + self.parse_string = scanstring + self.scan_once = make_scanner(self) + + def decode(self, s, _w=WHITESPACE.match): + """Return the Python representation of ``s`` (a ``str`` or ``unicode`` + instance containing a JSON document) + + """ + obj, end = self.raw_decode(s, idx=_w(s, 0).end()) + end = _w(s, end).end() + if end != len(s): + raise ValueError(errmsg("Extra data", s, end, len(s))) + return obj + + def raw_decode(self, s, idx=0): + """Decode a JSON document from ``s`` (a ``str`` or ``unicode`` beginning + with a JSON document) and return a 2-tuple of the Python + representation and the index in ``s`` where the document ended. + + This can be used to decode a JSON document from a string that may + have extraneous data at the end. + + """ + try: + obj, end = self.scan_once(s, idx) + except StopIteration: + raise ValueError("No JSON object could be decoded") + return obj, end diff --git a/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/encoder.py b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/encoder.py new file mode 100644 index 000000000..cf5829036 --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/encoder.py @@ -0,0 +1,440 @@ +"""Implementation of JSONEncoder +""" +import re + +try: + from simplejson._speedups import encode_basestring_ascii as c_encode_basestring_ascii +except ImportError: + c_encode_basestring_ascii = None +try: + from simplejson._speedups import make_encoder as c_make_encoder +except ImportError: + c_make_encoder = None + +ESCAPE = re.compile(r'[\x00-\x1f\\"\b\f\n\r\t]') +ESCAPE_ASCII = re.compile(r'([\\"]|[^\ -~])') +HAS_UTF8 = re.compile(r'[\x80-\xff]') +ESCAPE_DCT = { + '\\': '\\\\', + '"': '\\"', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', +} +for i in range(0x20): + #ESCAPE_DCT.setdefault(chr(i), '\\u{0:04x}'.format(i)) + ESCAPE_DCT.setdefault(chr(i), '\\u%04x' % (i,)) + +# Assume this produces an infinity on all machines (probably not guaranteed) +INFINITY = float('1e66666') +FLOAT_REPR = repr + +def encode_basestring(s): + """Return a JSON representation of a Python string + + """ + def replace(match): + return ESCAPE_DCT[match.group(0)] + return '"' + ESCAPE.sub(replace, s) + '"' + + +def py_encode_basestring_ascii(s): + """Return an ASCII-only JSON representation of a Python string + + """ + if isinstance(s, str) and HAS_UTF8.search(s) is not None: + s = s.decode('utf-8') + def replace(match): + s = match.group(0) + try: + return ESCAPE_DCT[s] + except KeyError: + n = ord(s) + if n < 0x10000: + #return '\\u{0:04x}'.format(n) + return '\\u%04x' % (n,) + else: + # surrogate pair + n -= 0x10000 + s1 = 0xd800 | ((n >> 10) & 0x3ff) + s2 = 0xdc00 | (n & 0x3ff) + #return '\\u{0:04x}\\u{1:04x}'.format(s1, s2) + return '\\u%04x\\u%04x' % (s1, s2) + return '"' + str(ESCAPE_ASCII.sub(replace, s)) + '"' + + +encode_basestring_ascii = c_encode_basestring_ascii or py_encode_basestring_ascii + +class JSONEncoder(object): + """Extensible JSON encoder for Python data structures. + + Supports the following objects and types by default: + + +-------------------+---------------+ + | Python | JSON | + +===================+===============+ + | dict | object | + +-------------------+---------------+ + | list, tuple | array | + +-------------------+---------------+ + | str, unicode | string | + +-------------------+---------------+ + | int, long, float | number | + +-------------------+---------------+ + | True | true | + +-------------------+---------------+ + | False | false | + +-------------------+---------------+ + | None | null | + +-------------------+---------------+ + + To extend this to recognize other objects, subclass and implement a + ``.default()`` method with another method that returns a serializable + object for ``o`` if possible, otherwise it should call the superclass + implementation (to raise ``TypeError``). + + """ + item_separator = ', ' + key_separator = ': ' + def __init__(self, skipkeys=False, ensure_ascii=True, + check_circular=True, allow_nan=True, sort_keys=False, + indent=None, separators=None, encoding='utf-8', default=None): + """Constructor for JSONEncoder, with sensible defaults. + + If skipkeys is false, then it is a TypeError to attempt + encoding of keys that are not str, int, long, float or None. If + skipkeys is True, such items are simply skipped. + + If ensure_ascii is true, the output is guaranteed to be str + objects with all incoming unicode characters escaped. If + ensure_ascii is false, the output will be unicode object. + + If check_circular is true, then lists, dicts, and custom encoded + objects will be checked for circular references during encoding to + prevent an infinite recursion (which would cause an OverflowError). + Otherwise, no such check takes place. + + If allow_nan is true, then NaN, Infinity, and -Infinity will be + encoded as such. This behavior is not JSON specification compliant, + but is consistent with most JavaScript based encoders and decoders. + Otherwise, it will be a ValueError to encode such floats. + + If sort_keys is true, then the output of dictionaries will be + sorted by key; this is useful for regression tests to ensure + that JSON serializations can be compared on a day-to-day basis. + + If indent is a non-negative integer, then JSON array + elements and object members will be pretty-printed with that + indent level. An indent level of 0 will only insert newlines. + None is the most compact representation. + + If specified, separators should be a (item_separator, key_separator) + tuple. The default is (', ', ': '). To get the most compact JSON + representation you should specify (',', ':') to eliminate whitespace. + + If specified, default is a function that gets called for objects + that can't otherwise be serialized. It should return a JSON encodable + version of the object or raise a ``TypeError``. + + If encoding is not None, then all input strings will be + transformed into unicode using that encoding prior to JSON-encoding. + The default is UTF-8. + + """ + + self.skipkeys = skipkeys + self.ensure_ascii = ensure_ascii + self.check_circular = check_circular + self.allow_nan = allow_nan + self.sort_keys = sort_keys + self.indent = indent + if separators is not None: + self.item_separator, self.key_separator = separators + if default is not None: + self.default = default + self.encoding = encoding + + def default(self, o): + """Implement this method in a subclass such that it returns + a serializable object for ``o``, or calls the base implementation + (to raise a ``TypeError``). + + For example, to support arbitrary iterators, you could + implement default like this:: + + def default(self, o): + try: + iterable = iter(o) + except TypeError: + pass + else: + return list(iterable) + return JSONEncoder.default(self, o) + + """ + raise TypeError(repr(o) + " is not JSON serializable") + + def encode(self, o): + """Return a JSON string representation of a Python data structure. + + >>> JSONEncoder().encode({"foo": ["bar", "baz"]}) + '{"foo": ["bar", "baz"]}' + + """ + # This is for extremely simple cases and benchmarks. + if isinstance(o, basestring): + if isinstance(o, str): + _encoding = self.encoding + if (_encoding is not None + and not (_encoding == 'utf-8')): + o = o.decode(_encoding) + if self.ensure_ascii: + return encode_basestring_ascii(o) + else: + return encode_basestring(o) + # This doesn't pass the iterator directly to ''.join() because the + # exceptions aren't as detailed. The list call should be roughly + # equivalent to the PySequence_Fast that ''.join() would do. + chunks = self.iterencode(o, _one_shot=True) + if not isinstance(chunks, (list, tuple)): + chunks = list(chunks) + return ''.join(chunks) + + def iterencode(self, o, _one_shot=False): + """Encode the given object and yield each string + representation as available. + + For example:: + + for chunk in JSONEncoder().iterencode(bigobject): + mysocket.write(chunk) + + """ + if self.check_circular: + markers = {} + else: + markers = None + if self.ensure_ascii: + _encoder = encode_basestring_ascii + else: + _encoder = encode_basestring + if self.encoding != 'utf-8': + def _encoder(o, _orig_encoder=_encoder, _encoding=self.encoding): + if isinstance(o, str): + o = o.decode(_encoding) + return _orig_encoder(o) + + def floatstr(o, allow_nan=self.allow_nan, _repr=FLOAT_REPR, _inf=INFINITY, _neginf=-INFINITY): + # Check for specials. Note that this type of test is processor- and/or + # platform-specific, so do tests which don't depend on the internals. + + if o != o: + text = 'NaN' + elif o == _inf: + text = 'Infinity' + elif o == _neginf: + text = '-Infinity' + else: + return _repr(o) + + if not allow_nan: + raise ValueError( + "Out of range float values are not JSON compliant: " + + repr(o)) + + return text + + + if _one_shot and c_make_encoder is not None and not self.indent and not self.sort_keys: + _iterencode = c_make_encoder( + markers, self.default, _encoder, self.indent, + self.key_separator, self.item_separator, self.sort_keys, + self.skipkeys, self.allow_nan) + else: + _iterencode = _make_iterencode( + markers, self.default, _encoder, self.indent, floatstr, + self.key_separator, self.item_separator, self.sort_keys, + self.skipkeys, _one_shot) + return _iterencode(o, 0) + +def _make_iterencode(markers, _default, _encoder, _indent, _floatstr, _key_separator, _item_separator, _sort_keys, _skipkeys, _one_shot, + ## HACK: hand-optimized bytecode; turn globals into locals + False=False, + True=True, + ValueError=ValueError, + basestring=basestring, + dict=dict, + float=float, + id=id, + int=int, + isinstance=isinstance, + list=list, + long=long, + str=str, + tuple=tuple, + ): + + def _iterencode_list(lst, _current_indent_level): + if not lst: + yield '[]' + return + if markers is not None: + markerid = id(lst) + if markerid in markers: + raise ValueError("Circular reference detected") + markers[markerid] = lst + buf = '[' + if _indent is not None: + _current_indent_level += 1 + newline_indent = '\n' + (' ' * (_indent * _current_indent_level)) + separator = _item_separator + newline_indent + buf += newline_indent + else: + newline_indent = None + separator = _item_separator + first = True + for value in lst: + if first: + first = False + else: + buf = separator + if isinstance(value, basestring): + yield buf + _encoder(value) + elif value is None: + yield buf + 'null' + elif value is True: + yield buf + 'true' + elif value is False: + yield buf + 'false' + elif isinstance(value, (int, long)): + yield buf + str(value) + elif isinstance(value, float): + yield buf + _floatstr(value) + else: + yield buf + if isinstance(value, (list, tuple)): + chunks = _iterencode_list(value, _current_indent_level) + elif isinstance(value, dict): + chunks = _iterencode_dict(value, _current_indent_level) + else: + chunks = _iterencode(value, _current_indent_level) + for chunk in chunks: + yield chunk + if newline_indent is not None: + _current_indent_level -= 1 + yield '\n' + (' ' * (_indent * _current_indent_level)) + yield ']' + if markers is not None: + del markers[markerid] + + def _iterencode_dict(dct, _current_indent_level): + if not dct: + yield '{}' + return + if markers is not None: + markerid = id(dct) + if markerid in markers: + raise ValueError("Circular reference detected") + markers[markerid] = dct + yield '{' + if _indent is not None: + _current_indent_level += 1 + newline_indent = '\n' + (' ' * (_indent * _current_indent_level)) + item_separator = _item_separator + newline_indent + yield newline_indent + else: + newline_indent = None + item_separator = _item_separator + first = True + if _sort_keys: + items = dct.items() + items.sort(key=lambda kv: kv[0]) + else: + items = dct.iteritems() + for key, value in items: + if isinstance(key, basestring): + pass + # JavaScript is weakly typed for these, so it makes sense to + # also allow them. Many encoders seem to do something like this. + elif isinstance(key, float): + key = _floatstr(key) + elif key is True: + key = 'true' + elif key is False: + key = 'false' + elif key is None: + key = 'null' + elif isinstance(key, (int, long)): + key = str(key) + elif _skipkeys: + continue + else: + raise TypeError("key " + repr(key) + " is not a string") + if first: + first = False + else: + yield item_separator + yield _encoder(key) + yield _key_separator + if isinstance(value, basestring): + yield _encoder(value) + elif value is None: + yield 'null' + elif value is True: + yield 'true' + elif value is False: + yield 'false' + elif isinstance(value, (int, long)): + yield str(value) + elif isinstance(value, float): + yield _floatstr(value) + else: + if isinstance(value, (list, tuple)): + chunks = _iterencode_list(value, _current_indent_level) + elif isinstance(value, dict): + chunks = _iterencode_dict(value, _current_indent_level) + else: + chunks = _iterencode(value, _current_indent_level) + for chunk in chunks: + yield chunk + if newline_indent is not None: + _current_indent_level -= 1 + yield '\n' + (' ' * (_indent * _current_indent_level)) + yield '}' + if markers is not None: + del markers[markerid] + + def _iterencode(o, _current_indent_level): + if isinstance(o, basestring): + yield _encoder(o) + elif o is None: + yield 'null' + elif o is True: + yield 'true' + elif o is False: + yield 'false' + elif isinstance(o, (int, long)): + yield str(o) + elif isinstance(o, float): + yield _floatstr(o) + elif isinstance(o, (list, tuple)): + for chunk in _iterencode_list(o, _current_indent_level): + yield chunk + elif isinstance(o, dict): + for chunk in _iterencode_dict(o, _current_indent_level): + yield chunk + else: + if markers is not None: + markerid = id(o) + if markerid in markers: + raise ValueError("Circular reference detected") + markers[markerid] = o + o = _default(o) + for chunk in _iterencode(o, _current_indent_level): + yield chunk + if markers is not None: + del markers[markerid] + + return _iterencode diff --git a/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/scanner.py b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/scanner.py new file mode 100644 index 000000000..adbc6ec97 --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/scanner.py @@ -0,0 +1,65 @@ +"""JSON token scanner +""" +import re +try: + from simplejson._speedups import make_scanner as c_make_scanner +except ImportError: + c_make_scanner = None + +__all__ = ['make_scanner'] + +NUMBER_RE = re.compile( + r'(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?', + (re.VERBOSE | re.MULTILINE | re.DOTALL)) + +def py_make_scanner(context): + parse_object = context.parse_object + parse_array = context.parse_array + parse_string = context.parse_string + match_number = NUMBER_RE.match + encoding = context.encoding + strict = context.strict + parse_float = context.parse_float + parse_int = context.parse_int + parse_constant = context.parse_constant + object_hook = context.object_hook + + def _scan_once(string, idx): + try: + nextchar = string[idx] + except IndexError: + raise StopIteration + + if nextchar == '"': + return parse_string(string, idx + 1, encoding, strict) + elif nextchar == '{': + return parse_object((string, idx + 1), encoding, strict, _scan_once, object_hook) + elif nextchar == '[': + return parse_array((string, idx + 1), _scan_once) + elif nextchar == 'n' and string[idx:idx + 4] == 'null': + return None, idx + 4 + elif nextchar == 't' and string[idx:idx + 4] == 'true': + return True, idx + 4 + elif nextchar == 'f' and string[idx:idx + 5] == 'false': + return False, idx + 5 + + m = match_number(string, idx) + if m is not None: + integer, frac, exp = m.groups() + if frac or exp: + res = parse_float(integer + (frac or '') + (exp or '')) + else: + res = parse_int(integer) + return res, m.end() + elif nextchar == 'N' and string[idx:idx + 3] == 'NaN': + return parse_constant('NaN'), idx + 3 + elif nextchar == 'I' and string[idx:idx + 8] == 'Infinity': + return parse_constant('Infinity'), idx + 8 + elif nextchar == '-' and string[idx:idx + 9] == '-Infinity': + return parse_constant('-Infinity'), idx + 9 + else: + raise StopIteration + + return _scan_once + +make_scanner = c_make_scanner or py_make_scanner diff --git a/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/tool.py b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/tool.py new file mode 100644 index 000000000..90443317b --- /dev/null +++ b/usr/local/share/xbmc/addons/script.module.simplejson/lib/simplejson/tool.py @@ -0,0 +1,37 @@ +r"""Command-line tool to validate and pretty-print JSON + +Usage:: + + $ echo '{"json":"obj"}' | python -m simplejson.tool + { + "json": "obj" + } + $ echo '{ 1.2:3.4}' | python -m simplejson.tool + Expecting property name: line 1 column 2 (char 2) + +""" +import sys +import simplejson + +def main(): + if len(sys.argv) == 1: + infile = sys.stdin + outfile = sys.stdout + elif len(sys.argv) == 2: + infile = open(sys.argv[1], 'rb') + outfile = sys.stdout + elif len(sys.argv) == 3: + infile = open(sys.argv[1], 'rb') + outfile = open(sys.argv[2], 'wb') + else: + raise SystemExit(sys.argv[0] + " [infile [outfile]]") + try: + obj = simplejson.load(infile) + except ValueError, e: + raise SystemExit(e) + simplejson.dump(obj, outfile, sort_keys=True, indent=4) + outfile.write('\n') + + +if __name__ == '__main__': + main() diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/AddonBrowser.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/AddonBrowser.xml new file mode 100644 index 000000000..1baf7337c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/AddonBrowser.xml @@ -0,0 +1,126 @@ + + 50 + no + ActivateWindow(1112) + 50,51,550,551 + + CommonBackground + ContentPanelBackgrounds + + Window_OpenClose_Animation + CommonRootView + FullWidthList + AddonInfoListView1 + AddonInfoThumbView1 + + CommonPageCount + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + ScrollOffsetLabel + + Section header image + 20 + 3 + 35 + 35 + keep + icon_addons.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 50 + 0 + + 250 + 35 + font12 + + blue + center + center + + + View As button + 235 + ButtonCommonValues + + + + Sort by button + ButtonCommonValues + + + + Sort asc + ButtonCommonValues + button-focus.png + - + + 31050 + Container.SortDirection(Ascending) + + + 250 + 35 + font12 + + blue + center + center + + + Enable auto-updates + 0 + 130 + ButtonCommonValues + + + + No notifications + 0 + 170 + ButtonCommonValues + + + + Hide foreign + 0 + 210 + ButtonCommonValues + + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAddonInfo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAddonInfo.xml new file mode 100644 index 000000000..66a56d755 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAddonInfo.xml @@ -0,0 +1,439 @@ + + 9000 + + 1 + 185 + 60 + !IsEmpty(ListItem.Property(Addon.broken)) + + dialogeffect + + + VisibleFadeEffect + !Window.isVisible(AddonSettings) + !Window.IsActive(TextViewer) + + background image + 0 + 0 + 920 + 600 + DialogBack.png + + + Dialog Header image + 40 + 16 + 840 + 40 + dialogheader.png + + + header label + 40 + 20 + 840 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 830 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 3 + 3 + 3 + 3 + system.getbool(input.enablemouse) + + + 30 + 70 + 220 + 220 + keep + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + Addon Title value + 280 + 80 + 580 + 30 + left + center + font13 + + white + true + + + 270 + 130 + + Type txt + 150 + 0 + 140 + 25 + + right + center + font13 + blue + + + Type Value + 160 + 0 + 440 + 25 + + left + center + font13 + true + + + Author txt + 150 + 30 + 140 + 25 + + right + center + font13 + blue + + + Author Value + 160 + 30 + 440 + 25 + + left + center + font13 + true + + + Version txt + 150 + 60 + 140 + 25 + + right + center + font13 + blue + + + Version Value + 160 + 60 + 440 + 25 + + left + center + font13 + true + + + Rating txt + 150 + 90 + 140 + 25 + + right + center + font13 + blue + + + Rating value + 155 + 90 + 160 + 32 + keep + $INFO[ListItem.Property(Addon.StarRating),LeftRating/] + + + Summary txt + 150 + 120 + 140 + 25 + + right + center + font13 + blue + + + Summary Value + 160 + 120 + 440 + 25 + + left + center + font13 + false + 2000 + + + 0 + 160 + 600 + 4 + separator.png + + + Description txt + 0 + 170 + 300 + 25 + + left + center + font13 + blue + + + !IsEmpty(ListItem.Property(Addon.Disclaimer)) + + Description Page Count + 610 + 170 + 300 + 25 + + right + center + font12 + grey + + + Description + 10 + 195 + 600 + 160 + font12 + justify + white + + 60 + + + 610 + 190 + 25 + 175 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 9000 + 61 + false + vertical + + + Disclaimer txt + 0 + 370 + 600 + 25 + + left + center + font13 + orange + + + Disclaimer + 10 + 395 + 600 + 40 + font12 + justify + white + + true + + + + IsEmpty(ListItem.Property(Addon.Disclaimer)) + + Description Page Count + 610 + 170 + 300 + 25 + + right + center + font12 + grey + + + Description + 10 + 195 + 600 + 250 + font12 + justify + white + + 61 + + + 610 + 190 + 25 + 250 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 60 + 9000 + false + vertical + + + + + 30 + 310 + 220 + 270 + 60 + 60 + 9000 + 9000 + 2 + + Configure Addon + 220 + 43 + + center + font12_title + + + Update Addon button + 220 + 43 + + center + font12_title + + + Install/UnInstall Addon button + 220 + 43 + + center + font12_title + + + Enable/Disable Addon button + 220 + 43 + + center + font12_title + + + Rollback button + 220 + 43 + + center + font12_title + + + Changelog button + 220 + 43 + + center + font12_title + + + + !IsEmpty(ListItem.Property(Addon.broken)) + 0 + 600 + + background image + 0 + 0 + 920 + 100 + OverlayDialogBackground.png + + + Icon image + 20 + 20 + 60 + 60 + DefaultIconError.png + + + header label + 100 + 15 + 800 + 25 + font12_title + + left + center + selected + black + + + Reason label + 100 + 35 + 800 + 50 + font13 + + left + white + black + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAddonSettings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAddonSettings.xml new file mode 100644 index 000000000..db60d7844 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAddonSettings.xml @@ -0,0 +1,236 @@ + + 9 + + 1 + 240 + 60 + + dialogeffect + + + background image + 0 + 0 + 800 + 600 + DialogBack.png + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + + background image + 0 + 0 + 800 + 600 + DialogBack2.png + Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation) + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 3 + 3 + 3 + 3 + system.getbool(input.enablemouse) + + + button area + 45 + 70 + 710 + 40 + 5 + center + horizontal + 9 + 9 + 2 + 2 + + + Has Previous + 25 + 80 + 20 + 20 + scroll-left-focus.png + Container(9).HasPrevious + + + Has Next + 755 + 80 + 20 + 20 + scroll-right-focus.png + Container(9).HasNext + + + control area + 40 + 120 + 720 + 380 + 5 + 30 + 9 + 9001 + 2 + 30 + + + 765 + 120 + 25 + 380 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 2 + 9 + false + vertical + + + 535 + 90 + + OK Button + 0 + 0 + 200 + 40 + center + center + font12_title + + 12 + 11 + 2 + 9 + + + Cancel Button + 210 + 0 + 200 + 40 + center + center + font12_title + + 10 + 12 + 2 + 9 + + + Defaults Button + 420 + 0 + 200 + 40 + center + center + font12_title + + 11 + 10 + 2 + 9 + + + + + Default Category Button + 40 + 173 + center + center + font12_title + white + false + + + Default Button + 40 + font13 + grey2 + white + button-focus2.png + + + Default RadioButton + 40 + font13 + grey2 + white + button-focus2.png + + + Default spincontrolex + 40 + grey2 + white + button-nofocus.png + button-focus2.png + font13 + center + yes + + + 35 + font13_title + + blue + black + left + center + + + Default Seperator + 2 + separator2.png + + + Default Slider + 40 + font13 + grey2 + white + button-focus2.png + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAlbumInfo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAlbumInfo.xml new file mode 100644 index 000000000..888b01a3a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogAlbumInfo.xml @@ -0,0 +1,664 @@ + + 5 + no + + + !Window.IsVisible(FileBrowser) + WindowOpen + WindowClose + + 180 + 0 + 1100 + 720 + MediaBladeSub.png + + + Close Window button + 230 + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 9000 + 9000 + 9000 + 9000 + system.getbool(input.enablemouse) + + + WindowOpen + WindowClose + + Album header label + 210 + 50 + 1030 + 30 + font24_title + + center + center + white + black + container.content(Albums) + + + Artist header label + 210 + 50 + 1030 + 30 + font24_title + + center + center + white + black + container.content(Artists) + + + Control.HasFocus(12) + 90 + 387 + VisibleFadeEffect + + Current Fanart image + 0 + 0 + 675 + 380 + $INFO[ListItem.Art(fanart)] + button-nofocus.png + 4 + keep + !IsEmpty(Listitem.Property(Fanart_Image)) + + + IsEmpty(Listitem.Property(Fanart_Image)) + + No Fanart Back + 0 + 0 + 675 + 380 + Fanart_Fallback_Music_Small.jpg + button-nofocus.png + 4 + stretch + 88FFFFFF + + + 0 + 0 + 675 + 380 + font30_title + white + black + center + center + + + + + + container.content(Albums) + !Control.HasFocus(12) + 90 + 210 + VisibleFadeEffect + + 0 + 0 + 380 + 360 + keep + button-nofocus.png + 4 + $INFO[ListItem.Icon] + + + 390 + 20 + 640 + 330 + 49 + 49 + 9000 + 61 + - + 200 + + + 140 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 150 + 0 + 500 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + 0 + 0 + 640 + 30 + Control.HasFocus(49) + MenuItemFO.png + VisibleFadeEffect + + + 140 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 150 + 0 + 500 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + + $INFO[ListItem.Artist] + - + !IsEmpty(ListItem.Artist) + + + + $INFO[ListItem.Genre] + - + !IsEmpty(ListItem.Genre) + + + + $INFO[ListItem.Rating] + - + !IsEmpty(ListItem.Rating) + + + + $INFO[ListItem.Property(Album_Mood)] + - + !IsEmpty(ListItem.Property(Album_Mood)) + + + + $INFO[ListItem.Property(Album_Style)] + - + !IsEmpty(ListItem.Property(Album_Style)) + + + + $INFO[ListItem.Property(Album_Theme)] + - + !IsEmpty(ListItem.Property(Album_Theme)) + + + + $INFO[ListItem.Property(Album_Type)] + - + !IsEmpty(ListItem.Property(Album_Type)) + + + + $INFO[ListItem.Property(Album_Label)] + - + !IsEmpty(ListItem.Property(Album_Label)) + + + + $INFO[ListItem.Year] + - + !IsEmpty(ListItem.Year) + + + + + 390 + 370 + 640 + 4 + stretch + separator.png + + + + container.content(Artists) + !Control.HasFocus(12) + 90 + 210 + VisibleFadeEffect + + 0 + 0 + 380 + 360 + keep + button-nofocus.png + 4 + $INFO[ListItem.Icon] + + + 390 + 20 + 640 + 330 + 49 + 49 + 9000 + 61 + - + 200 + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 465 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + 0 + 0 + 640 + 30 + Control.HasFocus(49) + MenuItemFO.png + VisibleFadeEffect + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 465 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + + $INFO[ListItem.Property(Artist_Born)] + - + !IsEmpty(ListItem.Property(Artist_Born)) + + + + $INFO[ListItem.Property(Artist_Formed)] + - + !IsEmpty(ListItem.Property(Artist_Formed)) + + + + $INFO[ListItem.Genre] + - + !IsEmpty(ListItem.Genre) + + + + $INFO[ListItem.Property(Artist_Mood)] + - + !IsEmpty(ListItem.Property(Artist_Mood)) + + + + $INFO[ListItem.Property(Artist_Style)] + - + !IsEmpty(ListItem.Property(Artist_Style)) + + + + $INFO[ListItem.Property(Artist_Instrument)] + - + !IsEmpty(ListItem.Property(Artist_Instrument)) + + + + $INFO[ListItem.Property(Artist_Died)] + - + !IsEmpty(ListItem.Property(Artist_Died)) + + + + $INFO[ListItem.Property(Artist_Disbanded)] + - + !IsEmpty(ListItem.Property(Artist_Disbanded)) + + + + $INFO[ListItem.Property(Artist_YearsActive)] + - + !IsEmpty(ListItem.Property(Artist_YearsActive)) + + + + + 390 + 370 + 640 + 4 + stretch + separator.png + + + + 130r + 480 + 400 + 30 + font13_title + grey2 + black + true + right + center + + Control.IsVisible(4) + + + 130r + 480 + 400 + 30 + font13_title + grey2 + black + true + right + center + + Control.IsVisible(50) + Container.Content(Albums) + + + 130r + 480 + 400 + 30 + font13_title + grey2 + black + true + right + center + + Control.IsVisible(50) + Container.Content(Artists) + + + Next page button + 120r + 485 + page + - + 61 + 61 + 9000 + 49 + - + true + + + Description + 210 + 515 + 1030 + 120 + font12 + justify + white + 61 + !Control.HasFocus(61) + Skin.HasSetting(AutoScroll) + !Control.IsVisible(50) + + + Actor image + 210 + 480 + 160 + 160 + $INFO[Container(50).Listitem.Icon] + keep + Control.IsVisible(50) + + + 380 + 520 + 860 + 120 + 9000 + 61 + 61 + 9000 + list + 61 + 200 + vertical + + + 0 + 0 + 430 + 40 + button-nofocus.png + + + 10 + 0 + 410 + 40 + font12 + left + center + selected + + + + 420 + 0 + 200 + 40 + font12 + right + center + selected + + + + + + 0 + 0 + 430 + 40 + !Control.HasFocus(50) + button-nofocus.png + + + 0 + 0 + 430 + 40 + Control.HasFocus(50) + button-focus2.png + + + 10 + 0 + 410 + 40 + font12 + left + center + selected + + + + 420 + 0 + 200 + 40 + font12 + right + center + selected + + + + + + 0 + 0 + 430 + 40 + button-nofocus.png + + + 10 + 0 + 410 + 40 + font12 + left + center + selected + + + + + + 0 + 0 + 430 + 40 + !Control.HasFocus(50) + button-nofocus.png + + + 0 + 0 + 430 + 40 + Control.HasFocus(50) + button-focus2.png + + + 10 + 0 + 410 + 40 + font12 + left + center + selected + + + + + + 210 + 660 + 1030 + 40 + 2 + center + horizontal + 9000 + 9000 + 50 + 49 + + Cast/Review + ButtonInfoDialogsCommonValues + + + + Refresh + ButtonInfoDialogsCommonValues + + + + Get Thumb + ButtonInfoDialogsCommonValues + + + + Get Fanart + ButtonInfoDialogsCommonValues + + + + + + Clock + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogBusy.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogBusy.xml new file mode 100644 index 000000000..8d010eb4d --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogBusy.xml @@ -0,0 +1,51 @@ + + WindowOpen + WindowClose + + 1 + 0 + 0 + + + + 1070 + 640 + + background image + 0 + 0 + 200 + 70 + OverlayDialogBackground.png + + + Busy animation + 20 + 20 + 32 + 32 + busy.png + keep + conditional + + + Busy label + 60 + 20 + 120 + 32 + left + center + + font12 + + + Progressbar + 20 + 53 + 160 + 8 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogButtonMenu.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogButtonMenu.xml new file mode 100644 index 000000000..ac30c2add --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogButtonMenu.xml @@ -0,0 +1,290 @@ + + 9001 + dialogeffect + + 1 + 0 + 0 + + + + Make sure we hit the first button in the group list and not the close window button + -16 + -16 + 4 + 4 + + - + down + - + - + 9000 + 9000 + 9000 + 2 + + + 0 + 0 + 1280 + 720 + black-back.png + + + 470 + 0 + 340 + 720 + 9000 + 9000 + 9000 + 9000 + 0 + center + + 340 + 30 + + background top image + 0 + 0 + 340 + 30 + DialogContextTop.png + + + Close Window button + 260 + 5 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 13 + 13 + 2 + system.getbool(input.enablemouse) + + + + Exit button + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.Quit() + no + font13 + + System.ShowExitButton + + + Shutdown button + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.Powerdown() + System.CanPowerDown + no + font13 + + + + Custom Shutdown Timer + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.AlarmClock(shutdowntimer,XBMC.Shutdown()) + no + font13 + + !System.HasAlarm(shutdowntimer) + System.CanPowerDown | System.CanSuspend | System.CanHibernate + + + Cancel Shutdown Timer + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.CancelAlarm(shutdowntimer) + no + font13 + + System.HasAlarm(shutdowntimer) + + + Suspend button + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.Suspend() + System.CanSuspend + no + font13 + + + + Hibernate button + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.Hibernate() + System.CanHibernate + no + font13 + + + + Reboot button + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.Reset() + System.CanReboot + no + font13 + + + + Logoff button + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + dialog.close(all,true) + System.LogOff + no + font13 + + System.HasLoginScreen | IntegerGreaterThan(System.ProfileCount,1) + System.Loggedon + + + Master mode button + 340 + 40 + + 20045 + center + center + 290 + grey2 + white + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + !System.IsMaster + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + xbmc.mastermode + no + font13 + System.HasLocks + + + 340 + 70 + System.HasAlarm(shutdowntimer) + + background top image + 0 + 0 + 340 + 70 + DialogContextMiddle.png + + + 25 + 20 + 290 + 50 + font12 + white + black + center + + + + + Inhibit idle shutdown + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.InhibitIdleShutdown(true) + no + font13 + + System.HasShutdown +!System.IsInhibit + + + Allow idle shutdown + 340 + 40 + grey2 + white + center + 290 + ShutdownButtonFocus.png + ShutdownButtonNoFocus.png + XBMC.InhibitIdleShutdown(false) + no + font13 + + System.HasShutdown + System.IsInhibit + + + background bottom image + 0 + 340 + 25 + DialogContextBottom.png + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogContentSettings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogContentSettings.xml new file mode 100644 index 000000000..0399a1e67 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogContentSettings.xml @@ -0,0 +1,339 @@ + + 3 + + 1 + 240 + 20 + + dialogeffect + + + Conditional + + background image + 0 + 0 + 800 + 680 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + Content Picker Header + 30 + 60 + 320 + 40 + font12 + + center + center + blue + black + + + Content Picker + 30 + 100 + 320 + 40 + button-focus.png + button-nofocus.png + - + + yes + 28 + 5 + 60 + 4 + + + Content Picker label + 35 + 100 + 280 + 40 + font13_title + + left + center + white + black + + + Used Scraper Header + 30 + 150 + 320 + 20 + font12 + + center + center + blue + black + + + Used Scraper Image + 30 + 175 + 320 + 130 + keep + $INFO[ListItem.Icon] + + + Used Scaper Label + 30 + 315 + 320 + 30 + font13 + + center + center + selected + black + + + 370 + 60 + 5 + 280 + stretch + separator_vertical.png + + + Scraper List Header + 400 + 60 + 360 + 40 + font12 + + center + center + blue + black + + + 400 + 100 + 360 + 241 + 4 + 3 + 60 + 4 + 60 + 200 + + + 0 + 0 + 360 + 40 + button-nofocus.png + + + 5 + 5 + 35 + 30 + $INFO[Listitem.Icon] + + + 50 + 0 + 290 + 40 + font13 + left + center + grey2 + selected + ListItem.Label + + + + + 0 + 0 + 360 + 40 + !Control.HasFocus(4) + button-nofocus.png + + + 0 + 0 + 360 + 40 + Control.HasFocus(4) + button-focus2.png + + + 5 + 5 + 35 + 30 + $INFO[Listitem.Icon] + + + 50 + 0 + 290 + 40 + font13 + left + center + white + selected + ListItem.Label + + + + + 760 + 100 + 25 + 240 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 4 + 3 + true + vertical + + + Scanning Options Header + 30 + 350 + 740 + 20 + font12 + + center + center + blue + black + + + control area + 30 + 380 + 740 + 220 + 4 + 3 + 28 + 5 + 5 + + + Default Button + 0 + 0 + 40 + font13 + button-focus2.png + + + Default RadioButton + 0 + 0 + 40 + font13 + button-focus2.png + + + 615 + + OK Button + 300 + 0 + 200 + 40 + center + center + font12_title + + 6 + 29 + 30 + 3 + + + Cancel Button + 510 + 0 + 200 + 40 + center + center + font12_title + + 28 + 6 + 30 + 3 + + + Settings Button + 90 + 0 + 200 + 40 + center + center + font12_title + + 29 + 28 + 30 + 3 + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogContextMenu.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogContextMenu.xml new file mode 100644 index 000000000..b9c9a756a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogContextMenu.xml @@ -0,0 +1,56 @@ + + 1000 + dialogeffect + + 1 + 0 + 0 + + + + background image + 0 + 0 + 340 + 720 + DialogBack.png + + + grouplist for context buttons + 20 + 30 + 300 + auto + 2 + + + Close Window button + 260 + 5 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 2 + 2 + 2 + system.getbool(input.enablemouse) + + + button template + - + - + 300 + 38 + fontContextMenu + center + grey2 + white + button-focus.png + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogExtendedProgressBar.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogExtendedProgressBar.xml new file mode 100644 index 000000000..60e21ac35 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogExtendedProgressBar.xml @@ -0,0 +1,47 @@ + + + WindowOpen + WindowClose + + + 720 + 0 + conditional + + 0 + -10 + 400 + 70 + InfoMessagePanel.png + + + Header Label + 15 + 4 + 370 + 18 + font10_title + selected + left + center + + + Title Label + 15 + 20 + 370 + 20 + font10 + left + center + + + progress control + 15 + 42 + 370 + 8 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogFavourites.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogFavourites.xml new file mode 100644 index 000000000..95e353e6c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogFavourites.xml @@ -0,0 +1,122 @@ + + 450 + + 1 + 0 + 0 + + + + WindowOpen + WindowClose + + 400r + 0 + 400 + 720 + HomeBladeSub.png + + + Close Window button + 380r + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 450 + 450 + 450 + 450 + system.getbool(input.enablemouse) + + + 370r + 30 + 200 + 200 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + 390r + 250 + 450 + 380 + 450 + Dialog.Close(Favourites) + 450 + 450 + - + 200 + + + 0 + 0 + 370 + 40 + button-nofocus.png + + + 10 + 0 + 350 + 40 + font12_title + left + center + selected + ListItem.Label + + + + + 0 + 0 + 370 + 40 + !Control.HasFocus(450) + button-nofocus.png + + + 0 + 0 + 370 + 40 + Control.HasFocus(450) + button-focus.png + + + 10 + 0 + 350 + 40 + font12_title + left + center + selected + ListItem.Label + + + + + Page label + 30r + 670 + 350 + 30 + right + center + font12 + grey + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogFileStacking.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogFileStacking.xml new file mode 100644 index 000000000..242d746ed --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogFileStacking.xml @@ -0,0 +1,117 @@ + + 450 + dialogeffect + + 1 + 315 + 260 + + + + 0 + 0 + 650 + 200 + OverlayDialogBackground.png + + + Close Window button + 560 + 5 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 13 + 13 + 13 + 13 + system.getbool(input.enablemouse) + + + heading label + 40 + 18 + 570 + 30 + center + center + font13 + + white + + + 40 + 60 + 570 + 30 + center + center + font12 + + grey2 + + + 50 + 110 + 20 + 25 + scroll-left-focus.png + Container(450).HasPrevious + + + 575 + 110 + 20 + 25 + scroll-right-focus.png + Container(450).HasNext + + + 85 + 105 + 480 + 100 + 450 + 450 + 450 + 450 + horizontal + 2 + list + 200 + + + 0 + 0 + 38 + 32 + stretch + StackNF.png + + + + + 0 + 0 + 38 + 32 + stretch + StackFO.png + + + + + 40 + 155 + 570 + 22 + font13_title + center + Container(450).ListItem.Label + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogGamepad.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogGamepad.xml new file mode 100644 index 000000000..ca8d30da2 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogGamepad.xml @@ -0,0 +1,89 @@ + + 1 + + 1 + 335 + 235 + + dialogeffect + + + 0 + 0 + 610 + 230 + DialogBack.png + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + header label + 40 + 20 + 530 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 520 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + dialog line 1 + 30 + 70 + 550 + 30 + left + center + + font13 + + + dialog line 2 + 30 + 95 + 550 + 30 + left + center + + font13 + + + dialog line 3 + 30 + 130 + 550 + 30 + left + center + + font35_title + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaiToast.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaiToast.xml new file mode 100644 index 000000000..764adce8a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaiToast.xml @@ -0,0 +1,86 @@ + + WindowOpen + WindowClose + + 860 + 640 + + + + conditional + + 0 + 0 + 400 + 70 + EEFFFFFF + OverlayDialogBackground.png + + + avatar + 20 + 10 + 50 + 50 + keep + DefaultFile.png + + + Line 1 Label + 75 + 15 + 310 + 18 + font12_title + white + left + center + false + 2000 + + + Line 2 Label + 75 + 35 + 310 + 20 + font12_title + grey2 + left + center + false + 2000 + + + avatar + 20 + 10 + 50 + 50 + keep + false + DefaultIconInfo.png + + + avatar + 20 + 10 + 50 + 50 + keep + false + DefaultIconWarning.png + + + avatar + 20 + 10 + 50 + 50 + keep + false + DefaultIconError.png + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaraokeSongSelector.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaraokeSongSelector.xml new file mode 100644 index 000000000..883a40917 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaraokeSongSelector.xml @@ -0,0 +1,39 @@ + + WindowOpen + WindowClose + + + 100 + 0 + + 0 + -10 + 370 + 70 + InfoMessagePanel.png + + + Song Number Label + 15 + 2 + 340 + 25 + font13_title + selected + left + center + + + Song Name Label + 15 + 27 + 340 + 20 + font13 + blue + left + center + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml new file mode 100644 index 000000000..2b985b22a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKaraokeSongSelectorLarge.xml @@ -0,0 +1,80 @@ + + dialogeffect + + 1 + 415 + 275 + + + + + 0 + 0 + 450 + 170 + DialogBack.png + + + Dialog Header image + 40 + 16 + 370 + 40 + dialogheader.png + + + header label + 40 + 20 + 370 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 360 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + Song Number Label + 30 + 70 + 390 + 30 + font28_title + white + center + center + + + Song Name Label + 30 + 120 + 390 + 20 + font24 + center + center + blue + true + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKeyboard.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKeyboard.xml new file mode 100644 index 000000000..07d87be2c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogKeyboard.xml @@ -0,0 +1,872 @@ + + 300 + dialogeffect + + 2 + 255 + 145 + + + + VisibleFadeEffect + !Window.IsVisible(numericinput) + + 0 + 0 + 760 + 430 + DialogBack.png + + + Dialog Header image + 40 + 16 + 680 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + center + center + selected + black + + + Close Window button + 670 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 3 + 3 + 3 + 3 + system.getbool(input.enablemouse) + + + 50 + 60 + 660 + 50 + stretch + KeyboardEditArea.png + + + Edit Text + 55 + 60 + 650 + 50 + font13 + center + center + + + 130 + 110 + 500 + 30 + stretch + DialogHeader.png + + + 30 + 140 + + DONE button + 0 + 0 + 200 + 50 + + 57 + 48 + 307 + 302 + KeyboardCornerTopNF.png + KeyboardCornerTop.png + center + center + font13 + black + + + '0' button + 200 + 0 + 50 + 50 + 300 + 49 + 32 + 65 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '1' button + 250 + 0 + 50 + 50 + 48 + 50 + 32 + 66 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '2' button + 300 + 0 + 50 + 50 + 49 + 51 + 32 + 67 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '3' button + 350 + 0 + 50 + 50 + 50 + 52 + 32 + 68 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '4' button + 400 + 0 + 50 + 50 + 51 + 53 + 32 + 69 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '5' button + 450 + 0 + 50 + 50 + 52 + 54 + 32 + 70 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '6' button + 500 + 0 + 50 + 50 + 53 + 55 + 305 + 71 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '7' button + 550 + 0 + 50 + 50 + 54 + 56 + 305 + 72 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '8' button + 600 + 0 + 50 + 50 + 55 + 57 + 306 + 73 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + '9' button + 650 + 0 + 50 + 50 + 56 + 300 + 306 + 74 + KeyboardCornerTopNF.png + KeyboardCornerTop.png + center + center + font13 + black + + + SHIFT button + 0 + 50 + 200 + 50 + + 74 + 65 + 300 + 303 + KeyboardKeyNF.png + KeyboardKey.png + 5 + 20 + 20 + center + center + font13 + black + + + 'A' button + 200 + 50 + 50 + 50 + 302 + 66 + 48 + 75 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'B' button + 250 + 50 + 50 + 50 + 65 + 67 + 49 + 76 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'C' button + 300 + 50 + 50 + 50 + 66 + 68 + 50 + 77 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'D' button + 350 + 50 + 50 + 50 + 67 + 69 + 51 + 78 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'E' button + 400 + 50 + 50 + 50 + 68 + 70 + 52 + 79 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'F' button + 450 + 50 + 50 + 50 + 69 + 71 + 53 + 80 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'G' button + 500 + 50 + 50 + 50 + 70 + 72 + 54 + 81 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'H' button + 550 + 50 + 50 + 50 + 71 + 73 + 55 + 82 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'I' button + 600 + 50 + 50 + 50 + 72 + 74 + 56 + 83 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'J' button + 650 + 50 + 50 + 50 + 73 + 302 + 57 + 84 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + CAPS LOCK button + 0 + 100 + 200 + 50 + + 84 + 75 + 302 + 304 + KeyboardKeyNF.png + KeyboardKey.png + 5 + 20 + 20 + center + center + font13 + black + + + 'K' button + 200 + 100 + 50 + 50 + 303 + 76 + 65 + 85 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'L' button + 250 + 100 + 50 + 50 + 75 + 77 + 66 + 86 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'M' button + 300 + 100 + 50 + 50 + 76 + 78 + 67 + 87 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'N' button + 350 + 100 + 50 + 50 + 77 + 79 + 68 + 88 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'O' button + 400 + 100 + 50 + 50 + 78 + 80 + 69 + 89 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'P' button + 450 + 100 + 50 + 50 + 79 + 81 + 70 + 90 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'Q' button + 500 + 100 + 50 + 50 + 80 + 82 + 71 + 8 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'R' button + 550 + 100 + 50 + 50 + 81 + 83 + 72 + 8 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'S' button + 600 + 100 + 50 + 50 + 82 + 84 + 73 + 8 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'T' button + 650 + 100 + 50 + 50 + 83 + 303 + 74 + 8 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + Symbols button + 0 + 150 + 200 + 50 + + 8 + 85 + 303 + 307 + KeyboardKeyNF.png + KeyboardKey.png + 5 + 20 + 20 + center + center + font13 + black + + + 'U' button + 200 + 150 + 50 + 50 + 304 + 86 + 75 + 32 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'V' button + 250 + 150 + 50 + 50 + 85 + 87 + 76 + 32 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'W' button + 300 + 150 + 50 + 50 + 86 + 88 + 77 + 32 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'X' button + 350 + 150 + 50 + 50 + 87 + 89 + 78 + 32 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'Y' button + 400 + 150 + 50 + 50 + 88 + 90 + 79 + 32 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + 'Z' button + 450 + 150 + 50 + 50 + 89 + 8 + 80 + 32 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + BACKSPACE button + 500 + 150 + 200 + 50 + + 90 + 304 + 81 + 305 + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + + + IP Input button + 0 + 200 + 200 + 50 + KeyboardCornerBottomNF.png + KeyboardCornerBottom.png + + font13 + center + center + 306 + 32 + 304 + 300 + black + + + SPACE button + 200 + 200 + 300 + 50 + + KeyboardKeyNF.png + KeyboardKey.png + center + center + font13 + black + 307 + 305 + 85 + 48 + + + previous button + 500 + 200 + 100 + 50 + + center + center + KeyboardKeyNF.png + KeyboardKey.png + font30 + black + 32 + 306 + 8 + 54 + + + next button + 600 + 200 + 100 + 50 + + center + center + KeyboardCornerBottomNF.png + KeyboardCornerBottom.png + font30 + black + 305 + 307 + 8 + 56 + + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMediaFilter.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMediaFilter.xml new file mode 100644 index 000000000..1d9eb51e7 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMediaFilter.xml @@ -0,0 +1,184 @@ + + 5 + + 1 + 240 + 100 + + dialogeffect + + + background image + 0 + 0 + 800 + 500 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + + control area + 30 + 70 + 720 + 350 + 4 + 6 + 9001 + 9001 + 9001 + 6 + + + 755 + 70 + 25 + 350 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 5 + 9001 + false + vertical + + + + Default Button + 0 + 0 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + + + Default RadioButton + 0 + 0 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + + + Default SpinControlex + 0 + 0 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + center + yes + + + Default Slider + 0 + 0 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + center + + + Default Edit + 0 + 0 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + + + + 190 + 435 + + Ok Button + 0 + 0 + 200 + 40 + center + center + button-nofocus.png + button-focus.png + + font12_title + 5 + 27 + 27 + 5 + + + Clear Button + 210 + 0 + 200 + 40 + center + center + button-nofocus.png + button-focus.png + + font12_title + 5 + 28 + 28 + 5 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMediaSource.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMediaSource.xml new file mode 100644 index 000000000..8279eabac --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMediaSource.xml @@ -0,0 +1,270 @@ + + 10 + + 1 + 240 + 100 + + dialogeffect + + + background image + 0 + 0 + 800 + 500 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + path label + 20 + 65 + 760 + 30 + center + center + font12 + + blue + black + + + 30 + 105 + 525 + 225 + 9001 + 9000 + 60 + 12 + 60 + 200 + + + 0 + 0 + 525 + 40 + button-nofocus.png + + + 10 + 0 + 490 + 40 + font13 + left + center + grey2 + selected + ListItem.Label + + + + + 0 + 0 + 525 + 40 + !Control.HasFocus(10) + button-nofocus.png + + + 0 + 0 + 525 + 41 + Control.HasFocus(10) + button-focus2.png + + + 10 + 0 + 490 + 40 + font13 + left + center + selected + ListItem.Label + + + + + 555 + 105 + 25 + 225 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 10 + 9000 + false + vertical + + + 580 + 105 + + Browse Button + 0 + 0 + 190 + 40 + + font12_title + center + center + button-nofocus.png + button-focus.png + 18 + 60 + 10 + 13 + + + Add Path Button + 0 + 45 + 190 + 40 + + font12_title + center + center + button-nofocus.png + button-focus.png + 11 + 60 + 10 + 14 + + + Remove Path Button + 0 + 90 + 190 + 40 + + font12_title + center + center + button-nofocus.png + button-focus.png + 13 + 60 + 10 + 12 + + + + Name label + 30 + 335 + 740 + 30 + center + center + font12 + + blue + black + + + Name Button + 30 + 370 + 740 + 40 + center + center + + font13 + button-focus2.png + button-nofocus.png + 10 + 12 + 19 + 9001 + + + 190 + 435 + + Ok Button + 0 + 0 + 200 + 40 + center + center + button-nofocus.png + button-focus.png + + font12_title + 12 + 19 + 19 + 10 + + + Cancel Button + 210 + 0 + 200 + 40 + center + center + button-nofocus.png + button-focus.png + + font12_title + 12 + 18 + 18 + 10 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMuteBug.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMuteBug.xml new file mode 100644 index 000000000..47318589d --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogMuteBug.xml @@ -0,0 +1,19 @@ + + - + dialogeffect + + 0 + 0 + 0 + + + + 50r + 2 + 45 + 45 + keep + icon-mute.png + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogNetworkSetup.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogNetworkSetup.xml new file mode 100644 index 000000000..a51c5ac86 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogNetworkSetup.xml @@ -0,0 +1,203 @@ + + 10 + + 1 + 240 + 135 + + dialogeffect + + + background image + 0 + 0 + 800 + 440 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + Protocol SpinControl + 30 + 70 + 40 + 740 + button-focus2.png + button-nofocus.png + white + grey3 + 12 + center + yes + font132 + + 18 + 11 + 10 + 10 + + + Server Address Button + 30 + 115 + 565 + 40 + 12 + center + button-focus2.png + font13 + + 10 + 12 + 12 + 16 + + + Server Browse Button + 600 + 115 + 170 + 40 + 12 + font12_title + + center + center + 10 + 11 + 11 + 16 + + + Remote path Button + 30 + 160 + 740 + 40 + 12 + center + button-focus2.png + font13 + + 11 + 16 + 16 + 13 + + + Port Button + 30 + 205 + 740 + 40 + 12 + center + button-focus2.png + font13 + + 16 + 13 + 13 + 14 + + + Username Button + 30 + 250 + 740 + 40 + 12 + center + button-focus2.png + font13 + + 13 + 14 + 14 + 15 + + + Password Button + 30 + 295 + 740 + 40 + 12 + center + button-focus2.png + font13 + + 14 + 15 + 15 + 18 + + + Ok Button + 195 + 375 + 200 + 40 + center + center + font12_title + + 15 + 19 + 19 + 10 + + + Cancel Button + 405 + 375 + 200 + 40 + center + center + font12_title + + 15 + 18 + 18 + 10 + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogNumeric.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogNumeric.xml new file mode 100644 index 000000000..f50450d65 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogNumeric.xml @@ -0,0 +1,327 @@ + + 21 + dialogeffect + + 2 + 480 + 145 + + + + 0 + 0 + 320 + 430 + DialogBack.png + + + Dialog Header image + 40 + 16 + 240 + 40 + dialogheader.png + + + 30 + 70 + 260 + 50 + stretch + KeyboardEditArea.png + + + Edit Text + 35 + 70 + 250 + 50 + font13 + selected + grey2 + center + center + + + 40 + 120 + 240 + 30 + stretch + dialogheader.png + + + dialog Heading + 20 + 20 + 280 + 35 + font12_title + selected + black + center + center + true + + + 40 + 155 + + 1 button + 0 + 0 + 60 + 60 + font13 + center + center + KeyboardCornerTopNF.png + KeyboardCornerTop.png + + black + 23 + 12 + 20 + 14 + + + 2 button + 60 + 0 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 11 + 13 + 10 + 15 + + + 3 button + 120 + 0 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 12 + 23 + 22 + 16 + + + Backspace button + 180 + 0 + 60 + 120 + font12 + center + center + KeyboardCornerTopNF.png + KeyboardCornerTop.png + 120 + + black + 270 + 13 + 11 + 21 + 21 + + + 4 button + 0 + 60 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 23 + 15 + 11 + 17 + + + 5 button + 60 + 60 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 14 + 16 + 12 + 18 + + + 6 button + 120 + 60 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 15 + 23 + 13 + 19 + + + 7 button + 0 + 120 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 21 + 18 + 14 + 20 + + + 8 button + 60 + 120 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 17 + 19 + 15 + 10 + + + 9 button + 120 + 120 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 18 + 21 + 16 + 22 + + + Done button + 180 + 120 + 60 + 120 + font12 + center + center + KeyboardCornerBottomNF.png + KeyboardCornerBottom.png + 120 + + black + 270 + 19 + 17 + 23 + 23 + + + prev button + 0 + 180 + 60 + 60 + font30 + + black + center + center + KeyboardCornerBottomNF.png + KeyboardCornerBottom.png + 21 + 10 + 17 + 11 + + + 0 button + 60 + 180 + 60 + 60 + font13 + center + center + KeyboardKeyNF.png + KeyboardKey.png + + black + 20 + 22 + 18 + 12 + + + next button + 120 + 180 + 60 + 60 + font30 + + black + center + center + KeyboardKeyNF.png + KeyboardKey.png + 10 + 21 + 19 + 13 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogOK.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogOK.xml new file mode 100644 index 000000000..f0c800647 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogOK.xml @@ -0,0 +1,105 @@ + + 10 + + 1 + 335 + 230 + + dialogeffect + + + 0 + 0 + 610 + 240 + DialogBack.png + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + header label + 40 + 20 + 530 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 520 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + dialog line 1 + 30 + 60 + 550 + 30 + left + center + + font13 + + + dialog line 2 + 30 + 85 + 550 + 30 + left + center + + font13 + + + dialog line 3 + 30 + 110 + 550 + 30 + left + center + + font13 + + + OK button + 205 + 175 + 200 + 40 + + font12_title + white + white + center + 10 + 10 + 10 + 10 + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRChannelManager.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRChannelManager.xml new file mode 100644 index 000000000..e41236507 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRChannelManager.xml @@ -0,0 +1,560 @@ + + 20 + no + + 1 + 190 + 30 + + dialogeffect + + + + 0 + 0 + 900 + 660 + DialogBack.png + + + Dialog Header image + 40 + 16 + 820 + 40 + dialogheader.png + + + header label + 40 + 20 + 820 + 30 + font13_title + + center + center + selected + black + IsEmpty(Window.Property(IsRadio)) + + + header label + 40 + 20 + 820 + 30 + font13_title + + center + center + selected + black + !IsEmpty(Window.Property(IsRadio)) + + + Close Window button + 810 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + 20 + 70 + + 0 + 5 + 25 + 470 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 9002 + 20 + false + vertical + + + 25 + 0 + 430 + 475 + button-nofocus.png + + + 30 + 5 + 420 + 470 + 20 + 20 + 60 + 9002 + 60 + 200 + + + 0 + 0 + 420 + 40 + button-nofocus.png + + + 5 + 5 + 30 + 30 + $INFO[ListItem.Property(Icon)] + ListItem.Property(ActiveChannel) + + + 5 + 5 + 30 + 30 + 77FFFFFF + $INFO[ListItem.Property(Icon)] + !ListItem.Property(ActiveChannel) + + + 45 + 0 + 335 + 40 + font12 + left + center + white + selected + + ListItem.Property(ActiveChannel) + + + 45 + 0 + 335 + 40 + font12 + left + center + grey3 + selected + + !ListItem.Property(ActiveChannel) + + + 390 + 10 + 20 + 20 + OverlayWatched.png + ListItem.Property(Changed) + + + + + 0 + 0 + 420 + 60 + button-focus2.png + conditional + + + 5 + 5 + 30 + 30 + $INFO[ListItem.Property(Icon)] + ListItem.Property(ActiveChannel) + + + 5 + 5 + 30 + 30 + 77FFFFFF + $INFO[ListItem.Property(Icon)] + !ListItem.Property(ActiveChannel) + + + 45 + 0 + 335 + 40 + font12 + left + center + white + selected + + ListItem.Property(ActiveChannel) + + + 45 + 0 + 335 + 40 + font12 + left + center + grey3 + selected + + !ListItem.Property(ActiveChannel) + + + 390 + 10 + 20 + 20 + OverlayWatched.png + ListItem.Property(Changed) + + + 5 + 30 + 410 + 30 + font12 + left + center + grey2 + selected + + + + + + Page Count Label + 30 + 485 + 420 + 20 + font12 + grey + false + center + center + + + + + + 490 + 70 + + channel options Header + 0 + 0 + 380 + 20 + font12 + + left + center + blue + black + + + Channel activated + 0 + 25 + 380 + 35 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 20 + 60 + 9000 + 8 + + + Channel name + 0 + 65 + 380 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 60 + 20 + 7 + 9 + + + Channel logo Button + 0 + 105 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + + 20 + 60 + 8 + 12 + + + Current Channel Icon + 345 + 107 + 30 + 30 + keep + ListItem.Property(Icon) + + + EPG activated + 0 + 145 + 380 + 35 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 20 + 60 + 9 + 13 + + + EPG source + 0 + 185 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + + 60 + 20 + 12 + 14 + + + Parental locked + 0 + 225 + 380 + 35 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 20 + 60 + 13 + 30 + + + + 490 + 360 + + channel options Header + 0 + 0 + 380 + 20 + font12 + + left + center + blue + black + + + Group Manager Button + 0 + 25 + 190 + 35 + font12 + button-focus2.png + button-nofocus.png + center + + 20 + 34 + 14 + 31 + + + TV/Radio Button + 195 + 25 + 185 + 35 + font12 + IsEmpty(Window.Property(IsRadio)) + button-focus2.png + button-nofocus.png + center + + 30 + 60 + 14 + 31 + + + TV/Radio Button + 195 + 25 + 185 + 35 + font12 + !IsEmpty(Window.Property(IsRadio)) + button-focus2.png + button-nofocus.png + center + + 30 + 60 + 14 + 31 + + + Edit channel Button + 0 + 65 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + center + + 20 + 60 + 30 + 32 + + + Delete channel Button + 0 + 105 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + center + + 20 + 60 + 31 + 33 + + + New channel Button + 0 + 145 + 380 + 35 + font12 + button-focus2.png + button-nofocus.png + center + + 20 + 60 + 32 + 9000 + + + + + 70 + 590 + + OK Button + 0 + 0 + 250 + 40 + + font12_title + center + center + 6 + 5 + 33 + 7 + + + Apply changes Button + 260 + 0 + 250 + 40 + + font12_title + center + center + 4 + 6 + 33 + 7 + + + Cancel Button + 520 + 0 + 250 + 40 + + font12_title + center + center + 5 + 4 + 33 + 7 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml new file mode 100644 index 000000000..1cd58199c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRChannelsOSD.xml @@ -0,0 +1,359 @@ + + 11 + + 1 + 780 + 30 + + dialogeffect + + + + background image + 0 + 0 + 480 + 660 + DialogBack2.png + + + Close Window button + 390 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 2 + 2 + 2 + system.getbool(input.enablemouse) + + + Dialog Header image + 40 + 16 + 400 + 50 + dialogheader.png + + + header label + 40 + 16 + 430 + 40 + font12_title + + center + center + blue + black + !pvr.IsPlayingRadio + + + header label + 40 + 16 + 430 + 40 + font12_title + + center + center + blue + black + pvr.IsPlayingRadio + + + header label + 40 + -7 + 430 + 120 + font10_title + + center + center + grey + black + + + 30 + 70 + 410 + 520 + 60 + 60 + 11 + 11 + list + 60 + 200 + + + 0 + 0 + 410 + 65 + button-nofocus.png + VisibleFadeEffect + + + 5 + 0 + 40 + 30 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 5 + 35 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 50 + 0 + 350 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 350 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 300 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + 50 + 44 + 60 + 20 + font10_title + blue + blue + center + + ListItem.HasEpg + + + Progressbar + 110 + 53 + 230 + 6 + 88FFFFFF + ListItem.Progress + ListItem.HasEpg + + + 355 + 44 + 60 + 20 + font10_title + blue + blue + center + + ListItem.HasEpg + + + 360 + 4 + 40 + 40 + $INFO[ListItem.Icon] + + + + + 0 + 0 + 410 + 65 + button-nofocus.png + !Control.HasFocus(11) + VisibleFadeEffect + + + 0 + 0 + 410 + 65 + button-focus2.png + Control.HasFocus(11) + VisibleFadeEffect + + + 5 + 0 + 40 + 30 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 5 + 35 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 50 + 0 + 350 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 350 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 300 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + 50 + 44 + 60 + 20 + font10_title + blue + blue + center + + ListItem.HasEpg + + + Progressbar + 110 + 53 + 230 + 6 + 88FFFFFF + ListItem.Progress + ListItem.HasEpg + + + 355 + 44 + 60 + 20 + font10_title + blue + blue + center + + ListItem.HasEpg + + + 360 + 4 + 40 + 40 + $INFO[ListItem.Icon] + + + + + 440 + 70 + 25 + 520 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 11 + 61 + 61 + false + vertical + + + Page Count Label + 450 + 610 + 400 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGroupManager.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGroupManager.xml new file mode 100644 index 000000000..2b567d9a9 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGroupManager.xml @@ -0,0 +1,432 @@ + + 29 + + + !Window.IsVisible(FileBrowser) + WindowOpen + WindowClose + + 130 + 0 + 1150 + 720 + MediaBladeSub.png + + + Close Window button + 180 + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 9000 + 9000 + 9000 + 9000 + system.getbool(input.enablemouse) + + + WindowOpen + WindowClose + + header label + 160 + 40 + 1080 + 30 + font24_title + + center + center + selected + black + + + Group list + 160 + 80 + + name label + 0 + 0 + 340 + 70 + font13 + + center + center + blue + + + 0 + 75 + 340 + 460 + button-nofocus.png + + + 5 + 80 + 330 + 450 + 13 + 13 + 29 + 73 + 73 + 200 + + + 0 + 0 + 330 + 40 + button-nofocus.png + + + 10 + 0 + 310 + 40 + font12 + left + center + grey2 + selected + ListItem.Label + + + + + 0 + 0 + 330 + 40 + button-nofocus.png + !Control.HasFocus(13) + + + 0 + 0 + 330 + 40 + button-focus2.png + Control.HasFocus(13) + + + 10 + 0 + 310 + 40 + font12 + left + center + white + selected + ListItem.Label + + + + + 340 + 75 + 25 + 460 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 13 + 11 + 73 + 73 + false + vertical + + + + Channels list + 525 + 80 + + name label + 0 + 0 + 340 + 70 + font13 + center + center + blue + + + 0 + 75 + 340 + 460 + button-nofocus.png + + + 5 + 85 + 330 + 450 + 11 + 11 + 73 + 71 + 71 + 200 + + + 0 + 0 + 330 + 40 + button-nofocus.png + + + 32 + 32 + 5 + 4 + $INFO[ListItem.Icon] + + + 40 + 0 + 280 + 40 + font12 + left + center + grey2 + selected + + + + + + 0 + 0 + 330 + 40 + button-nofocus.png + !Control.HasFocus(11) + + + 0 + 0 + 330 + 40 + button-focus2.png + Control.HasFocus(11) + + + 32 + 32 + 5 + 4 + $INFO[ListItem.Icon] + + + 40 + 0 + 280 + 40 + font12 + left + center + white + selected + + + + + + 340 + 75 + 25 + 460 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 12 + 71 + 71 + false + vertical + + + + Grouped Channels list + 890 + 80 + + name label + 0 + 0 + 340 + 70 + font13 + center + center + blue + + + 0 + 75 + 340 + 460 + button-nofocus.png + + + 5 + 85 + 330 + 450 + 12 + 12 + 71 + 72 + 72 + 200 + + + 0 + 0 + 330 + 40 + button-nofocus.png + + + 32 + 32 + 5 + 4 + $INFO[ListItem.Icon] + + + 40 + 0 + 280 + 40 + font12 + left + center + grey2 + selected + + + + + + 0 + 0 + 330 + 40 + button-nofocus.png + !Control.HasFocus(12) + + + 0 + 0 + 330 + 40 + button-focus2.png + Control.HasFocus(12) + + + 32 + 32 + 5 + 4 + $INFO[ListItem.Icon] + + + 40 + 0 + 280 + 40 + font12 + left + center + white + selected + + + + + + 340 + 75 + 25 + 460 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 12 + 26 + 72 + 72 + false + vertical + + + + 160 + 660 + 1080 + 40 + 2 + center + horizontal + 72 + 13 + 9000 + 9000 + + Add Group + 230 + ButtonInfoDialogsCommonValues + + + + Rename Group + 230 + ButtonInfoDialogsCommonValues + + + + Delete Group + 230 + ButtonInfoDialogsCommonValues + + + + OK + 230 + ButtonInfoDialogsCommonValues + + + + + + Clock + + + Fake Label used to pass on name label + false + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideInfo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideInfo.xml new file mode 100644 index 000000000..36f016c7c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideInfo.xml @@ -0,0 +1,225 @@ + + 7 + + 1 + 20 + 30 + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + dialogeffect + + + + background image + 0 + 0 + 730 + 660 + DialogBack2.png + Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation) + + + background image + 0 + 0 + 730 + 660 + DialogBack.png + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + + Dialog Header image + 40 + 16 + 650 + 40 + dialogheader.png + + + header label + 40 + 20 + 650 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 640 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + Title label + 40 + 70 + 650 + 30 + font13_title + + center + center + blue + black + + + + 40 + 120 + + Time description + 170 + 0 + 170 + 25 + right + center + font13 + blue + + + + Time value + 180 + 0 + 470 + 25 + left + center + font13 + white + + + + Duration + 170 + 35 + 170 + 25 + right + center + font13 + blue + + + + Duration value + 180 + 35 + 470 + 25 + left + center + font13 + white + + + + Channel Name + 170 + 70 + 170 + 25 + right + center + font13 + blue + + + + Channel Value + 180 + 70 + 470 + 25 + left + center + font13 + white + + + + Genre + 170 + 105 + 170 + 25 + right + center + font13 + blue + + + + Genre value + 180 + 105 + 470 + + left + font13 + true + + + + Plot value + 40 + 275 + 650 + 295 + font12 + justify + white + black + - + true + + + + 40 + 590 + 640 + 40 + 5 + center + horizontal + 9000 + 9000 + 60 + 60 + + Switch to Channel + ButtonInfoDialogsCommonValues + + + + Record + ButtonInfoDialogsCommonValues + + + + OK + ButtonInfoDialogsCommonValues + + + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideOSD.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideOSD.xml new file mode 100644 index 000000000..d683ba588 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideOSD.xml @@ -0,0 +1,253 @@ + + 11 + + 1 + 780 + 30 + + dialogeffect + + + + background image + 0 + 0 + 480 + 660 + DialogBack2.png + + + Close Window button + 390 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 2 + 2 + 2 + system.getbool(input.enablemouse) + + + Dialog Header image + 40 + 16 + 400 + 40 + dialogheader.png + + + header label + 40 + 16 + 430 + 40 + font12_title + + center + center + blue + black + + + Selected item's date + 40 + 60 + 430 + 30 + font11 + grey2 + + center + center + + + 30 + 100 + 410 + 490 + 60 + 60 + 11 + 11 + list + 60 + 200 + + + 0 + 0 + 410 + 30 + button-nofocus.png + VisibleFadeEffect + + + 10 + 0 + 100 + 30 + font13 + grey2 + selected + left + center + + + + 120 + 5 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 120 + 5 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 400 + 0 + 300 + 30 + font12 + grey2 + selected + right + center + + ![ListItem.IsRecording | ListItem.HasTimer] + + + 400 + 0 + 250 + 30 + font12 + grey2 + selected + right + center + + ListItem.IsRecording | ListItem.HasTimer + + + + + 0 + 0 + 410 + 30 + button-nofocus.png + !Control.HasFocus(11) + VisibleFadeEffect + + + 0 + 0 + 410 + 30 + button-focus2.png + Control.HasFocus(11) + VisibleFadeEffect + + + 10 + 0 + 100 + 30 + font13 + grey2 + selected + left + center + + + + 120 + 5 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 120 + 5 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 400 + 0 + 300 + 30 + font12 + grey2 + selected + right + center + + ![ListItem.IsRecording | ListItem.HasTimer] + + + 400 + 0 + 250 + 30 + font12 + grey2 + selected + right + center + + ListItem.IsRecording | ListItem.HasTimer + + + + + 440 + 100 + 25 + 490 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 11 + 61 + 61 + false + vertical + + + Page Count Label + 450 + 610 + 400 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideSearch.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideSearch.xml new file mode 100644 index 000000000..ab5eaba65 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRGuideSearch.xml @@ -0,0 +1,456 @@ + + 9 + + 1 + 210 + 65 + + dialogeffect + + + background image + 0 + 0 + 865 + 605 + DialogBack.png + + + Dialog Header image + 40 + 16 + 785 + 40 + dialogheader.png + + + header label + 40 + 20 + 785 + 30 + font13_title + + center + center + selected + black + !pvr.IsPlayingRadio + + + Close Window button + 775 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 3 + 3 + 3 + 3 + system.getbool(input.enablemouse) + + + Search string + 30 + 60 + 320 + 40 + font12caps + + left + center + blue + black + + + 30 + 100 + 800 + 50 + stretch + KeyboardEditArea.png + + + Search string + 35 + 105 + 790 + 40 + font13 + white + black + - + - + left + 9 + 9 + 26 + 10 + + + Search help + 30 + 155 + 800 + 70 + left + font12 + grey2 + + + + 30 + 230 + + Include Description + 0 + 0 + 35 + 400 + font12 + white + white + black + button-focus2.png + button-nofocus.png + left + center + + 12 + 12 + 9 + 11 + + + Case Sensitive + 0 + 35 + 35 + 400 + font12 + white + white + black + button-focus2.png + button-nofocus.png + left + center + + 13 + 13 + 10 + 14 + + + Start Date + 0 + 70 + 400 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 16 + 16 + 11 + 15 + + + Stop Date + 0 + 105 + 400 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 17 + 17 + 14 + 18 + + + Genre + 0 + 140 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 19 + 19 + 15 + 20 + + + Include unknown Genres + 0 + 175 + 35 + 400 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 21 + 21 + 18 + 22 + + + FTA only + 0 + 210 + 35 + 400 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 23 + 23 + 20 + 24 + + + Ignore Timers + 0 + 245 + 35 + 400 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 27 + 27 + 22 + 26 + + + + 440 + 230 + + Min Duration + 0 + 0 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 10 + 10 + 9 + 13 + + + Max Duration + 0 + 35 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 11 + 11 + 12 + 16 + + + Start time + 0 + 70 + 400 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 14 + 14 + 13 + 17 + + + Stop time + 0 + 105 + 400 + 35 + font12 + white + white + black + button-focus2.png + button-nofocus.png + + 15 + 15 + 16 + 19 + + + avoid repeats + 0 + 140 + 400 + 35 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 18 + 18 + 17 + 21 + + + Groups + 0 + 175 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 20 + 20 + 19 + 23 + + + Channels + 0 + 210 + 400 + 35 + font12 + button-focus2.png + button-nofocus.png + + 22 + 22 + 21 + 27 + + + Ignore Recordings + 0 + 245 + 35 + 400 + font12 + white + white + black + left + center + button-focus2.png + button-nofocus.png + no + + 24 + 24 + 23 + 26 + + + + 540 + 125 + + Defaults Button + 0 + 0 + 200 + 40 + center + center + font12_title + + 26 + 25 + 24 + 9 + + + Cancel Button + 210 + 0 + 200 + 40 + center + center + font12_title + + 28 + 26 + 27 + 9 + + + Search Button + 420 + 0 + 200 + 40 + center + center + font12_title + + 25 + 28 + 27 + 9 + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml new file mode 100644 index 000000000..9e635bf88 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRRecordingInfo.xml @@ -0,0 +1,267 @@ + + 10 + + 1 + 275 + 30 + + dialogeffect + + + background image + 0 + 0 + 730 + 660 + DialogBack2.png + Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation) + + + background image + 0 + 0 + 730 + 660 + DialogBack.png + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + + Dialog Header image + 40 + 16 + 650 + 40 + dialogheader.png + + + header label + 40 + 20 + 650 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 640 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + Title label + 40 + 70 + 650 + 30 + font13_title + + center + center + blue + black + + + 40 + 140 + + Start Date + 170 + 0 + 160 + 25 + right + center + font13 + blue + + + + Start date value + 180 + 0 + 470 + 25 + left + center + font13 + white + + + + Start time + 170 + 35 + 160 + 25 + right + center + font13 + blue + + + + Start Time value + 180 + 35 + 470 + 25 + left + center + font13 + white + + + + Channel Name + 170 + 70 + 160 + 25 + right + center + font13 + blue + + + + Channel Value + 180 + 70 + 470 + 25 + left + center + font13 + white + + + + Duration + 170 + 105 + 160 + 25 + right + center + font13 + blue + + + + Duration value + 180 + 105 + 470 + + left + font13 + true + + + Genre + 170 + 140 + 160 + 25 + right + center + font13 + blue + + + + Genre value + 180 + 140 + 470 + + left + font13 + true + + + Subtitle value + 40 + 185 + 650 + + center + font13 + blue + true + !IsEmpty(ListItem.PlotOutline) + + + + 610 + 370 + 400 + 30 + font12 + grey + black + true + right + center + + + + Next page button + 620 + 375 + page + - + 60 + 60 + 9000 + 9000 + - + true + + + PLOT + 40 + 400 + 650 + 180 + font12 + justify + 60 + + + + 40 + 590 + 640 + 40 + 5 + center + horizontal + 9000 + 9000 + 60 + 60 + + OK + ButtonInfoDialogsCommonValues + + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRTimerSettings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRTimerSettings.xml new file mode 100644 index 000000000..facec047b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPVRTimerSettings.xml @@ -0,0 +1,155 @@ + + 29 + + 1 + 275 + 30 + + dialogeffect + + + background image + 0 + 0 + 730 + 660 + DialogBack.png + + + Dialog Header image + 40 + 16 + 650 + 40 + dialogheader.png + + + header label + 40 + 20 + 650 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 640 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + control area + 30 + 70 + 670 + 510 + 5 + 9001 + 9001 + 9001 + 9001 + + + 160 + 590 + + OK Button + 0 + 0 + 200 + 40 + center + center + font12_title + + 29 + 29 + 5 + 5 + + + Cancel Button + 210 + 0 + 200 + 40 + center + center + font12_title + + 28 + 28 + 5 + 5 + + + + Default Button + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + + + Default RadioButton + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + + + Default spincontrolex + 40 + grey2 + white + button-focus2.png + button-nofocus.png + font13 + center + yes + + + Default Slider + 40 + button-focus2.png + button-nofocus.png + font13 + grey2 + white + + + Default Seperator + 2 + separator2.png + + + Default Edit + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPeripheralManager.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPeripheralManager.xml new file mode 100644 index 000000000..3d05a5a66 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPeripheralManager.xml @@ -0,0 +1,233 @@ + + 20 + + 1 + 335 + 30 + + dialogeffect + + + !Window.IsVisible(PeripheralSettings) + VisibleFadeEffect + + background image + 0 + 0 + 610 + 650 + DialogBack.png + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + + background image + 0 + 0 + 610 + 650 + DialogBack2.png + Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation) + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + header label + 40 + 20 + 530 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 520 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + + 20 + 65 + 550 + 510 + 20 + 20 + 10 + 61 + 61 + 200 + Conditional + + + 0 + 0 + 550 + 80 + button-nofocus.png + + + Name + 10 + 5 + 520 + 20 + + left + center + font13 + white + + + Product ID Vendor ID + 10 + 30 + 520 + 20 + + left + center + font12 + blue + + + class + 10 + 50 + 520 + 20 + + left + center + font12 + blue + + + + + 0 + 0 + 550 + 80 + button-nofocus.png + !Control.HasFocus(20) + VisibleFadeEffect + + + 0 + 0 + 550 + 80 + button-focus2.png + Control.HasFocus(20) + VisibleFadeEffect + + + Name + 10 + 5 + 520 + 20 + + left + center + font13 + white + + + Product ID Vendor ID + 10 + 30 + 520 + 20 + + left + center + font12 + blue + + + class + 10 + 50 + 520 + 20 + + left + center + font12 + blue + + + + + + 570 + 65 + 25 + 510 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 20 + 10 + 61 + 61 + false + vertical + + + number of files/pages in list text label + 580 + 585 + 300 + 35 + font12 + right + center + true + grey + + + + OK button + 20 + 585 + 200 + 40 + + font12_title + white + white + center + 61 + 20 + 20 + 20 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPeripheralSettings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPeripheralSettings.xml new file mode 100644 index 000000000..93a12793b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPeripheralSettings.xml @@ -0,0 +1,194 @@ + + 5 + + 1 + 290 + 75 + + dialogeffect + + + background image + 0 + 0 + 700 + 570 + DialogBack.png + + + Dialog Header image + 40 + 16 + 620 + 40 + dialogheader.png + + + header label + 40 + 20 + 620 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 610 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 5 + 5 + 5 + 5 + system.getbool(input.enablemouse) + + + No Settings Label + 20 + 180 + 640 + center + + font13 + + + Conditional + control area + 30 + 70 + 630 + 410 + 5 + 60 + 28 + 60 + 28 + 28 + + + 658 + 70 + 25 + 410 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 5 + 5 + 60 + 60 + false + vertical + + + Default Button + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + + + Default RadioButton + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + + + Default SpinControlex + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + center + yes + + + Default Slider + 40 + button-nofocus.png + button-focus2.png + font13 + grey2 + white + + + separator image + 2 + separator2.png + + + + 40 + 505 + + Cancel Button + 0 + 0 + 200 + 40 + center + center + font12_title + + 50 + 28 + 5 + 5 + + + OK Button + 0 + 210 + 200 + 40 + center + center + font12_title + + 29 + 50 + 5 + 5 + + + Defaults Button + 0 + 420 + 200 + 40 + center + center + font12_title + + 28 + 29 + 5 + 5 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPictureInfo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPictureInfo.xml new file mode 100644 index 000000000..d4661158d --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogPictureInfo.xml @@ -0,0 +1,189 @@ + + 5 + + 1 + 240 + 45 + + dialogeffect + + + + background image + 0 + 0 + 800 + 630 + DialogBack.png + !Window.IsVisible(Slideshow) + + + background image + 0 + 0 + 800 + 630 + DialogBack2.png + Window.IsVisible(Slideshow) + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 2 + 2 + 2 + system.getbool(input.enablemouse) + + + 755 + 70 + 25 + 495 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 5 + 5 + false + vertical + + + Conditional + 30 + 70 + 720 + 495 + 60 + 60 + 5 + 5 + 60 + 200 + + + 0 + 0 + 720 + 40 + button-nofocus.png + + + 10 + 0 + 500 + 40 + font13 + center + white + black + selected + left + + + + 710 + 0 + 650 + 40 + font13 + center + grey2 + black + selected + right + ListItem.Label2 + + + + + 0 + 0 + 720 + 40 + !Control.HasFocus(5) + button-nofocus.png + + + 0 + 0 + 720 + 40 + button-focus2.png + Control.HasFocus(5) + + + 10 + 0 + 500 + 40 + font13 + center + white + black + selected + left + + + + 710 + 0 + 650 + 40 + font13 + center + grey2 + black + selected + right + ListItem.Label2 + + + + + number of files/pages in list text label + 760 + 570 + 300 + 35 + font12 + right + center + true + grey + + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogProgress.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogProgress.xml new file mode 100644 index 000000000..044fc008c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogProgress.xml @@ -0,0 +1,125 @@ + + 10 + + 1 + 335 + 230 + + dialogeffect + + + 0 + 0 + 610 + 240 + DialogBack.png + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + fake heading label + 0 + 0 + 0 + 0 + - + false + + + header label + 40 + 20 + 530 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 520 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + dialog line 1 + 30 + 60 + 550 + 30 + left + center + + true + font13 + + + dialog line 2 + 30 + 85 + 550 + 30 + left + center + + true + font13 + + + dialog line 3 + 30 + 110 + 550 + 30 + left + center + + true + font13 + + + Progressbar + 30 + 148 + 550 + 16 + System.Progressbar + + + Cancel button + 205 + 175 + 200 + 40 + + font12_title + white + white + center + 10 + 10 + 10 + 10 + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSeekBar.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSeekBar.xml new file mode 100644 index 000000000..5fc329a26 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSeekBar.xml @@ -0,0 +1,333 @@ + + 1 + [Player.Seeking | Player.DisplayAfterSeek | Player.Paused | Player.Forwarding | Player.Rewinding] + ![Window.IsVisible(VideoOSD) | Window.IsVisible(MusicOSD)] + WindowOpen + WindowClose + + + player.chaptercount + Window.IsVisible(FullScreenVideo) + 665r + -6 + VisibleFadeEffect + + 0 + 0 + 150 + 70 + EEFFFFFF + OverlayDialogBackground.png + + + Chapter Pos No + 20 + 10 + 110 + 20 + center + center + font12_title + blue + + player.chaptercount + + + Chapter Pos No + 20 + 30 + 110 + 20 + center + center + font13_title + grey2 + + player.chaptercount + + + + 520r + -6 + + 0 + 0 + 370 + 70 + EEFFFFFF + OverlayDialogBackground.png + + + 260 + 10 + + 10 + 0 + 80 + 50 + OSDSeekFrame.png + + + 0 + 3 + 20 + 44 + OSDSeekRewind.png + Player.Rewinding + + + 80 + 3 + 20 + 44 + OSDSeekForward.png + Player.Forwarding + + + 31 + 4 + 40 + 40 + OSDPause.png + Player.Paused + + + 31 + 4 + 40 + 40 + OSDPlay.png + Player.Playing + + + + 28 + 4 + 40 + 40 + OSD2x.png + Player.Rewinding2x + + + 25 + 4 + 40 + 40 + OSD4x.png + Player.Rewinding4x + + + 22 + 4 + 40 + 40 + OSD8x.png + Player.Rewinding8x + + + 19 + 4 + 40 + 40 + OSD16x.png + Player.Rewinding16x + + + 17 + 4 + 40 + 40 + OSD32x.png + Player.Rewinding32x + + + + 34 + 4 + 40 + 40 + OSD2x.png + Player.Forwarding2x + + + 37 + 4 + 40 + 40 + OSD4x.png + Player.Forwarding4x + + + 40 + 4 + 40 + 40 + OSD8x.png + Player.Forwarding8x + + + 43 + 4 + 40 + 40 + OSD16x.png + Player.Forwarding16x + + + 45 + 4 + 40 + 40 + OSD32x.png + Player.Forwarding32x + + + + + Playing Label + 20 + 7 + 240 + 20 + left + center + font10_title + blue + + Player.Playing + !Player.Seeking + !Player.DisplayAfterSeek + + + Paused Label + 20 + 7 + 240 + 20 + left + center + font10_title + blue + + [Player.Paused + !Player.Caching] + !Player.Seeking + !Player.DisplayAfterSeek + + + Cache Label + 20 + 7 + 240 + 20 + left + center + font10_title + blue + + [Player.Paused + Player.Caching] + !Player.Seeking + + + Seeking Label + 20 + 7 + 240 + 20 + left + center + font10_title + blue + + Player.Seeking + + + Final Seek amount Label + 20 + 7 + 240 + 20 + left + center + font10_title + blue + + Player.DisplayAfterSeek + ![player.forwarding | player.rewinding] + + + FF Label + 20 + 7 + 240 + 20 + left + center + font10_title + blue + + Player.Forwarding + + + RW Label + 20 + 7 + 240 + 20 + left + center + font10_title + blue + + Player.Rewinding + + + Elapsed Time Label + 20 + 23 + 240 + 20 + font13_title + white + left + center + + !Player.Seeking + + + Seek Time Label + 20 + 23 + 240 + 20 + font13_title + white + left + center + + Player.Seeking + + + ProgressbarCache + 20 + 45 + 240 + 15 + Player.ProgressCache + OSDProgressMidLight.png + true + + + Progressbar + 20 + 45 + 240 + 15 + Player.Progress + true + + + Seek Slider + 20 + 42 + 240 + 12 + seekslider.png + osd_slider_nib.png + osd_slider_nib.png + Player.Seeking + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSelect.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSelect.xml new file mode 100644 index 000000000..2e60a7553 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSelect.xml @@ -0,0 +1,300 @@ + + 3 + + 1 + 335 + 35 + + dialogeffect + + + background image + 0 + 0 + 610 + 650 + DialogBack.png + ![Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation)] + + + background image + 0 + 0 + 610 + 650 + DialogBack2.png + Window.IsVisible(FullscreenVideo) | Window.IsVisible(Visualisation) + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + header label + 40 + 20 + 530 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 520 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + 20 + 67 + 550 + 506 + 3 + 3 + 5 + 61 + 61 + 200 + Conditional + + + 0 + 0 + 550 + 40 + button-nofocus.png + + + 20 + 0 + 510 + 40 + font13 + grey2 + selected + left + center + + + + + + 0 + 0 + 550 + 40 + button-nofocus.png + !Control.HasFocus(3) + VisibleFadeEffect + + + 0 + 0 + 550 + 40 + button-focus2.png + Control.HasFocus(3) + VisibleFadeEffect + + + 20 + 0 + 510 + 40 + font13 + white + selected + left + center + + + + + + 20 + 65 + 550 + 510 + 6 + 6 + 5 + 61 + 61 + 200 + Conditional + + + 0 + 0 + 550 + 80 + button-nofocus.png + + + 2 + 2 + 80 + 76 + $INFO[Listitem.Icon] + black-back2.png + 2 + + + 90 + 0 + 450 + 30 + font13 + grey + selected + left + center + + + + 90 + 30 + 450 + 50 + font12 + grey + selected + left + + + + + + 0 + 0 + 550 + 80 + button-nofocus.png + !Control.HasFocus(6) + VisibleFadeEffect + + + 0 + 0 + 550 + 80 + button-focus2.png + Control.HasFocus(6) + VisibleFadeEffect + + + 2 + 2 + 80 + 76 + $INFO[Listitem.Icon] + black-back2.png + 2 + + + 90 + 0 + 450 + 30 + font13 + white + selected + left + center + + + + 90 + 30 + 450 + 50 + font12 + grey + selected + left + + + + + + 570 + 65 + 25 + 510 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 3 + 3 + 61 + 61 + false + vertical + + + number of files/pages in list text label + 580 + 585 + 300 + 35 + font12 + right + center + true + grey + + Control.IsVisible(3) + + + number of files/pages in list text label + 580 + 587 + 300 + 35 + font12 + right + center + true + grey + + Control.IsVisible(6) + + + Manual button + 20 + 585 + 200 + 40 + + font12_title + white + white + center + 61 + 3 + 3 + 3 + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSlider.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSlider.xml new file mode 100644 index 000000000..d7395640b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSlider.xml @@ -0,0 +1,58 @@ + + 11 + WindowOpen + WindowClose + + 1 + 405 + 0 + + + + 0 + -10 + 460 + 80 + InfoMessagePanel.png + + + Dialog header + 20 + 10 + 230 + 20 + left + center + font12_title + blue + + + Slider Value + 440 + 10 + 220 + 20 + right + center + font12_title + white + + + Slider + 20 + 35 + 420 + 20 + center + - + - + osd_slider_bg_2.png + osd_slider_nibNF.png + osd_slider_nib.png + 11 + 11 + 11 + 11 + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSongInfo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSongInfo.xml new file mode 100644 index 000000000..51c2e2f68 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogSongInfo.xml @@ -0,0 +1,355 @@ + + 10 + + 1 + 185 + 105 + + dialogeffect + + + VisibleFadeEffect + !Window.IsVisible(MusicInformation) + + background image + 0 + 0 + 910 + 510 + DialogBack.png + + + Dialog Header image + 40 + 16 + 830 + 40 + dialogheader.png + + + header label + 40 + 20 + 830 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 820 + 14 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 3 + 3 + 3 + 3 + system.getbool(input.enablemouse) + + + Song Title value + 40 + 60 + 830 + 30 + center + center + font13 + + white + true + + + 40 + 120 + 200 + 200 + keep + $INFO[ListItem.Icon] + + + 40 + 320 + 200 + 200 + keep + $INFO[ListItem.Icon] + + + 250 + 120 + + Artist Title + 150 + 0 + 150 + 25 + right + center + font13 + blue + + + + Artist Value + 160 + 0 + 460 + 25 + left + center + font13 + white + + false + 2000 + + + Album Title + 150 + 30 + 150 + 25 + right + center + font13 + blue + + + + Album Value + 160 + 30 + 460 + 25 + left + center + font13 + white + + false + 2000 + + + Genre Title + 150 + 60 + 150 + 25 + right + center + font13 + blue + + false + 2000 + + + Genre Value + 160 + 60 + 460 + 25 + left + center + font13 + white + + + + Year Title + 150 + 90 + 150 + 25 + right + center + font13 + blue + + + + Year Value + 160 + 90 + 460 + 25 + left + center + font13 + white + + + + Track Number Title + 150 + 120 + 150 + 25 + right + center + font13 + blue + + + + Track Number Value + 160 + 120 + 460 + 25 + left + center + font13 + white + + + + Rating Title + 150 + 150 + 150 + 25 + right + center + font13 + blue + + + + 160 + 148 + + Rating value + 0 + 0 + 150 + 32 + keep + LeftRating/$INFO[ListItem.StarRating] + + + Decrease Rating + 160 + 5 + 33 + 22 + DecreaseRating + scroll-down-2.png + scroll-down-focus-2.png + 15 + 15 + 9000 + 9000 + + + Increase Rating + 193 + 5 + 33 + 22 + IncreaseRating + scroll-up-2.png + scroll-up-focus-2.png + 14 + 14 + 9000 + 9000 + + + + Comment Title + 150 + 180 + 150 + 25 + right + center + font13 + blue + + + + Comment value + 160 + 177 + 460 + 140 + font13 + - + + + + + 40 + 445 + + Ok button + 0 + 0 + 200 + 40 + + font12_title + center + 13 + 11 + 14 + 14 + + + Cancel button + 210 + 0 + 200 + 40 + + font12_title + center + 10 + 12 + 14 + 14 + + + Album Info button + 420 + 0 + 200 + 40 + + font12_title + center + 11 + 13 + 14 + 14 + + + Get Thumb button + 630 + 0 + 200 + 40 + + font12_title + center + 12 + 10 + 14 + 14 + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogTextViewer.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogTextViewer.xml new file mode 100644 index 000000000..490297ed4 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogTextViewer.xml @@ -0,0 +1,80 @@ + + 61 + + + WindowOpen + WindowClose + + 180 + 0 + 1100 + 720 + MediaBladeSub.png + + + Close Window button + 200 + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 61 + 61 + 61 + 61 + system.getbool(input.enablemouse) + + + WindowOpen + WindowClose + + header label + 210 + 40 + 1030 + 30 + font13_title + center + center + selected + black + + + textarea + 210 + 90 + 1000 + 600 + + font13 + justify + white + black + 61 + + + 1220 + 90 + 25 + 600 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 61 + 61 + 61 + 61 + true + vertical + + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogVideoInfo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogVideoInfo.xml new file mode 100644 index 000000000..5c349d3a5 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogVideoInfo.xml @@ -0,0 +1,994 @@ + + 8 + no + + + !Window.IsVisible(FileBrowser) + WindowOpen + WindowClose + + 180 + 0 + 1100 + 720 + MediaBladeSub.png + + + Close Window button + 230 + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 9000 + 9000 + 9000 + 9000 + system.getbool(input.enablemouse) + + + WindowOpen + WindowClose + + header label + 210 + 40 + 1030 + 30 + font24_title + + center + center + white + black + + + Media Codec Flagging Images + 200 + 480 + 600 + left + 2 + horizontal + VisibleFadeEffect + !Control.IsVisible(50) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + Control.HasFocus(12) + 90 + 387 + VisibleFadeEffect + + Current Fanart image + 0 + 0 + 675 + 380 + $INFO[ListItem.Art(fanart)] + button-nofocus.png + 4 + keep + !IsEmpty(Listitem.Art(fanart)) + + + IsEmpty(Listitem.Art(fanart)) + + No Fanart Back + 0 + 0 + 675 + 380 + Fanart_Fallback_Small.jpg + button-nofocus.png + 4 + stretch + 99FFFFFF + + + 0 + 0 + 675 + 380 + font30_title + white + black + center + center + + + + + + 90 + 387 + Control.HasFocus(15) + VisibleFadeEffect + + Border + 0 + 0 + 675 + 380 + button-nofocus.png + + + background + 5 + 5 + 665 + 370 + black-back.png + + + 0 + 0 + 675 + 380 + font30_title + grey2 + black + center + center + + !Player.HasVideo + + + No Fanart Back + 5 + 5 + 665 + 370 + Player.HasVideo + + + + [!container.content(tvshows) + !container.content(episodes) + !container.content(musicvideos)] + ![Control.HasFocus(12) | Control.HasFocus(15)] + 90 + 210 + VisibleFadeEffect + + 0 + 0 + 270 + 380 + stretch + button-nofocus.png + 4 + $VAR[PosterThumb] + + + 4 + 4 + 200 + 230 + stretch + GlassOverlay.png + AAFFFFFF + + + 290 + 20 + 740 + 330 + 49 + 49 + 9000 + 61 + - + 200 + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 565 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + 0 + 0 + 740 + 30 + Control.HasFocus(49) + MenuItemFO.png + VisibleFadeEffect + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 565 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + + $INFO[ListItem.OriginalTitle] + - + !IsEmpty(ListItem.OriginalTitle) + !stringcompare(ListItem.OriginalTitle,Listitem.Title) + + + + $INFO[ListItem.Director] + SendClick(2003,13) + !IsEmpty(ListItem.Director) + + + + $INFO[ListItem.Writer] + - + !IsEmpty(ListItem.Writer) + + + + $INFO[ListItem.Studio] + - + !IsEmpty(ListItem.Studio) + + + + $INFO[ListItem.Genre] + - + !IsEmpty(ListItem.Genre) + + + + $INFO[ListItem.Year] + - + !IsEmpty(ListItem.Year) + + + + $INFO[ListItem.Duration] $LOCALIZE[12391] + - + !IsEmpty(ListItem.Duration) + + + + $INFO[ListItem.RatingAndVotes] + - + !IsEmpty(ListItem.RatingAndVotes) + + + + $INFO[ListItem.TagLine] + - + !IsEmpty(ListItem.TagLine) + + + + $INFO[ListItem.PlotOutline] + - + !IsEmpty(ListItem.PlotOutline) + + + + $INFO[ListItem.mpaa] + - + !IsEmpty(ListItem.mpaa) + + + + $INFO[ListItem.FilenameAndPath] + - + !IsEmpty(ListItem.FilenameAndPath) + + + + + 290 + 370 + 740 + 4 + stretch + separator.png + + + + Container.Content(TVShows) + !Control.HasFocus(12) + 90 + 210 + VisibleFadeEffect + + 0 + 0 + 270 + 380 + stretch + button-nofocus.png + 4 + $VAR[PosterThumb] + + + 4 + 4 + 200 + 230 + stretch + GlassOverlay.png + AAFFFFFF + + + 290 + 20 + 740 + 330 + 49 + 49 + 9000 + 61 + - + 200 + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 565 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + 0 + 0 + 740 + 30 + Control.HasFocus(49) + MenuItemFO.png + VisibleFadeEffect + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 565 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + + $INFO[listitem.episode] [COLOR=grey] ($INFO[ListItem.Property(WatchedEpisodes),, $LOCALIZE[16102]] - $INFO[ListItem.Property(UnWatchedEpisodes), , $LOCALIZE[16101]])[/COLOR] + - + !IsEmpty(ListItem.Episode) + + + + $INFO[ListItem.Premiered] + - + !IsEmpty(ListItem.Premiered) + + + + $INFO[ListItem.Genre] + - + !IsEmpty(ListItem.Genre) + + + + $INFO[ListItem.Year] + - + !IsEmpty(ListItem.Year) + + + + $INFO[ListItem.Rating] + - + !IsEmpty(ListItem.Rating) + + + + $INFO[ListItem.FilenameAndPath] + - + !IsEmpty(ListItem.FilenameAndPath) + + + + + 290 + 370 + 740 + 4 + stretch + separator.png + + + + container.content(episodes) + !Control.HasFocus(12) + 90 + 210 + VisibleFadeEffect + + 0 + 0 + 380 + 250 + keep + button-nofocus.png + 4 + $INFO[ListItem.Icon] + + + 0 + 250 + 380 + 250 + keep + button-nofocus.png + 4 + $INFO[ListItem.Icon] + + + 390 + 20 + 640 + 330 + 49 + 49 + 9000 + 61 + - + 200 + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 465 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + 0 + 0 + 640 + 30 + Control.HasFocus(49) + MenuItemFO.png + VisibleFadeEffect + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 465 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + + $INFO[ListItem.TVShowTitle] + - + !IsEmpty(ListItem.TVShowTitle) + + + + $INFO[ListItem.Season] + - + !IsEmpty(ListItem.Season) + + + + $INFO[ListItem.Episode] + - + !IsEmpty(ListItem.Episode) + + + + $INFO[ListItem.Premiered] + - + !IsEmpty(ListItem.Premiered) + + + + $INFO[ListItem.Genre] + - + !IsEmpty(ListItem.Genre) + + + + $INFO[ListItem.Director] + SendClick(2003,13) + !IsEmpty(ListItem.Director) + + + + $INFO[ListItem.Writer] + - + !IsEmpty(ListItem.Writer) + + + + $INFO[ListItem.Year] + - + !IsEmpty(ListItem.Year) + + + + $INFO[ListItem.Duration] $LOCALIZE[12391] + - + !IsEmpty(ListItem.Duration) + + + + $INFO[ListItem.Rating] + - + !IsEmpty(ListItem.Rating) + + + + $INFO[ListItem.FilenameAndPath] + - + !IsEmpty(ListItem.FilenameAndPath) + + + + + 290 + 370 + 740 + 4 + stretch + separator.png + + + + container.content(musicvideos) + !Control.HasFocus(12) + 90 + 210 + VisibleFadeEffect + + 0 + 0 + 380 + 360 + keep + button-nofocus.png + 4 + $INFO[ListItem.Icon] + + + 390 + 20 + 640 + 330 + 49 + 49 + 9000 + 61 + - + 200 + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 465 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + 0 + 0 + 640 + 30 + Control.HasFocus(49) + MenuItemFO.png + VisibleFadeEffect + + + 165 + 0 + 160 + 30 + font13 + right + center + blue + selected + ListItem.Label + + + 175 + 0 + 465 + 30 + font13 + left + center + white + white + ListItem.Label2 + + + + + + $INFO[ListItem.Artist] + - + !IsEmpty(ListItem.Artist) + + + + $INFO[ListItem.Album] + - + !IsEmpty(ListItem.Album) + + + + $INFO[ListItem.Genre] + - + !IsEmpty(ListItem.Genre) + + + + $INFO[ListItem.Studio] + - + !IsEmpty(ListItem.Studio) + + + + $INFO[ListItem.Writer] + - + !IsEmpty(ListItem.Writer) + + + + $INFO[ListItem.Director] + - + !IsEmpty(ListItem.Director) + + + + $INFO[ListItem.Year] + - + !IsEmpty(ListItem.Year) + + + + $INFO[ListItem.Duration] $LOCALIZE[12391] + - + !IsEmpty(ListItem.Duration) + + + + $INFO[ListItem.FilenameAndPath] + - + !IsEmpty(ListItem.FilenameAndPath) + + + + + 390 + 370 + 640 + 4 + stretch + separator.png + + + + 130r + 480 + 400 + 30 + font13_title + grey2 + black + true + right + center + + Control.IsVisible(400) + + + 130r + 480 + 400 + 30 + font13_title + grey2 + black + true + right + center + + Control.IsVisible(50) + + + Next page button + 120r + 485 + page + - + 61 + 61 + 9000 + 49 + - + true + + + Description Value for Movies + 210 + 515 + 1030 + 120 + font12 + justify + white + 61 + + !Control.HasFocus(61) + Skin.HasSetting(AutoScroll) + !Control.IsVisible(50) + + + Actor image + 210 + 480 + 160 + 160 + $INFO[Container(50).Listitem.Icon] + keep + Control.IsVisible(50) + + + 380 + 520 + 860 + 120 + 9000 + 61 + 61 + 9000 + list + 61 + 200 + vertical + + + 0 + 0 + 430 + 40 + button-nofocus.png + + + 10 + 0 + 410 + 40 + font12 + left + center + white + ListItem.Label + + + + + 0 + 0 + 430 + 40 + !Control.HasFocus(50) + button-nofocus.png + + + 0 + 0 + 430 + 40 + Control.HasFocus(50) + button-focus2.png + + + 10 + 0 + 410 + 40 + font12 + left + center + white + ListItem.Label + + + + + 210 + 660 + 1030 + 40 + 2 + center + horizontal + 9000 + 9000 + 50 + 49 + + Play/browse to Show + ButtonInfoDialogsCommonValues + + button-focus.png + button-nofocus.png + 1024 + Container.Content(TVShows) + + + Cast/Review + ButtonInfoDialogsCommonValues + + + + Refresh + ButtonInfoDialogsCommonValues + + + + Get Thumb + ButtonInfoDialogsCommonValues + + + + Play Trailer + ButtonInfoDialogsCommonValues + + !IsEmpty(ListItem.Trailer) + !Skin.HasSetting(WindowedTrailer) + + + Play Trailer Windowed + ButtonInfoDialogsCommonValues + + PlayMedia($INFO[ListItem.Trailer],1) + !IsEmpty(ListItem.Trailer) + Skin.HasSetting(WindowedTrailer) + + + Fetch TvTunes stuff + ButtonInfoDialogsCommonValues + + XBMC.RunScript(script.tvtunes,mode=solo&tvpath=$INFO[ListItem.FilenameAndPath]&tvname=$INFO[ListItem.TVShowTitle]) + Skin.HasSetting(ActivateTvTunes) + System.HasAddon(script.tvtunes) + Container.Content(TVShows) + + + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogVolumeBar.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogVolumeBar.xml new file mode 100644 index 000000000..5caacb2af --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogVolumeBar.xml @@ -0,0 +1,64 @@ + + 1 + WindowOpen + WindowClose + + + 820 + 0 + + 0 + -10 + 300 + 50 + InfoMessagePanel.png + + + !player.passthrough + + Lite Volume Logo + 10 + 0 + 40 + 35 + keep + VolumeIcon.png + + + progress control + 50 + 8 + 230 + 18 + Player.Volume + + + + player.passthrough + + Lite Volume Logo + 10 + 0 + 40 + 35 + keep + CCFF0000 + VolumeIcon.png + + + Passthrough Label + 50 + 6 + 230 + 20 + + font10_title + white + black + left + center + + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/DialogYesNo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogYesNo.xml new file mode 100644 index 000000000..6bdfa353b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/DialogYesNo.xml @@ -0,0 +1,121 @@ + + 10 + + 1 + 335 + 230 + + dialogeffect + + + 0 + 0 + 610 + 240 + DialogBack.png + + + Dialog Header image + 40 + 16 + 530 + 40 + dialogheader.png + + + header label + 40 + 20 + 530 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 520 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + dialog line 1 + 30 + 60 + 550 + 30 + left + center + + font13 + + + dialog line 2 + 30 + 85 + 550 + 30 + left + center + + font13 + + + dialog line 3 + 30 + 110 + 550 + 30 + left + center + + font13 + + + Yes button + 95 + 175 + 200 + 40 + + font12_title + white + white + center + 10 + 10 + 11 + 11 + + + No button + 305 + 175 + 200 + 40 + + font12_title + white + white + center + 11 + 11 + 10 + 10 + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/FileBrowser.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/FileBrowser.xml new file mode 100644 index 000000000..9fa35d188 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/FileBrowser.xml @@ -0,0 +1,330 @@ + + 450 + no + + 1 + 0 + 0 + + + + 580 + WindowOpen + WindowOpen + WindowClose + WindowClose + + 0 + 0 + 1100 + 720 + MediaBladeSub.png + + + Close Window button + 20 + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 450 + 450 + 450 + 450 + system.getbool(input.enablemouse) + + + WindowOpen + WindowClose + + header label + 660 + 40 + 630 + 30 + font13_title + + right + center + selected + black + + + Path label + 660 + 70 + 630 + 30 + font13 + true + right + center + white + black + + + 20 + 460 + 221 + 225 + 5 + vertical + 450 + 450 + 9000 + 9000 + + OK button + 48 + center + ButtonMediaSubCommonValues + + + + Cancel button + 48 + center + ButtonMediaSubCommonValues + + + + Create folder button + 48 + center + ButtonMediaSubCommonValues + + + + Flip Image button + 48 + center + ButtonMediaSubCommonValues + + + + + 245 + 460 + 420 + 210 + button-nofocus.png + + + 250 + 465 + 410 + 200 + keep + $INFO[ListItem.Icon] + !SubString(Control.GetLabel(416),*) + + + 250 + 465 + 410 + 200 + keep + $INFO[ListItem.Icon] + SubString(Control.GetLabel(416),*) + + + 20 + 120 + 640 + 321 + 9000 + 60 + 450 + 450 + 60 + 200 + + + 0 + 0 + 640 + 41 + MenuItemNF.png + + + 10 + 2 + 38 + 38 + $INFO[ListItem.Icon] + + + 55 + 0 + 580 + 40 + font13 + left + center + green + ListItem.Label + + + + + 0 + 0 + 640 + 41 + !Control.HasFocus(450) + MenuItemNF.png + + + 0 + 0 + 640 + 41 + Control.HasFocus(450) + MenuItemFO.png + + + 10 + 2 + 38 + 38 + $INFO[ListItem.Icon] + + + 55 + 0 + 580 + 40 + font13 + left + center + green + ListItem.Label + + + + + 20 + 120 + 640 + 321 + 9000 + 60 + 451 + 451 + 60 + 200 + + + 0 + 0 + 640 + 41 + MenuItemNF.png + + + 10 + 2 + 38 + 38 + $INFO[ListItem.Icon] + + + 55 + 0 + 580 + 40 + font13 + left + center + green + ListItem.Label + + + + + 0 + 0 + 640 + 41 + !Control.HasFocus(451) + MenuItemNF.png + + + 0 + 0 + 640 + 41 + Control.HasFocus(451) + MenuItemFO.png + + + 10 + 2 + 38 + 38 + $INFO[ListItem.Icon] + + + 55 + 0 + 580 + 40 + font13 + left + center + green + ListItem.Label + + + + + + 650 + 120 + 25 + 320 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 450 + 450 + false + vertical + + + Page label + 660 + 680 + 560 + 30 + right + center + grey + font12 + + !Control.IsVisible(451) + + + Page label + 660 + 680 + 560 + 30 + right + center + grey + font12 + + Control.IsVisible(451) + + + + Clock + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/FileManager.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/FileManager.xml new file mode 100644 index 000000000..af9de17c7 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/FileManager.xml @@ -0,0 +1,470 @@ + + 20 + no + + CommonBackground + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + Section header image + 20 + 3 + 35 + 35 + keep + icon_system.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + + 30 + 40 + + + + + + + + + + 0 + 0 + 610 + 620 + ContentPanel.png + + + 0 + 612 + 610 + 64 + ContentPanelMirror.png + + + 510 + 20 + 80 + 80 + keep + Container(20).ListItem.Icon + button-nofocus.png + 3 + + + header label + 30 + 30 + 470 + 30 + font35_title + + left + center + blue + black + + + current directory text label + 30 + 70 + 470 + 30 + font12_title + selected + black + true + left + center + + + 10 + 110 + 25 + 490 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + - + - + 31 + 20 + 20 + 20 + false + vertical + + + 40 + 110 + 540 + 491 + 30 + 21 + 20 + 20 + 30 + 200 + + + 0 + 0 + 540 + 36 + MenuItemNF.png + + + 0 + 0 + 500 + 36 + font13 + center + selected + grey2 + left + ListItem.Label + + + 530 + 5 + 200 + 24 + font12 + center + selected + grey + right + ListItem.Label2 + + + + + 0 + 0 + 540 + 36 + !Control.HasFocus(20) + MenuItemNF.png + + + 0 + 0 + 540 + 36 + Control.HasFocus(20) + MenuItemFO.png + + + 340 + 2 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(20) + !IsEmpty(ListItem.Label2) + + + 0 + 0 + 500 + 36 + font13 + center + selected + white + left + ListItem.Label + + + 530 + 5 + 200 + 24 + font12 + center + selected + grey + right + ListItem.Label2 + + + + + + 650 + 40 + + + + + + + + + + 0 + 0 + 610 + 620 + ContentPanel.png + + + 0 + 612 + 610 + 64 + ContentPanelMirror.png + + + 20 + 20 + 80 + 80 + keep + Container(21).ListItem.Icon + button-nofocus.png + 3 + + + header label + 580 + 30 + 470 + 30 + font35_title + + right + center + blue + black + + + current directory text label + 580 + 70 + 470 + 30 + font12_title + selected + black + true + right + center + + + 575 + 110 + 25 + 490 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + - + - + 21 + 30 + 21 + 21 + false + vertical + + + 30 + 110 + 540 + 491 + 20 + 31 + 21 + 21 + 31 + 200 + + + 0 + 0 + 540 + 36 + MenuItemNF.png + + + 0 + 0 + 500 + 36 + font13 + center + selected + grey2 + left + ListItem.Label + + + 530 + 5 + 200 + 24 + font12 + center + selected + grey + right + ListItem.Label2 + + + + + 0 + 0 + 540 + 36 + !Control.HasFocus(21) + MenuItemNF.png + + + 0 + 0 + 540 + 36 + Control.HasFocus(21) + MenuItemFO.png + + + 340 + 2 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(21) + !IsEmpty(ListItem.Label2) + + + 0 + 0 + 500 + 36 + font13 + center + selected + white + left + ListItem.Label + + + 530 + 5 + 200 + 24 + font12 + center + selected + grey + right + ListItem.Label2 + + + + + + number of files/pages in left list text label + 40 + 53r + 570 + font12 + left + true + grey + black + + + + number of files/pages in left list text label + 40r + 53r + 570 + font12 + right + true + grey + black + + + + 595 + 55r + Window_OpenClose_Animation + system.getbool(input.enablemouse) + Window_OpenClose_Animation + + Back push button + 0 + 0 + 45 + 45 + + - + - + back + floor_buttonFO.png + floor_button.png + 50 + 50 + 50 + 50 + + + Back Icon + 5 + 5 + 35 + 35 + keep + icon_back.png + + + Home push button + 55 + 0 + 45 + 45 + + - + - + ActivateWindow(home) + floor_buttonFO.png + floor_button.png + 50 + 50 + 50 + 50 + + + Home Icon + 60 + 5 + 35 + 35 + keep + icon_home.png + + + Clock + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/Font.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/Font.xml new file mode 100644 index 000000000..521fa270a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/Font.xml @@ -0,0 +1,290 @@ + + + + + font10 + Roboto-Regular.ttf + 14 + + + font12 + Roboto-Regular.ttf + 17 + + + font13 + Roboto-Regular.ttf + 20 + + + font14 + Roboto-Regular.ttf + 22 + + + font16 + Roboto-Regular.ttf + 25 + + + font30 + Roboto-Regular.ttf + 30 + + + fontContextMenu + Roboto-Regular.ttf + 18 + + + + + + font10_title + Roboto-Bold.ttf + 12 + + + font12_title + Roboto-Bold.ttf + 17 + + + font13_title + Roboto-Bold.ttf + 20 + + + font24_title + Roboto-Bold.ttf + 24 + + + font28_title + Roboto-Bold.ttf + 28 + + + font30_title + Roboto-Bold.ttf + 30 + + + font35_title + Roboto-Bold.ttf + 35 + + + font45caps_title + Roboto-Bold.ttf + 45 + + + + font_MainMenu + DejaVuSans-Bold-Caps.ttf + 35 + + + WeatherTemp + Roboto-Bold.ttf + 80 + + + + + + + font10 + Roboto-Regular.ttf + 14 + + + font12 + Roboto-Regular.ttf + 17 + + + font13 + Roboto-Regular.ttf + 20 + + + font14 + Roboto-Regular.ttf + 22 + + + font16 + Roboto-Regular.ttf + 25 + + + font30 + Roboto-Regular.ttf + 30 + + + fontContextMenu + Roboto-Regular.ttf + 18 + + + + + + font10_title + Roboto-Bold.ttf + 12 + + + font12_title + Roboto-Bold.ttf + 17 + + + font13_title + Roboto-Bold.ttf + 20 + + + font24_title + Roboto-Bold.ttf + 24 + + + font28_title + Roboto-Bold.ttf + 28 + + + font30_title + Roboto-Bold.ttf + 30 + + + font35_title + Roboto-Bold.ttf + 35 + + + font45caps_title + Roboto-Bold.ttf + 45 + + + + font_MainMenu + Roboto-Bold.ttf + 40 + + + WeatherTemp + Roboto-Bold.ttf + 80 + + + + + + + font10 + arial.ttf + 12 + + + font12 + arial.ttf + 15 + + + font13 + arial.ttf + 18 + + + font14 + arial.ttf + 20 + + + font16 + arial.ttf + 23 + + + font30 + arial.ttf + 28 + + + fontContextMenu + arial.ttf + 16 + + + + + + font10_title + arial.ttf + 10 + + + + font12_title + arial.ttf + 15 + + + + font13_title + arial.ttf + 18 + + + + font24_title + arial.ttf + 22 + + + + font28_title + arial.ttf + 26 + + + + font30_title + arial.ttf + 28 + + + + font35_title + arial.ttf + 33 + + + + font45caps_title + arial.ttf + 43 + + + + + font_MainMenu + arial.ttf + 35 + + + + WeatherTemp + arial.ttf + 80 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/Home.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/Home.xml new file mode 100644 index 000000000..1eb6bd65b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/Home.xml @@ -0,0 +1,1197 @@ + + 9000 + no + SetProperty(VideosDirectLink,True) + ClearProperty(VideosDirectLink) + + CommonBackground + + 0 + 90r + 1280 + 90 + floor.png + WindowOpen + WindowClose + + + LOGO + 0 + 5 + 170 + 100 + keep + xbmc-logo.png + VisibleFadeEffect + Window_OpenClose_Animation + !Skin.HasSetting(homepageWeatherinfo) + + + + 0 + 60 + Player.HasAudio + !Skin.HasSetting(homepageMusicinfo) + VisibleFadeEffect + Window_OpenClose_Animation + + Cover image + 20 + 45 + 130 + 295 + keep + $INFO[Player.Art(thumb)] + ThumbBorder.png + 5 + + + Album Label + 170 + 265 + 25 + 1000 + + left + center + font12 + white + black + + + Title label + 170 + 285 + 30 + 1000 + + left + center + font13_title + white + black + + + Time Label + 170 + 310 + 30 + 300 + + left + center + font12 + white + black + + + + + 490r + 70 + Container(9000).HasFocus(12) + [PVR.IsRecording | PVR.HasNonRecordingTimer] + VisibleFadeEffect + Window_OpenClose_Animation + conditional + + conditional + PVR.HasNonRecordingTimer + + 0 + -5 + 490 + 90 + gradient.png + + + 400 + 0 + 80 + 80 + keep + $INFO[PVR.NextRecordingChannelIcon] + ThumbBorder.png + 4 + + + 365 + 5 + 25 + 25 + keep + PVR-HasTimer.png + + + Next Timer Header label + 355 + 5 + 25 + 400 + + right + center + font12_title + blue + black + + + NextRecordingDateTime + 390 + 30 + 25 + 400 + + right + center + font12 + true + black + + + NextRecordingTitle Channel + 390 + 50 + 25 + 800 + + right + center + font12_title + black + true + + + + PVR.IsRecording + + 0 + -5 + 490 + 90 + gradient.png + + + 400 + 0 + 80 + 80 + keep + $INFO[PVR.NowRecordingChannelIcon] + ThumbBorder.png + 4 + + + 360 + 5 + 30 + 25 + keep + PVR-IsRecording.png + + + Is Recording Header label + 350 + 5 + 25 + 400 + + right + center + font12_title + blue + black + + + NextRecordingDateTime + 390 + 30 + 25 + 400 + + right + center + font12 + true + black + + + NextRecordingTitle Channel + 390 + 50 + 30 + 800 + + right + center + font12_title + black + true + + + + + + 0 + 50 + Player.HasVideo + !Skin.HasSetting(homepageVideoinfo) + VisibleFadeEffect + Window_OpenClose_Animation + + !VideoPlayer.Content(Movies) + !VideoPlayer.Content(Episodes) + !VideoPlayer.Content(LiveTV) + + Cover image + 20 + 45 + 150 + 300 + keep + $INFO[Player.Art(thumb)] + ThumbBorder.png + 5 + + + Title label + 190 + 285 + 30 + 1000 + + left + center + font13_title + white + black + + + Time Label + 190 + 310 + 30 + 300 + + left + center + font12 + white + black + + + + VideoPlayer.Content(LiveTV) + + Cover image + 20 + 45 + 120 + 300 + keep + $INFO[Player.Art(thumb)] + ThumbBorder.png + 5 + + + Channel label + 160 + 265 + 25 + 660 + + left + center + font12 + white + black + + + Title label + 160 + 285 + 30 + 1000 + + left + center + font13_title + white + black + + + Time Label + 160 + 310 + 30 + 300 + + left + center + font12 + white + black + + + + VideoPlayer.Content(Movies) + + Cover image + 20 + 45 + 120 + 300 + keep + $INFO[Player.Art(thumb)] + ThumbBorder.png + 5 + + + Studio label + 160 + 265 + 25 + 1000 + + left + center + font12 + white + black + + + Title label + 160 + 285 + 30 + 1000 + + left + center + font13_title + white + black + + + Time Label + 160 + 310 + 30 + 300 + + left + center + font12 + white + black + + + + VideoPlayer.Content(Episodes) + + Cover image + 20 + 225 + 180 + 120 + scale + $INFO[Player.Art(thumb)] + ThumbBorder.png + 5 + + + TV Show Season Ep Label + 210 + 265 + 25 + 1000 + + left + center + font12 + white + black + + + Title label + 210 + 285 + 30 + 1000 + + left + center + font13_title + white + black + + + Time Label + 210 + 310 + 30 + 300 + + left + center + font12 + white + black + + + + HomeRecentlyAddedInfo + + Hidden Button to pass through navigation when recently added is disabled + -20 + -20 + 1 + 1 + + - + - + - + 9000 + 9000 + 20 + 608 + false + + + Controls for currently playing media + 545r + 370 + conditional + + + + + + + + + + Background End image + 0 + 0 + 35 + 35 + CCFFFFFF + HomeSubEnd.png + Conditional + + + CCFFFFFF + Global Search + 35 + 0 + 35 + 145 + 150 + 10 + left + center + font12 + grey2 + white + HomeSubFO.png + HomeSubNF.png + false + + RunScript(script.globalsearch) + icon_search.png + icon_search.png + 607 + 601 + 9003 + 9000 + System.HasAddon(script.globalsearch) + + + 180 + 9003 + 9000 + - + Player.HasMedia + + Background image + 0 + 0 + 205 + 35 + HomeSubNF.png + CCFFFFFF + + + !VideoPlayer.Content(LiveTV) + + 10 + 2 + 30 + 30 + + OSDPrevTrackFO.png + OSDPrevTrackNF.png + 608 + 602 + 9003 + 9000 + XBMC.PlayerControl(Previous) + + + 40 + 2 + 30 + 30 + + OSDRewindFO.png + OSDRewindNF.png + 601 + 603 + 9003 + 9000 + XBMC.PlayerControl(Rewind) + + + 70 + 2 + 30 + 30 + + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 602 + 604 + 9003 + 9000 + XBMC.PlayerControl(Play) + + + 100 + 2 + 30 + 30 + + OSDStopFO.png + OSDStopNF.png + 603 + 605 + 9003 + 9000 + down + XBMC.PlayerControl(Stop) + + + 130 + 2 + 30 + 30 + + OSDForwardFO.png + OSDForwardNF.png + 604 + 606 + 9003 + 9000 + XBMC.PlayerControl(Forward) + + + 160 + 2 + 30 + 30 + + OSDNextTrackFO.png + OSDNextTrackNF.png + 605 + 607 + 9003 + 9000 + XBMC.PlayerControl(Next) + + + + VideoPlayer.Content(LiveTV) + + 10 + 2 + 30 + 30 + + OSDChannelUPFO.png + OSDChannelUPNF.png + 608 + 602 + 9003 + 9000 + XBMC.PlayerControl(Previous) + + + 40 + 2 + 30 + 30 + + OSDChannelDownFO.png + OSDChannelDownNF.png + 601 + 603 + 9003 + 9000 + XBMC.PlayerControl(Next) + + + 70 + 2 + 30 + 30 + + OSDStopFO.png + OSDStopNF.png + 602 + 604 + 9003 + 9000 + down + XBMC.PlayerControl(Stop) + + + 100 + 2 + 30 + 30 + + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 603 + 606 + 9003 + 9000 + XBMC.PlayerControl(Play) + Player.PauseEnabled + Conditional + + + 160 + 2 + 30 + 30 + + OSDRecordOffFO.png + OSDRecordOffNF.png + 604 + 607 + 9003 + 9000 + XBMC.PlayerControl(record) + + + + + CCFFFFFF + Go to fullscreen Playback + 385 + 0 + 35 + 160 + 150 + 10 + left + center + font12 + grey2 + white + HomeSubFO.png + HomeSubNF.png + false + + fullscreen + GoFullscreen.png + GoFullscreen.png + 606 + 608 + 9003 + 9000 + Player.HasMedia + + + + 400 + + + + + + + + + + 0 + 70 + 9000 + 9002 + + HomeSubMenuCommonValues + 9010 + 9010 + Container(9000).HasFocus(2) + HomeSubMenuVideos + + + HomeSubMenuCommonValues + 9016 + 9016 + Container(9000).HasFocus(10) + HomeSubMenuMovies + + + HomeSubMenuCommonValues + 9017 + 9017 + Container(9000).HasFocus(11) + HomeSubMenuTVShows + + + HomeSubMenuCommonValues + 9011 + 9011 + Container(9000).HasFocus(3) + HomeSubMenuMusic + + + HomeSubMenuCommonValues + 9012 + 9012 + Container(9000).HasFocus(5) + HomeSubMenuSystem + + + HomeSubMenuCommonValues + 9013 + 9013 + Container(9000).HasFocus(6) + HomeSubMenuPlayDisc + + + HomeSubMenuCommonValues + 9014 + 9014 + Container(9000).HasFocus(12) + HomeSubMenuLiveTV + + + HomeSubMenuCommonValues + 9013 + 9013 + Container(9000).HasFocus(4) + HomeSubMenuPictures + + + + -100 + 0 + 1480 + 75 + HomeBack.png + + + 0 + 5 + 1280 + 6 + HomeOverlay1.png + + + -110 + 5 + 1500 + 60 + 9000 + 9000 + 608 + 603 + 9001 + - + 300 + 2 + 1 + Horizontal + + + 0 + 4 + 1 + 52 + HomeSeperator.png + + + 299 + 4 + 1 + 52 + HomeSeperator.png + + + 150 + 0 + 290 + 60 + font_MainMenu + grey3 + center + center + + + + + + 0 + 4 + 1 + 52 + HomeSeperator.png + + + 299 + 4 + 1 + 52 + HomeSeperator.png + + + 150 + 0 + 290 + 60 + font_MainMenu + grey3 + center + center + + + + 150 + 0 + 290 + 60 + font_MainMenu + blue + center + center + + Control.HasFocus(9000) + VisibleFadeEffect + + + + + + ActivateWindow(Weather) + - + - + !Skin.HasSetting(HomeMenuNoWeatherButton) + !IsEmpty(Weather.Plugin) + + + + ActivateWindow(Pictures) + - + - + !Skin.HasSetting(HomeMenuNoPicturesButton) + + + + ActivateWindow(PVR) + - + - + System.GetBool(pvrmanager.enabled) + + + + ActivateWindow(Videos) + ActivateWindow(Videos,root) + - + - + !Skin.HasSetting(HomeMenuNoVideosButton) + + + + ActivateWindow(Videos,MovieTitles,return) + - + - + !Skin.HasSetting(HomeMenuNoMovieButton) + Library.HasContent(Movies) + + + + ActivateWindow(Videos,TVShowTitles,return) + - + - + !Skin.HasSetting(HomeMenuNoTVShowButton) + Library.HasContent(TVShows) + + + + ActivateWindow(Music) + - + - + !Skin.HasSetting(HomeMenuNoMusicButton) + + + + ActivateWindow(Programs,Addons,return) + ActivateWindow(Programs) + - + - + !Skin.HasSetting(HomeMenuNoProgramsButton) + + + + XBMC.PlayDVD() + - + - + System.HasMediaDVD + + + + ActivateWindow(Settings) + - + - + + + + + 0 + 6 + 128 + 50 + SideFade.png + + + 128r + 6 + 128 + 60 + SideFade.png + + + + 9001 + 20 + + conditional + Container(9000).HasFocus(2) | Container(9000).HasFocus(10) | Container(9000).HasFocus(11) + 700 + 700 + 9001 + 20 + HomeAddonsCommonLayout + + HomeAddonItemsVideos + + + + conditional + Container(9000).HasFocus(3) + 703 + 703 + 9001 + 20 + HomeAddonsCommonLayout + + HomeAddonItemsMusic + + + + conditional + Container(9000).HasFocus(4) + 704 + 704 + 9001 + 20 + HomeAddonsCommonLayout + + HomeAddonItemsPictures + + + + conditional + Container(9000).HasFocus(1) + 705 + 705 + 9001 + 20 + HomeAddonsCommonLayout + + HomeAddonItemsPrograms + + + + + 0 + 33r + system.getbool(lookandfeel.enablerssfeeds) + Window_OpenClose_Animation + + RSS feed + 100 + 0 + 30 + 1145 + font12 + 1 + blue + blue + white + + + RSS background + 1250 + 2 + 24 + 24 + icon-rss.png + + + + 20 + 55r + Window_OpenClose_Animation + + Power push button + 55 + 0 + 45 + 45 + + - + - + ActivateWindow(ShutdownMenu) + floor_buttonFO.png + floor_button.png + 21 + 21 + 9002 + 9003 + + + Power Icon + 60 + 5 + 35 + 35 + keep + icon_power.png + + + Favourites push button + 0 + 0 + 45 + 45 + + - + - + ActivateWindow(Favourites) + floor_buttonFO.png + floor_button.png + 20 + 20 + 9002 + 9003 + + + Favourites Icon + 5 + 5 + 35 + 35 + keep + icon_favourites.png + + + + 20 + 0 + Skin.HasSetting(homepageWeatherinfo) + !IsEmpty(Weather.Plugin) + Window_OpenClose_Animation + + Weather image + 0 + 0 + 60 + 60 + keep + $INFO[Weather.Conditions] + + + Location label + 65 + 5 + 500 + 15 + left + center + font10 + white + black + + + + 65 + 20 + 1000 + 30 + horizontal + left + 0 + + Temp label + auto + 30 + left + center + font28_title + white + black + + + + Temp Units + auto + 22 + font10 + center + + white + black + !IsEmpty(Window(Weather).Property(Current.Temperature)) + + + Conditions Label + 500 + 22 + font10 + center + + grey2 + black + + + + Clock + + Date label + 20r + 35 + 200 + 15 + right + center + font10 + white + black + + Window_OpenClose_Animation + conditional + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesBackgroundBuilding.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesBackgroundBuilding.xml new file mode 100644 index 000000000..1c98596e5 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesBackgroundBuilding.xml @@ -0,0 +1,397 @@ + + + + Normal Default Background Image + 0 + 0 + 1280 + 720 + scale + $INFO[Skin.CurrentTheme,special://skin/backgrounds/,.jpg] + ![Skin.HasSetting(UseCustomBackground) + !IsEmpty(Skin.String(CustomBackgroundPath))] + VisibleFadeEffect + + + User Set Background Image + 0 + 0 + 1280 + 720 + scale + $INFO[Skin.String(CustomBackgroundPath)] + Skin.HasSetting(UseCustomBackground) + !IsEmpty(Skin.String(CustomBackgroundPath)) + VisibleFadeEffect + + + 0 + 0 + 1280 + 720 + scale + $INFO[ListItem.Art(fanart)] + backgroundfade + FanartCrossfadeTime + !Skin.HasSetting(HideBackGroundFanart) + !IsEmpty(ListItem.Property(Fanart_Image)) + Window_OpenClose_Animation + ![Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)] + + + 0 + 0 + 1280 + 720 + special://skin/backgrounds/media-overlay.jpg + [Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)] + ![Window.IsVisible(PVR) + [Control.IsVisible(11) | Control.IsVisible(12)]] + VisibleFadeEffect + + + 0 + 0 + 1280 + 720 + Player.HasAudio + !Skin.HasSetting(ShowBackgroundVis) + ![Window.IsVisible(PVR) + [Control.IsVisible(11) | Control.IsVisible(12)]] + !SubString(Window(videolibrary).Property(TvTunesIsAlive),True) + + + 0 + 0 + 1280 + 720 + Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo) + ![Window.IsVisible(PVR) + [Control.IsVisible(11) | Control.IsVisible(12)]] + + + 0 + -40 + 1280 + 120 + HomeNowPlayingBack.png + [Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)] | [Player.HasAudio + ![Skin.HasSetting(ShowBackgroundVis) | SubString(Window(videolibrary).Property(TvTunesIsAlive),True)]] | [!Skin.HasSetting(HideBackGroundFanart) + !IsEmpty(ListItem.Property(Fanart_Image))] + VisibleFadeEffect + + + + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + Window_OpenClose_Animation + + VisibleFadeEffect + Control.IsVisible(50) + + 50 + 60 + 750 + 600 + ContentPanel.png + + + 50 + 652 + 750 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(504) | Control.IsVisible(550) | Control.IsVisible(512) + + 50 + 60 + 640 + 600 + ContentPanel.png + + + 50 + 652 + 640 + 64 + ContentPanelMirror.png + + + 700 + 60 + 530 + 600 + ContentPanel.png + + + 700 + 652 + 530 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(551) | Control.IsVisible(560) | Control.IsVisible(511) | Control.IsVisible(506) | Control.IsVisible(513) + + 50 + 60 + 840 + 600 + ContentPanel.png + + + 50 + 652 + 840 + 64 + ContentPanelMirror.png + + + 900 + 60 + 330 + 600 + ContentPanel.png + + + 900 + 652 + 330 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(501) + + 50 + 50 + 1180 + 610 + ContentPanel.png + + + 50 + 652 + 1180 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(503) + + 50 + 230 + 640 + 430 + ContentPanel.png + + + 50 + 652 + 640 + 64 + ContentPanelMirror.png + + + 700 + 230 + 550 + 430 + ContentPanel.png + + + 700 + 652 + 550 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(51) | Control.IsVisible(500) | Control.IsVisible(505) + + 75 + 60 + 1130 + 600 + ContentPanel.png + + + 75 + 652 + 1130 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(514) + + 50 + 60 + 490 + 600 + ContentPanel.png + + + 50 + 652 + 490 + 64 + ContentPanelMirror.png + + + 550 + 60 + 680 + 600 + ContentPanel.png + + + 550 + 652 + 680 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(515) + + 50 + 60 + 400 + 600 + ContentPanel.png + + + 50 + 652 + 400 + 64 + ContentPanelMirror.png + + + 460 + 60 + 770 + 600 + ContentPanel.png + + + 460 + 652 + 770 + 64 + ContentPanelMirror.png + + + + + + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + Window_OpenClose_Animation + + VisibleFadeEffect + Control.IsVisible(10) | Control.IsVisible(14) | Control.IsVisible(15) | Control.IsVisible(16) | Control.IsVisible(17) + + 55 + 60 + 1170 + 600 + ContentPanel.png + + + 55 + 652 + 1170 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(11) | Control.IsVisible(12) + + 50 + 60 + 450 + 600 + ContentPanel.png + + + 50 + 652 + 450 + 64 + ContentPanelMirror.png + + + 510 + 60 + 730 + 600 + ContentPanel.png + + + 510 + 652 + 730 + 64 + ContentPanelMirror.png + + + + VisibleFadeEffect + Control.IsVisible(13) + + 50 + 60 + 840 + 600 + ContentPanel.png + + + 50 + 652 + 840 + 64 + ContentPanelMirror.png + + + 900 + 60 + 330 + 600 + ContentPanel.png + + + 900 + 652 + 330 + 64 + ContentPanelMirror.png + + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesCodecFlagging.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesCodecFlagging.xml new file mode 100644 index 000000000..a5151b05c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesCodecFlagging.xml @@ -0,0 +1,82 @@ + + + bluray + hddvd + dvd + TV + vhs + + + mpaa_general + mpaa_pg + mpaa_pg13 + mpaa_restricted + mpaa_nc17 + + + divx + $INFO[ListItem.VideoCodec] + + + + Video rez Image + 55 + 35 + keep + $INFO[ListItem.VideoResolution,flagging/video/,.png] + + + Codec Image + 80 + 35 + keep + $VAR[videocodec,flagging/video/,.png] + + + + + Video Type Image + 80 + 35 + keep + $VAR[typehackflagging,flagging/video/,.png] + !Skin.HasSetting(HideFilenameFlagging) + + + + + Rating image + 80 + 35 + keep + $VAR[rating,flagging/ratings/,.png] + + + + + Audio Codec Image + 80 + 35 + keep + $INFO[ListItem.AudioCodec,flagging/audio/,.png] + + + + + Audio Codec Image + 55 + 35 + keep + $INFO[ListItem.AudioChannels,flagging/audio/,.png] + + + + + Aspectratio Image + 55 + 35 + keep + $INFO[ListItem.VideoAspect,flagging/aspectratio/,.png] + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesHomeMenuItems.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesHomeMenuItems.xml new file mode 100644 index 000000000..fb4505799 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesHomeMenuItems.xml @@ -0,0 +1,437 @@ + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,MovieTitles,return) + Library.HasContent(Movies) + Skin.HasSetting(HomeMenuNoMovieButton) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,TvShowTitles,return) + Library.HasContent(TVShows) + Skin.HasSetting(HomeMenuNoTVShowButton) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,MusicVideoTitles,return) + Library.HasContent(MusicVideos) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,Files,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,Root) + Library.HasContent(Video) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,Addons,return) + + + 35 + 35 + HomeSubEnd.png + + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,RecentlyAddedMovies,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,MovieSets,return) + Library.HasContent(MovieSets) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,MovieTitles,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,MovieGenres,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,MovieYears,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,MovieActors,return) + + + 35 + 35 + HomeSubEnd.png + + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,RecentlyAddedEpisodes,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,TVShowTitles,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,TVShowGenres,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,TVShowYears,return) + + + ButtonHomeSubCommonValues + + ActivateWindow(Videos,TVShowActors,return) + + + 35 + 35 + HomeSubEnd.png + + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + ActivateWindow(MusicLibrary,Artists,return) + Library.HasContent(Music) + + + ButtonHomeSubCommonValues + + ActivateWindow(MusicLibrary,Albums,return) + Library.HasContent(Music) + + + ButtonHomeSubCommonValues + + ActivateWindow(MusicLibrary,Songs,return) + Library.HasContent(Music) + + + ButtonHomeSubCommonValues + + ActivateWindow(MusicFiles) + + + ButtonHomeSubCommonValues + + ActivateWindow(MusicLibrary,root) + Library.HasContent(Music) + + + ButtonHomeSubCommonValues + + ActivateWindow(MusicLibrary,Addons,return) + Library.HasContent(Music) + + + ButtonHomeSubCommonValues + + ActivateWindow(MusicFiles,Addons,return) + !Library.HasContent(Music) + + + 35 + 35 + HomeSubEnd.png + + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + ActivateWindow(Settings) + + + ButtonHomeSubCommonValues + + ActivateWindow(FileManager) + + + ButtonHomeSubCommonValues + + ActivateWindow(Profiles) + + + ButtonHomeSubCommonValues + + ActivateWindow(SystemInfo) + + + 35 + 35 + HomeSubEnd.png + + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + SetFocus(9000) + EjectTray() + + + 35 + 35 + HomeSubEnd.png + + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + ActivateWindow(Pictures,Addons,return) + + + 35 + 35 + HomeSubEnd.png + + + + + 35 + 35 + HomeSubEnd.png + + + ButtonHomeSubCommonValues + + ActivateWindow(PVR) + Setfocus(32) + Setfocus(11) + + + ButtonHomeSubCommonValues + + ActivateWindow(PVR) + Setfocus(33) + Setfocus(12) + + + ButtonHomeSubCommonValues + + ActivateWindow(PVR) + Setfocus(34) + Setfocus(13) + + + ButtonHomeSubCommonValues + + ActivateWindow(PVR) + Setfocus(35) + Setfocus(14) + + + 35 + 35 + HomeSubEnd.png + + + + + + + RunAddon($INFO[Skin.String(HomeVideosButton1)]) + $INFO[system.addonicon(Skin.String(HomeVideosButton1))] + - + !IsEmpty(Skin.String(HomeVideosButton1)) + + + + RunAddon($INFO[Skin.String(HomeVideosButton2)]) + $INFO[system.addonicon(Skin.String(HomeVideosButton2))] + - + !IsEmpty(Skin.String(HomeVideosButton2)) + + + + RunAddon($INFO[Skin.String(HomeVideosButton3)]) + $INFO[system.addonicon(Skin.String(HomeVideosButton3))] + - + !IsEmpty(Skin.String(HomeVideosButton3)) + + + + RunAddon($INFO[Skin.String(HomeVideosButton4)]) + $INFO[system.addonicon(Skin.String(HomeVideosButton4))] + - + !IsEmpty(Skin.String(HomeVideosButton4)) + + + + RunAddon($INFO[Skin.String(HomeVideosButton5)]) + $INFO[system.addonicon(Skin.String(HomeVideosButton5))] + - + !IsEmpty(Skin.String(HomeVideosButton5)) + + + + + + RunAddon($INFO[Skin.String(HomeMusicButton1)]) + $INFO[system.addonicon(Skin.String(HomeMusicButton1))] + - + !IsEmpty(Skin.String(HomeMusicButton1)) + + + + RunAddon($INFO[Skin.String(HomeMusicButton2)]) + $INFO[system.addonicon(Skin.String(HomeMusicButton2))] + - + !IsEmpty(Skin.String(HomeMusicButton2)) + + + + RunAddon($INFO[Skin.String(HomeMusicButton3)]) + $INFO[system.addonicon(Skin.String(HomeMusicButton3))] + - + !IsEmpty(Skin.String(HomeMusicButton3)) + + + + RunAddon($INFO[Skin.String(HomeMusicButton4)]) + $INFO[system.addonicon(Skin.String(HomeMusicButton4))] + - + !IsEmpty(Skin.String(HomeMusicButton4)) + + + + RunAddon($INFO[Skin.String(HomeMusicButton5)]) + $INFO[system.addonicon(Skin.String(HomeMusicButton5))] + - + !IsEmpty(Skin.String(HomeMusicButton5)) + + + + + + RunAddon($INFO[Skin.String(HomePictureButton1)]) + $INFO[system.addonicon(Skin.String(HomePictureButton1))] + - + !IsEmpty(Skin.String(HomePictureButton1)) + + + + RunAddon($INFO[Skin.String(HomePictureButton2)]) + $INFO[system.addonicon(Skin.String(HomePictureButton2))] + - + !IsEmpty(Skin.String(HomePictureButton2)) + + + + RunAddon($INFO[Skin.String(HomePictureButton3)]) + $INFO[system.addonicon(Skin.String(HomePictureButton3))] + - + !IsEmpty(Skin.String(HomePictureButton3)) + + + + RunAddon($INFO[Skin.String(HomePictureButton4)]) + $INFO[system.addonicon(Skin.String(HomePictureButton4))] + - + !IsEmpty(Skin.String(HomePictureButton4)) + + + + RunAddon($INFO[Skin.String(HomePictureButton5)]) + $INFO[system.addonicon(Skin.String(HomePictureButton5))] + - + !IsEmpty(Skin.String(HomePictureButton5)) + + + + + + RunAddon($INFO[Skin.String(HomeProgramButton1)]) + $INFO[system.addonicon(Skin.String(HomeProgramButton1))] + - + !IsEmpty(Skin.String(HomeProgramButton1)) + + + + RunAddon($INFO[Skin.String(HomeProgramButton2)]) + $INFO[system.addonicon(Skin.String(HomeProgramButton2))] + - + !IsEmpty(Skin.String(HomeProgramButton2)) + + + + RunAddon($INFO[Skin.String(HomeProgramButton3)]) + $INFO[system.addonicon(Skin.String(HomeProgramButton3))] + - + !IsEmpty(Skin.String(HomeProgramButton3)) + + + + RunAddon($INFO[Skin.String(HomeProgramButton4)]) + $INFO[system.addonicon(Skin.String(HomeProgramButton4))] + - + !IsEmpty(Skin.String(HomeProgramButton4)) + + + + RunAddon($INFO[Skin.String(HomeProgramButton5)]) + $INFO[system.addonicon(Skin.String(HomeProgramButton5))] + - + !IsEmpty(Skin.String(HomeProgramButton5)) + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesHomeRecentlyAdded.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesHomeRecentlyAdded.xml new file mode 100644 index 000000000..ba2db8f25 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/IncludesHomeRecentlyAdded.xml @@ -0,0 +1,780 @@ + + + + 20 + 608 + 603 + !Window.IsVisible(Favourites) + VisibleFadeEffect + WindowOpen + WindowClose + + 190 + 50 + Library.HasContent(Movies) + Container(9000).Hasfocus(10) + !Skin.HasSetting(HomepageHideRecentlyAddedVideo) + VisibleFadeEffect + + Title label + 180 + 220 + 20 + 540 + + center + center + font12_title + white + black + + + conditional + conditional + conditional + conditional + 0 + 0 + 900 + 220 + 8000 + 8000 + 20 + 608 + 603 + list + - + 200 + Horizontal + + + background + 0 + 0 + 180 + 220 + RecentAddedBack.png + + + 10 + 10 + 160 + 170 + $INFO[ListItem.Icon] + button-nofocus.png + 5 + + + 90 + 185 + 150 + 20 + font12 + white + black + selected + center + center + + + + + + background + 0 + 0 + 180 + 220 + RecentAddedBack.png + + + 10 + 10 + 160 + 170 + $INFO[ListItem.Icon] + folder-focus.png + 5 + Control.HasFocus(8000) + + + 10 + 10 + 160 + 170 + $INFO[ListItem.Icon] + button-nofocus.png + 5 + !Control.HasFocus(8000) + + + 90 + 185 + 150 + 20 + font12 + white + black + selected + center + center + + + + 90 + 185 + 150 + 20 + font12 + blue + selected + center + center + + Control.HasFocus(8000) + + + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.1.Path)]) + $INFO[Window.Property(LatestMovie.1.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.1.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.2.Path)]) + $INFO[Window.Property(LatestMovie.2.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.2.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.3.Path)]) + $INFO[Window.Property(LatestMovie.3.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.3.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.4.Path)]) + $INFO[Window.Property(LatestMovie.4.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.4.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.5.Path)]) + $INFO[Window.Property(LatestMovie.5.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.5.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.6.Path)]) + $INFO[Window.Property(LatestMovie.6.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.6.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.7.Path)]) + $INFO[Window.Property(LatestMovie.7.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.7.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.8.Path)]) + $INFO[Window.Property(LatestMovie.8.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.8.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.9.Path)]) + $INFO[Window.Property(LatestMovie.9.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.9.Title)) + + + + + PlayMedia($ESCINFO[Window.Property(LatestMovie.10.Path)]) + $INFO[Window.Property(LatestMovie.10.Thumb)] + - + !IsEmpty(Window.Property(LatestMovie.10.Title)) + + + + + left Arrow + -40 + 90 + 30 + 40 + arrow-big-left.png + arrow-big-left.png + Control.Move(8000,-1) + Control.HasFocus(8000) + Container(8000).HasPrevious + VisibleFadeEffect + + + right Arrow + 910 + 90 + 30 + 40 + arrow-big-right.png + arrow-big-right.png + Control.Move(8000,1) + Control.HasFocus(8000) + Container(8000).HasNext + VisibleFadeEffect + + + + 160 + 50 + Library.HasContent(TVShows) + Container(9000).Hasfocus(11) + !Skin.HasSetting(HomepageHideRecentlyAddedVideo) + VisibleFadeEffect + + Title label + 240 + 220 + 20 + 480 + + center + center + font12_title + white + black + + + conditional + conditional + conditional + 0 + 0 + 960 + 240 + 8001 + 8001 + 20 + 608 + 603 + list + - + 200 + Horizontal + 1 + 2 + + + background + 0 + 0 + 240 + 220 + RecentAddedBack.png + + + 10 + 10 + 220 + 155 + scale + $INFO[ListItem.Icon] + button-nofocus.png + 5 + + + 120 + 168 + 200 + 20 + font10 + grey2 + black + selected + center + center + + + + 120 + 185 + 200 + 20 + font12 + white + black + selected + center + center + + + + + + background + 0 + 0 + 240 + 220 + RecentAddedBack.png + + + 10 + 10 + 220 + 155 + scale + $INFO[ListItem.Icon] + folder-focus.png + 5 + Control.HasFocus(8001) + + + 10 + 10 + 220 + 155 + scale + $INFO[ListItem.Icon] + button-nofocus.png + 5 + !Control.HasFocus(8001) + + + 120 + 168 + 200 + 20 + font10 + grey2 + black + selected + center + center + + + + 120 + 185 + 200 + 20 + font12 + white + black + selected + center + center + + + + 120 + 185 + 200 + 20 + font12 + blue + selected + center + center + + Control.HasFocus(8001) + + + + + + $INFO[Window.Property(LatestEpisode.1.ShowTitle)] - $INFO[Window.Property(LatestEpisode.1.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.1.Path)]) + - + $INFO[Window.Property(LatestEpisode.1.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.1.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.2.ShowTitle)] - $INFO[Window.Property(LatestEpisode.2.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.2.Path)]) + - + $INFO[Window.Property(LatestEpisode.2.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.2.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.3.ShowTitle)] - $INFO[Window.Property(LatestEpisode.3.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.3.Path)]) + - + $INFO[Window.Property(LatestEpisode.3.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.3.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.4.ShowTitle)] - $INFO[Window.Property(LatestEpisode.4.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.4.Path)]) + - + $INFO[Window.Property(LatestEpisode.4.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.4.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.5.ShowTitle)] - $INFO[Window.Property(LatestEpisode.5.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.5.Path)]) + - + $INFO[Window.Property(LatestEpisode.5.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.5.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.6.ShowTitle)] - $INFO[Window.Property(LatestEpisode.6.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.6.Path)]) + - + $INFO[Window.Property(LatestEpisode.6.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.6.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.7.ShowTitle)] - $INFO[Window.Property(LatestEpisode.7.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.7.Path)]) + - + $INFO[Window.Property(LatestEpisode.7.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.7.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.8.ShowTitle)] - $INFO[Window.Property(LatestEpisode.8.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.8.Path)]) + - + $INFO[Window.Property(LatestEpisode.8.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.8.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.9.ShowTitle)] - $INFO[Window.Property(LatestEpisode.9.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.9.Path)]) + - + $INFO[Window.Property(LatestEpisode.9.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.9.EpisodeTitle)) + + + + $INFO[Window.Property(LatestEpisode.10.ShowTitle)] - $INFO[Window.Property(LatestEpisode.10.EpisodeNo)] + PlayMedia($ESCINFO[Window.Property(LatestEpisode.10.Path)]) + - + $INFO[Window.Property(LatestEpisode.10.Thumb)] + !IsEmpty(Window.Property(LatestEpisode.10.EpisodeTitle)) + + + + + left Arrow + -40 + 90 + 30 + 40 + arrow-big-left.png + arrow-big-left.png + Control.Move(8001,-1) + Control.HasFocus(8001) + Container(8001).HasPrevious + VisibleFadeEffect + + + right Arrow + 970 + 90 + 30 + 40 + arrow-big-right.png + arrow-big-right.png + Control.Move(8001,1) + Control.HasFocus(8001) + Container(8001).HasNext + VisibleFadeEffect + + + + 240 + 50 + Library.HasContent(Music) + Container(9000).Hasfocus(3) + !Skin.HasSetting(HomepageHideRecentlyAddedAlbums) + VisibleFadeEffect + + Title label + 160 + 220 + 20 + 480 + + center + center + font12_title + white + black + + + conditional + conditional + conditional + 0 + 0 + 800 + 240 + 8002 + 8002 + 20 + 608 + 603 + list + - + 200 + Horizontal + + + background + 0 + 0 + 200 + 220 + RecentAddedBack.png + + + 10 + 10 + 180 + 155 + keep + $INFO[ListItem.Icon] + button-nofocus.png + 5 + + + 100 + 170 + 180 + 20 + font10 + grey2 + black + selected + center + center + + + + 100 + 190 + 180 + 20 + font12 + white + black + selected + center + center + + + + + + background + 0 + 0 + 200 + 220 + RecentAddedBack.png + + + 10 + 10 + 180 + 155 + keep + $INFO[ListItem.Icon] + folder-focus.png + 5 + Control.HasFocus(8002) + + + 10 + 10 + 180 + 155 + keep + $INFO[ListItem.Icon] + button-nofocus.png + 5 + !Control.HasFocus(8002) + + + 100 + 170 + 180 + 20 + font10 + grey2 + black + selected + center + center + + + + 100 + 190 + 180 + 20 + font12 + white + black + selected + center + center + + + + 100 + 190 + 180 + 20 + font12 + blue + selected + center + center + + Control.HasFocus(8002) + + + + + + $INFO[Window.Property(LatestAlbum.1.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.1.Path)]") + - + $INFO[Window.Property(LatestAlbum.1.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.1.Title)) + + + + $INFO[Window.Property(LatestAlbum.2.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.2.Path)]") + - + $INFO[Window.Property(LatestAlbum.2.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.2.Title)) + + + + $INFO[Window.Property(LatestAlbum.3.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.3.Path)]") + - + $INFO[Window.Property(LatestAlbum.3.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.3.Title)) + + + + $INFO[Window.Property(LatestAlbum.4.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.4.Path)]") + - + $INFO[Window.Property(LatestAlbum.4.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.4.Title)) + + + + $INFO[Window.Property(LatestAlbum.5.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.5.Path)]") + - + $INFO[Window.Property(LatestAlbum.5.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.5.Title)) + + + + $INFO[Window.Property(LatestAlbum.6.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.6.Path)]") + - + $INFO[Window.Property(LatestAlbum.6.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.6.Title)) + + + + $INFO[Window.Property(LatestAlbum.7.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.7.Path)]") + - + $INFO[Window.Property(LatestAlbum.7.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.7.Title)) + + + + $INFO[Window.Property(LatestAlbum.8.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.8.Path)]") + - + $INFO[Window.Property(LatestAlbum.8.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.8.Title)) + + + + $INFO[Window.Property(LatestAlbum.9.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.9.Path)]") + - + $INFO[Window.Property(LatestAlbum.9.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.9.Title)) + + + + $INFO[Window.Property(LatestAlbum.10.Artist)] + PlayList.Clear + PlayMedia("$INFO[Window.Property(LatestAlbum.10.Path)]") + - + $INFO[Window.Property(LatestAlbum.10.Thumb)] + !IsEmpty(Window.Property(LatestAlbum.10.Title)) + + + + + left Arrow + -40 + 90 + 30 + 40 + arrow-big-left.png + arrow-big-left.png + Control.Move(8002,-1) + Control.HasFocus(8002) + Container(8002).HasPrevious + VisibleFadeEffect + + + right Arrow + 810 + 90 + 30 + 40 + arrow-big-right.png + arrow-big-right.png + Control.Move(8002,1) + Control.HasFocus(8002) + Container(8002).HasNext + VisibleFadeEffect + + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/LockSettings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/LockSettings.xml new file mode 100644 index 000000000..805782264 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/LockSettings.xml @@ -0,0 +1,138 @@ + + 5 + + 1 + 290 + 75 + + dialogeffect + + + background image + 0 + 0 + 700 + 570 + DialogBack.png + + + Dialog Header image + 40 + 16 + 620 + 40 + dialogheader.png + + + header label + 40 + 20 + 620 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 610 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 5 + 5 + 5 + 5 + system.getbool(input.enablemouse) + + + control area + 30 + 70 + 640 + 410 + 5 + 60 + 28 + 60 + 28 + 28 + + + Default Button + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + + + Default RadioButton + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + + + Default SpinControlex + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + center + yes + + + separator image + 2 + separator2.png + + + Ok Button + 145 + 505 + 200 + 40 + center + center + font12_title + + 29 + 29 + 5 + 5 + + + Cancel Button + 355 + 505 + 200 + 40 + center + center + font12_title + + 28 + 28 + 5 + 5 + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/LoginScreen.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/LoginScreen.xml new file mode 100644 index 000000000..b2a6c2e37 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/LoginScreen.xml @@ -0,0 +1,238 @@ + + 52 + no + + 1 + 0 + 0 + + + CommonBackground + + Window_OpenClose_Animation + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + LOGO + 0 + 5 + 170 + 100 + keep + xbmc-logo.png + Window_OpenClose_Animation + + + 265 + 60 + 750 + 600 + ContentPanel.png + + + 265 + 652 + 750 + 64 + ContentPanelMirror.png + + + 295 + 100 + 690 + 40 + font13 + grey2 + center + center + + + + 295 + 170 + 690 + 401 + 20 + 20 + 52 + 52 + list + 60 + 200 + + + 0 + 0 + 690 + 95 + button-nofocus.png + + + 10 + 10 + 80 + 75 + $INFO[ListItem.Icon] + + + 110 + 10 + 580 + 40 + font24_title + grey2 + selected + left + center + + + + 110 + 50 + 580 + 25 + font13 + grey2 + selected + left + center + + + + + + 0 + 0 + 690 + 95 + button-nofocus.png + !Control.HasFocus(52) + VisibleFadeEffect + + + 0 + 0 + 690 + 95 + button-focus2.png + Control.HasFocus(52) + VisibleFadeEffect + + + 10 + 10 + 80 + 75 + $INFO[ListItem.Icon] + + + 110 + 10 + 580 + 40 + font24_title + white + selected + left + center + + + + 110 + 50 + 580 + 25 + font13 + grey2 + selected + left + center + + + + + + LOGO + 265 + 580 + 220 + 80 + keep + Confluence_Logo.png + + + 940 + 600 + + 0 + 0 + 580 + 45 + font12 + grey2 + right + center + + + + Power push button + 10 + 0 + 45 + 45 + + - + - + ActivateWindow(ShutdownMenu) + floor_buttonFO.png + floor_button.png + 52 + 52 + 52 + 52 + CCFFFFFF + + + Power Icon + 15 + 5 + 35 + 35 + keep + icon_power.png + + + 13 + 3 + 30 + 29 + home-power-focus.gif + Control.HasFocus(20) + + + + Clock + + Date label + 20r + 35 + 200 + 15 + right + center + font10 + white + black + + Window_OpenClose_Animation + conditional + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MusicKaraokeLyrics.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MusicKaraokeLyrics.xml new file mode 100644 index 000000000..186900e61 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MusicKaraokeLyrics.xml @@ -0,0 +1,45 @@ + + + + visualisation + 0 + 0 + 1280 + 720 + false + + + fullscreen image + 0 + 0 + 1280 + 720 + false + + + MusicPlayer.Offset(number).Exists + !IntegerGreaterThan(Player.TimeRemaining,20) + Visible + 420 + 0 + + 0 + -10 + 470 + 55 + InfoMessagePanel.png + + + Next Song Name + 5 + 5 + 470 + 25 + font13_title + blue + + center + center + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MusicOSD.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MusicOSD.xml new file mode 100644 index 000000000..705ac064d --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MusicOSD.xml @@ -0,0 +1,321 @@ + + 602 + dialogeffect + + 1 + 0 + 0 + + + + Close Window button + 84r + 0 + 64 + 32 + + - + Dialog.Close(MusicOSD,true) + FullScreen + DialogCloseButton-focus.png + DialogCloseButton.png + 1000 + 1000 + 100 + 100 + VisibleChange + ![Window.IsVisible(AddonSettings) | Window.IsVisible(SelectDialog) | Window.IsVisible(VisualisationPresetList)] + + + Seek Slider + 430 + 82r + 720 + 16 + 702 + 26 + seek + seekslider2.png + osd_slider_nibNF.png + osd_slider_nib.png + VisibleChange + ![Window.IsVisible(AddonSettings) | Window.IsVisible(SelectDialog) | Window.IsVisible(VisualisationPresetList)] + + + 325 + 60r + VisibleChange + ![Window.IsVisible(AddonSettings) | Window.IsVisible(SelectDialog) | Window.IsVisible(VisualisationPresetList)] + + 0 + 0 + 55 + 55 + + - + OSDPrevTrackFO.png + OSDPrevTrackNF.png + 704 + 601 + 1000 + 1000 + PlayerControl(Previous) + + + 55 + 0 + 55 + 55 + + - + OSDRewindFO.png + OSDRewindNF.png + 600 + 602 + 1000 + 1000 + PlayerControl(Rewind) + + + 110 + 0 + 55 + 55 + + 208 + - + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 601 + 603 + 1000 + 1000 + PlayerControl(Play) + + + 165 + 0 + 55 + 55 + + - + OSDStopFO.png + OSDStopNF.png + 602 + 604 + 1000 + 1000 + PlayerControl(Stop) + + + 220 + 0 + 55 + 55 + + - + OSDForwardFO.png + OSDForwardNF.png + 603 + 605 + 1000 + 1000 + PlayerControl(Forward) + + + 275 + 0 + 55 + 55 + + - + OSDNextTrackFO.png + OSDNextTrackNF.png + 604 + 606 + 1000 + 1000 + PlayerControl(Next) + + + 330 + 0 + 55 + 55 + + - + - + - + XBMC.PlayerControl(Repeat) + 605 + 607 + 1000 + 1000 + + + 330 + 0 + 55 + 55 + OSDRepeatNF.png + !Playlist.IsRepeat + !Playlist.IsRepeatOne + !Control.HasFocus(606) + + + 330 + 0 + 55 + 55 + OSDRepeatFO.png + !Playlist.IsRepeat + !Playlist.IsRepeatOne + Control.HasFocus(606) + + + 330 + 0 + 55 + 55 + OSDRepeatOneNF.png + Playlist.IsRepeatOne + !Control.HasFocus(606) + + + 330 + 0 + 55 + 55 + OSDRepeatOneFO.png + Playlist.IsRepeatOne + Control.HasFocus(606) + + + 330 + 0 + 55 + 55 + OSDRepeatAllNF.png + Playlist.IsRepeat + !Control.HasFocus(606) + + + 330 + 0 + 55 + 55 + OSDRepeatAllFO.png + Playlist.IsRepeat + Control.HasFocus(606) + + + 385 + 0 + 55 + 55 + + - + OSDRandomOffFO.png + OSDRandomOffNF.png + Playlist.IsRandom + OSDRandomOnFO.png + OSDRandomOnNF.png + XBMC.PlayerControl(Random) + 606 + 701 + 1000 + 1000 + + + + 300r + 60r + VisibleChange + ![Window.IsVisible(AddonSettings) | Window.IsVisible(SelectDialog) | Window.IsVisible(VisualisationPresetList)] + + 0 + 0 + 55 + 55 + + - + OSDLyricsFO.png + OSDLyricsNF.png + OSDLyricsFO.png + OSDLyricsNF.png + 607 + 500 + 1000 + 1000 + Close + XBMC.RunScript($INFO[Skin.String(LyricScript_Path)]) + Skin.SetAddon(LyricScript_Path,xbmc.python.lyrics) + Close + XBMC.RunScript($INFO[Skin.String(LyricScript_Path)]) + IsEmpty(Skin.String(LyricScript_Path)) + + + 55 + 0 + 55 + 55 + + - + OSDVizFO.png + OSDVizNF.png + 701 + 702 + 1000 + 1000 + + + 110 + 0 + 55 + 55 + + - + OSDPresetSettingsFO.png + OSDPresetSettingsNF.png + 500 + 703 + 1000 + 1000 + Addon.Default.OpenSettings(xbmc.player.musicviz) + + + 165 + 0 + 55 + 55 + + - + OSDPreFO.png + OSDPreNF.png + 702 + 704 + 1000 + 1000 + ActivateWindow(122) + + + 220 + 0 + 55 + 55 + + - + OSDRecordOffFO.png + OSDRecordOffNF.png + 703 + 600 + 1000 + 1000 + XBMC.PlayerControl(record) + Player.CanRecord + Conditional + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MusicOverlay.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MusicOverlay.xml new file mode 100644 index 000000000..8a8debc23 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MusicOverlay.xml @@ -0,0 +1,5 @@ + + - + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MusicVisualisation.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MusicVisualisation.xml new file mode 100644 index 000000000..fa9f9da03 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MusicVisualisation.xml @@ -0,0 +1,274 @@ + + - + no + + + + visualisation + 0 + 0 + 1280 + 720 + + + Fanart Image for Artist + 0 + 0 + 1280 + 720 + $INFO[Player.Art(fanart)] + AAFFFFFF + !IsEmpty(Player.Art(fanart)) + !Skin.HasSetting(HideVisualizationFanart) + 600 + + + + VisibleChange + [Player.ShowInfo | Window.IsActive(MusicOSD)] + ![Window.IsVisible(AddonSettings) | Window.IsVisible(SelectDialog) | Window.IsVisible(VisualisationPresetList)] + + 0 + -150 + 1280 + 256 + HomeNowPlayingBack.png + + + Partymode Header label + 30 + 5 + 800 + 25 + left + center + font13 + white + black + + MusicPartyMode.Enabled + + + Normal Header label + 30 + 5 + 800 + 25 + left + center + font13 + white + black + + !MusicPartyMode.Enabled + + + Clock label + 1250 + 5 + 800 + 25 + right + center + font13 + white + black + + conditional + + + 0 + 230r + 1280 + 230 + HomeNowPlayingBack.png + + + cover image + 20 + 250r + 300 + 230 + $INFO[Player.Art(thumb)] + keep + ThumbShadow.png + 8 + + + 330 + 185r + + Heading label + 0 + 0 + 910 + 25 + left + font13 + + white + black + conditional + + + Artist label + 20 + 30 + 910 + 25 + left + font12 + + grey2 + black + + + 20 + 60 + 910 + 35 + 5 + horizontal + + auto + 30 + font30 + left + center + + orange + true + + + Audio Codec Image + 80 + 35 + keep + $INFO[MusicPlayer.Codec,flagging/audio/,.png] + + + Rating + 110 + 35 + + rating back + 0 + 0 + 110 + 35 + stretch + flagging/blank.png + + + Rating + 5 + 0 + 100 + 35 + keep + $INFO[Player.StarRating,LeftRating/] + + + + + 0 + 120 + 910 + 25 + + center + center + font12 + grey + true + MusicPlayer.HasNext + !Window.IsVisible(MusicOSD) + VisibleChange + + + + 330 + 95r + + 0 + 0 + 100 + 40 + font13 + left + center + + + + Progressbar + 100 + 15 + 720 + 16 + Player.Progress + + + 920 + 0 + 100 + 40 + font13 + right + center + + + + + + + 0 + 50 + Player.ShowCodec + ![Window.IsVisible(script-XBMC_Lyrics-main.xml) | Window.IsVisible(VisualisationSettings) | Window.IsVisible(VisualisationPresetList)] + VisibleChange + + media info background image + 0 + 0 + 1280 + 105 + AAFFFFFF + black-back.png + + + row 1 label + 50 + 10 + + left + + font12 + + + row 2 label + 50 + 40 + + left + + font12 + Visualisation.Locked + + + Unlocked row 2 label + 50 + 40 + + left + + font12 + !Visualisation.Locked + + + row 3 label + 50 + 70 + + left + + font12 + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicNav.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicNav.xml new file mode 100644 index 000000000..1c7be7e35 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicNav.xml @@ -0,0 +1,153 @@ + + 50 + no + ActivateWindow(1112) + 50,51,500,550,551,509,506,511,512,513 + + CommonBackground + ContentPanelBackgrounds + + Window_OpenClose_Animation + CommonRootView + FullWidthList + ThumbnailView + MusicInfoListView + AlbumWrapView2_Fanart + MusicVideoInfoListView + ArtistMediaListView + AlbumInfoListView + AddonInfoListView1 + AddonInfoThumbView1 + + CommonPageCount + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + ScrollOffsetLabel + + Section header image + 20 + 3 + 35 + 35 + keep + icon_music.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 50 + 0 + + 250 + 35 + font12 + + blue + center + center + + + View As button + 235 + ButtonCommonValues + + + + Sort by button + ButtonCommonValues + + + + Sort asc + ButtonCommonValues + button-focus.png + - + + 31050 + Container.SortDirection(Ascending) + + + Library button + + ReplaceWindow(MusicFiles) + Window.IsVisible(MusicLibrary) + ButtonCommonValues + + + Container.CanFilter + !Container.CanFilterAdvanced + Filter + 230 + ButtonCommonValues + + + + Container.CanFilterAdvanced + Filter + ButtonCommonValues + + Container.Filtered + right + Filter + + + Show Info Toggle + 170 + ButtonCommonValues + + Skin.ToggleSetting(View509HideInfo) + Skin.HasSetting(View509HideInfo) + Control.IsVisible(509) + + + 250 + 35 + font12 + + blue + center + center + + + Search + ButtonCommonValues + + + + PartyMode + + ButtonCommonValues + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicPlaylist.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicPlaylist.xml new file mode 100644 index 000000000..a2447827a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicPlaylist.xml @@ -0,0 +1,114 @@ + + 50 + no + ActivateWindow(1112) + 50,51,506 + + CommonBackground + ContentPanelBackgrounds + + Window_OpenClose_Animation + CommonRootView + FullWidthList + MusicInfoListView + + CommonPageCount + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + ScrollOffsetLabel + + Section header image + 20 + 3 + 35 + 35 + keep + icon_music.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 50 + 0 + + 250 + 35 + font12 + + blue + center + center + + + View As button + 235 + ButtonCommonValues + + + + 250 + 35 + font12 + + blue + center + center + + + Shuffle button + ButtonCommonValues + + + + Repeat button + 235 + ButtonCommonValues + + + + Save button + + 235 + ButtonCommonValues + + + Clear button + + ReplaceWindow(music) + 235 + ButtonCommonValues + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicPlaylistEditor.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicPlaylistEditor.xml new file mode 100644 index 000000000..c3ae0e852 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicPlaylistEditor.xml @@ -0,0 +1,427 @@ + + 6 + no + + CommonBackground + + 10 + Window_OpenClose_Animation + + 445 + 40 + 390 + 640 + black-back.png + + + 475 + 45 + 330 + 30 + font13_title + blue + true + center + center + + + + 475 + 550 + + Open Button + 0 + 0 + 330 + + center + ButtonHomeSubCommonValues + 50 + 100 + 8 + 7 + + + Save Button + 0 + 40 + 330 + + center + ButtonHomeSubCommonValues + 50 + 100 + 6 + 8 + + + Clear button + 0 + 80 + 330 + + center + ButtonHomeSubCommonValues + 50 + 100 + 7 + 6 + + + + Control.HasFocus(50) + VisibleFadeEffect + + 480 + 90 + 320 + 200 + keep + $INFO[Container(50).ListItem.Icon] + + + 480 + 300 + 320 + 220 + font11 + center + white + black + - + + + + + Control.HasFocus(100) + VisibleFadeEffect + + 465 + 90 + 350 + 200 + keep + $INFO[Container(100).ListItem.Icon] + + + 465 + 300 + 350 + 220 + font11 + center + white + black + - + + + + + + WindowOpen + WindowClose + + 0 + 0 + 480 + 720 + MediaBladeSub.png + + + 30 + 40 + 410 + 30 + font24_title + white + true + left + center + + + + 10 + 80 + 460 + 4 + separator.png + + + 10 + 50r + 460 + 4 + separator.png + + + number of files/pages in left list text label + 30 + 38r + 410 + font12 + left + true + blue + black + + + + 20 + 100 + 25 + 540 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 31 + 50 + false + vertical + + + 50 + 100 + 400 + 540 + 30 + 9000 + 50 + 50 + list + 30 + 200 + + + 5 + 0 + 380 + 30 + font12 + grey2 + selected + left + center + ListItem.Label + + + 395 + 0 + 360 + 30 + font12 + grey2 + selected + right + center + ListItem.Label2 + + + + + 0 + 0 + 400 + 30 + MenuItemFO.png + Control.HasFocus(50) + VisibleFadeEffect + + + 5 + 0 + 380 + 30 + font12 + white + selected + left + center + ListItem.Label + + + 395 + 0 + 360 + 30 + font12 + white + selected + right + center + ListItem.Label2 + + + + + + WindowOpen + WindowClose + 800 + + 0 + 0 + 480 + 720 + MediaBladeSub.png + + + 440 + 40 + 410 + 30 + font24_title + white + true + right + center + + + + 10 + 80 + 460 + 4 + separator.png + + + 10 + 50r + 460 + 4 + separator.png + + + Page Count Label + 440 + 38r + 300 + 20 + font12 + blue + false + right + center + + + + 430 + 100 + 25 + 550 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 100 + 30 + false + vertical + + + 20 + 100 + 400 + 550 + 9000 + 31 + 100 + 100 + list + 31 + 200 + + + 5 + 0 + 380 + 30 + font12 + grey2 + selected + left + center + ListItem.Label + + + 395 + 0 + 360 + 30 + font12 + grey2 + selected + right + center + ListItem.Label2 + + + + + 0 + 0 + 400 + 30 + MenuItemFO.png + Control.HasFocus(100) + VisibleFadeEffect + + + 5 + 0 + 380 + 30 + font12 + white + selected + left + center + ListItem.Label + + + 395 + 0 + 360 + 30 + font12 + white + selected + right + center + ListItem.Label2 + + + + + + Section header image + 20 + 3 + 35 + 35 + keep + icon_music.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicSongs.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicSongs.xml new file mode 100644 index 000000000..d37f15fc7 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyMusicSongs.xml @@ -0,0 +1,122 @@ + + 50 + no + ActivateWindow(1112) + 50,51,550,551,500,506 + + CommonBackground + ContentPanelBackgrounds + + Window_OpenClose_Animation + CommonRootView + FullWidthList + ThumbnailView + MusicInfoListView + AddonInfoListView1 + AddonInfoThumbView1 + + CommonPageCount + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + ScrollOffsetLabel + + Section header image + 20 + 3 + 35 + 35 + keep + icon_music.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 50 + 0 + + 250 + 35 + font12 + + blue + center + center + + + View As button + 235 + ButtonCommonValues + + + + Sort by button + ButtonCommonValues + + + + Sort asc + ButtonCommonValues + button-focus.png + - + + 31050 + Container.SortDirection(Ascending) + + + Library button + + ReplaceWindow(MusicLibrary) + Window.IsVisible(MusicLibrary) + ButtonCommonValues + Library.HasContent(Music) + + + Container.CanFilter + !Container.CanFilterAdvanced + Filter + 230 + ButtonCommonValues + + + + Container.CanFilterAdvanced + Filter + ButtonCommonValues + + Container.Filtered + right + Filter + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyPVR.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyPVR.xml new file mode 100644 index 000000000..68cabee73 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyPVR.xml @@ -0,0 +1,212 @@ + + 32 + no + + CommonBackground + ContentPanelBackgroundsPVR + MainWindowMouseButtons + + Section header image + 20 + 3 + 35 + 35 + keep + icon_video.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + + + WindowTitleCommons + + + + + Empty so we can pass the values up one level + False + + + Empty so we can pass the values up one level + False + + + Small Media Window + 530 + 80 + Control.IsVisible(11) | Control.IsVisible(12) + VisibleFadeEffect + Window_OpenClose_Animation + + 0 + 0 + 690 + 400 + button-nofocus.png + + + 5 + 5 + 680 + 390 + $INFO[Skin.String(Home_Custom_Back_TV_Folder)] + VisibleFadeEffect + !Player.HasVideo + + + 5 + 5 + 680 + 390 + Player.HasVideo + WindowClose + + + 1 + 1 + 688 + 35 + black-back.png + DDFFFFFF + Player.HasVideo + + + Current Video label + 30 + 1 + 650 + 35 + font12 + grey2 + center + center + + Player.HasVideo + + + + + + Window_OpenClose_Animation + EPGTimelineView--> + LiveTVChannelView + LiveRadioChannelView + LiveTVRecordingsView + LiveTVTimersView + LiveTVGuideChannelView + LiveTVGuideNowNextView + LiveTVSearchView + + CommonNowPlaying + BehindDialogFadeOut + ScrollOffsetLabel + + + 0 + 0 + 1280 + 720 + black-back.png + Visible + Hidden + Window.IsActive(FileBrowser) | Window.IsActive(PVRGuideInfo) | Window.IsActive(PVRRecordingInfo) | Window.IsActive(PVRTimerSetting) | Window.IsActive(PVRGroupManager) | Window.IsActive(PVRGuideSearch) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 0 + + 250 + 35 + font12caps + + blue + center + center + + + TV Channels + 0 + 0 + 235 + ButtonCommonValues + + + + Radio Channels + 0 + 40 + 235 + ButtonCommonValues + + 12 + 12 + + + TV Guide + 0 + 80 + 235 + ButtonCommonValues + + + + Recordings + 0 + 120 + 235 + ButtonCommonValues + + + + Timers + 0 + 160 + 235 + ButtonCommonValues + + + + Search + 0 + 200 + 235 + ButtonCommonValues + + + CommonNowPlaying_Controls + + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyPics.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyPics.xml new file mode 100644 index 000000000..9033eed3b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyPics.xml @@ -0,0 +1,152 @@ + + 50 + no + ActivateWindow(1112) + 50,51,550,551,500,514,510 + + CommonBackground + + 0 + 0 + 1280 + 625 + $INFO[ListItem.FilenameAndPath] + 1000 + keep + VisibleFadeEffect + Control.IsVisible(510) + Window_OpenClose_Animation + + ContentPanelBackgrounds + + Window_OpenClose_Animation + CommonRootView + FullWidthList + ThumbnailView + PictureWrapView + PictureThumbView + AddonInfoListView1 + AddonInfoThumbView1 + + CommonPageCount + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + ScrollOffsetLabel + + Section header image + 20 + 3 + 35 + 35 + keep + icon_pictures.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 50 + 0 + + 250 + 35 + font12 + + blue + center + center + + + View As button + 235 + ButtonCommonValues + + + + Sort by button + ButtonCommonValues + + + + Sort asc + ButtonCommonValues + button-focus.png + - + + 31050 + Container.SortDirection(Ascending) + + + Container.CanFilter + !Container.CanFilterAdvanced + Filter + 230 + ButtonCommonValues + + + + Container.CanFilterAdvanced + Filter + ButtonCommonValues + + right + Filter + + + 250 + 35 + font12 + + blue + center + center + + + Slideshow + 235 + ButtonCommonValues + + + + Recersive Slideshow + 235 + ButtonCommonValues + + + + Randomize Toggle + ButtonCommonValues + + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyPrograms.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyPrograms.xml new file mode 100644 index 000000000..3692a4b9a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyPrograms.xml @@ -0,0 +1,112 @@ + + 50 + no + ActivateWindow(1112) + 50,51,500,550,551 + + CommonBackground + ContentPanelBackgrounds + + Window_OpenClose_Animation + CommonRootView + FullWidthList + ThumbnailView + AddonInfoListView1 + AddonInfoThumbView1 + + CommonPageCount + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + ScrollOffsetLabel + + Section header image + 20 + 3 + 35 + 35 + keep + icon_addons.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 50 + 0 + + 250 + 35 + font12 + + blue + center + center + + + View As button + 235 + ButtonCommonValues + + + + Sort by button + ButtonCommonValues + + + + Sort asc + ButtonCommonValues + button-focus.png + - + + 31050 + Container.SortDirection(Ascending) + + + Container.CanFilter + !Container.CanFilterAdvanced + Filter + 230 + ButtonCommonValues + + + + Container.CanFilterAdvanced + Filter + ButtonCommonValues + + right + Filter + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyVideoNav.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyVideoNav.xml new file mode 100644 index 000000000..cb7bce38b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyVideoNav.xml @@ -0,0 +1,178 @@ + + 50 + no + 50,51,500,550,551,560,501,508,504,503,515,505,511 + ActivateWindow(1112) + XBMC.RunScript(script.tvtunes,backend=True&loop=False) + + CommonBackground + ContentPanelBackgrounds + + Window_OpenClose_Animation + CommonRootView + FullWidthList + ThumbnailView + PosterWrapView + PosterWrapView2_Fanart + MediaListView3 + MediaListView2 + MediaListView4 + WideIconView + MusicVideoInfoListView + AddonInfoListView1 + AddonInfoThumbView1 + LiveTVView1 + + CommonPageCount + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + ScrollOffsetLabel + + Section header image + 20 + 3 + 35 + 35 + keep + icon_video.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 9000 + 9000 + 50 + 0 + + 250 + 35 + font12 + + blue + center + center + + + View As button + 235 + ButtonCommonValues + + + + Sort by button + ButtonCommonValues + + + + Sort asc + ButtonCommonValues + button-focus.png + - + + 31050 + Container.SortDirection(Ascending) + + + Container.CanFilter + !Container.CanFilterAdvanced + Filter + 230 + ButtonCommonValues + + + + Container.CanFilterAdvanced + Filter + ButtonCommonValues + + Container.Filtered + right + Filter + + + Show Info Toggle + 170 + ButtonCommonValues + + Skin.ToggleSetting(View508HideInfo) + Skin.HasSetting(View508HideInfo) + Control.IsVisible(508) + + + 250 + 35 + font12 + + blue + center + center + + + Watched Toggle + 170 + ButtonCommonValues + + + + Search + ButtonCommonValues + + + + Stack Toggle + 170 + ButtonCommonValues + + + + Flatten + 170 + ButtonCommonValues + + + + PartyMode + + ButtonCommonValues + Container.Content(MusicVideos) + + + Unlock Shares + 170 + ButtonCommonValues + + xbmc.mastermode + system.ismaster + system.haslocks + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyVideoPlaylist.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyVideoPlaylist.xml new file mode 100644 index 000000000..1653e852b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyVideoPlaylist.xml @@ -0,0 +1,113 @@ + + 50 + no + ActivateWindow(1112) + 50,51 + + CommonBackground + ContentPanelBackgrounds + + Window_OpenClose_Animation + CommonRootView + FullWidthList + + CommonPageCount + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + ScrollOffsetLabel + + Section header image + 20 + 3 + 35 + 35 + keep + icon_video.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 50 + 50 + 9000 + 9000 + 0 + + 250 + 35 + font12 + + blue + center + center + + + View As button + 235 + ButtonCommonValues + + + + 250 + 35 + font12 + + blue + center + center + + + Shuffle button + ButtonCommonValues + + + + Repeat button + 235 + ButtonCommonValues + + + + Save button + + 235 + ButtonCommonValues + + + Clear button + + ReplaceWindow(Videos) + 235 + ButtonCommonValues + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/MyWeather.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/MyWeather.xml new file mode 100644 index 000000000..1b7f02d76 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/MyWeather.xml @@ -0,0 +1,861 @@ + + 50 + no + ActivateWindow(1112) + + CommonBackground + + 0 + 0 + 1280 + 720 + $INFO[Skin.String(WeatherFanartDir)]$INFO[Window(Weather).Property(Current.FanartCode)] + 10000 + true + 1000 + VisibleFadeEffect + Skin.HasSetting(ShowWeatherFanart) + !IsEmpty(Skin.String(WeatherFanartDir)) + WindowClose + + + Section header image + 20 + 3 + 35 + 35 + keep + icon_weather.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + + 0 + 100r + 1280 + 100 + floor.png + VisibleFadeEffect + WindowOpen + WindowClose + + + + + + + + + + + VisibleFadeEffect + + 60 + 40 + + 0 + 0 + 500 + 620 + ContentPanel.png + + + 0 + 612 + 500 + 64 + ContentPanelMirror.png + + + 20 + 5 + 460 + 90 + stretch + GlassTitleBar.png + + + header label + 20 + 13 + 460 + 30 + font13_title + + center + center + white + black + + + Provider Text + 20 + 50 + 460 + 35 + font12 + white + true + center + center + + Window_OpenClose_Animation + + + weather location label + 20 + 80 + 460 + 30 + font13_title + white + false + center + center + + + + update label + 20 + 100 + 460 + 35 + font12 + + center + center + grey2 + + + current temp Value + 195 + 175 + 180 + 40 + WeatherTemp + right + top + + white + black + + + current temp Value Units + 190 + 185 + 100 + 40 + font16 + left + top + + white + black + + + current weather icon + 230 + 120 + 230 + 230 + Window.Property(Current.ConditionIcon) + keep + + + current condition label + 20 + 320 + 460 + 30 + Window.Property(Current.Condition) + true + font13 + center + center + white + black + + + 20 + 390 + 460 + 4 + separator.png + + + current feels like label + 170 + 400 + 170 + 35 + font13 + right + center + + grey2 + black + + + current dew label + 170 + 430 + 170 + 35 + font13 + right + center + + grey2 + black + + + current humidity label + 170 + 460 + 170 + 35 + font13 + right + center + + grey2 + black + + + current UV Index label + 170 + 490 + 170 + 35 + font13 + right + center + + grey2 + black + + + current Wind label + 170 + 520 + 170 + 35 + font13 + right + center + + grey2 + black + + + current feels like Value + 185 + 400 + 300 + 35 + font13 + left + center + + white + black + + + current dew Value + 185 + 430 + 300 + 35 + font13 + left + center + + white + black + + + current humidity Value + 185 + 460 + 300 + 35 + font13 + left + center + Window.Property(Current.Humidity) + white + black + + + current UV Index Value + 185 + 490 + 300 + 35 + font13 + left + center + Window.Property(Current.UVIndex) + white + black + + + current Wind Value + 185 + 520 + 300 + 35 + font13 + left + center + Window.Property(Current.Wind) + white + black + + + StringCompare(Weather.Plugin,weather.wunderground) + !IsEmpty(Window.Property(36Hour.IsFetched)) + + Sunrise Label + 30 + 570 + 300 + 35 + font13 + left + center + + grey2 + black + + + Sunset label + 470 + 570 + 300 + 35 + font13 + right + center + + grey2 + black + + + + + !StringCompare(Weather.Plugin,weather.wunderground) + 580 + 40 + + 0 + 0 + 650 + 620 + ContentPanel.png + + + 0 + 612 + 650 + 64 + ContentPanelMirror.png + + + 20 + 5 + 610 + 90 + stretch + GlassTitleBar.png + + + header label + 20 + 13 + 610 + 30 + font13_title + + center + center + white + black + + + 15 + 60 + 600 + 541 + 9000 + 61 + 50 + 50 + list + 61 + 200 + + + 0 + 0 + 600 + 136 + MenuItemNF.png + + + 0 + 0 + 600 + 136 + MenuItemNF.png + + + 300 + 5 + 300 + 25 + font13_title + white + black + selected + center + center + + + + 460 + 0 + 135 + 135 + keep + $INFO[ListItem.ActualIcon] + + + 30 + 35 + 390 + 30 + font13 + white + black + selected + left + center + + !IsEmpty(ListItem.Property(HighTemp)) + + + 30 + 70 + 400 + 50 + font13 + white + black + selected + left + + + + + + 0 + 0 + 600 + 136 + MenuItemNF.png + !Control.HasFocus(50) + VisibleFadeEffect + + + 0 + 0 + 600 + 136 + MenuItemNF.png + !Control.HasFocus(50) + VisibleFadeEffect + + + 0 + 0 + 600 + 136 + button-focus2.png + Control.HasFocus(50) + VisibleFadeEffect + + + 300 + 5 + 300 + 25 + font13_title + white + black + selected + center + center + + + + 460 + 0 + 135 + 135 + keep + $INFO[ListItem.ActualIcon] + + + 30 + 35 + 390 + 30 + font13 + white + black + selected + left + center + + !IsEmpty(ListItem.Property(HighTemp)) + + + 30 + 70 + 400 + 50 + font13 + white + black + selected + left + + + + + + + - + - + !Weather.IsFetched + + + + $INFO[Window.Property(Day0.OutlookIcon)] + $INFO[Window.Property(Day0.HighTemp)] + $INFO[Window.Property(Day0.LowTemp)] + $INFO[Window.Property(Day0.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day0.Title)) + + + + $INFO[Window.Property(Day1.OutlookIcon)] + $INFO[Window.Property(Day1.HighTemp)] + $INFO[Window.Property(Day1.LowTemp)] + $INFO[Window.Property(Day1.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day1.Title)) + + + + $INFO[Window.Property(Day2.OutlookIcon)] + $INFO[Window.Property(Day2.HighTemp)] + $INFO[Window.Property(Day2.LowTemp)] + $INFO[Window.Property(Day2.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day2.Title)) + + + + $INFO[Window.Property(Day3.OutlookIcon)] + $INFO[Window.Property(Day3.HighTemp)] + $INFO[Window.Property(Day3.LowTemp)] + $INFO[Window.Property(Day3.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day3.Title)) + + + + $INFO[Window.Property(Day4.OutlookIcon)] + $INFO[Window.Property(Day4.HighTemp)] + $INFO[Window.Property(Day4.LowTemp)] + $INFO[Window.Property(Day4.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day4.Title)) + + + + $INFO[Window.Property(Day5.OutlookIcon)] + $INFO[Window.Property(Day5.HighTemp)] + $INFO[Window.Property(Day5.LowTemp)] + $INFO[Window.Property(Day5.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day5.Title)) + + + + $INFO[Window.Property(Day6.OutlookIcon)] + $INFO[Window.Property(Day6.HighTemp)] + $INFO[Window.Property(Day6.LowTemp)] + $INFO[Window.Property(Day6.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day6.Title)) + + + + $INFO[Window.Property(Day7.OutlookIcon)] + $INFO[Window.Property(Day7.HighTemp)] + $INFO[Window.Property(Day7.LowTemp)] + $INFO[Window.Property(Day7.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day7.Title)) + + + + $INFO[Window.Property(Day8.OutlookIcon)] + $INFO[Window.Property(Day8.HighTemp)] + $INFO[Window.Property(Day8.LowTemp)] + $INFO[Window.Property(Day8.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day8.Title)) + + + + $INFO[Window.Property(Day9.OutlookIcon)] + $INFO[Window.Property(Day9.HighTemp)] + $INFO[Window.Property(Day9.LowTemp)] + $INFO[Window.Property(Day9.Outlook)] + $INFO[System.TemperatureUnits] + - + Weather.IsFetched + !IsEmpty(Window.Property(Day9.Title)) + + + + + 615 + 60 + 25 + 540 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 50 + 9000 + true + vertical + Control.IsVisible(50) + + + Conditional + number of files/pages + 660 + 627 + 570 + font12 + right + true + grey + black + + + + + StringCompare(Weather.Plugin,weather.wunderground) + 580 + 40 + + 0 + 0 + 650 + 620 + ContentPanel.png + + + 0 + 612 + 650 + 64 + ContentPanelMirror.png + + + 20 + 5 + 610 + 90 + stretch + GlassTitleBar.png + + + Weather10DayForcast + Weather36HourForcast + WeatherWeekendForcast + WeatherHourlyForcast + WeatherMapAlerts + + + + CommonNowPlaying + MainWindowMouseButtons + + -250 + SideBladeLeft + + 0 + 110 + 250 + 610 + 9000 + 50 + 9000 + 9000 + 50 + 0 + + 250 + 35 + font12 + + blue + center + center + + + 250 + 40 + + change location button + 0 + 0 + - + ButtonCommonValues + 50 + 50 + 200 + 302 + 50 + + + 10 + 0 + 200 + 40 + font13 + + white + left + center + + + + 10 day forcast button + 235 + ButtonCommonValues + + ClearProperty(Weather.CurrentView) + StringCompare(Weather.Plugin,weather.wunderground) + + + 36 hour forcast button + 235 + ButtonCommonValues + + SetProperty(Weather.CurrentView,36hour) + StringCompare(Weather.Plugin,weather.wunderground) + + + Weekend forcast button + 235 + ButtonCommonValues + + SetProperty(Weather.CurrentView,weekend) + StringCompare(Weather.Plugin,weather.wunderground) + + + Hourly forcast button + 235 + ButtonCommonValues + + SetProperty(Weather.CurrentView,hourly) + StringCompare(Weather.Plugin,weather.wunderground) + + + Hourly forcast button + 235 + ButtonCommonValues + + SetProperty(Weather.CurrentView,map) + StringCompare(Weather.Plugin,weather.wunderground) + + + 250 + 35 + font12 + + blue + center + center + + + Refresh button + 235 + ButtonCommonValues + + + + Custom Weather Script Button + + SetFocus(50) + XBMC.RunScript($INFO[Skin.String(WeatherScript_Path)]) + SetFocus(50) + 235 + ButtonCommonValues + Skin.HasSetting(WeatherScript_Enable) + !IsEmpty(Skin.String(WeatherScript_Label)) + + + Settings button + + ActivateWindow(MyWeatherSettings) + 235 + ButtonCommonValues + + + Fanart Toggle + ButtonCommonValues + + Skin.ToggleSetting(ShowWeatherFanart) + !Skin.HasSetting(ShowWeatherFanart) + + + ButtonCommonValues + + Skin.SetPath(WeatherFanartDir) + Skin.HasSetting(ShowWeatherFanart) + + CommonNowPlaying_Controls + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/PlayerControls.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/PlayerControls.xml new file mode 100644 index 000000000..e6a991271 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/PlayerControls.xml @@ -0,0 +1,417 @@ + + 100 + dialogeffect + Player.HasMedia + Window.IsActive(PlayerControls) + !Window.IsActive(FullscreenVideo) + !Window.IsActive(Visualisation) + + 1 + 390 + 250 + + + + 5 + 156 + 483 + 53 + InfoMessagePanel.png + + + 25 + 162 + 603 + !VideoPlayer.Content(LiveTV) + + 0 + 0 + 40 + 40 + + OSDPrevTrackFO.png + OSDPrevTrackNF.png + 609 + 601 + 300 + 200 + XBMC.PlayerControl(Previous) + !VideoPlayer.Content(LiveTV) + + + 40 + 0 + 40 + 40 + + OSDRewindFO.png + OSDRewindNF.png + 600 + 603 + 300 + 200 + XBMC.PlayerControl(Rewind) + !VideoPlayer.Content(LiveTV) + + + 80 + 0 + 40 + 40 + + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 601 + 602 + 300 + 200 + XBMC.PlayerControl(Play) + !VideoPlayer.Content(LiveTV) + + + 120 + 0 + 40 + 40 + + OSDStopFO.png + OSDStopNF.png + 603 + 604 + 300 + 200 + down + XBMC.PlayerControl(Stop) + !VideoPlayer.Content(LiveTV) + + + 160 + 0 + 40 + 40 + + OSDForwardFO.png + OSDForwardNF.png + 602 + 605 + 300 + 200 + XBMC.PlayerControl(Forward) + !VideoPlayer.Content(LiveTV) + + + 200 + 0 + 40 + 40 + + OSDNextTrackFO.png + OSDNextTrackNF.png + 604 + 606 + 300 + 200 + XBMC.PlayerControl(Next) + !VideoPlayer.Content(LiveTV) + + + 240 + 0 + 40 + 40 + + OSDRecordOffFO.png + OSDRecordOffNF.png + 605 + 607 + 300 + 200 + XBMC.PlayerControl(record) + Player.CanRecord + Conditional + !VideoPlayer.Content(LiveTV) + + + Conditional + + 325 + 0 + 40 + 40 + + - + - + XBMC.PlayerControl(Repeat) + 606 + 608 + 100 + 100 + !VideoPlayer.Content(LiveTV) + + + 325 + 0 + 40 + 40 + OSDRepeatNF.png + !Playlist.IsRepeat + !Playlist.IsRepeatOne + !Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) + + + 325 + 0 + 40 + 40 + OSDRepeatFO.png + !Playlist.IsRepeat + !Playlist.IsRepeatOne + Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) + + + 325 + 0 + 40 + 40 + OSDRepeatOneNF.png + Playlist.IsRepeatOne + !Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) + + + 325 + 0 + 40 + 40 + OSDRepeatOneFO.png + Playlist.IsRepeatOne + Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) + + + 325 + 0 + 40 + 40 + OSDRepeatAllNF.png + Playlist.IsRepeat + !Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) + + + 325 + 0 + 40 + 40 + OSDRepeatAllFO.png + Playlist.IsRepeat + Control.HasFocus(607) + !VideoPlayer.Content(LiveTV) + + + 365 + 0 + 40 + 40 + + OSDRandomOffFO.png + OSDRandomOffNF.png + Playlist.IsRandom + OSDRandomOnFO.png + OSDRandomOnNF.png + XBMC.PlayerControl(Random) + 607 + 609 + 100 + 100 + !VideoPlayer.Content(LiveTV) + + + 405 + 0 + 40 + 40 + + - + OSDLyricsFO.png + OSDLyricsNF.png + OSDLyricsFO.png + OSDLyricsNF.png + 608 + 600 + 100 + 100 + Close + XBMC.RunScript($INFO[Skin.String(LyricScript_Path)]) + Skin.SetAddon(LyricScript_Path,xbmc.python.lyrics) + Close + XBMC.RunScript($INFO[Skin.String(LyricScript_Path)]) + IsEmpty(Skin.String(LyricScript_Path)) + Player.HasAudio + !VideoPlayer.Content(LiveTV) + + + + + 25 + 162 + 700 + VideoPlayer.Content(LiveTV) + + 0 + 0 + 40 + 40 + + OSDRewindFO.png + OSDRewindNF.png + 706 + 702 + 300 + 200 + XBMC.PlayerControl(Rewind) + VideoPlayer.Content(LiveTV) + Player.SeekEnabled + Conditional + + + 40 + 0 + 40 + 40 + + OSDStopFO.png + OSDStopNF.png + 701 + 703 + 300 + 200 + down + XBMC.PlayerControl(Stop) + VideoPlayer.Content(LiveTV) + + + 80 + 0 + 40 + 40 + + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 702 + 704 + 300 + 200 + XBMC.PlayerControl(Play) + VideoPlayer.Content(LiveTV) + false + Player.PauseEnabled + Conditional + + + 120 + 0 + 40 + 40 + + OSDForwardFO.png + OSDForwardNF.png + 703 + 700 + 300 + 200 + XBMC.PlayerControl(Forward) + VideoPlayer.Content(LiveTV) + Player.SeekEnabled + Conditional + + + 200 + 0 + 40 + 40 + + OSDChannelUPFO.png + OSDChannelUPNF.png + 704 + 705 + 300 + 200 + XBMC.PlayerControl(Previous) + VideoPlayer.Content(LiveTV) + + + 240 + 0 + 40 + 40 + + OSDChannelDownFO.png + OSDChannelDownNF.png + 700 + 706 + 300 + 200 + XBMC.PlayerControl(Next) + VideoPlayer.Content(LiveTV) + + + 280 + 0 + 40 + 40 + + OSDRecordOffFO.png + OSDRecordOffNF.png + 705 + 701 + 300 + 200 + XBMC.PlayerControl(record) + Player.CanRecord + Conditional + VideoPlayer.Content(LiveTV) + + + + + gradient + 0 + 0 + 500 + 165 + CCFFFFFF + Window.IsVisible(home) + OverlayDialogBackground.png + + + Player.HasAudio + SmallMusicInfo + + + + Player.HasVideo + SmallVideoInfo + + + Close Window button + 420 + 5 + 64 + 32 + + - + back + DialogCloseButton-focus.png + DialogCloseButton.png + 100 + 100 + 100 + 100 + system.getbool(input.enablemouse) + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/Pointer.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/Pointer.xml new file mode 100644 index 000000000..190e52191 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/Pointer.xml @@ -0,0 +1,42 @@ + + - + + 1 + 0 + 0 + + + + Pointer Image + 0 + 0 + 32 + 32 + pointer-nofocus.png + + + Pointer Focus Image + 0 + 0 + 32 + 32 + pointer-focus.png + + + Pointer Drag Image + 0 + 0 + 32 + 32 + pointer-focus-drag.png + + + Pointer Click Image + 0 + 0 + 32 + 32 + pointer-focus-click.png + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/ProfileSettings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/ProfileSettings.xml new file mode 100644 index 000000000..780323c7c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/ProfileSettings.xml @@ -0,0 +1,188 @@ + + 1 + + 1 + 290 + 75 + + dialogeffect + + + background image + 0 + 0 + 700 + 570 + DialogBack.png + + + Dialog Header image + 40 + 16 + 620 + 40 + dialogheader.png + + + header label + 40 + 20 + 620 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 610 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + + + profile image + 30 + 70 + 150 + 150 + left + stretch + unknown-user.png + ThumbBorder.png + 8 + + + profile name label + 200 + 70 + 460 + left + font13_title + blue + + + + profile name Value + 200 + 95 + 460 + left + font16 + white + + + profile directory label + 200 + 155 + 460 + left + font13_title + blue + + + + profile directory Value + 200 + 180 + 460 + left + font13 + white + + + control area + 30 + 230 + 640 + 265 + 5 + 60 + 28 + 60 + 28 + 28 + + + Default Button + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + + + Default RadioButton + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + + + Default SpinControlex + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + button-nofocus.png + center + yes + + + separator image + 2 + separator2.png + + + Ok Button + 145 + 505 + 200 + 40 + center + center + font12_title + + 29 + 29 + 5 + 5 + + + Cancel Button + 355 + 505 + 200 + 40 + center + center + font12_title + + 28 + 28 + 5 + 5 + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/Settings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/Settings.xml new file mode 100644 index 000000000..5343addf4 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/Settings.xml @@ -0,0 +1,280 @@ + + 9000 + no + + CommonBackground + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + 90 + 30 + + + + + + + + + + 5 + 5 + 1090 + 630 + ContentPanel.png + + + 5 + 625 + 1090 + 64 + ContentPanelMirror.png + + + Close Window button + 980 + 11 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + + + LOGO + 30 + 15 + 220 + 80 + keep + Confluence_Logo.png + + + 10 + 82 + 260 + 541 + 9000 + 9001 + 9000 + 9000 + - + 300 + + + 0 + 0 + 260 + 55 + MenuItemNF.png + + + 250 + 0 + 380 + 55 + font24_title + grey3 + right + center + + + + + + 0 + 0 + 260 + 55 + MenuItemFO.png + + + 250 + 0 + 380 + 55 + font24_title + white + right + center + + + + + + + 31400 + ActivateWindow(AppearanceSettings) + - + + + + 31401 + ActivateWindow(VideosSettings) + - + + + + 31409 + ActivateWindow(PVRSettings) + special://skin/backgrounds/tv.jpg + + + + 31402 + ActivateWindow(MusicSettings) + - + + + + 31403 + ActivateWindow(PicturesSettings) + - + + + + 31404 + ActivateWindow(WeatherSettings) + - + + + + 31408 + ActivateWindow(AddonBrowser) + - + + + + 31410 + ActivateWindow(ServiceSettings) + - + + + + 31406 + ActivateWindow(SystemSettings) + - + + + + [B]CONFIGURE XBIAN[/B][CR][CR]If you have any questions,[CR]feel free to ask them on www.xbian.org + RunAddon(plugin.xbianconfig) + - + + + + + 268 + 10 + 804 + 50 + black-back2.png + + + 268 + 10 + 804 + 70 + stretch + GlassTitleBar.png + + + header label + 300 + 20 + 740 + 30 + font16 + + left + center + white + black + + + 270 + 60 + 800 + 450 + button-nofocus.png + + + 272 + 62 + 796 + 446 + stretch + 600 + special://skin/backgrounds/settings.jpg + + + 272 + 62 + 600 + 340 + stretch + GlassOverlay.png + AAFFFFFF + + + 268 + 510 + 804 + 118 + black-back2.png + + + Appearance Description + 300 + 520 + 740 + 100 + font12 + + left + white + black + + + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + + Section header image + 20 + 3 + 35 + 35 + keep + icon_system.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsCategory.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsCategory.xml new file mode 100644 index 000000000..fda12b369 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsCategory.xml @@ -0,0 +1,230 @@ + + 3 + no + + CommonBackground + + 0 + 100r + 1280 + 100 + floor.png + VisibleFadeEffect + + + 90 + 30 + + + + + + + + + + 5 + 5 + 1090 + 630 + ContentPanel.png + + + 5 + 625 + 1090 + 64 + ContentPanelMirror.png + + + Close Window button + 980 + 11 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + VisibleFadeEffect + + + LOGO + 30 + 15 + 220 + 80 + keep + Confluence_Logo.png + + + button area + 10 + 90 + 260 + 481 + -1 + 60 + 5 + 3 + 3 + + + 268 + 10 + 790 + 618 + black-back2.png + + + 268 + 10 + 804 + 70 + stretch + GlassTitleBar.png + + + header label + 300 + 20 + 740 + 30 + font16 + + left + center + white + black + + + control area + 290 + 70 + 750 + 530 + -1 + 60 + 3 + 60 + 5 + 5 + + + 1060 + 60 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 5 + 3 + false + vertical + + + BehindDialogFadeOut + + + Default Category Button + 60 + 260 + 20 + right + center + font13_title + grey2 + white + MenuItemFO.png + MenuItemNF.png + false + + + Default Button + 0 + 0 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + + Default RadioButton + 0 + 0 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + + + Default SpinControlex + 0 + 0 + 40 + font13 + grey2 + white + MenuItemFO.png + MenuItemNF.png + center + yes + + + separator image + 2 + separator2.png + + + Fake Label so we can pass it value down to the one below + 0 + 0 + 0 + 0 + - + false + + CommonNowPlaying + MainWindowMouseButtons + + Section header image + 20 + 3 + 35 + 35 + keep + icon_system.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsProfile.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsProfile.xml new file mode 100644 index 000000000..e1b266c8f --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsProfile.xml @@ -0,0 +1,297 @@ + + 2 + no + + CommonBackground + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + 90 + 30 + + + + + + + + + + 5 + 5 + 1090 + 630 + ContentPanel.png + + + 5 + 625 + 1090 + 64 + ContentPanelMirror.png + + + Close Window button + 980 + 11 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + + + LOGO + 30 + 15 + 220 + 80 + keep + Confluence_Logo.png + + + Enable Login screen + 10 + 90 + 250 + 80 + 13 + + font24_title + right + top + MenuItemNF.png + MenuItemFO.png + 2 + 2 + 4 + 4 + !Window.IsVisible(ProfileSettings) + + + 250 + 135 + 240 + 25 + font13 + grey2 + right + center + + System.HasLoginScreen + + + 250 + 135 + 240 + 25 + font13 + grey2 + right + center + + !System.HasLoginScreen + + + 20 + 210 + + 0 + 0 + 240 + 200 + keep + ThumbBorder.png + 10 + $INFO[Container(2).Listitem.Icon] + + + 0 + 220 + 240 + 20 + font12_title + blue + center + center + + + + 0 + 245 + 240 + 20 + font13 + white + center + center + + + + 0 + 280 + 240 + 30 + font12_title + blue + center + center + + + + 0 + 305 + 240 + 30 + font13 + white + center + center + + + + + 268 + 10 + 790 + 618 + black-back2.png + + + 268 + 10 + 804 + 70 + stretch + GlassTitleBar.png + + + header label + 300 + 20 + 740 + 30 + font30_title + + left + center + white + black + + + 283 + 70 + 760 + 540 + 4 + 60 + 53 + 53 + list + 60 + 200 + + + 1 + 0 + 188 + 145 + button-nofocus.png + 5 + $INFO[Listitem.Icon] + + + 94 + 145 + 178 + 25 + font11 + grey2 + selected + center + center + ListItem.Label + + + + + 1 + 0 + 188 + 145 + folder-focus.png + 5 + $INFO[Listitem.Icon] + + + 94 + 145 + 178 + 25 + font11 + white + selected + center + center + ListItem.Label + + + + + 1060 + 60 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 2 + 4 + false + vertical + + + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + + Section header image + 20 + 3 + 35 + 35 + keep + icon_system.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsScreenCalibration.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsScreenCalibration.xml new file mode 100644 index 000000000..88fd450d3 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsScreenCalibration.xml @@ -0,0 +1,101 @@ + + 8 + + + videowindow + 0 + 0 + 1280 + 720 + Player.HasVideo + + + !Player.HasVideo + CommonBackground + + + Overlay + 0 + 0 + 1280 + 720 + black-back.png + dialogeffect + + + Close Window button + 100r + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + + + top left mover + 0 + 0 + 128 + 128 + CalibrateTopLeft.png + - + + + right bottom mover + 700 + 500 + 128 + 128 + CalibrateBottomRight.png + - + + + subtitle position mover + 200 + 500 + 512 + 128 + CalibrateSubtitles.png + - + + + pixel aspect ratio box + 0 + 232 + 256 + 256 + CalibratePixelRatio.png + - + + + 20 + 80 + + coordinates label + 0 + 10 + 1240 + + center + font13 + + + help information + 0 + 40 + 1240 + + center + font13 + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsSystemInfo.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsSystemInfo.xml new file mode 100644 index 000000000..d6f95b518 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/SettingsSystemInfo.xml @@ -0,0 +1,357 @@ + + 95 + no + + CommonBackground + + 0 + 100r + 1280 + 100 + floor.png + WindowOpen + WindowClose + + + 90 + 30 + + + + + + + + + + 5 + 5 + 1090 + 630 + ContentPanel.png + + + 5 + 625 + 1090 + 64 + ContentPanelMirror.png + + + Close Window button + 980 + 11 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + + + LOGO + 30 + 15 + 220 + 80 + keep + Confluence_Logo.png + + + 10 + 90 + 260 + 481 + -1 + 9000 + 9000 + + Button Summary Values + 60 + 241 + 0 + right + center + font13_title + grey2 + white + MenuItemFO.png + MenuItemNF.png + false + + + + Button Storage + 60 + 241 + 0 + right + center + font13_title + grey2 + white + MenuItemFO.png + MenuItemNF.png + false + + + + Button Network + 60 + 241 + 0 + right + center + font13_title + grey2 + white + MenuItemFO.png + MenuItemNF.png + false + + + + Button Video + 60 + 241 + 0 + right + center + font13_title + grey2 + white + MenuItemFO.png + MenuItemNF.png + false + + + + Button Hardware + 60 + 241 + 0 + right + center + font13_title + grey2 + white + MenuItemFO.png + MenuItemNF.png + false + + + + Button PVR + 60 + 241 + 0 + right + center + font13_title + grey2 + white + MenuItemFO.png + MenuItemNF.png + false + + + + + 268 + 10 + 790 + 618 + black-back2.png + + + 268 + 10 + 804 + 100 + stretch + GlassTitleBar.png + + + header label + 300 + 20 + 740 + 30 + font16 + + left + center + white + black + + + 290 + 100 + + Label 2 + 0 + 0 + 750 + + font13 + + + Label 3 + 0 + 35 + 750 + + font13 + + + Label 4 + 0 + 70 + 750 + + font13 + + + Label 5 + 0 + 105 + 750 + + font13 + + + Label 6 + 0 + 140 + 750 + + font13 + + + Label 7 + 0 + 175 + 750 + + font13 + + + Label 8 + 0 + 210 + 750 + + font13 + + + Label 9 + 0 + 245 + 750 + + font13 + + + Label 10 + 0 + 280 + 750 + + font13 + + + Label 11 + 0 + 315 + 750 + + font13 + + + XBMC BUILD Version + 750 + 450 + 730 + + right + blue + black + font13_title + + + + Memory Text + 420 + 480 + 350 + 25 + + right + center + white + black + font12_title + + + Memory BAR + 430 + 485 + 320 + 16 + system.memory(used) + + + + CommonNowPlaying + MainWindowMouseButtons + + Section header image + 20 + 3 + 35 + 35 + keep + icon_system.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/SkinSettings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/SkinSettings.xml new file mode 100644 index 000000000..0783e0dff --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/SkinSettings.xml @@ -0,0 +1,1080 @@ + + 9000 + + CommonBackground + + 0 + 100r + 1280 + 100 + floor.png + VisibleFadeEffect + + + Section header image + 20 + 3 + 35 + 35 + keep + icon_system.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + !IsEmpty(Container.FolderName) + + + + 90 + 30 + + + + + + + + + + 5 + 5 + 1090 + 630 + ContentPanel.png + + + 5 + 625 + 1090 + 64 + ContentPanelMirror.png + + + Close Window button + 980 + 11 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + + + LOGO + 30 + 15 + 220 + 80 + keep + Confluence_Logo.png + + + 10 + 90 + 260 + 481 + 9010 + 9010 + 9000 + 9000 + - + 300 + + + 0 + 0 + 260 + 81 + MenuItemNF.png + + + 250 + 15 + 380 + 25 + font24_title + grey3 + right + center + + + + 250 + 42 + 870 + 25 + font13 + grey2 + right + center + + + + + + 0 + 0 + 260 + 81 + MenuItemFO.png + Conditional + + + 250 + 15 + 380 + 25 + font24_title + white + right + center + + + + 250 + 42 + 870 + 25 + font13 + grey2 + right + center + + + + + + + 5 + - + + + + 31112 + - + + + + 31112 + - + + + + 31200 + - + + + + + 268 + 10 + 790 + 618 + black-back2.png + + + 268 + 10 + 804 + 100 + stretch + GlassTitleBar.png + + + header label + 300 + 20 + 740 + 30 + font16 + + left + center + white + black + + + + Container(9000).Hasfocus(1) + 290 + 60 + 750 + 530 + -1 + 60 + 9000 + 60 + 9001 + 9001 + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(AutoScroll) + Skin.HasSetting(AutoScroll) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(Show_SlideShow_Paused) + !Skin.HasSetting(Show_SlideShow_Paused) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(WindowedTrailer) + Skin.HasSetting(WindowedTrailer) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(HideFilenameFlagging) + Skin.HasSetting(HideFilenameFlagging) + + + 750 + 45 + font13_title + + blue + black + left + center + System.HasAddon(script.tvtunes) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(ActivateTvTunes) + Skin.HasSetting(ActivateTvTunes) + System.HasAddon(script.tvtunes) + + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(Use_Startup_Playlist) + Skin.HasSetting(Use_Startup_Playlist) + + + Startup Playlist Path + 750 + 40 + font13 + grey2 + white + + $INFO[Skin.String(Startup_Playlist_Path)] + Skin.SetFile(Startup_Playlist_Path,,special://MusicPlaylists/) + MenuItemFO.png + MenuItemNF.png + Skin.HasSetting(Use_Startup_Playlist) + + + + 1060 + 60 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 9001 + 9000 + false + vertical + Container(9000).Hasfocus(1) + + + Container(9000).Hasfocus(2) + 290 + 60 + 750 + 530 + -1 + 60 + 9000 + 60 + 9002 + 9002 + + 750 + 45 + font13_title + + blue + black + left + center + + + enable video info + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(homepageVideoinfo) + !Skin.HasSetting(homepageVideoinfo) + MenuItemFO.png + MenuItemNF.png + + + enable music info + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(homepageMusicinfo) + !Skin.HasSetting(homepageMusicinfo) + MenuItemFO.png + MenuItemNF.png + + + enable weather info + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(homepageWeatherinfo) + Skin.HasSetting(homepageWeatherinfo) + MenuItemFO.png + MenuItemNF.png + !IsEmpty(Weather.Plugin) + + + Show Recently added Video info + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomepageHideRecentlyAddedVideo) + !Skin.HasSetting(HomepageHideRecentlyAddedVideo) + MenuItemFO.png + MenuItemNF.png + + + Show Recently added info + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomepageHideRecentlyAddedAlbums) + !Skin.HasSetting(HomepageHideRecentlyAddedAlbums) + MenuItemFO.png + MenuItemNF.png + + + 750 + 45 + font13_title + + blue + black + left + center + + + Hide Videos Button + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomeMenuNoVideosButton) + Skin.HasSetting(HomeMenuNoVideosButton) + MenuItemFO.png + MenuItemNF.png + + + Hide Movies Button + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomeMenuNoMovieButton) + Skin.HasSetting(HomeMenuNoMovieButton) + MenuItemFO.png + MenuItemNF.png + Library.HasContent(Movies) + + + Hide TV Shows Button + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomeMenuNoTVShowButton) + Skin.HasSetting(HomeMenuNoTVShowButton) + MenuItemFO.png + MenuItemNF.png + Library.HasContent(TVShows) + + + Hide Music Button + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomeMenuNoMusicButton) + Skin.HasSetting(HomeMenuNoMusicButton) + MenuItemFO.png + MenuItemNF.png + + + Hide Pictures Button + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomeMenuNoPicturesButton) + Skin.HasSetting(HomeMenuNoPicturesButton) + MenuItemFO.png + MenuItemNF.png + + + Hide Programs Button + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomeMenuNoProgramsButton) + Skin.HasSetting(HomeMenuNoProgramsButton) + MenuItemFO.png + MenuItemNF.png + + + Hide Weather Button + 750 + 40 + font13 + grey2 + white + + Skin.ToggleSetting(HomeMenuNoWeatherButton) + Skin.HasSetting(HomeMenuNoWeatherButton) + MenuItemFO.png + MenuItemNF.png + + + + 1060 + 60 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 9002 + 9000 + false + vertical + Container(9000).Hasfocus(2) + + + Container(9000).Hasfocus(3) + 290 + 60 + 750 + 530 + -1 + 60 + 9000 + 60 + 9003 + 9003 + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(HideBackGroundFanart) + Skin.HasSetting(HideBackGroundFanart) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(HideVisualizationFanart) + Skin.HasSetting(HideVisualizationFanart) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(ShowBackgroundVideo) + !Skin.HasSetting(ShowBackgroundVideo) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(ShowBackgroundVis) + !Skin.HasSetting(ShowBackgroundVis) + + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.ToggleSetting(UseCustomBackground) + Skin.HasSetting(UseCustomBackground) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[Skin.String(CustomBackgroundPath)][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetImage(CustomBackgroundPath) + Skin.HasSetting(UseCustomBackground) + + + + + Container(9000).Hasfocus(4) + 290 + 60 + 750 + 530 + -1 + 61 + 9000 + 61 + 9004 + 9004 + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(LyricScript_Path))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(LyricScript_Path,xbmc.python.lyrics) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + !IsEmpty(Skin.String(LyricScript_Path)) + Addon.OpenSettings($INFO[Skin.String(LyricScript_Path)]) + + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(SubtitleScript_Path))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(SubtitleScript_Path,xbmc.python.subtitles) + + + 750 + 40 + font13 + + grey2 + white + MenuItemFO.png + MenuItemNF.png + !IsEmpty(Skin.String(SubtitleScript_Path)) + Addon.OpenSettings($INFO[Skin.String(SubtitleScript_Path)]) + + + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton1))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeVideosButton1,xbmc.addon.video,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton2))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeVideosButton2,xbmc.addon.video,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton3))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeVideosButton3,xbmc.addon.video,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton4))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeVideosButton4,xbmc.addon.video,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeVideosButton5))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeVideosButton5,xbmc.addon.video,xbmc.addon.executable) + + + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton1))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeMusicButton1,xbmc.addon.audio,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton2))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeMusicButton2,xbmc.addon.audio,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton3))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeMusicButton3,xbmc.addon.audio,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton4))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeMusicButton4,xbmc.addon.audio,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeMusicButton5))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeMusicButton5,xbmc.addon.audio,xbmc.addon.executable) + + + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton1))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomePictureButton1,xbmc.addon.image,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton2))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomePictureButton2,xbmc.addon.image,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton3))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomePictureButton3,xbmc.addon.image,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton4))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomePictureButton4,xbmc.addon.image,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomePictureButton5))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomePictureButton5,xbmc.addon.image,xbmc.addon.executable) + + + + 750 + 45 + font13_title + + blue + black + left + center + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton1))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeProgramButton1,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton2))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeProgramButton2,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton3))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeProgramButton3,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton4))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeProgramButton4,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton5))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeProgramButton5,xbmc.addon.executable) + + + 750 + 40 + font13 + + [COLOR=selected]$INFO[system.addontitle(Skin.String(HomeProgramButton6))][/COLOR] + grey2 + white + MenuItemFO.png + MenuItemNF.png + Skin.SetAddon(HomeProgramButton6,xbmc.addon.executable) + + + + + 1060 + 60 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 9004 + 9000 + false + vertical + Container(9000).Hasfocus(4) + + + + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/SlideShow.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/SlideShow.xml new file mode 100644 index 000000000..e131d79a0 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/SlideShow.xml @@ -0,0 +1,39 @@ + + 2 + + + 130r + 10 + !Skin.HasSetting(Show_SlideShow_Paused) + + 0 + 0 + 120 + 35 + black-back.png + NoCover_1.png + 5 + + + paused label + 10 + 0 + 100 + 35 + center + center + font10 + white + + + + + + 20 + 180r + Player.ShowInfo + Player.HasMedia + VisibleFadeEffect + SmallMusicInfo + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/SmartPlaylistEditor.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/SmartPlaylistEditor.xml new file mode 100644 index 000000000..cae4be957 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/SmartPlaylistEditor.xml @@ -0,0 +1,329 @@ + + 22 + no + + 1 + 240 + 45 + + dialogeffect + + + !Window.IsVisible(smartplaylistrule) + VisibleFadeEffect + + background image + 0 + 0 + 800 + 630 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 9 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 22 + 22 + 22 + 22 + system.getbool(input.enablemouse) + + + Set Playlist type + 30 + 70 + 740 + 40 + + font13 + button-focus2.png + button-nofocus.png + 22 + 22 + 9001 + 12 + + + Name Label + 30 + 120 + 740 + + font12 + blue + black + + + Name Button + 30 + 145 + 740 + 40 + 10 + 720 + font13 + center + button-focus2.png + + 22 + 12 + 12 + 10 + + + rules label + 30 + 200 + 740 + left + + font12 + blue + black + + + Rules List Control + 30 + 225 + 550 + 135 + 12 + 9000 + 9000 + 16 + + + 0 + 0 + 550 + 40 + button-nofocus.png + + + 10 + 0 + 530 + 40 + center + ListItem.Label + selected + font13 + + + + + 0 + 0 + 550 + 40 + button-focus2.png + Control.HasFocus(10) + + + 0 + 0 + 550 + 40 + button-nofocus.png + !Control.HasFocus(10) + + + 10 + 0 + 530 + 40 + center + ListItem.Label + selected + font13 + + + + + 590 + 225 + + Add Rule Button + 0 + 0 + 180 + 40 + + font12_title + center + center + 17 + 10 + 10 + 14 + + + Remove Rule Button + 0 + 45 + 40 + 180 + + font12_title + center + center + 13 + 10 + 10 + 15 + + + Edit Rule Button + 0 + 90 + 40 + 180 + + font12_title + center + center + 14 + 10 + 10 + 16 + + + + + Name Label + 30 + 370 + 740 + + font12 + blue + black + + + 30 + 395 + 740 + 40 + + font13 + button-focus2.png + button-nofocus.png + 16 + 16 + 10 + 17 + + + + 30 + 440 + 740 + 40 + + font13 + button-focus2.png + button-nofocus.png + 17 + 17 + 16 + 18 + + + + 30 + 485 + 550 + 40 + + font13 + button-focus2.png + button-nofocus.png + 19 + 19 + 17 + 9001 + + + + 590 + 485 + 180 + 40 + font12_title + center + center + button-nofocus.png + button-focus.png + button-nofocus.png + button-focus.png + + 21430 + 18 + 18 + 17 + 9001 + + + + Ok Button + 195 + 560 + 200 + 40 + center + center + + font12_title + 18 + 21 + 21 + 22 + + + Cancel Button + 405 + 560 + 200 + 40 + center + center + + font12_title + 18 + 20 + 20 + 22 + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/SmartPlaylistRule.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/SmartPlaylistRule.xml new file mode 100644 index 000000000..85c2f563a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/SmartPlaylistRule.xml @@ -0,0 +1,192 @@ + + 9001 + no + + 1 + 240 + 220 + + dialogeffect + + + background image + 0 + 0 + 800 + 280 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 9001 + 9001 + 9001 + 9001 + system.getbool(input.enablemouse) + + + Rule match label + 40 + 60 + 720 + 35 + center + center + font12 + blue + black + + + + + Rule Field + 30 + 100 + 365 + 40 + - + button-focus2.png + button-nofocus.png + 16 + 16 + 9000 + 17 + + + Rule Field label + 35 + 100 + 300 + 40 + font13 + + left + center + white + black + + + Rule operator + 405 + 100 + 365 + 40 + - + button-focus2.png + button-nofocus.png + 15 + 15 + 9000 + 17 + + + Rule Field label + 410 + 100 + 300 + 40 + font13 + + left + center + white + black + + + + Value Button + 30 + 145 + 565 + 40 + font13 + center + button-focus2.png + button-nofocus.png + + 9001 + 20 + 20 + 9000 + + + Browse Button + 600 + 145 + 170 + 40 + center + center + button-focus.png + button-nofocus.png + + font12_title + 9001 + 17 + 17 + 9000 + + + + Ok Button + 195 + 210 + 200 + 40 + center + center + font12_title + + 17 + 19 + 19 + 9001 + + + Cancel Button + 405 + 210 + 200 + 40 + center + center + font12_title + + 17 + 18 + 19 + 9001 + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/Startup.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/Startup.xml new file mode 100644 index 000000000..4061610be --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/Startup.xml @@ -0,0 +1,22 @@ + + 10 + no + + + trigger + ReplaceWindow(Home) + - + - + !Skin.HasSetting(Use_Startup_Playlist) + + + trigger with startup Playlist + XBMC.PlayMedia($INFO[Skin.String(Startup_Playlist_Path)]) + ReplaceWindow(Home) + - + - + Skin.HasSetting(Use_Startup_Playlist) + + CommonBackground + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/VideoFullScreen.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoFullScreen.xml new file mode 100644 index 000000000..1d3bd216c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoFullScreen.xml @@ -0,0 +1,610 @@ + + - + + + + [Player.ShowInfo | Window.IsActive(VideoOSD)] + ![Window.IsVisible(123) | Window.IsVisible(124) | Window.IsVisible(125) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)] + VisibleChange + + 0 + -150 + 1280 + 256 + HomeNowPlayingBack.png + + + Chapter Count Header label + 30 + 5 + 1000 + 25 + left + center + font13 + white + black + + Player.ChapterCount + !VideoPlayer.Content(LiveTV) + + + Channel Group label + 30 + 5 + 1000 + 25 + left + center + font13 + white + black + + VideoPlayer.Content(LiveTV) + + + Clock label + 1250 + 5 + 800 + 25 + right + center + font13 + white + black + + conditional + + + 0 + 230r + 1280 + 230 + HomeNowPlayingBack.png + + + cover image + 20 + 260r + 300 + 230 + $INFO[Player.Art(thumb)] + keep + ThumbShadow.png + 8 + !VideoPlayer.Content(Movies) + + + Movie cover image + 20 + 350r + 300 + 330 + $INFO[Player.Art(thumb)] + keep + ThumbShadow.png + 8 + VideoPlayer.Content(Movies) + + + 330 + 185r + + Heading label + 0 + 0 + 910 + 25 + left + center + font13 + + white + black + ![VideoPlayer.Content(LiveTV) + Player.Recording] + conditional + + + 0 + 50 + 25 + keep + PVR-IsRecording.png + VideoPlayer.Content(LiveTV) + Player.Recording + + + Heading label + 50 + 0 + 860 + 25 + left + center + font13 + + white + black + VideoPlayer.Content(LiveTV) + Player.Recording + + + Studio label + 20 + 30 + 910 + 25 + left + font12 + + grey2 + black + VideoPlayer.Content(Movies) + + + TV Show label + 20 + 30 + 910 + 25 + left + font12 + + grey2 + black + VideoPlayer.Content(Episodes) + + + Music Info label + 20 + 30 + 910 + 25 + left + font12 + + grey2 + black + VideoPlayer.Content(MusicVideos) + + + LiveTV Info label + 20 + 30 + 910 + 25 + left + font12 + + grey2 + black + VideoPlayer.Content(LiveTV) + + + 20 + 60 + 910 + 35 + 5 + horizontal + + auto + 30 + font30 + left + center + + orange + true + + + Video Resolution Image + 50 + 35 + keep + $INFO[VideoPlayer.VideoResolution,flagging/video/,.png] + + + Audio Codec Image + 85 + 35 + keep + $INFO[VideoPlayer.AudioCodec,flagging/audio/,.png] + + + Audio Channels Image + 50 + 35 + keep + $INFO[VideoPlayer.AudioChannels,flagging/audio/,.png] + + + + 0 + 120 + 910 + 25 + + center + center + font12 + grey + true + !Window.IsVisible(VideoOSD) + !VideoPlayer.Content(LiveTV) + VisibleChange + + + 0 + 120 + 910 + 25 + + center + center + font12 + grey + true + !Window.IsVisible(VideoOSD) + VideoPlayer.Content(LiveTV) + VisibleChange + + + + 330 + 95r + !VideoPlayer.Content(LiveTV) | [VideoPlayer.Content(LiveTV) + VideoPlayer.HasEpg] + + !VideoPlayer.Content(LiveTV) + 0 + 0 + 100 + 40 + font13 + left + center + + + + VideoPlayer.Content(LiveTV) + 0 + 0 + 100 + 40 + font13 + left + center + + + + ProgressbarCache + 100 + 15 + 720 + 16 + Player.ProgressCache + OSDProgressMidLight.png + + + Progressbar + 100 + 15 + 720 + 16 + Player.Progress + + + !VideoPlayer.Content(LiveTV) + 920 + 0 + 100 + 40 + font13 + right + center + + + + VideoPlayer.Content(LiveTV) + 920 + 0 + 100 + 40 + font13 + right + center + + + + + + + 0 + 20 + VisibleChange + + media info background image + 0 + 0 + 1280 + 140 + black-back.png + + + row 1 label + 50 + 10 + 1180 + 30 + left + center + font12 + + + + row 2 label + 50 + 40 + 1180 + 30 + left + center + font12 + + + + row 3 label + 50 + 85 + 1180 + 30 + left + center + font12 + + + + + 440 + 100 + 400 + 100 + font13caps + TV Channel Group Select Button + OverlayDialogBackground.png + 503 + 503 + 500 + 500 + VisibleFadeEffect + + + Player.ShowCodec + VideoPlayer.Content(LiveTV) + system.getbool(pvrplayback.signalquality) + 165 + + media info background image + 0 + 0 + 1280 + 220 + black-back.png + + + Header + 50 + 5 + 1200 + 25 + + left + center + font13_title + blue + + + Backend + 50 + 40 + 165 + 25 + + left + center + font12 + grey2 + + + Backend value + 220 + 40 + 1000 + 25 + + left + center + font12 + white + + + Device + 50 + 65 + 165 + 25 + + left + center + font12 + grey2 + + + Device value + 220 + 65 + 1000 + 25 + + left + center + font12 + white + + + Status + 50 + 90 + 165 + 25 + + left + center + font12 + grey2 + + + Status value + 220 + 90 + 1000 + 25 + + left + center + font12 + white + + + Signal + 50 + 115 + 165 + 25 + + left + center + font12 + grey2 + + + Progressbar + 220 + 122 + 910 + 14 + PVR.ActStreamProgrSignal + + + Signal value + 1200 + 115 + 180 + 25 + + left + center + font12 + white + + + SNR + 50 + 140 + 165 + 25 + + left + center + font12 + grey2 + + + Progressbar + 220 + 147 + 910 + 14 + - + PVR.ActStreamProgrSNR + + + SNR value + 1200 + 140 + 180 + 25 + + left + center + font12 + white + + + BER + 50 + 165 + 165 + 25 + + left + center + font12 + grey2 + + + BER value + 220 + 165 + 1000 + 25 + + left + center + font12 + white + + + UNC + 430 + 165 + 165 + 25 + + left + center + font12 + grey2 + + + UNC value + 600 + 165 + 1000 + 25 + + left + center + font12 + white + + + Encryption + 50 + 190 + 165 + 25 + + left + center + font12 + grey2 + + + Encryption value + 220 + 190 + 1000 + 25 + + left + center + font12 + white + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSD.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSD.xml new file mode 100644 index 000000000..b114a5e5d --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSD.xml @@ -0,0 +1,459 @@ + + 100 + dialogeffect + + 1 + 0 + 0 + + + + Close Window button + 84r + 0 + 64 + 32 + + - + Dialog.Close(VideoOSD,true) + FullScreen + DialogCloseButton-focus.png + DialogCloseButton.png + 1000 + 1000 + 100 + 100 + VisibleChange + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)] + + + Seek Slider + 430 + 82r + 720 + 16 + 702 + 26 + seek + seekslider2.png + osd_slider_nibNF.png + osd_slider_nib.png + VisibleChange + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | VideoPlayer.Content(LiveTV)] + + + + 325 + 60r + 202 + VisibleChange + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)] + !VideoPlayer.Content(LiveTV) + + 0 + 0 + 55 + 55 + + - + OSDPrevTrackFO.png + OSDPrevTrackNF.png + 254 + 201 + 1000 + 1000 + PlayerControl(Previous) + + + 55 + 0 + 55 + 55 + + - + OSDRewindFO.png + OSDRewindNF.png + 200 + 202 + 1000 + 1000 + PlayerControl(Rewind) + + + 110 + 0 + 55 + 55 + + 208 + - + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 201 + 203 + 1000 + 1000 + PlayerControl(Play) + + + 165 + 0 + 55 + 55 + + - + OSDStopFO.png + OSDStopNF.png + 202 + 204 + 1000 + 1000 + PlayerControl(Stop) + + + 220 + 0 + 55 + 55 + + - + OSDForwardFO.png + OSDForwardNF.png + 203 + 205 + 1000 + 1000 + PlayerControl(Forward) + + + 275 + 0 + 55 + 55 + + - + OSDNextTrackFO.png + OSDNextTrackNF.png + 204 + 250 + 1000 + 1000 + PlayerControl(Next) + + + + + + 325 + 60r + 301 + VisibleChange + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)] + VideoPlayer.Content(LiveTV) + + 0 + 0 + 55 + 55 + + - + OSDChannelUPFO.png + OSDChannelUPNF.png + 353 + 301 + 1000 + 1000 + PlayerControl(Previous) + + + 55 + 0 + 55 + 55 + + - + OSDChannelDownFO.png + OSDChannelDownNF.png + 300 + 302 + 1000 + 1000 + PlayerControl(Next) + + + 110 + 0 + 55 + 55 + + - + OSDRewindFO.png + OSDRewindNF.png + 301 + 303 + 1000 + 1000 + PlayerControl(Rewind) + Player.SeekEnabled + Conditional + + + 165 + 0 + 55 + 55 + + 208 + - + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 302 + 304 + 1000 + 1000 + PlayerControl(Play) + Player.PauseEnabled + Conditional + + + 220 + 0 + 55 + 55 + + 208 + - + OSDStopFO.png + OSDStopNF.png + 303 + 305 + 1000 + 1000 + PlayerControl(Stop) + + + 275 + 0 + 55 + 55 + + - + OSDForwardFO.png + OSDForwardNF.png + 304 + 306 + 1000 + 1000 + PlayerControl(Forward) + Player.SeekEnabled + Conditional + + + 330 + 0 + 55 + 55 + + - + OSDChannelListFO.png + OSDChannelListNF.png + 305 + 307 + 1000 + 1000 + ActivateWindow(PVROSDChannels) + Dialog.Close(VideoOSD) + + + 385 + 0 + 55 + 55 + + - + OSDepgFO.png + OSDepgNF.png + 306 + 350 + 1000 + 1000 + ActivateWindow(PVROSDGuide) + Dialog.Close(VideoOSD) + + + + + + 300r + 60r + VisibleChange + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks)] + !VideoPlayer.Content(LiveTV) + + 0 + 0 + 55 + 55 + + - + OSDSubtitlesFO.png + OSDSubtitlesNF.png + OSDSubtitlesFO.png + OSDSubtitlesNF.png + 205 + 251 + 1000 + 1000 + Close + XBMC.RunScript($INFO[Skin.String(SubtitleScript_Path)]) + Skin.SetAddon(SubtitleScript_Path,xbmc.python.subtitles) + Close + XBMC.RunScript($INFO[Skin.String(SubtitleScript_Path)]) + IsEmpty(Skin.String(SubtitleScript_Path)) + + + 55 + 0 + 55 + 55 + + - + OSDVideoFO.png + OSDVideoNF.png + 250 + 252 + 1000 + 1000 + ActivateWindow(OSDVideoSettings) + + + 110 + 0 + 55 + 55 + + - + OSDAudioFO.png + OSDAudioNF.png + 251 + 253 + 1000 + 1000 + ActivateWindow(OSDAudioSettings) + + + 165 + 0 + 55 + 55 + + - + OSDBookmarksFO.png + OSDBookmarksNF.png + 252 + 254 + 1000 + 1000 + ActivateWindow(VideoBookmarks) + + + 220 + 0 + 55 + 55 + + - + OSDDvdFO.png + OSDDvdNF.png + 253 + 200 + 1000 + 1000 + PlayerControl(ShowVideoMenu) + VideoPlayer.HasMenu + Conditional + + + + + + 240r + 60r + VisibleChange + ![Window.IsVisible(SliderDialog) | Window.IsVisible(OSDVideoSettings) | Window.IsVisible(OSDAudioSettings) | Window.IsVisible(VideoBookmarks) | Window.IsVisible(PVROSDChannels) | Window.IsVisible(PVROSDGuide)] + VideoPlayer.Content(LiveTV) + + 0 + 0 + 55 + 55 + + - + OSDTeleTextFO.png + OSDTeleTextNF.png + 307 + 351 + 1000 + 1000 + ActivateWindow(Teletext) + + + 55 + 0 + 55 + 55 + + - + OSDVideoFO.png + OSDVideoNF.png + 350 + 352 + 1000 + 1000 + ActivateWindow(OSDVideoSettings) + + + 110 + 0 + 55 + 55 + + - + OSDAudioFO.png + OSDAudioNF.png + 351 + 353 + 1000 + 1000 + ActivateWindow(OSDAudioSettings) + + + 165 + 0 + 55 + 55 + + 208 + - + OSDRecordOffFO.png + OSDRecordOffNF.png + Player.Recording + OSDRecordOnFO.png + OSDRecordOnNF.png + 352 + 300 + 1000 + 1000 + PlayerControl(Record) + Player.CanRecord + Conditional + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSDBookmarks.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSDBookmarks.xml new file mode 100644 index 000000000..0893e55e4 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSDBookmarks.xml @@ -0,0 +1,172 @@ + + 2 + + 1 + 240 + 60 + + dialogeffect + + + background image + 0 + 0 + 800 + 600 + DialogBack2.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 3 + 3 + 3 + 3 + system.getbool(input.enablemouse) + + + number of files/pages in list text label + 760 + 495 + 300 + 35 + font12 + right + center + true + grey + + + + 40 + 65 + 720 + 430 + 2 + 3 + 2 + 2 + 200 + icon + - + vertical + + + 2 + 2 + 235 + 211 + button-nofocus.png + + + 7 + 20 + 220 + 150 + scale + ListItem.Icon + + + 112 + 185 + 225 + 15 + font12 + selected + center + center + ListItem.Label + + + + + 2 + 2 + 235 + 211 + folder-focus.png + + + 7 + 20 + 220 + 150 + scale + ListItem.Icon + + + 112 + 185 + 225 + 15 + font12 + selected + center + center + ListItem.Label + + + + + 20 + 535 + 760 + 40 + 5 + center + horizontal + 9000 + 9000 + 11 + 11 + + Create Bookmark button + + 240 + ButtonInfoDialogsCommonValues + + + Clear Bookmark button + + 240 + ButtonInfoDialogsCommonValues + + + Clear Bookmark button + + 240 + ButtonInfoDialogsCommonValues + videoplayer.content(episodes) + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSDSettings.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSDSettings.xml new file mode 100644 index 000000000..f42566cde --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOSDSettings.xml @@ -0,0 +1,161 @@ + + 5 + + 1 + 240 + 60 + + dialogeffect + + + Conditional + + background image + 0 + 0 + 800 + 600 + DialogBack2.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + Window.IsVisible(123) + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + Window.IsVisible(124) + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 2 + 2 + 2 + system.getbool(input.enablemouse) + + + No Settings Label + 20 + 180 + 760 + center + + font13 + + + control area + 40 + 65 + 720 + 490 + 5 + 60 + 60 + 60 + 5 + 5 + + + 760 + 65 + 25 + 490 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 5 + 5 + 61 + 61 + false + vertical + + + + Default Slider + 40 + button-nofocus.png + button-focus2.png + font13 + grey2 + white + + + Default Button + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + + + Default RadioButton + 0 + 0 + 40 + font13 + grey2 + white + button-focus2.png + + + Default SpinControlex + 0 + 0 + 40 + font13 + grey2 + white + button-nofocus.png + button-focus2.png + center + yes + + + separator image + 2 + separator2.png + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOverlay.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOverlay.xml new file mode 100644 index 000000000..8a8debc23 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/VideoOverlay.xml @@ -0,0 +1,5 @@ + + - + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsAddonBrowser.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsAddonBrowser.xml new file mode 100644 index 000000000..f1e9c81fb --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsAddonBrowser.xml @@ -0,0 +1,494 @@ + + + + Control.IsVisible(550) + VisibleFadeEffect + + 70 + 78 + 580 + 561 + 2 + 60 + 550 + 550 + info + Window.IsVisible(AddonBrowser) | Container.Content(Addons) + 60 + 200 + + + 0 + 0 + 580 + 41 + MenuItemNF.png + + + 10 + 0 + 520 + 40 + font13 + grey2 + selected + left + center + + + + 555 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + + + + + 0 + 0 + 580 + 41 + MenuItemNF.png + !Control.HasFocus(550) + VisibleFadeEffect + + + 0 + 0 + 580 + 41 + MenuItemFO.png + Control.HasFocus(550) + VisibleFadeEffect + + + 370 + 5 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(550) + !IsEmpty(ListItem.Property(Addon.Status)) + + + 10 + 0 + 520 + 40 + font13 + white + selected + left + center + + + + 555 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + + + + + 650 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 550 + 2 + false + vertical + Control.IsVisible(550) + + + 710 + 80 + Control.IsVisible(550) + + Show Title txt + 0 + 0 + 510 + 15 + + center + center + font13_title + white + black + true + + + 10 + 30 + 490 + 240 + keep + 200 + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + 280 + + Author txt + 150 + 0 + 140 + 25 + + right + center + font13 + blue + + + Author Value + 160 + 0 + 350 + 25 + + left + center + font13 + false + 1000 + + + Version txt + 150 + 30 + 140 + 25 + + right + center + font13 + blue + + + Version Value + 160 + 30 + 350 + 25 + + left + center + font13 + true + + + Rating txt + 150 + 60 + 140 + 25 + + right + center + font13 + blue + + + Rating value + 155 + 60 + 160 + 32 + keep + $INFO[ListItem.Property(Addon.StarRating),LeftRating/] + + + 0 + 90 + 490 + 4 + separator.png + + + Description + 10 + 100 + 490 + 180 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + + + + + Control.IsVisible(551) + VisibleFadeEffect + + 70 + 78 + 772 + 558 + 2 + 60 + 551 + 551 + biginfo + Window.IsVisible(AddonBrowser) | Container.Content(Addons) + 60 + 200 + + + 1 + 0 + 191 + 160 + button-nofocus.png + 5 + 100 + $INFO[Listitem.Icon] + + + 1 + 0 + 191 + 160 + button-nofocus.png + 5 + 100 + ff333333 + $INFO[Listitem.Icon] + !IsEmpty(ListItem.Property(Addon.broken)) + + + 96 + 70 + 190 + 25 + font13_title + ffaa0000 + black + red + center + center + 45 + + !IsEmpty(ListItem.Property(Addon.broken)) + + + 96 + 160 + 190 + 25 + font12 + grey2 + selected + center + center + ListItem.Label + + + + + 1 + 0 + 191 + 160 + folder-focus.png + 5 + 100 + $INFO[Listitem.Icon] + + + 1 + 0 + 191 + 160 + button-nofocus.png + 5 + 100 + ff333333 + $INFO[Listitem.Icon] + !IsEmpty(ListItem.Property(Addon.broken)) + + + 96 + 70 + 190 + 25 + font13_title + ffaa0000 + black + red + center + center + 45 + + !IsEmpty(ListItem.Property(Addon.broken)) + + + 96 + 160 + 190 + 25 + font12 + white + selected + center + center + ListItem.Label + + + + + 850 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 551 + 2 + true + vertical + Control.IsVisible(551) + + + 910 + 90 + Control.IsVisible(551) + + Show Title txt + 10 + 0 + 290 + 15 + + center + center + font13_title + white + black + true + + + 40 + + Author txt + 130 + 0 + 120 + 25 + + right + center + font13 + blue + + + Author Value + 140 + 0 + 155 + 25 + + left + center + font13 + false + 1000 + + + Version txt + 130 + 30 + 120 + 25 + + right + center + font13 + blue + + + Version Value + 140 + 30 + 155 + 25 + + left + center + font13 + true + + + Rating txt + 130 + 60 + 120 + 25 + + right + center + font13 + blue + + + Rating value + 135 + 60 + 150 + 30 + keep + $INFO[ListItem.Property(Addon.StarRating),LeftRating/] + + + 0 + 100 + 290 + 4 + separator.png + + + Description + 10 + 110 + 290 + 400 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsFileMode.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsFileMode.xml new file mode 100644 index 000000000..656fe9588 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsFileMode.xml @@ -0,0 +1,696 @@ + + + + Control.IsVisible(50) + VisibleFadeEffect + + 70 + 78 + 690 + 561 + 2 + 60 + 50 + 50 + list + 60 + 200 + + + 0 + 0 + 690 + 41 + MenuItemNF.png + + + 10 + 0 + 660 + 40 + font13 + grey2 + selected + left + center + + + + 680 + 0 + 400 + 40 + font12 + grey2 + selected + right + center + + !Window.IsVisible(Videos) + + + 620 + 0 + 400 + 40 + font12 + grey2 + selected + right + center + + Window.IsVisible(Videos) + conditional + + + 625 + 8 + 40 + 26 + $INFO[ListItem.VideoResolution,flagging/lists/,.png] + Window.IsVisible(Videos) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + + + 665 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + Window.IsVisible(Videos) + !ListItem.IsResumable + + + 665 + 14 + 16 + 16 + OverlayWatching.png + Window.IsVisible(Videos) + ListItem.IsResumable + + + + + 0 + 0 + 690 + 41 + MenuItemNF.png + !Control.HasFocus(50) + VisibleFadeEffect + + + 0 + 0 + 690 + 41 + MenuItemFO.png + Control.HasFocus(50) + VisibleFadeEffect + + + 490 + 4 + 200 + 33 + MediaItemDetailBG.png + Control.HasFocus(50) + !IsEmpty(ListItem.Label2) + + + 10 + 0 + 660 + 40 + font13 + white + selected + left + center + + + + 680 + 0 + 400 + 40 + font12 + grey2 + selected + right + center + + !Window.IsVisible(Videos) + + + 620 + 0 + 400 + 40 + font12 + grey2 + selected + right + center + + Window.IsVisible(Videos) + conditional + + + 625 + 8 + 40 + 26 + $INFO[ListItem.VideoResolution,flagging/lists/,.png] + Window.IsVisible(Videos) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + + + 665 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + Window.IsVisible(Videos) + !ListItem.IsResumable + + + 665 + 14 + 16 + 16 + OverlayWatching.png + Window.IsVisible(Videos) + ListItem.IsResumable + + + + + 760 + 85 + 25 + 550 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 50 + 2 + false + vertical + Control.IsVisible(50) + + + 850 + 100 + Control.IsVisible(50) + + 0 + 0 + 360 + 540 + keep + IconCrossfadeTime + $VAR[PosterThumb] + ThumbShadow.png + 8 + + + 8 + 532 + 344 + 524 + keep + IconCrossfadeTime + $VAR[PosterThumb] + + + + + + + Control.IsVisible(500) + VisibleFadeEffect + + 90 + 80 + 1080 + 558 + 2 + 60 + 500 + 500 + list + 60 + 200 + 2 + + + 1 + 0 + 214 + 160 + button-nofocus.png + 5 + $INFO[Listitem.Icon] + !Container.Content(Episodes) + + + 1 + 0 + 214 + 160 + scale + button-nofocus.png + 5 + $INFO[Listitem.Icon] + Container.Content(Episodes) + + + 108 + 160 + 200 + 25 + font12 + grey2 + selected + center + center + ListItem.Label + + + 170 + 130 + 30 + 30 + keep + $INFO[ListItem.Overlay] + + + + + 1 + 0 + 214 + 160 + folder-focus.png + 5 + $INFO[Listitem.Icon] + !Container.Content(Episodes) + + + 1 + 0 + 214 + 160 + scale + folder-focus.png + 5 + $INFO[Listitem.Icon] + Container.Content(Episodes) + + + 108 + 160 + 200 + 25 + font12 + white + selected + center + center + ListItem.Label + + + 180 + 130 + 30 + 30 + keep + $INFO[ListItem.Overlay] + + + + + 1 + 0 + 214 + 240 + button-nofocus.png + 5 + $VAR[PosterThumb] + + + 108 + 240 + 200 + 25 + font12 + grey2 + selected + center + center + ListItem.Label + + + 170 + 210 + 30 + 30 + keep + $INFO[ListItem.Overlay] + + + + + 1 + 0 + 214 + 240 + folder-focus.png + 5 + $VAR[PosterThumb] + + + 108 + 240 + 200 + 25 + font12 + white + selected + center + center + ListItem.Label + + + 170 + 210 + 30 + 30 + keep + $INFO[ListItem.Overlay] + + + + + 1170 + 80 + 25 + 550 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 500 + 2 + false + vertical + Control.IsVisible(500) + + + + + + Control.IsVisible(505) + VisibleFadeEffect + + Container.Content(TVShows) | Container.Content(Files) + 95 + 80 + 1080 + 550 + 2 + 60 + 505 + 505 + list + 60 + 200 + 2 + + + 1 + 0 + 538 + 105 + button-nofocus.png + 5 + $VAR[BannerThumb] + + + 500 + 70 + 35 + 35 + keep + $INFO[ListItem.Overlay] + + + + + 1 + 0 + 538 + 105 + folder-focus.png + 5 + $VAR[BannerThumb] + + + 500 + 70 + 35 + 35 + keep + $INFO[ListItem.Overlay] + + + + + 1170 + 80 + 25 + 550 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 505 + 2 + false + vertical + Control.IsVisible(505) + + + + + + Control.IsVisible(51) + VisibleFadeEffect + + 95 + 78 + 1080 + 561 + 2 + 60 + 51 + 51 + list + 60 + 200 + + + 0 + 0 + 1080 + 41 + MenuItemNF.png + + + 10 + 4 + 40 + 32 + $INFO[ListItem.Icon] + + + 60 + 0 + 950 + 40 + font13 + grey2 + selected + left + center + + + + 1060 + 0 + 1000 + 40 + font12 + grey2 + selected + right + center + + !Window.IsVisible(Videos) + + + 1005 + 0 + 940 + 40 + font12 + grey2 + selected + right + center + + Window.IsVisible(Videos) + conditional + + + 1010 + 8 + 40 + 26 + $INFO[ListItem.VideoResolution,flagging/lists/,.png] + Window.IsVisible(Videos) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + + + 1050 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + Window.IsVisible(Videos) + !ListItem.IsResumable + + + 1050 + 14 + 16 + 16 + OverlayWatching.png + Window.IsVisible(Videos) + ListItem.IsResumable + + + + + 0 + 0 + 1080 + 41 + MenuItemNF.png + !Control.HasFocus(51) + VisibleFadeEffect + + + 0 + 0 + 1080 + 41 + MenuItemFO.png + Control.HasFocus(51) + VisibleFadeEffect + + + 875 + 4 + 200 + 33 + MediaItemDetailBG.png + Control.HasFocus(51) + !IsEmpty(ListItem.Label2) + + + 10 + 4 + 40 + 32 + $INFO[ListItem.Icon] + + + 60 + 0 + 950 + 40 + font13 + white + selected + left + center + + + + 1060 + 0 + 1000 + 40 + font12 + grey2 + selected + right + center + + !Window.IsVisible(Videos) + + + 1005 + 0 + 940 + 40 + font12 + grey2 + selected + right + center + + Window.IsVisible(Videos) + conditional + + + 1010 + 8 + 40 + 26 + $INFO[ListItem.VideoResolution,flagging/lists/,.png] + Window.IsVisible(Videos) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + + + 1050 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + Window.IsVisible(Videos) + !ListItem.IsResumable + + + 1050 + 14 + 16 + 16 + OverlayWatching.png + Window.IsVisible(Videos) + ListItem.IsResumable + + + + + 1170 + 80 + 25 + 550 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 50 + 2 + false + vertical + Control.IsVisible(51) + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsLiveTV.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsLiveTV.xml new file mode 100644 index 000000000..1fed2a8a3 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsLiveTV.xml @@ -0,0 +1,165 @@ + + + + Control.IsVisible(560) + VisibleFadeEffect + + 70 + 75 + 760 + 561 + 2 + 60 + 560 + 560 + list + 60 + 200 + Container.Content(LiveTV) + + + 0 + 0 + 760 + 41 + MenuItemNF.png + + + 10 + 0 + 730 + 40 + font13 + grey2 + selected + left + center + + + + 750 + 0 + 700 + 40 + font12 + grey2 + selected + right + center + + + + + + 0 + 0 + 760 + 41 + MenuItemNF.png + !Control.HasFocus(560) + VisibleFadeEffect + + + 0 + 0 + 760 + 41 + MenuItemFO.png + Control.HasFocus(560) + VisibleFadeEffect + + + 560 + 5 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(560) + !IsEmpty(ListItem.Label2) + + + 10 + 0 + 730 + 40 + font13 + white + selected + left + center + + + + 750 + 0 + 700 + 40 + font12 + grey2 + selected + right + center + + + + + + 850 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 560 + 2 + false + vertical + Control.IsVisible(560) + + + Control.IsVisible(560) + 910 + 80 + + 10 + 0 + 290 + 290 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + 10 + 300 + 290 + 25 + + center + center + font13 + blue + black + false + 1000 + + + Description Value for TV Show + 10 + 330 + 290 + 220 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsMusicLibrary.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsMusicLibrary.xml new file mode 100644 index 000000000..dc9631f20 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsMusicLibrary.xml @@ -0,0 +1,1076 @@ + + + + Control.IsVisible(506) + VisibleFadeEffect + + 70 + 75 + 780 + 561 + 2 + 60 + 506 + 506 + list + 60 + 200 + Window.IsVisible(MusicFiles) | Window.IsVisible(MusicPlaylist) | Container.Content(Songs) | Container.Content(Albums) + + + 0 + 0 + 780 + 41 + MenuItemNF.png + + + 10 + 0 + 730 + 40 + font13 + grey2 + selected + left + center + + + + 760 + 0 + 700 + 40 + font12 + grey2 + selected + right + center + + + + + + 0 + 0 + 760 + 41 + MenuItemNF.png + !Control.HasFocus(506) + VisibleFadeEffect + + + 0 + 0 + 780 + 41 + MenuItemFO.png + Control.HasFocus(506) + VisibleFadeEffect + + + 580 + 5 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(506) + !IsEmpty(ListItem.Label2) + + + 10 + 0 + 730 + 40 + font13 + white + selected + left + center + + + + 760 + 0 + 700 + 40 + font12 + grey2 + selected + right + center + + + + + + 850 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 506 + 2 + false + vertical + Control.IsVisible(506) + + + Control.IsVisible(506) + 910 + 80 + + 10 + 0 + 290 + 290 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + 10 + 300 + 290 + 25 + + true + center + center + font24_title + white + black + + + 10 + 360 + 290 + 25 + + true + center + center + font13 + grey2 + black + + + 10 + 420 + 290 + 25 + + true + center + top + font13_title + white + black + true + !Container.Content(Albums) + + + 10 + 420 + 290 + 25 + + true + center + top + font13_title + white + black + true + Container.Content(Albums) + + + Trackno txt + 10 + 480 + 290 + 25 + + center + center + font13 + white + !Container.Content(Albums) + + + Year txt + 10 + 505 + 290 + 25 + + center + center + font13 + white + + + Rating value + 80 + 535 + 150 + 30 + keep + $INFO[ListItem.StarRating,CenterRating/] + + + + + + + 0 + 350 + Control.IsVisible(509) + Skin.HasSetting(View509HideInfo) + VisibleFadeEffect + + 0 + 0 + 1280 + 270 + HomeNowPlayingBack.png + + + 40 + 70 + 1200 + 20 + font24_title + white + black + true + center + center + + conditional + + + + Control.IsVisible(509) + VisibleFadeEffect + 0 + 450 + + Container.Content(Albums) + + -80 + 0 + 1360 + 250 + 509 + 509 + 2 + 60 + wrap + 60 + 200 + 4 + 2 + horizontal + 4 + + + 2 + 20 + 160 + 160 + stretch + button-nofocus.png + 4 + 200 + $INFO[ListItem.Icon] + + + 6 + 24 + 152 + 152 + stretch + black-back.png + AAFFFFFF + + + 2 + 180 + 160 + 160 + stretch + button-nofocus.png + 4 + 200 + $INFO[ListItem.Icon] + + + + + -2 + 16 + 168 + 168 + stretch + ThumbBorder.png + 8 + 200 + $INFO[ListItem.Icon] + focus + unfocus + + + 180 + 325 + 35 + 35 + keep + $INFO[ListItem.Overlay] + + + + + + + + + + + + + 310 + 195 + 660 + 25 + ScrollBarH.png + ScrollBarH_bar.png + ScrollBarH_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 509 + 2 + false + horizontal + Control.IsVisible(509) + + + + 180 + 40 + Control.IsVisible(509) + !Skin.HasSetting(View509HideInfo) + VisibleFadeEffect + + 0 + 0 + 920 + 410 + ContentPanel.png + + + 40 + 20 + 840 + 20 + font13 + white + black + true + center + center + + + + 40 + 50 + 840 + 20 + font24_title + blue + black + true + center + center + + + + 40 + 80 + + 0 + 0 + 400 + 30 + font13_title + white + black + true + left + center + + + + 0 + 35 + 850 + 30 + font13 + white + black + true + left + center + + false + + + 0 + 65 + 850 + 30 + font13 + white + black + true + left + center + + false + + + 0 + 95 + 400 + 30 + font13 + white + black + true + left + center + + false + 2000 + + + Rating value + 100 + 95 + 160 + 32 + keep + $INFO[ListItem.StarRating,LeftRating/] + + + Description Value for Album + 0 + 150 + 850 + 140 + font12 + justify + - + white + + Skin.HasSetting(AutoScroll) + + + + + + + Control.IsVisible(511) + VisibleFadeEffect + + 70 + 75 + 760 + 561 + 2 + 60 + 511 + 511 + list + 60 + 200 + Container.Content(MusicVideos) + + + 0 + 0 + 760 + 41 + MenuItemNF.png + + + 10 + 0 + 720 + 40 + font13 + grey2 + selected + left + center + + + + 730 + 0 + 700 + 40 + font12 + grey2 + selected + right + center + + + + 735 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + + + + + 0 + 0 + 760 + 41 + MenuItemNF.png + !Control.HasFocus(511) + VisibleFadeEffect + + + 0 + 0 + 760 + 41 + MenuItemFO.png + Control.HasFocus(511) + VisibleFadeEffect + + + 560 + 5 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(511) + !IsEmpty(ListItem.Label2) + + + 10 + 0 + 720 + 40 + font13 + white + selected + left + center + + + + 730 + 0 + 700 + 40 + font12 + grey2 + selected + right + center + + + + 735 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + + + + + 850 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 511 + 2 + false + vertical + Control.IsVisible(511) + + + 910 + 80 + + 10 + 0 + 290 + 230 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + Media Codec Flagging Images + 10 + 230 + 290 + center + 0 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + + + 10 + 290 + 290 + 25 + + true + center + center + font24_title + white + black + + + 10 + 350 + 290 + 25 + + true + center + center + font13 + grey2 + black + + + 10 + 410 + 290 + 25 + + true + center + top + font13_title + white + black + true + !Container.Content(Albums) + + + 10 + 470 + 290 + 25 + + true + center + top + font13 + grey2 + black + true + + + Year txt + 10 + 530 + 290 + 25 + + center + center + font13_title + white + + + + + + + Control.IsVisible(512) + VisibleFadeEffect + + 70 + 78 + 580 + 561 + 2 + 60 + 512 + 512 + list + 60 + 200 + Container.Content(Artists) + + + 0 + 0 + 580 + 41 + MenuItemNF.png + + + 10 + 0 + 560 + 40 + font13 + grey2 + selected + left + center + + + + + + 0 + 0 + 580 + 41 + MenuItemNF.png + !Control.HasFocus(512) + VisibleFadeEffect + + + 0 + 0 + 580 + 41 + MenuItemFO.png + Control.HasFocus(512) + VisibleFadeEffect + + + 10 + 0 + 560 + 40 + font13 + white + selected + left + center + + + + + + 650 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 512 + 2 + false + vertical + Control.IsVisible(512) + + + 710 + 70 + + 0 + 0 + 510 + 300 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + 310 + + Born txt + 140 + 0 + 140 + 25 + + right + center + font13_title + blue + !IsEmpty(ListItem.Property(Artist_Born)) + + + Born Value + 150 + 0 + 350 + 25 + + left + center + font13 + true + !IsEmpty(ListItem.Property(Artist_Born)) + + + Formed txt + 140 + 0 + 140 + 25 + + right + center + font13_title + blue + !IsEmpty(ListItem.Property(Artist_Formed)) + + + Formed Value + 150 + 0 + 350 + 25 + + left + center + font13 + true + !IsEmpty(ListItem.Property(Artist_Formed)) + + + Genre txt + 140 + 30 + 140 + 25 + + right + center + font13_title + blue + + + Genre Value + 150 + 30 + 350 + 25 + + left + center + font13 + true + + + 0 + 60 + 510 + 4 + separator.png + + + Description Value for Artist + 10 + 65 + 490 + 190 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + + + + + Control.IsVisible(513) + VisibleFadeEffect + + 70 + 75 + 780 + 561 + 2 + 51360 + 513 + 513 + list + 51360 + 200 + Container.Content(Albums) + + + 0 + 0 + 780 + 41 + MenuItemNF.png + + + 10 + 0 + 730 + 40 + font13 + grey2 + selected + left + center + + + + 760 + 0 + 700 + 40 + font12 + grey2 + selected + right + center + + + + + + 0 + 0 + 780 + 41 + MenuItemNF.png + !Control.HasFocus(513) + VisibleFadeEffect + + + 0 + 0 + 780 + 41 + MenuItemFO.png + Control.HasFocus(513) + VisibleFadeEffect + + + 580 + 5 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(513) + !IsEmpty(ListItem.Label2) + + + 10 + 0 + 730 + 40 + font13 + white + selected + left + center + + + + 760 + 0 + 700 + 40 + font12 + grey2 + selected + right + center + + + + + + 850 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 513 + 2 + false + vertical + Control.IsVisible(513) + + + 910 + 70 + + 10 + 0 + 290 + 240 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + Description Header txt + 10 + 240 + 290 + 25 + + center + center + font12_title + blue + black + + + Description Value for Album + 10 + 270 + 290 + 300 + font12 + justify + - + white + + Skin.HasSetting(AutoScroll) + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsPVR.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsPVR.xml new file mode 100644 index 000000000..4e99f623f --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsPVR.xml @@ -0,0 +1,2410 @@ + + + + TV Channels group + Control.IsVisible(11) + VisibleFadeEffect + + 530 + 490 + + 0 + 0 + 690 + 20 + font13 + white + black + true + center + center + + + + 80 + 22 + 80 + 20 + right + center + font10_title + blue + Container(11).ListItem.HasEpg + + + + Progressbar + 85 + 30 + 510 + 8 + Container(11).ListItem.HasEpg + Container(11).ListItem.Progress + + + 600 + 22 + 80 + 20 + left + center + font10_title + blue + Container(11).ListItem.HasEpg + + + + Plot Value for TVShow + 0 + 43 + 690 + 80 + font12 + justify + white + black + - + + true + + + 690 + 140 + 690 + 20 + font12 + grey2 + right + center + false + !IsEmpty(Container(11).ListItem.NextTitle) + + + + + 70 + 85 + 390 + 541 + 32 + 70 + 11 + 11 + list + 70 + 200 + + + 0 + 0 + 390 + 61 + MenuItemNF.png + VisibleFadeEffect + + + 5 + -4 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 50 + 0 + 270 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 330 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 280 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + Progressbar + 50 + 48 + 280 + 6 + 88FFFFFF + ListItem.HasEpg + ListItem.Progress + + + 340 + 4 + 50 + 50 + $INFO[ListItem.Icon] + + + 5 + 37 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + + + 0 + 0 + 390 + 61 + MenuItemNF.png + !Control.HasFocus(11) + VisibleFadeEffect + + + 0 + 0 + 390 + 61 + MenuItemFO.png + Control.HasFocus(11) + VisibleFadeEffect + + + 5 + -4 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 50 + 0 + 270 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 330 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 280 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + Progressbar + 50 + 48 + 280 + 6 + 88FFFFFF + ListItem.HasEpg + ListItem.Progress + + + 340 + 4 + 50 + 50 + $INFO[ListItem.Icon] + + + 5 + 37 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + + + 465 + 85 + 25 + 540 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 32 + false + vertical + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + + + + Radio Channels group + Control.IsVisible(12) + VisibleFadeEffect + + 530 + 490 + + 0 + 0 + 690 + 20 + font13 + white + black + true + center + center + + + + 80 + 22 + 80 + 20 + right + center + font10_title + blue + Container(12).ListItem.HasEpg + + + + Progressbar + 85 + 30 + 510 + 8 + Container(12).ListItem.HasEpg + Container(12).ListItem.Progress + + + 600 + 22 + 80 + 20 + left + center + font10_title + blue + Container(12).ListItem.HasEpg + + + + Plot Value for TVShow + 0 + 43 + 690 + 80 + font12 + justify + white + black + - + + true + + + 690 + 140 + 690 + 20 + font12 + grey2 + right + center + false + !IsEmpty(Container(12).ListItem.NextTitle) + + + + + 70 + 85 + 390 + 541 + 33 + 71 + 12 + 12 + list + 71 + 200 + + + 0 + 0 + 390 + 61 + MenuItemNF.png + VisibleFadeEffect + + + 5 + -4 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 50 + 0 + 270 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 330 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 280 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + Progressbar + 50 + 48 + 280 + 6 + 88FFFFFF + ListItem.Progress + ListItem.HasEpg + + + 340 + 4 + 50 + 50 + $INFO[ListItem.Icon] + + + 5 + 37 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + + + 0 + 0 + 390 + 61 + MenuItemNF.png + !Control.HasFocus(12) + VisibleFadeEffect + + + 0 + 0 + 390 + 61 + MenuItemFO.png + Control.HasFocus(12) + VisibleFadeEffect + + + 5 + -4 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 50 + 0 + 270 + 25 + font13 + white + selected + left + center + + + + 50 + 25 + 330 + 20 + font12 + grey + grey + left + center + + IsEmpty(Listitem.Icon) + + + 50 + 25 + 280 + 20 + font12 + grey + grey + left + center + + !IsEmpty(Listitem.Icon) + + + Progressbar + 50 + 48 + 280 + 6 + 88FFFFFF + ListItem.Progress + ListItem.HasEpg + + + 340 + 4 + 50 + 50 + $INFO[ListItem.Icon] + + + 5 + 37 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + + + 465 + 85 + 25 + 540 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 12 + 33 + false + vertical + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + + + + Recordings group + Control.IsVisible(13) + VisibleFadeEffect + + 70 + 75 + 760 + 561 + 34 + 72 + 13 + 13 + list + 72 + 200 + + + 0 + 0 + 760 + 41 + MenuItemNF.png + VisibleFadeEffect + + + 10 + 5 + 30 + 30 + $INFO[ListItem.Icon] + + + 50 + 0 + 605 + 40 + font13 + grey2 + selected + left + center + + + + 725 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + + + 730 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + !ListItem.IsResumable + + + 730 + 14 + 16 + 16 + OverlayWatching.png + ListItem.IsResumable + + + + + 0 + 0 + 760 + 41 + MenuItemFO.png + Control.HasFocus(13) + VisibleFadeEffect + + + 0 + 0 + 760 + 41 + MenuItemNF.png + VisibleFadeEffect + !Control.HasFocus(13) + + + 560 + 5 + 200 + 31 + MediaItemDetailBG.png + Control.HasFocus(13) + !IsEmpty(ListItem.Date) + + + 10 + 5 + 30 + 30 + $INFO[ListItem.Icon] + + + 50 + 0 + 630 + 40 + font13 + white + selected + left + center + + + + 725 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + + + 730 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + !ListItem.IsResumable + + + 730 + 14 + 16 + 16 + OverlayWatching.png + ListItem.IsResumable + + + + + 850 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 13 + 34 + false + vertical + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + 910 + 80 + + 10 + 0 + 290 + 230 + keep + IconCrossfadeTime + $INFO[Container(13).ListItem.Icon] + ThumbShadow.png + 8 + + + 10 + 230 + 290 + 25 + + center + center + font13 + blue + black + false + 1000 + + + Description Value for TV Show + 10 + 270 + 290 + 280 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + + + + + TV Guide Timeline + Control.IsVisible(10) + VisibleFadeEffect + + EPG Grid + 80 + 81 + 1120 + 555 + 10 + 350 + 40 + 6 + 31 + 31 + 10 + 10 + + + 40 + 29 + 0 + 0 + button-nofocus.png + + + 10 + 0 + 34 + 29 + font12 + center + selected + left + + + + + UnFocus + + 0 + 0 + 270 + 52 + button-nofocus.png + + + 5 + 5 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 45 + 4 + 45 + 44 + $INFO[ListItem.Icon] + + + 94 + 0 + 160 + 52 + special12 + center + selected + left + + + + + OnFocus + + 0 + 0 + 270 + 52 + button-focus.png + + + 5 + 5 + 40 + 35 + font12 + left + center + grey + grey + ListItem.ChannelNumber + + + 45 + 4 + 45 + 44 + $INFO[ListItem.Icon] + + + 94 + 0 + 160 + 52 + special12 + center + selected + left + + + + + + 40 + 52 + 0 + 0 + stretch + epg-genres/$INFO[ListItem.Property(GenreType)].png + + + 6 + 3 + 30 + 25 + font12 + center + selected + left + ListItem.Label + + + 5 + 28 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 5 + 28 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + + + 40 + 52 + 0 + 0 + folder-focus.png + + + 40 + 52 + 0 + 0 + stretch + epg-genres/$INFO[ListItem.Property(GenreType)].png + + + 6 + 3 + 30 + 25 + font12 + center + selected + left + ListItem.Label + + + 5 + 28 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 5 + 28 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + + + + + + + Timers group + Control.IsVisible(14) + VisibleFadeEffect + + 80 + 60 + + Channel header label + 0 + 20 + 220 + 20 + font13_title + white + black + center + center + + + + Title header label + 220 + 20 + 300 + 20 + font13_title + white + black + center + center + + + + Schedule Time header label + 580 + 20 + 300 + 20 + font13_title + white + black + center + center + + + + Status header label + 940 + 20 + 150 + 20 + font13_title + white + black + center + center + + + + separator image + 0 + 50 + 1100 + 1 + 88FFFFFF + separator2.png + + + 0 + 55 + 1100 + 480 + 14 + 14 + 35 + 73 + 73 + 200 + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 220 + 0 + 300 + 40 + 33FFFFFF + StackFO.png + + + 940 + 0 + 155 + 40 + 33FFFFFF + StackFO.png + + + 0 + 8 + 50 + 26 + !IsEmpty(ListItem.Date) + $INFO[ListItem.Icon] + + + 50 + 0 + 150 + 40 + font12 + left + center + selected + ListItem.ChannelName + + + 370 + 0 + 290 + 40 + font12 + center + center + selected + ListItem.Label + + + 730 + 0 + 400 + 40 + font12 + center + center + selected + ListItem.Date + + + 1018 + 0 + 170 + 40 + font12 + center + center + selected + ListItem.Comment + + + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 220 + 0 + 300 + 40 + 33FFFFFF + StackFO.png + !Control.HasFocus(14) + + + 940 + 0 + 155 + 40 + 33FFFFFF + StackFO.png + !Control.HasFocus(14) + + + 220 + 0 + 300 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(14) + + + 940 + 0 + 155 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(14) + + + 0 + 8 + 50 + 26 + !IsEmpty(ListItem.Date) + $INFO[ListItem.Icon] + + + 50 + 0 + 150 + 40 + font12 + left + center + selected + ListItem.ChannelName + + + 370 + 0 + 290 + 40 + font12 + center + center + selected + ListItem.Label + + + 730 + 0 + 400 + 40 + font12 + center + center + selected + ListItem.Date + + + 1018 + 0 + 150 + 40 + font12 + center + center + selected + ListItem.Comment + + + + + 1105 + 50 + 25 + 480 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 11 + 35 + false + vertical + + + separator image + 55 + 540 + 1010 + 1 + 88FFFFFF + separator2.png + + + Next timer date + 55 + 545 + 1010 + 30 + font13 + center + center + true + white + + PVR.HasTimer + + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + + + + TV Search group + Control.IsVisible(17) + VisibleFadeEffect + + 80 + 60 + + Channel label + 0 + 20 + 250 + 20 + font13_title + white + black + center + center + + + + Title + 290 + 20 + 350 + 20 + font13_title + white + black + left + center + + + + Time label + 920 + 20 + 300 + 20 + font13_title + white + black + right + center + + + + Status header label + 960 + 20 + 140 + 20 + font13_title + white + black + center + center + + + + separator image + 0 + 50 + 1100 + 1 + 88FFFFFF + separator2.png + + + 0 + 55 + 1100 + 520 + 17 + 17 + 36 + 77 + 77 + 200 + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 0 + 0 + 250 + 40 + 33FFFFFF + StackFO.png + + + 960 + 0 + 140 + 40 + 33FFFFFF + StackFO.png + + + 10 + 5 + 30 + 30 + ListItem.Icon + + + 50 + 0 + 190 + 35 + font12 + left + center + grey2 + selected + ListItem.ChannelName + + + 260 + 0 + 650 + 35 + font13 + left + center + grey2 + selected + ListItem.Label + + + 950 + 0 + 500 + 40 + font12 + right + center + grey2 + selected + ListItem.Date + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 0 + 0 + 250 + 40 + 33FFFFFF + StackFO.png + !Control.HasFocus(17) + + + 960 + 0 + 140 + 40 + 33FFFFFF + StackFO.png + !Control.HasFocus(17) + + + 0 + 0 + 250 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(17) + + + 960 + 0 + 140 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(17) + + + 10 + 5 + 30 + 30 + ListItem.Icon + + + 50 + 0 + 190 + 35 + font12 + left + center + grey2 + selected + ListItem.ChannelName + + + 260 + 0 + 650 + 35 + font13 + left + center + white + selected + ListItem.Label + + + 950 + 0 + 500 + 40 + font12 + right + center + white + selected + ListItem.Date + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 1105 + 50 + 25 + 520 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 16 + 36 + false + vertical + + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + + + + + + + TV Guide Channel + Control.IsVisible(15) + VisibleFadeEffect + + 80 + 60 + + Date Time label + 0 + 20 + 300 + 20 + font13_title + white + black + center + center + + + + Title + 300 + 20 + 600 + 20 + font13_title + white + black + center + center + + + + Status header label + 960 + 20 + 140 + 20 + font13_title + white + black + center + center + + + + separator image + 0 + 50 + 1100 + 1 + 88FFFFFF + separator2.png + + + 0 + 60 + 1100 + 500 + 15 + 15 + 31 + 75 + 75 + 200 + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 0 + 0 + 300 + 40 + 33FFFFFF + StackFO.png + + + 960 + 0 + 140 + 40 + 33FFFFFF + StackFO.png + + + 150 + 0 + 280 + 40 + font12 + center + center + grey2 + selected + ListItem.Date + + + 310 + 0 + 640 + 40 + font13 + left + center + grey2 + selected + ListItem.Label + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 0 + 1 + 1100 + 98 + AAFFFFFF + black-back2.png + + + 0 + 0 + 1100 + 101 + MenuItemNF.png + + + 0 + 0 + 300 + 40 + AAFFFFFF + StackFO.png + !Control.HasFocus(15) + + + 960 + 0 + 140 + 40 + AAFFFFFF + StackFO.png + !Control.HasFocus(15) + + + 0 + 0 + 300 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(15) + + + 960 + 0 + 140 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(15) + + + 150 + 0 + 280 + 40 + font12 + center + center + white + selected + ListItem.Date + + + 310 + 0 + 640 + 40 + font13 + left + center + white + selected + ListItem.Label + + + Plot Value for TVShow + 50 + 40 + 1000 + 60 + font12 + justify + grey2 + black + - + + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 1105 + 60 + 25 + 500 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 15 + 31 + false + vertical + + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + + + + + + + TV Guide Now/Next + Control.IsVisible(16) + VisibleFadeEffect + + 80 + 60 + + Time label + 0 + 20 + 100 + 20 + font13_title + white + black + center + center + + + + Channel label + 100 + 20 + 250 + 20 + font13_title + white + black + center + center + + + + Title + 350 + 20 + 550 + 20 + font13_title + white + black + center + center + + + + Status header label + 960 + 20 + 140 + 20 + font13_title + white + black + center + center + + + + separator image + 0 + 50 + 1100 + 1 + 88FFFFFF + separator2.png + + + 0 + 60 + 1100 + 500 + 16 + 16 + 31 + 76 + 76 + 200 + + + 0 + 0 + 1100 + 41 + MenuItemNF.png + + + 100 + 0 + 250 + 40 + 33FFFFFF + StackFO.png + + + 960 + 0 + 140 + 40 + 33FFFFFF + StackFO.png + + + 50 + 0 + 100 + 40 + font12 + center + center + grey2 + selected + ListItem.StartTime + + + 110 + 5 + 30 + 30 + ListItem.Icon + + + 150 + 0 + 190 + 35 + font12 + left + center + grey2 + selected + ListItem.ChannelName + + + 360 + 0 + 590 + 35 + font13 + left + center + grey2 + selected + ListItem.Label + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 0 + 1 + 1100 + 98 + AAFFFFFF + black-back2.png + + + 0 + 0 + 1100 + 100 + MenuItemNF.png + + + 100 + 0 + 250 + 40 + AAFFFFFF + StackFO.png + !Control.HasFocus(16) + + + 960 + 0 + 140 + 40 + AAFFFFFF + StackFO.png + !Control.HasFocus(16) + + + 100 + 0 + 250 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(16) + + + 960 + 0 + 140 + 40 + 88FFFFFF + StackFO.png + Control.HasFocus(16) + + + 50 + 0 + 100 + 40 + font12 + center + center + white + selected + ListItem.StartTime + + + 110 + 5 + 30 + 30 + ListItem.Icon + + + 150 + 0 + 190 + 35 + font12 + left + center + white + selected + ListItem.ChannelName + + + 360 + 0 + 590 + 35 + font13 + left + center + white + selected + ListItem.Label + + + Plot Value for TVShow + 50 + 35 + 1000 + 60 + font12 + justify + grey2 + black + - + + + + 970 + 10 + 30 + 20 + PVR-IsRecording.png + ListItem.IsRecording + + + 1005 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.IsRecording + + + 970 + 10 + 20 + 20 + PVR-HasTimer.png + ListItem.HasTimer + !ListItem.IsRecording + + + 1000 + 0 + 80 + 40 + font10 + left + center + grey2 + selected + + ListItem.HasTimer + + + + + 1105 + 60 + 25 + 500 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 16 + 31 + false + vertical + + + + Conditional + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsPictures.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsPictures.xml new file mode 100644 index 000000000..78c981355 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsPictures.xml @@ -0,0 +1,219 @@ + + + + Control.IsVisible(510) + VisibleFadeEffect + 0 + 440 + + -25 + 5 + 1330 + 250 + 510 + 510 + 2 + 60 + wrap + 60 + 200 + 3 + horizontal + 4 + + + 15 + 40 + 160 + 160 + stretch + ThumbShadow.png + 8 + 200 + ThumbBG.png + + + 25 + 50 + 140 + 140 + keep + $INFO[ListItem.Icon] + + + + + 15 + 40 + 160 + 160 + stretch + ThumbShadow.png + 8 + 200 + ThumbBG.png + focus + unfocus + + + 25 + 50 + 140 + 140 + keep + $INFO[ListItem.Icon] + focus + unfocus + + + + + 310 + 200 + 660 + 25 + ScrollBarH.png + ScrollBarH_bar.png + ScrollBarH_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 510 + 2 + false + horizontal + Control.IsVisible(510) + + + + + + Control.IsVisible(514) + + 60 + 75 + 432 + 576 + 2 + 60 + 514 + 514 + list + 60 + 200 + 2 + + + 0 + 0 + 144 + 144 + stretch + ThumbShadow.png + 8 + 200 + ThumbBG.png + + + 10 + 10 + 124 + 124 + keep + $INFO[ListItem.Icon] + + + + + 0 + 0 + 144 + 144 + stretch + folder-Focus.png + 8 + 200 + ThumbBG.png + + + 10 + 10 + 124 + 124 + keep + $INFO[ListItem.Icon] + + + + + 500 + 70 + 25 + 576 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 514 + 2 + false + vertical + Control.IsVisible(514) + + + 570 + 80 + + Title txt + 0 + 0 + 640 + 15 + + center + center + font24_title + white + black + + + 0 + 30 + 640 + 470 + $INFO[ListItem.FilenameAndPath] + 600 + keep + ThumbShadow.png + 9 + + + Date time txt + 0 + 510 + 640 + 15 + + left + center + font13 + white + black + + + Resolution txt + 0 + 535 + 640 + 15 + + left + center + font13 + white + black + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsVideoLibrary.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsVideoLibrary.xml new file mode 100644 index 000000000..2a5dc816c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/ViewsVideoLibrary.xml @@ -0,0 +1,1924 @@ + + + + Control.IsVisible(501) + 60 + 80 + 1160 + 460 + 9000 + 61 + true + VisibleFadeEffect + + Container.Content(Movies) | Container.Content(Seasons) | Container.Content(TVShows) | Container.Content(Sets) + !Container.Content(LiveTV) + -183 + 0 + 1526 + 390 + 501 + 501 + 2 + 60 + bigwrap + 60 + 200 + 3 + horizontal + 4 + + + 2 + 40 + 214 + 310 + stretch + button-nofocus.png + 4 + $VAR[PosterThumb] + + + + + -2 + 36 + 222 + 318 + stretch + ThumbBorder.png + 8 + $VAR[PosterThumb] + focus + unfocus + + + 6 + 44 + 170 + 180 + stretch + GlassOverlay.png + focus + unfocus + + + 185 + 310 + 35 + 35 + keep + $INFO[ListItem.Overlay] + + + + + + + + + + + + + 140 + 0 + 880 + 25 + ScrollBarH.png + ScrollBarH_bar.png + ScrollBarH_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 501 + 9000 + false + horizontal + Control.IsVisible(501) + + + + Control.IsVisible(501) + + 56 + 120 + 128 + 310 + SideFade.png + + + 1094 + 120 + 128 + 310 + SideFade.png + + + + Control.IsVisible(501) + [Container.Content(Movies) | Container.Content(Sets)] + + 30 + 500 + 1220 + 35 + font28_title + blue + black + true + center + center + + + + 0 + 540 + 1280 + 35 + font30 + white + black + true + center + center + + + + 0 + 580 + 1280 + 20 + font13 + white + black + true + center + center + + + + Media Codec Flagging Images + 0 + 610 + 1280 + center + 2 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + + Control.IsVisible(501) + Container.Content(Seasons) + + 30 + 500 + 1220 + 35 + font28_title + blue + true + center + center + + + + 0 + 540 + 1280 + 35 + font30 + white + true + center + center + + + + 0 + 575 + 1280 + 35 + font13 + white + true + center + center + + + + 0 + 605 + 1280 + 35 + font12 + white + true + center + center + + + + + Control.IsVisible(501) + Container.Content(TVShows) + + 30 + 500 + 1220 + 35 + font28_title + blue + true + center + center + + + + 0 + 540 + 1280 + 35 + font30 + white + true + center + center + + + + 0 + 575 + 1280 + 35 + font13 + white + true + center + center + + + + 0 + 605 + 1280 + 35 + font12 + white + true + center + center + + + + + + + 0 + 350 + Control.IsVisible(508) + [[ListItem.IsFolder + Container.Content(Movies)] | Skin.HasSetting(View508HideInfo) | Container.Content(Sets)] + VisibleFadeEffect + + 0 + 0 + 1280 + 270 + HomeNowPlayingBack.png + + + 40 + 70 + 1200 + 20 + font24_title + white + black + true + center + center + + conditional + + + + Control.IsVisible(508) + VisibleFadeEffect + 0 + 460 + + Container.Content(Movies) | Container.Content(TVShows) | Container.Content(Sets) + + -20 + 0 + 1320 + 250 + 508 + 508 + 2 + 60 + wrap + 60 + 200 + 5 + 3 + horizontal + 4 + + + 2 + 20 + 120 + 160 + stretch + button-nofocus.png + 4 + 200 + $VAR[PosterThumb] + + + 6 + 24 + 112 + 152 + stretch + black-back.png + AAFFFFFF + + + 2 + 180 + 120 + 160 + stretch + button-nofocus.png + 4 + 200 + $VAR[PosterThumb] + + + + + -2 + 16 + 128 + 168 + stretch + ThumbBorder.png + 8 + 200 + $VAR[PosterThumb] + focus + unfocus + + + 2 + 180 + 120 + 160 + stretch + button-nofocus.png + 4 + 200 + $VAR[PosterThumb] + + + 90 + 150 + 35 + 35 + keep + $INFO[ListItem.Overlay] + + + + + + + + + + + + + 310 + 185 + 660 + 25 + ScrollBarH.png + ScrollBarH_bar.png + ScrollBarH_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 508 + 2 + false + horizontal + Control.IsVisible(508) + + + + 180 + 40 + Control.IsVisible(508) + ![ListItem.IsFolder + Container.Content(Movies)] + !Skin.HasSetting(View508HideInfo) + !Container.Content(Sets) + VisibleFadeEffect + + 0 + 0 + 920 + 410 + ContentPanel.png + + + 40 + 20 + 840 + 20 + font24_title + blue + black + true + center + center + + + + 40 + 50 + Container.Content(Movies) + + 0 + 0 + 400 + 30 + font13_title + white + black + true + left + center + + + + 0 + 30 + 400 + 30 + font13 + white + black + true + left + center + + false + 2000 + + + 0 + 55 + 400 + 30 + font13 + white + black + true + left + center + + false + 2000 + + + 0 + 80 + 400 + 30 + font13 + white + black + true + left + center + + false + 2000 + + + 0 + 105 + 400 + 30 + font13 + white + black + true + left + center + + false + 2000 + + + + 480 + 50 + Container.Content(Movies) + + 0 + 0 + 400 + 30 + font13_title + white + black + true + left + center + + + + 0 + 30 + 400 + 30 + font13 + white + black + true + left + center + + + + 0 + 75 + 400 + 30 + font13_title + white + black + true + left + center + + + + 0 + 105 + 400 + 30 + font13 + white + black + true + left + top + + + + + 40 + 50 + Container.Content(TVShows) + + 0 + 0 + 400 + 30 + font13_title + white + black + true + left + center + + + + 0 + 30 + 400 + 30 + font13 + white + black + true + left + center + + false + 2000 + + + 0 + 55 + 400 + 30 + font13 + white + black + true + left + center + + false + 2000 + + + 0 + 80 + 400 + 30 + font13 + white + black + true + left + center + + false + 2000 + + + + 480 + 50 + Container.Content(TVShows) + + 0 + 0 + 400 + 30 + font13_title + white + black + true + left + center + + + + 0 + 30 + 400 + 30 + font13 + white + black + true + left + center + + + + 0 + 55 + 400 + 30 + font13 + white + black + true + left + center + + + + 0 + 80 + 400 + 30 + font13 + white + black + true + left + center + + + + + 40 + 200 + + 0 + 0 + 400 + 30 + font13_title + white + black + true + left + center + + + + Description Value The Movie + 0 + 30 + 850 + 120 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + Media Codec Flagging Images + 30 + 360 + 800 + left + 2 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + MPAA Rating Flagging Images + 95 + 360 + 800 + right + 0 + horizontal + VideoMPAAFlaggingConditions + + + + + + Control.IsVisible(503) + VisibleFadeEffect + + 70 + 245 + 580 + 401 + 2 + 60 + 503 + 503 + list + 60 + 200 + Container.Content(TVShows) | Container.Content(Seasons) | Container.Content(Episodes) | Container.Content(Movies) + + + 0 + 0 + 580 + 41 + MenuItemNF.png + + + 10 + 0 + 520 + 40 + font13 + grey2 + selected + left + center + + + + 510 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + Window.IsVisible(Videos) + conditional + + + 515 + 8 + 40 + 26 + $INFO[ListItem.VideoResolution,flagging/lists/,.png] + Window.IsVisible(Videos) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + + + 555 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + !ListItem.IsResumable + + + 555 + 14 + 16 + 16 + OverlayWatching.png + ListItem.IsResumable + + + + + 0 + 0 + 580 + 41 + MenuItemNF.png + !Control.HasFocus(503) + VisibleFadeEffect + + + 0 + 0 + 580 + 41 + MenuItemFO.png + Control.HasFocus(503) + VisibleFadeEffect + + + 380 + 4 + 200 + 33 + MediaItemDetailBG.png + Control.HasFocus(503) + !IsEmpty(ListItem.Label2) + + + 10 + 0 + 520 + 40 + font13 + white + selected + left + center + + + + 510 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + Window.IsVisible(Videos) + conditional + + + 515 + 8 + 40 + 26 + $INFO[ListItem.VideoResolution,flagging/lists/,.png] + Window.IsVisible(Videos) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + + + 555 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + !ListItem.IsResumable + + + 555 + 14 + 16 + 16 + OverlayWatching.png + ListItem.IsResumable + + + + + 650 + 245 + 25 + 400 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 503 + 2 + false + vertical + Control.IsVisible(503) + + + 710 + 245 + Container.Content(TVShows) + + 0 + 0 + 530 + 110 + keep + IconCrossfadeTime + $VAR[BannerThumb] + ThumbShadow.png + 8 + + + Episodes txt + 150 + 120 + 140 + 25 + + right + center + font12 + blue + + + Episodes Value + 160 + 120 + 360 + 25 + + left + center + font12 + true + + + Aired txt + 150 + 145 + 140 + 25 + + right + center + font12 + blue + + + Aired Value + 160 + 145 + 360 + 25 + + left + center + font12 + true + + + Genre txt + 150 + 170 + 140 + 25 + + right + center + font12 + blue + + + Genre Value + 160 + 170 + 360 + 25 + + left + center + font12 + false + 1000 + + + 0 + 200 + 530 + 4 + separator.png + + + Description Value for TVShows + 10 + 210 + 510 + 180 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + 710 + 245 + Container.Content(Episodes) + + 0 + 0 + 530 + 210 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + Media Codec Flagging Images + 0 + 210 + 530 + center + 2 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + INFO txt + 10 + 245 + 510 + 25 + + center + top + font12 + white + black + true + + + 0 + 275 + 530 + 4 + separator.png + + + Description Value for TVShows + 10 + 280 + 510 + 120 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + 710 + 245 + Container.Content(Seasons) + + 0 + 0 + 260 + 355 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + Description Value for Seasons + 270 + 0 + 250 + 355 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + Container.Content(Seasons) + + + Watched Count + 10 + 370 + 510 + 25 + + center + center + font12 + grey2 + black + + + + 710 + 245 + Container.Content(Movies) + + 0 + 0 + 260 + 355 + keep + IconCrossfadeTime + $VAR[PosterThumb] + ThumbShadow.png + 8 + + + Media Codec Flagging Images + 0 + 365 + 530 + center + 2 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + Description Value for Movie + 270 + 0 + 250 + 355 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + + + + Control.IsVisible(504) + VisibleFadeEffect + + 70 + 78 + 580 + 561 + 2 + 60 + 504 + 504 + list + 60 + 200 + Container.Content(TVShows) | Container.Content(Movies) | Container.Content(Episodes) + + + 0 + 0 + 580 + 41 + MenuItemNF.png + + + 10 + 0 + 520 + 40 + font13 + grey2 + selected + left + center + + + + 510 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + Window.IsVisible(Videos) + conditional + + + 515 + 8 + 40 + 26 + $INFO[ListItem.VideoResolution,flagging/lists/,.png] + Window.IsVisible(Videos) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + + + 555 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + !ListItem.IsResumable + + + 555 + 14 + 16 + 16 + OverlayWatching.png + ListItem.IsResumable + + + + + 0 + 0 + 580 + 41 + MenuItemNF.png + !Control.HasFocus(504) + VisibleFadeEffect + + + 0 + 0 + 580 + 41 + MenuItemFO.png + Control.HasFocus(504) + VisibleFadeEffect + + + 380 + 4 + 200 + 33 + MediaItemDetailBG.png + Control.HasFocus(504) + !IsEmpty(ListItem.Label2) + + + 10 + 0 + 520 + 40 + font13 + white + selected + left + center + + + + 510 + 0 + 500 + 40 + font12 + grey2 + selected + right + center + + Window.IsVisible(Videos) + conditional + + + 515 + 8 + 40 + 26 + $INFO[ListItem.VideoResolution,flagging/lists/,.png] + Window.IsVisible(Videos) + [Container.Content(Movies) | Container.Content(Episodes) | Container.Content(MusicVideos)] + + + 555 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + !ListItem.IsResumable + + + 555 + 14 + 16 + 16 + OverlayWatching.png + ListItem.IsResumable + + + + + 650 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 504 + 2 + false + vertical + Control.IsVisible(504) + + + 710 + 70 + Control.IsVisible(504) + [Container.Content(Movies) | Container.Content(TVShows)] + + 0 + 0 + 510 + 286 + scale + IconCrossfadeTime + $INFO[ListItem.Art(fanart)] + Container.Content(Movies) + ThumbShadow.png + 8 + + + 0 + 0 + 510 + 325 + scale + IconCrossfadeTime + $INFO[ListItem.Art(fanart)] + Container.Content(TVShows) + ThumbShadow.png + 8 + + + Media Codec Flagging Images + 0 + 290 + 510 + center + 2 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + 0 + 330 + 510 + 4 + separator.png + + + Year txt + 150 + 335 + 140 + 25 + + right + center + font13_title + blue + + + Year Value + 160 + 335 + 340 + 25 + + left + center + font13 + true + + + Genre txt + 150 + 360 + 140 + 25 + + right + center + font13_title + blue + + + Genre Value + 160 + 360 + 340 + 25 + + left + center + font13 + false + 1000 + + + 0 + 390 + 510 + 4 + separator.png + + + Description Value for Video + 10 + 395 + 490 + 170 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + 710 + 70 + Control.IsVisible(504) + Container.Content(Episodes) + + 0 + 0 + 510 + 286 + scale + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + Media Codec Flagging Images + 0 + 290 + 510 + center + 2 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + 0 + 330 + 510 + 4 + separator.png + + + Aired txt + 150 + 335 + 140 + 25 + + right + center + font13_title + blue + + + Aired Value + 160 + 335 + 340 + 25 + + left + center + font13 + true + + + Episode txt + 150 + 360 + 140 + 25 + + right + center + font13_title + blue + + + Episode Value + 160 + 360 + 340 + 25 + + left + center + font13 + false + 1000 + + + 0 + 390 + 510 + 4 + separator.png + + + Description Value for Video + 10 + 395 + 490 + 170 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + + + + + Control.IsVisible(515) + VisibleFadeEffect + + 70 + 78 + 340 + 561 + 2 + 60 + 515 + 515 + list + 60 + 200 + Container.Content(TVShows) | Container.Content(Movies) | Container.Content(Episodes) | Container.Content(Seasons) + + + 0 + 0 + 345 + 41 + MenuItemNF.png + + + 10 + 0 + 310 + 40 + font13 + grey2 + selected + left + center + + + + 320 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + !ListItem.IsResumable + + + 320 + 14 + 16 + 16 + OverlayWatching.png + ListItem.IsResumable + + + + + 0 + 0 + 345 + 41 + MenuItemNF.png + !Control.HasFocus(515) + VisibleFadeEffect + + + 0 + 0 + 345 + 41 + MenuItemFO.png + Control.HasFocus(515) + VisibleFadeEffect + + + 10 + 0 + 310 + 40 + font13 + white + selected + left + center + + + + 320 + 14 + 20 + 16 + $INFO[ListItem.Overlay] + !ListItem.IsResumable + + + 320 + 14 + 16 + 16 + OverlayWatching.png + ListItem.IsResumable + + + + + 415 + 78 + 25 + 560 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 515 + 2 + false + vertical + Control.IsVisible(515) + + + 470 + 70 + Control.IsVisible(515) + Container.Content(Movies) + + 0 + 0 + 750 + 420 + scale + IconCrossfadeTime + $INFO[ListItem.Art(fanart)] + + + 10 + 395 + 540 + 30 + font24_title + white + black + left + center + + + + Description Value for Video + 10 + 425 + 540 + 105 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + Media Codec Flagging Images + 0 + 540 + 540 + left + 2 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + 560 + 140 + 180 + 440 + keep + IconCrossfadeTime + $VAR[PosterThumb] + ThumbShadow.png + 8 + + + + 470 + 70 + Control.IsVisible(515) + Container.Content(TVShows) + + 0 + 0 + 750 + 420 + scale + IconCrossfadeTime + $INFO[ListItem.Art(fanart)] + + + 10 + 395 + 540 + 30 + font24_title + white + black + left + center + + + + Description Value for Video + 10 + 425 + 540 + 145 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + 560 + 140 + 180 + 440 + keep + IconCrossfadeTime + $VAR[PosterThumb] + ThumbShadow.png + 8 + + + + 470 + 70 + Control.IsVisible(515) + Container.Content(Seasons) + + 0 + 0 + 750 + 420 + scale + IconCrossfadeTime + $INFO[ListItem.Art(fanart)] + + + 10 + 395 + 730 + 30 + font24_title + white + black + left + center + + + + Description Value for Video + 10 + 425 + 540 + 145 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + 560 + 140 + 180 + 440 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + + 470 + 70 + Control.IsVisible(515) + Container.Content(Episodes) + + 0 + 0 + 750 + 420 + scale + IconCrossfadeTime + $INFO[ListItem.Art(fanart)] + + + 10 + 395 + 400 + 30 + font24_title + white + black + left + center + + + + Description Value for Video + 10 + 425 + 400 + 105 + font12 + justify + white + + Skin.HasSetting(AutoScroll) + + + Media Codec Flagging Images + 0 + 540 + 410 + left + 2 + horizontal + VideoCodecFlaggingConditions + AudioCodecFlaggingConditions + AudioChannelsFlaggingConditions + AspectCodecFlaggingConditions + VideoTypeHackFlaggingConditions + + + 420 + 140 + 330 + 440 + keep + IconCrossfadeTime + $INFO[ListItem.Icon] + ThumbShadow.png + 8 + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/VisualisationPresetList.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/VisualisationPresetList.xml new file mode 100644 index 000000000..d091473ce --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/VisualisationPresetList.xml @@ -0,0 +1,163 @@ + + 2 + + 1 + 240 + 60 + + dialogeffect + + + + background image + 0 + 0 + 800 + 600 + DialogBack2.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 2 + 2 + 2 + 2 + system.getbool(input.enablemouse) + + + No Settings Label + 20 + 180 + 760 + center + + font13 + + + 40 + 60 + 720 + 495 + 60 + 60 + 2 + 2 + 60 + 200 + + + 0 + 0 + 720 + 40 + button-nofocus.png + + + 10 + 0 + 700 + 40 + font13 + grey2 + selected + left + center + + + + + + 0 + 0 + 720 + 40 + button-nofocus.png + !Control.HasFocus(2) + VisibleFadeEffect + + + 0 + 0 + 720 + 40 + button-focus2.png + Control.HasFocus(2) + VisibleFadeEffect + + + 10 + 0 + 700 + 40 + font13 + white + selected + left + center + + + + + + 760 + 60 + 25 + 495 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 2 + 2 + 60 + 60 + false + vertical + + + number of files/pages in list text label + 760 + 548 + 300 + 35 + font12 + right + center + true + grey + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/custom_SideMenuHelp.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/custom_SideMenuHelp.xml new file mode 100644 index 000000000..657d80432 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/custom_SideMenuHelp.xml @@ -0,0 +1,66 @@ + + 100 + dialogeffect + + + 0 + 0 + 1280 + 720 + hint-overlay.png + + + 120 + 300 + 64 + 64 + arrow-big-left.png + + + 190 + 100 + 2 + 512 + separator_vertical.png + + + 240 + 150 + 680 + 60 + font35_title + blue + left + center + + + + 240 + 240 + 680 + 250 + font14 + white + left + + + + OK button + 720 + 500 + 200 + 40 + + font12_title + white + white + center + Skin.Setbool(FirstTimeRun) + back + 100 + 100 + 100 + 100 + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/defaults.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/defaults.xml new file mode 100644 index 000000000..512b94b18 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/defaults.xml @@ -0,0 +1,194 @@ + + + 0 + 0 + - + 0 + + + 80 + 60 + + font13 + white + grey3 + + + 80 + 60 + font13 + white + grey3 + + + 300 + 200 + 300 + 42 + button-focus.png + button-nofocus.png + font13 + white + grey3 + 7 + center + no + + + 140 + 167 + 20 + 20 + scroll-up-focus.png + scroll-up.png + scroll-down-focus.png + scroll-down.png + white + + font13 + grey3 + no + + + 220 + 220 + 410 + 215 + left + white + font13 + + + 100 + 325 + OSDProgressBack.png + - + OSDProgressMid.png + - + - + + + 330 + 126 + scroll-up-2.png + scroll-down-2.png + scroll-up-focus-2.png + scroll-down-focus-2.png + right + 33 + 22 + font13 + yes + white + grey3 + text + -5 + 0 + - + no + + + 530 + 160 + 300 + 42 + 33 + 22 + button-focus.png + - + scroll-up-2.png + scroll-down-2.png + scroll-up-focus-2.png + scroll-down-focus-2.png + font13 + white + grey3 + 7 + center + yes + no + + + 300 + 200 + 300 + 42 + 24 + 24 + radiobutton-focus.png + radiobutton-nofocus.png + button-focus.png + button-nofocus.png + + font13 + white + grey3 + 7 + center + no + + + 490 + 335 + 300 + 50 + + font12 + - + - + button-focus.png + scroll-left.png + scroll-left-focus.png + scroll-right.png + scroll-right-focus.png + font13 + white + grey3 + center + + + 75 + 0 + + + 35 + 7 + center + button-focus.png + button-nofocus.png + 150 + 20 + osd_slider_bg.png + osd_slider_nibNF.png + osd_slider_nib.png + font12 + white + grey3 + + + 60 + 192 + button-focus.png + button-nofocus.png + + + 60 + 192 + button-focus.png + button-nofocus.png + + + 300 + 200 + 300 + 42 + button-focus.png + button-nofocus.png + font13 + white + grey3 + 7 + center + no + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/includes.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/includes.xml new file mode 100644 index 000000000..8a864dde5 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/includes.xml @@ -0,0 +1,1226 @@ + + + + + + + + + + + + + + + + + + + + 500 + 400 + + + $INFO[ListItem.Art(banner)] + $INFO[ListItem.Icon] + + + $INFO[ListItem.Art(poster)] + $INFO[ListItem.Icon] + + + + + 0 + 0 + 1280 + 720 + black-back.png + Visible + Hidden + Window.IsActive(MovieInformation) | Window.IsActive(MusicInformation) | Window.IsActive(SongInformation) | Window.IsActive(FileBrowser) | Window.IsActive(TextViewer) | Window.IsActive(AddonSettings) | Window.IsActive(ContentSettings) | Window.IsActive(SelectDialog) | Window.IsActive(FileStackingDialog) | Window.IsActive(MediaSource) | Window.IsActive(PictureInfo) | Window.IsActive(PlayerControls) | Window.IsActive(VirtualKeyboard) | Window.IsActive(NumericInput) | Window.IsActive(ProfileSettings) | Window.IsActive(LockSettings) | Window.IsActive(SmartPlaylistEditor) | Window.IsActive(SmartPlaylistRule) | Window.IsActive(script-RSS_Editor-rssEditor.xml) | Window.IsActive(script-RSS_Editor-setEditor.xml) | Window.IsActive(AddonInformation) | Window.IsActive(Peripherals) | Window.IsActive(PeripheralSettings) | Window.IsActive(script-XBMC_Lyrics-main.xml) | Window.IsActive(PVRChannelManager) | Window.IsActive(MediaFilter) + + + + 0 + 0 + auto + 30 + font14 + white + black + false + left + center + + + 40 + 250 + 10 + 200 + center + font13 + button-focus.png + - + false + + + 40 + 221 + 20 + 195 + center + font12_title + button-focus.png + button-nofocus.png + false + + + 35 + 180 + 195 + center + center + font12 + grey2 + white + HomeSubFO.png + HomeSubNF.png + false + + + 0 + 0 + 1280 + 35 + center + 9000 + 9002 + 0 + Horizontal + Visible + Hidden + + + 40 + 170 + 20 + center + center + font12_title + button-focus.png + button-nofocus.png + false + + + Conditional + WindowClose + WindowClose + WindowOpen + + Fake button for mouse control + 0 + 0 + 250 + 720 + + - + - + - + true + + + 250 + 260 + 42 + 128 + - + HasSub.png + HasSub.png + + + 0 + 0 + 260 + 720 + MediaBladeSub.png + + + LOGO + 15 + 50 + 220 + 80 + keep + Confluence_Logo.png + + + + + 120r + 55r + WindowOpen + WindowClose + system.getbool(input.enablemouse) + + Back push button + 0 + 0 + 45 + 45 + + - + - + back + floor_buttonFO.png + floor_button.png + 50 + 50 + 50 + 50 + + + Back Icon + 5 + 5 + 35 + 35 + keep + icon_back.png + + + Home push button + 55 + 0 + 45 + 45 + + - + - + ActivateWindow(home) + floor_buttonFO.png + floor_button.png + 50 + 50 + 50 + 50 + + + Home Icon + 60 + 5 + 35 + 35 + keep + icon_home.png + + + + + + Player.HasMedia + !SubString(Window(videolibrary).Property(TvTunesIsAlive),TRUE) + VisibleFadeEffect + WindowOpen + WindowClose + + push button + 30 + 55r + 45 + 45 + + - + - + ActivateWindow(PlayerControls) + floor_buttonFO.png + floor_button.png + 50 + 50 + 50 + 50 + + + Player Icon + 35 + 50r + 35 + 35 + keep + icon_player.png + + + 85 + 53r + 700 + 20 + + left + center + font12 + grey + black + + + 85 + 32r + 700 + 20 + + left + center + font12 + grey + black + Player.HasAudio + + + 85 + 30r + 700 + 20 + + left + center + font12 + grey + black + Player.HasVideo + VideoPlayer.Content(Movies) + + + 85 + 30r + 700 + 20 + + left + center + font12 + grey + black + Player.HasVideo + VideoPlayer.Content(Episodes) + + + 85 + 30r + 700 + 20 + + left + center + font12 + grey + black + Player.HasVideo + VideoPlayer.Content(MusicVideos) + + + 85 + 30r + 700 + 20 + + left + center + font12 + grey + black + Player.HasVideo + VideoPlayer.Content(LiveTV) + + + + + + Conditional + + Page Count Label + 40r + 53r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + Container Duration Label + 40r + 32r + 500 + 20 + font12 + grey + false + right + center + + Window_OpenClose_Animation + + + + + + gradient + 0 + 0 + 500 + 165 + DDFFFFFF + OverlayDialogBackground.png + + + Cover image + 20 + 17 + 130 + 130 + $INFO[MusicPlayer.Cover] + + + Artist label + 160 + 20 + 30 + 325 + + left + center + font12_title + grey2 + black + + + Title label + 160 + 43 + 30 + 325 + + left + center + font13_title + white + black + false + 2000 + + + Album Label + 160 + 70 + 30 + 325 + + left + center + font12 + white + black + + + Time Label + 160 + 95 + 30 + 325 + + left + center + font12 + white + black + + + Next Label + 485 + 120 + 30 + 325 + + right + center + font12 + grey + black + + + + + gradient + 0 + 0 + 500 + 165 + DDFFFFFF + OverlayDialogBackground.png + + + Cover image + 20 + 17 + 130 + 130 + keep + $INFO[VideoPlayer.cover] + + + Studio label + 160 + 20 + 30 + 325 + + left + center + font12_title + grey2 + black + !videoplayer.content(episodes) + !videoplayer.content(musicvideos) + + + TV Show Title label + 160 + 20 + 30 + 325 + + left + center + font12_title + white + black + videoplayer.content(episodes) + + + Music Video Artist label + 160 + 20 + 30 + 325 + + left + center + font12_title + white + black + videoplayer.content(musicvideos) + false + 2000 + + + Title label + 160 + 43 + 30 + 325 + + left + center + font13_title + white + black + false + 2000 + + + Genre label + 160 + 70 + 30 + 325 + + left + center + font12 + white + black + !videoplayer.content(episodes) + !videoplayer.content(musicvideos) + + + 160 + 70 + 30 + 325 + + left + center + font12 + white + black + videoplayer.content(musicvideos) + + + Season and Episode label + 160 + 70 + 30 + 325 + + left + center + font12 + white + black + videoplayer.content(episodes) + + + Time Label + 160 + 95 + 30 + 325 + + left + center + font12 + white + black + + + + + 250 + 35 + font12 + + blue + center + center + [Player.HasAudio | Player.HasVideo] + VisibleFadeEffect + + + Fake Button to fix Player Controls Navigation + false + + + 250 + 45 + VideoPlayer.Content(LiveTV) + VisibleFadeEffect + + 20 + 2 + 39 + 39 + + OSDChannelUPFO.png + OSDChannelUPNF.png + 50 + 601 + 610 + 611 + XBMC.PlayerControl(Previous) + + + 60 + 2 + 39 + 39 + + OSDChannelDownFO.png + OSDChannelDownNF.png + 600 + 603 + 610 + 611 + XBMC.PlayerControl(Next) + + + 100 + 2 + 39 + 39 + + OSDStopFO.png + OSDStopNF.png + 601 + 604 + 610 + 611 + down + XBMC.PlayerControl(Stop) + + + 140 + 2 + 39 + 39 + + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 603 + 605 + 610 + 606 + 50 + XBMC.PlayerControl(Play) + Player.PauseEnabled + Conditional + + + 180 + 2 + 39 + 39 + + OSDRecordOffFO.png + OSDRecordOffNF.png + 604 + 50 + 610 + 611 + XBMC.PlayerControl(record) + Player.CanRecord + Conditional + + + + [Player.HasAudio | Player.HasVideo] + !VideoPlayer.Content(LiveTV) + VisibleFadeEffect + 250 + 45 + 603 + + 5 + 2 + 39 + 39 + + OSDPrevTrackFO.png + OSDPrevTrackNF.png + 50 + 606 + 610 + 611 + 50 + XBMC.PlayerControl(Previous) + + + 45 + 2 + 39 + 39 + + OSDRewindFO.png + OSDRewindNF.png + 600 + 603 + 610 + 611 + 50 + XBMC.PlayerControl(Rewind) + Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo + + + Conditional + + 45 + 2 + 39 + 39 + + OSDPauseFO.png + OSDPauseNF.png + Player.Paused | Player.Forwarding | Player.Rewinding + OSDPlayFO.png + OSDPlayNF.png + 606 + 601 + 610 + 611 + 50 + XBMC.PlayerControl(Play) + + + 85 + 2 + 39 + 39 + + OSDStopFO.png + OSDStopNF.png + 603 + 607 + 610 + 611 + 50 + down + XBMC.PlayerControl(Stop) + + + 125 + 2 + 39 + 39 + + OSDForwardFO.png + OSDForwardNF.png + 601 + 602 + 610 + 611 + 50 + XBMC.PlayerControl(Forward) + Window.IsVisible(MusicPlaylist) | Window.IsVisible(VideoPlaylist) | Player.HasVideo + + + 125 + 2 + 39 + 39 + + OSDNextTrackFO.png + OSDNextTrackNF.png + 607 + 604 + 610 + 611 + 50 + XBMC.PlayerControl(Next) + Conditional + + + + !Window.IsVisible(MusicPlaylist) + !Window.IsVisible(VideoPlaylist) + !Player.HasVideo + + 165 + 2 + 39 + 39 + + - + - + XBMC.PlayerControl(Repeat) + 602 + 605 + 610 + 611 + 50 + + + 165 + 2 + 39 + 39 + OSDRepeatNF.png + !Playlist.IsRepeat + !Playlist.IsRepeatOne + !Control.HasFocus(604) + + + 165 + 2 + 39 + 39 + OSDRepeatFO.png + !Playlist.IsRepeat + !Playlist.IsRepeatOne + Control.HasFocus(604) + + + 165 + 2 + 39 + 39 + OSDRepeatOneNF.png + Playlist.IsRepeatOne + !Control.HasFocus(604) + + + 165 + 2 + 39 + 39 + OSDRepeatOneFO.png + Playlist.IsRepeatOne + Control.HasFocus(604) + + + 165 + 2 + 39 + 39 + OSDRepeatAllNF.png + Playlist.IsRepeat + !Control.HasFocus(604) + + + 165 + 2 + 39 + 39 + OSDRepeatAllFO.png + Playlist.IsRepeat + Control.HasFocus(604) + + + 205 + 2 + 39 + 39 + + OSDRandomOffFO.png + OSDRandomOffNF.png + Playlist.IsRandom + OSDRandomOnFO.png + OSDRandomOnNF.png + XBMC.PlayerControl(Random) + 604 + 50 + 610 + 611 + 50 + + + + + Go to fullscreen Playback + ButtonCommonValues + + fullscreen + GoFullscreen.png + GoFullscreen.png + Player.HasMedia + + + + + Container.Scrolling + [StringCompare(Container.SortMethod,$LOCALIZE[551]) | StringCompare(Container.SortMethod,$LOCALIZE[561]) | StringCompare(Container.SortMethod,$LOCALIZE[558]) | StringCompare(Container.SortMethod,$LOCALIZE[557]) | StringCompare(Container.SortMethod,$LOCALIZE[556])] + Visible + Hidden + 300r + 720 + + 0 + 0 + 70 + 65 + InfoMessagePanel.png + + + 5 + 0 + 65 + 60 + center + center + + white + font30_title + + + + + + time label + 20r + 5 + 200 + 30 + right + center + font28_title + white + black + + conditional + + + + Window_OpenClose_Animation + + + + + + + + + + 0 + 190r + 1280 + 200 + - + 300 + 3 + 2 + Horizontal + + + 0 + 0 + 180 + 120 + keep + button-nofocus.png + 3 + $INFO[ListItem.Icon] + + + 5 + 120 + 170 + 110 + keep + $INFO[ListItem.Icon] + + + 91 + 125 + 180 + 20 + font12 + grey2 + center + center + + + + + + 0 + 0 + 180 + 120 + keep + button-nofocus.png + 3 + $INFO[ListItem.Icon] + !ControlGroup(9002).HasFocus + + + 0 + 0 + 180 + 120 + keep + folder-focus.png + 3 + $INFO[ListItem.Icon] + ControlGroup(9002).HasFocus + + + 5 + 120 + 170 + 110 + keep + $INFO[ListItem.Icon] + + + 91 + 125 + 180 + 20 + font12 + white + center + center + + Control.HasFocus(9002) + + + 91 + 125 + 180 + 20 + font12 + grey2 + center + center + + !Control.HasFocus(9002) + + + + + + + 0 + 0 + 280 + 145 + button-nofocus.png + + + Thumb + 5 + 5 + 270 + 55 + keep + $INFO[ListItem.Property(Art(poster))] + StringCompare(Window(Home).Property(TVGuide.ThumbType),0) + + + Banner + 5 + 5 + 270 + 55 + keep + $INFO[ListItem.Property(Art(banner))] + StringCompare(Window(Home).Property(TVGuide.ThumbType),1) + + + Logo + 5 + 5 + 270 + 55 + keep + $INFO[ListItem.Property(Path),,logo.png] + StringCompare(Window(Home).Property(TVGuide.ThumbType),2) + + + Episode Number + 140 + 60 + 260 + 15 + + white + font12 + center + + + Episode Name + 140 + 80 + 260 + 15 + + white + font12 + center + + + Next air date/time + 140 + 100 + 260 + 15 + + grey2 + font12 + center + + + Duration + 140 + 120 + 260 + 15 + + grey2 + font12 + center + + + + + 0 + 0 + 280 + 145 + button-focus2.png + + + Thumb + 5 + 5 + 270 + 55 + keep + $INFO[ListItem.Property(Art(poster))] + StringCompare(Window(Home).Property(TVGuide.ThumbType),0) + + + Banner + 5 + 5 + 270 + 55 + keep + $INFO[ListItem.Property(Art(banner))] + StringCompare(Window(Home).Property(TVGuide.ThumbType),1) + + + Logo + 5 + 5 + 270 + 55 + keep + $INFO[ListItem.Property(Path),,logo.png] + StringCompare(Window(Home).Property(TVGuide.ThumbType),2) + + + Episode Number + 140 + 60 + 260 + 15 + + selected + font12 + center + + + Episode Name + 140 + 80 + 260 + 15 + + selected + font12 + center + + + Next air date/time + 140 + 100 + 260 + 15 + + white + font12 + center + + + Duration + 140 + 120 + 260 + 15 + + white + font12 + center + + + + + Visible + Hidden + + + WindowOpen + WindowClose + + + WindowOpen + WindowClose + + + Visible + Hidden + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/script-NextAired-TVGuide.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/script-NextAired-TVGuide.xml new file mode 100644 index 000000000..266523b7c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/script-NextAired-TVGuide.xml @@ -0,0 +1,534 @@ + + ClearProperty(TVGuide.MondayList,Home) + ClearProperty(TVGuide.TuesdayList,Home) + ClearProperty(TVGuide.WednesdayList,Home) + ClearProperty(TVGuide.ThursdayList,Home) + ClearProperty(TVGuide.FridayList,Home) + ClearProperty(TVGuide.SaturdayList,Home) + ClearProperty(TVGuide.SundayList,Home) + no + + CommonBackground + + !IsEmpty(Window(home).Property(TVGuide.BackgroundFanart)) + + 0 + 0 + 1280 + 720 + scale + $INFO[Container(200).ListItem.Property(Fanart)] + Control.HasFocus(200) + 600 + Visible + Hidden + + + 0 + 0 + 1280 + 720 + scale + $INFO[Container(201).ListItem.Property(Fanart)] + Control.HasFocus(201) + 600 + Visible + Hidden + + + 0 + 0 + 1280 + 720 + scale + $INFO[Container(202).ListItem.Property(Fanart)] + Control.HasFocus(202) + 600 + Visible + Hidden + + + 0 + 0 + 1280 + 720 + scale + $INFO[Container(203).ListItem.Property(Fanart)] + Control.HasFocus(203) + 600 + Visible + Hidden + + + 0 + 0 + 1280 + 720 + scale + $INFO[Container(204).ListItem.Property(Fanart)] + Control.HasFocus(204) + 600 + Visible + Hidden + + + 0 + 0 + 1280 + 720 + scale + $INFO[Container(205).ListItem.Property(Fanart)] + Control.HasFocus(205) + 600 + Visible + Hidden + + + 0 + 0 + 1280 + 720 + scale + $INFO[Container(206).ListItem.Property(Fanart)] + Control.HasFocus(206) + 600 + Visible + Hidden + + + + 0 + 100r + 1280 + 100 + floor.png + stretch + WindowOpen + WindowClose + + + Section header image + 20 + 3 + 35 + 35 + keep + icon_video.png + + + 65 + 5 + 1000 + 30 + horizontal + left + 5 + + WindowTitleCommons + + + + WindowTitleCommons + + + + + Window_OpenClose_Animation + 40 + 60 + 1200 + 660 + horizontal + center + 0 + + Monday + IntegerGreaterThan(Container(200).NumItems,0) + 300 + 660 + + 0 + 0 + 300 + 600 + ContentPanel.png + + + 0 + 592 + 300 + 64 + ContentPanelMirror.png + + + 20 + 13 + 260 + 20 + + center + center + font13_title + white + + + 10 + 40 + 280 + 530 + 200 + 200 + 200 + 9000 + 201 + TVNextAiredListCommonLayout + + + + Tuesday + IntegerGreaterThan(Container(201).NumItems,0) + 300 + 660 + + 0 + 0 + 300 + 600 + ContentPanel.png + + + 0 + 592 + 300 + 64 + ContentPanelMirror.png + + + 20 + 13 + 260 + 20 + + center + center + font13_title + white + + + 10 + 40 + 280 + 530 + 200 + 201 + 201 + 200 + 202 + TVNextAiredListCommonLayout + + + + Wednesday + IntegerGreaterThan(Container(202).NumItems,0) + 300 + 660 + + 0 + 0 + 300 + 600 + ContentPanel.png + + + 0 + 592 + 300 + 64 + ContentPanelMirror.png + + + 20 + 13 + 260 + 20 + + center + center + font13_title + white + + + 10 + 40 + 280 + 530 + 200 + 202 + 202 + 201 + 203 + TVNextAiredListCommonLayout + + + + Thursday + IntegerGreaterThan(Container(203).NumItems,0) + 300 + 660 + + 0 + 0 + 300 + 600 + ContentPanel.png + + + 0 + 592 + 300 + 64 + ContentPanelMirror.png + + + 20 + 13 + 260 + 20 + + center + center + font13_title + white + + + 10 + 40 + 280 + 530 + 200 + 203 + 203 + 202 + 204 + TVNextAiredListCommonLayout + + + + Friday + IntegerGreaterThan(Container(204).NumItems,0) + 300 + 660 + + 0 + 0 + 300 + 600 + ContentPanel.png + + + 0 + 592 + 300 + 64 + ContentPanelMirror.png + + + 20 + 13 + 260 + 20 + + center + center + font13_title + white + + + 10 + 40 + 280 + 530 + 200 + 204 + 204 + 203 + 205 + TVNextAiredListCommonLayout + + + + Saturday + IntegerGreaterThan(Container(205).NumItems,0) + 300 + 660 + + 0 + 0 + 300 + 600 + ContentPanel.png + + + 0 + 592 + 300 + 64 + ContentPanelMirror.png + + + 20 + 13 + 260 + 20 + + center + center + font13_title + white + + + 10 + 40 + 280 + 530 + 200 + 205 + 205 + 204 + 206 + TVNextAiredListCommonLayout + + + + Sunday + IntegerGreaterThan(Container(206).NumItems,0) + 300 + 660 + + 0 + 0 + 300 + 600 + ContentPanel.png + + + 0 + 592 + 300 + 64 + ContentPanelMirror.png + + + 20 + 13 + 260 + 20 + + center + center + font13_title + white + + + 10 + 40 + 280 + 530 + 200 + 206 + 206 + 205 + 206 + TVNextAiredListCommonLayout + + + + + Window_OpenClose_Animation + + left Arrow + 10 + 120 + 30 + 40 + arrow-big-left.png + Container(2000).HasPrevious + VisibleFadeEffect + + + left Arrow + 10 + 170r + 30 + 40 + arrow-big-left.png + Container(2000).HasPrevious + VisibleFadeEffect + + + right Arrow + 1240 + 120 + 30 + 40 + arrow-big-right.png + Container(2000).HasNext + VisibleFadeEffect + + + right Arrow + 1240 + 170r + 30 + 40 + arrow-big-right.png + Container(2000).HasNext + VisibleFadeEffect + + + CommonNowPlaying + MainWindowMouseButtons + BehindDialogFadeOut + + -250 + SideBladeLeft + + 0 + 110 + 250 + 600 + 9000 + 200 + 9000 + 9000 + 200 + 0 + + LOGO + 250 + 150 + keep + $INFO[system.addonicon(script.tv.show.next.aired)] + + + 250 + 35 + font12 + + blue + center + center + + + Settings + 235 + ButtonCommonValues + + 200 + + + + + Clock + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml new file mode 100644 index 000000000..dd562f868 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/script-RSS_Editor-rssEditor.xml @@ -0,0 +1,225 @@ + + 10 + + 1 + 240 + 140 + + dialogeffect + + + background image + 0 + 0 + 800 + 420 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + List label + 20 + 65 + 760 + 30 + center + center + font12 + blue + black + + + 30 + 105 + 520 + 225 + 9001 + 9000 + 60 + 9001 + 60 + 200 + + + 0 + 0 + 520 + 40 + button-nofocus.png + + + 10 + 0 + 500 + 40 + font13 + left + center + grey2 + selected + ListItem.Label + + + + + 0 + 0 + 520 + 40 + !Control.HasFocus(10) + button-nofocus.png + + + 0 + 0 + 520 + 40 + Control.hasfocus(14) | Control.HasFocus(10) + button-focus2.png + + + 10 + 0 + 500 + 40 + font13 + left + center + selected + ListItem.Label + + + + + 552 + 105 + 25 + 225 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 10 + 9000 + false + vertical + + + 580 + 105 + + Change Set Button + 0 + 0 + 200 + 40 + font12_title + center + center + 18 + 60 + 10 + 13 + + + Add Button + 0 + 45 + 200 + 40 + font12_title + + center + center + 11 + 60 + 10 + 14 + + + Remove Button + 0 + 90 + 200 + 40 + font12_title + + center + center + 13 + 60 + 10 + 9001 + + + + + Ok Button + 200 + 355 + 200 + 40 + center + center + + font12_title + 9000 + 20 + 19 + 10 + + + Cancel Button + 410 + 355 + 200 + 40 + center + center + + font12_title + 9000 + 18 + 20 + 10 + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml new file mode 100644 index 000000000..dd562f868 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/script-RSS_Editor-setEditor.xml @@ -0,0 +1,225 @@ + + 10 + + 1 + 240 + 140 + + dialogeffect + + + background image + 0 + 0 + 800 + 420 + DialogBack.png + + + Dialog Header image + 40 + 16 + 720 + 40 + dialogheader.png + + + header label + 40 + 20 + 720 + 30 + font13_title + center + center + selected + black + + + Close Window button + 710 + 15 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 10 + 10 + 10 + 10 + system.getbool(input.enablemouse) + + + List label + 20 + 65 + 760 + 30 + center + center + font12 + blue + black + + + 30 + 105 + 520 + 225 + 9001 + 9000 + 60 + 9001 + 60 + 200 + + + 0 + 0 + 520 + 40 + button-nofocus.png + + + 10 + 0 + 500 + 40 + font13 + left + center + grey2 + selected + ListItem.Label + + + + + 0 + 0 + 520 + 40 + !Control.HasFocus(10) + button-nofocus.png + + + 0 + 0 + 520 + 40 + Control.hasfocus(14) | Control.HasFocus(10) + button-focus2.png + + + 10 + 0 + 500 + 40 + font13 + left + center + selected + ListItem.Label + + + + + 552 + 105 + 25 + 225 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 10 + 9000 + false + vertical + + + 580 + 105 + + Change Set Button + 0 + 0 + 200 + 40 + font12_title + center + center + 18 + 60 + 10 + 13 + + + Add Button + 0 + 45 + 200 + 40 + font12_title + + center + center + 11 + 60 + 10 + 14 + + + Remove Button + 0 + 90 + 200 + 40 + font12_title + + center + center + 13 + 60 + 10 + 9001 + + + + + Ok Button + 200 + 355 + 200 + 40 + center + center + + font12_title + 9000 + 20 + 19 + 10 + + + Cancel Button + 410 + 355 + 200 + 40 + center + center + + font12_title + 9000 + 18 + 20 + 10 + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/script-XBMC_Lyrics-main.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/script-XBMC_Lyrics-main.xml new file mode 100644 index 000000000..1b5cc7aa6 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/script-XBMC_Lyrics-main.xml @@ -0,0 +1,308 @@ + + no + 101 + + 1 + 680 + 0 + + + + WindowOpen + WindowOpen + WindowClose + + media info background image + 0 + 0 + 600 + 720 + BBFFFFFF + MediaBladeSub.png + + + Close Window button + 20 + 0 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 101 + 101 + 101 + 101 + system.getbool(input.enablemouse) + + + header label + 580 + 30 + 550 + 30 + font30_title + + right + center + white + black + + + Artist label + 580 + 60 + 550 + 30 + font13_title + + right + center + grey + black + + + Song label + 580 + 85 + 550 + 30 + font13_title + + right + center + grey + black + + + 30 + 120 + 550 + 4 + separator.png + + + + textarea + 30 + 130 + 550 + 500 + center + font13 + white + black + 100 + 100 + 101 + 101 + 101 + + + Next page button + 520 + 650 + page + font12 + 101 + 101 + 101 + 101 + blue + true + Control.IsVisible(100) + + + + 30 + 130 + 550 + 500 + 111 + 111 + 110 + 110 + 111 + 200 + + + 275 + 0 + 550 + 25 + font13 + center + center + selected + left + ListItem.Label + + + + + 275 + 0 + 550 + 25 + font13 + center + center + black + white + selected + left + + !Control.HasFocus(110) + + + 275 + 0 + 550 + 25 + font13 + center + center + black + selected + left + + Control.HasFocus(110) + + + + + Next page button + 520 + 650 + page + font12 + 110 + 110 + 110 + 110 + blue + true + Control.IsVisible(110) + + + Pick label + 30 + 130 + 550 + 30 + center + center + font13_title + + white + Control.IsVisible(120) + ![Control.IsVisible(100) | Control.IsVisible(110)] + + + + 30 + 170 + 550 + 440 + 121 + 121 + 120 + 120 + 121 + 200 + Conditional + + + 0 + 0 + 550 + 41 + MenuItemNF.png + + + 10 + 0 + 530 + 40 + font13 + left + center + selected + ListItem.Label + + + + + 0 + 0 + 550 + 41 + !Control.HasFocus(120) + MenuItemNF.png + + + 0 + 0 + 550 + 41 + Control.HasFocus(120) + MenuItemFO.png + + + 10 + 0 + 530 + 40 + font13 + left + center + selected + ListItem.Label + + + + + Next page button + Next page button + 520 + 650 + page + font12 + 120 + 120 + 120 + 120 + blue + true + Control.IsVisible(120) + + + 30 + 640 + 550 + 4 + separator.png + + + Scraper label + 580 + 680 + 550 + 30 + + font12_title + right + center + grey2 + black + + + Scraper label + false + + + + + + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/script-globalsearch-main.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/script-globalsearch-main.xml new file mode 100644 index 000000000..7de118ca6 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/script-globalsearch-main.xml @@ -0,0 +1,1781 @@ + + no + 9000 + + 1 + 0 + 0 + + + + VisibleFadeEffect + + + 0 + 0 + 1280 + 720 + black-back.png + WindowOpen + WindowClose + + + 90 + 30 + + + + + + + + + + 5 + 5 + 1090 + 630 + ContentPanel.png + + + 5 + 5 + 1090 + 630 + ContentPanel.png + + + Close Window button + 980 + 11 + 64 + 32 + + - + PreviousMenu + DialogCloseButton-focus.png + DialogCloseButton.png + 1 + 1 + 1 + 1 + system.getbool(input.enablemouse) + + + LOGO + 30 + 10 + 220 + 80 + keep + Confluence_Logo.png + + + 10 + 80 + 260 + 540 + 9010 + 101 + 9000 + 9000 + - + 300 + + + 0 + 0 + 260 + 61 + MenuItemNF.png + + + 250 + 4 + 380 + 25 + font24_title + grey3 + right + center + + + + 250 + 32 + 870 + 20 + font13 + grey2 + right + center + + + + + + 0 + 0 + 260 + 61 + MenuItemFO.png + Conditional + + + 250 + 4 + 380 + 25 + font24_title + white + right + center + + + + 250 + 32 + 870 + 20 + font13 + grey2 + right + center + + + + + + + $LOCALIZE[31206] $INFO[Control.GetLabel(110)] $LOCALIZE[31025] + - + Control.IsVisible(119) + + + + $LOCALIZE[31206] $INFO[Control.GetLabel(120)] $LOCALIZE[31025] + - + Control.IsVisible(129) + + + + $LOCALIZE[31206] $INFO[Control.GetLabel(130)] $LOCALIZE[31025] + - + Control.IsVisible(139) + + + + $LOCALIZE[31206] $INFO[Control.GetLabel(140)] $LOCALIZE[31025] + - + Control.IsVisible(149) + + + + $LOCALIZE[31206] $INFO[Control.GetLabel(150)] $LOCALIZE[31025] + - + Control.IsVisible(159) + + + + $LOCALIZE[31206] $INFO[Control.GetLabel(160)] $LOCALIZE[31025] + - + Control.IsVisible(169) + + + + $LOCALIZE[31206] $INFO[Control.GetLabel(170)] $LOCALIZE[31025] + - + Control.IsVisible(179) + + + + $LOCALIZE[31206] $INFO[Control.GetLabel(180)] $LOCALIZE[31025] + - + Control.IsVisible(189) + + + + $LOCALIZE[31207] + Control.Setfocus(9000,0) + SendClick(198) + Control.IsVisible(198) + + + + + 268 + 10 + 790 + 618 + black-back2.png + + + 268 + 10 + 804 + 100 + stretch + GlassTitleBar.png + + + header label Finished Searching + 300 + 20 + 740 + 30 + font16 + + left + center + white + black + Control.IsVisible(198) + + + header Label Still Searching + 300 + 20 + 740 + 30 + font16 + + left + center + blue + black + !Control.IsVisible(198) + + + + 2000 + 2000 + 100 + 0 + + - + - + + + + 2000 + 2000 + 100 + 0 + + - + + + 40 + 358 + 1200 + 20 + + font16caps + FFFFFFFF + center + center + + + + + + + + + + + + 380 + 90 + + + 2000 + 2000 + 10 + 10 + + font10 + FFFFFFFF + center + center + button-focus.png + button-nofocus.png + 101 + 101 + 101 + 101 + + + + 0 + 0 + 750 + 530 + + + 2000 + 2000 + 100 + 0 + + - + - + + + Container(9000).HasFocus(1) + VisibleFadeEffect + 0 + 0 + 750 + 530 + 9000 + 118 + 111 + 111 + panel + 2 + 118 + + + 0 + 0 + 370 + 125 + button-nofocus.png + + + 5 + 5 + 80 + 115 + $INFO[ListItem.Icon] + + + 50 + 70 + 30 + 30 + OverlayWatched.png + IntegerGreaterThan(ListItem.Property(PlayCount),0) + + + 100 + 10 + 265 + 12 + + font12 + white + center + + + 100 + 30 + 265 + 15 + + font12 + grey2 + center + !SubString(ListItem.Property(Duration),min) + + + 100 + 30 + 265 + 15 + + font12 + grey2 + center + SubString(ListItem.Property(Duration),min) + + + 100 + 45 + 265 + 75 + + font10 + white + + + 100 + 45 + 265 + 75 + + font10 + white + IsEmpty(ListItem.Property(TagLine)) + + + 100 + 45 + 265 + 75 + + font10 + white + IsEmpty(ListItem.Property(TagLine)) + IsEmpty(ListItem.Property(PlotOutline)) + + + + + 0 + 0 + 370 + 125 + button-focus2.png + + + 5 + 5 + 80 + 115 + $INFO[ListItem.Icon] + + + 50 + 70 + 30 + 30 + OverlayWatched.png + IntegerGreaterThan(ListItem.Property(PlayCount),0) + + + 100 + 10 + 265 + 12 + + font12 + white + center + + + 100 + 30 + 265 + 15 + + font12 + grey2 + center + !SubString(ListItem.Property(Duration),min) + + + 100 + 30 + 265 + 15 + + font12 + grey2 + center + SubString(ListItem.Property(Duration),min) + + + 100 + 45 + 265 + 75 + + font10 + white + + + 100 + 45 + 265 + 75 + + font10 + white + IsEmpty(ListItem.Property(TagLine)) + + + 100 + 45 + 265 + 75 + + font10 + white + IsEmpty(ListItem.Property(TagLine)) + IsEmpty(ListItem.Property(PlotOutline)) + + + + + 770 + 0 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 111 + 9000 + false + vertical + Container(9000).Hasfocus(1) + + + number of files/pages in list text label + 750 + 530 + 500 + 35 + font12 + right + center + true + grey + + Container(9000).Hasfocus(1) + + + + + 0 + 0 + 750 + 530 + + + 2000 + 2000 + 100 + 0 + + - + - + + + Container(9000).HasFocus(2) + VisibleFadeEffect + 0 + 0 + 750 + 530 + 9000 + 128 + 121 + 121 + panel + 2 + 128 + + + 0 + 0 + 370 + 170 + button-nofocus.png + + + 5 + 5 + 360 + 65 + $INFO[ListItem.Icon] + + + 330 + 70 + 30 + 30 + OverlayWatched.png + IntegerGreaterThan(ListItem.Property(PlayCount),0) + + + 187 + 75 + 360 + 15 + + font12 + white + center + center + + + 187 + 95 + 360 + 15 + + font12 + grey2 + center + center + + + 5 + 110 + 360 + 55 + + font10 + white + justify + + + + + 0 + 0 + 370 + 170 + button-focus2.png + + + 5 + 5 + 360 + 65 + $INFO[ListItem.Icon] + + + 330 + 70 + 30 + 30 + OverlayWatched.png + IntegerGreaterThan(ListItem.Property(PlayCount),0) + + + 187 + 75 + 360 + 15 + + font12 + white + center + center + + + 187 + 95 + 360 + 15 + + font12 + grey2 + center + center + + + 5 + 110 + 360 + 55 + + font10 + white + justify + + + + + 770 + 0 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 121 + 9000 + false + vertical + Container(9000).Hasfocus(2) + + + number of files/pages in list text label + 750 + 530 + 500 + 35 + font12 + right + center + true + grey + + Container(9000).Hasfocus(2) + + + + 0 + 0 + 750 + 530 + + + 2000 + 2000 + 100 + 0 + + - + - + + + Container(9000).HasFocus(3) + VisibleFadeEffect + 0 + 0 + 750 + 530 + 9000 + 138 + 131 + 131 + panel + 2 + 138 + + + 0 + 0 + 370 + 125 + button-nofocus.png + + + 5 + 5 + 80 + 115 + $INFO[ListItem.Icon] + + + 100 + 10 + 260 + 15 + + font12_title + white + center + + + 100 + 30 + 260 + 120 + + font12 + grey2 + + + + + 0 + 0 + 370 + 125 + button-focus2.png + + + 5 + 5 + 80 + 115 + $INFO[ListItem.Icon] + + + 100 + 10 + 260 + 15 + + font12_title + white + center + + + 100 + 30 + 260 + 120 + + font12 + grey2 + + + + + 770 + 0 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 131 + 9000 + false + vertical + Container(9000).Hasfocus(3) + + + number of files/pages in list text label + 750 + 530 + 500 + 35 + font12 + right + center + true + grey + + Container(9000).Hasfocus(3) + + + + 0 + 0 + 750 + 530 + + + 2000 + 2000 + 100 + 0 + + - + - + + + Container(9000).HasFocus(4) + 0 + 0 + 750 + 530 + 9000 + 148 + 141 + 141 + panel + 2 + 148 + + + 0 + 0 + 750 + 101 + button-nofocus.png + + + 5 + 5 + 150 + 90 + scale + $INFO[ListItem.Icon] + + + 120 + 70 + 30 + 30 + OverlayWatched.png + IntegerGreaterThan(ListItem.Property(PlayCount),0) + + + 160 + 10 + 585 + 15 + + font12 + white + center + + + 160 + 30 + 585 + 15 + + font12 + grey2 + center + + + 160 + 50 + 585 + 45 + + font10 + white + + + + + 0 + 0 + 750 + 101 + button-focus2.png + + + 5 + 5 + 150 + 90 + scale + $INFO[ListItem.Icon] + + + 120 + 70 + 30 + 30 + OverlayWatched.png + IntegerGreaterThan(ListItem.Property(PlayCount),0) + + + 160 + 10 + 585 + 15 + + font12 + white + center + + + 160 + 30 + 585 + 15 + + font12 + grey2 + center + + + 160 + 50 + 585 + 45 + + font10 + white + + + + + 770 + 0 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 141 + 9000 + false + vertical + Container(9000).Hasfocus(4) + + + number of files/pages in list text label + 750 + 530 + 500 + 35 + font12 + right + center + true + grey + + Container(9000).Hasfocus(4) + + + + 0 + 0 + 750 + 530 + + + 2000 + 2000 + 100 + 0 + + - + - + + + Container(9000).HasFocus(5) + VisibleFadeEffect + 0 + 0 + 750 + 530 + 9000 + 158 + 151 + 151 + panel + 2 + 158 + + + 0 + 0 + 370 + 101 + button-nofocus.png + + + 5 + 5 + 120 + 90 + $INFO[ListItem.Icon] + + + 100 + 65 + 30 + 30 + OverlayWatched.png + IntegerGreaterThan(ListItem.Property(PlayCount),0) + + + 135 + 10 + 230 + 15 + + font12 + white + center + + + 135 + 30 + 230 + 15 + + font12 + white + center + + + 135 + 55 + 230 + 15 + + font12 + grey2 + center + + + 135 + 75 + 230 + 15 + + font12 + grey2 + center + + + + + 0 + 0 + 370 + 101 + button-focus2.png + + + 5 + 5 + 120 + 90 + $INFO[ListItem.Icon] + + + 100 + 65 + 30 + 30 + OverlayWatched.png + IntegerGreaterThan(ListItem.Property(PlayCount),0) + + + 135 + 10 + 230 + 15 + + font12 + white + center + + + 135 + 30 + 230 + 15 + + font12 + white + center + + + 135 + 55 + 230 + 15 + + font12 + grey2 + center + + + 135 + 75 + 230 + 15 + + font12 + grey2 + center + + + + + 770 + 0 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 151 + 9000 + false + vertical + Container(9000).Hasfocus(5) + + + number of files/pages in list text label + 750 + 530 + 500 + 35 + font12 + right + center + true + grey + + Container(9000).Hasfocus(5) + + + + 0 + 0 + 750 + 530 + + + 2000 + 2000 + 100 + 0 + + - + - + + + Container(9000).HasFocus(6) + VisibleFadeEffect + 0 + 0 + 750 + 530 + 9000 + 168 + 161 + 161 + list + 2 + 168 + + + 0 + 0 + 750 + 101 + button-nofocus.png + + + 5 + 5 + 150 + 90 + keep + $INFO[ListItem.Icon] + + + 160 + 10 + 580 + 15 + + font12 + white + center + + + 160 + 30 + 585 + 15 + + font12 + grey2 + center + + + 160 + 50 + 585 + 45 + + font10 + white + + + + + 0 + 0 + 750 + 101 + button-focus2.png + + + 5 + 5 + 150 + 90 + keep + $INFO[ListItem.Icon] + + + 160 + 10 + 580 + 15 + + font12 + white + center + + + 160 + 30 + 585 + 15 + + font12 + grey2 + center + + + 160 + 50 + 585 + 45 + + font10 + white + + + + + 770 + 0 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 161 + 9000 + false + vertical + Container(9000).Hasfocus(6) + + + number of files/pages in list text label + 750 + 530 + 500 + 35 + font12 + right + center + true + grey + + Container(9000).Hasfocus(6) + + + + 0 + 0 + 750 + 530 + + + 2000 + 2000 + 100 + 0 + + - + - + + + Container(9000).HasFocus(7) + VisibleFadeEffect + 0 + 0 + 750 + 530 + 9000 + 178 + 171 + 171 + list + 2 + 178 + + + 0 + 0 + 750 + 101 + button-nofocus.png + + + 5 + 5 + 100 + 90 + keep + $INFO[ListItem.Icon] + + + 110 + 10 + 630 + 15 + + font12 + white + center + + + 110 + 30 + 630 + 15 + + font12 + grey2 + center + + + 110 + 50 + 630 + 45 + + font10 + white + + + + + 0 + 0 + 750 + 101 + button-focus2.png + + + 5 + 5 + 100 + 90 + keep + $INFO[ListItem.Icon] + + + 110 + 10 + 630 + 15 + + font12 + white + center + + + 110 + 30 + 630 + 15 + + font12 + grey2 + center + + + 110 + 50 + 630 + 45 + + font10 + white + + + + + 770 + 0 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 171 + 9000 + false + vertical + Container(9000).Hasfocus(7) + + + number of files/pages in list text label + 750 + 530 + 500 + 35 + font12 + right + center + true + grey + + Container(9000).Hasfocus(7) + + + + 0 + 0 + 750 + 530 + + + 2000 + 2000 + 100 + 0 + + - + - + + + Container(9000).HasFocus(8) + VisibleFadeEffect + 0 + 0 + 750 + 530 + 9000 + 188 + 181 + 181 + list + 2 + 188 + + + 0 + 0 + 370 + 101 + button-nofocus.png + + + 5 + 5 + 90 + 90 + $INFO[ListItem.Icon] + + + 110 + 10 + 255 + 15 + + font12 + white + center + + + 110 + 30 + 255 + 15 + + font12 + white + center + + + 110 + 50 + 255 + 15 + + font12 + grey2 + center + + + 110 + 75 + 255 + 15 + + font12 + white + center + + + + + 0 + 0 + 370 + 101 + button-focus2.png + + + 5 + 5 + 90 + 90 + $INFO[ListItem.Icon] + + + 110 + 10 + 255 + 15 + + font12 + white + center + + + 110 + 30 + 255 + 15 + + font12 + white + center + + + 110 + 50 + 255 + 15 + + font12 + grey2 + center + + + 110 + 75 + 255 + 15 + + font12 + white + center + + + + + 770 + 0 + 25 + 530 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 181 + 9000 + false + vertical + Container(9000).Hasfocus(8) + + + number of files/pages in list text label + 750 + 530 + 500 + 35 + font12 + right + center + true + grey + + Container(9000).Hasfocus(8) + + + + + + BehindDialogFadeOut + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/weather/10DayForecast.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/10DayForecast.xml new file mode 100644 index 000000000..a3e76952a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/10DayForecast.xml @@ -0,0 +1,265 @@ + + + + IsEmpty(Window.Property(Weather.CurrentView)) + VisibleFadeEffect + + header label + 20 + 13 + 610 + 30 + font13_title + + center + center + white + black + + + 15 + 60 + 600 + 541 + 9000 + 61 + 51 + 51 + list + 61 + 200 + + + 0 + 0 + 600 + 136 + MenuItemNF.png + + + 50 + 0 + 100 + 120 + font12 + white + selected + center + center + + + + 110 + 5 + 80 + 80 + keep + $INFO[ListItem.Thumb] + + + 590 + 0 + 390 + 70 + font12 + white + selected + right + center + + + + 0 + 80 + 590 + 50 + font12 + white + selected + center + + + + + + 0 + 0 + 600 + 136 + MenuItemNF.png + !Control.HasFocus(51) + VisibleFadeEffect + + + 0 + 0 + 600 + 136 + button-focus2.png + Control.HasFocus(51) + VisibleFadeEffect + + + 50 + 0 + 100 + 120 + font12 + white + selected + center + center + + + + 110 + 5 + 80 + 80 + keep + $INFO[ListItem.Thumb] + + + 590 + 0 + 390 + 70 + font12 + white + selected + right + center + + + + 0 + 80 + 590 + 50 + font12 + white + selected + center + + + + + + $LOCALIZE[31909] + - + IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.1.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.1.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.1.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.1.OutlookIcon)] + $INFO[Window.Property(Daily.1.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.1.WindSpeed)] $INFO[Window.Property(Daily.1.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.2.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.2.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.2.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.2.OutlookIcon)] + $INFO[Window.Property(Daily.2.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.2.WindSpeed)] $INFO[Window.Property(Daily.2.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.3.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.3.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.3.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.3.OutlookIcon)] + $INFO[Window.Property(Daily.3.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.3.WindSpeed)] $INFO[Window.Property(Daily.3.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.4.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.4.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.4.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.4.OutlookIcon)] + $INFO[Window.Property(Daily.4.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.4.WindSpeed)] $INFO[Window.Property(Daily.4.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.5.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.5.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.5.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.5.OutlookIcon)] + $INFO[Window.Property(Daily.5.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.5.WindSpeed)] $INFO[Window.Property(Daily.5.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.6.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.6.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.6.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.6.OutlookIcon)] + $INFO[Window.Property(Daily.6.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.6.WindSpeed)] $INFO[Window.Property(Daily.6.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.7.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.7.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.7.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.7.OutlookIcon)] + $INFO[Window.Property(Daily.7.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.7.WindSpeed)] $INFO[Window.Property(Daily.7.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.8.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.8.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.8.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.8.OutlookIcon)] + $INFO[Window.Property(Daily.8.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.8.WindSpeed)] $INFO[Window.Property(Daily.8.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.9.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.9.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.9.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.9.OutlookIcon)] + $INFO[Window.Property(Daily.9.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.9.WindSpeed)] $INFO[Window.Property(Daily.9.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + $INFO[Window.Property(Daily.10.HighTemperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Daily.10.LowTemperature),[COLOR=grey2]$LOCALIZE[418] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Daily.10.Precipitation),[COLOR=grey2]$LOCALIZE[33022] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Daily.10.OutlookIcon)] + $INFO[Window.Property(Daily.10.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Daily.10.WindSpeed)] $INFO[Window.Property(Daily.10.WindDirection)] + - + !IsEmpty(Window.Property(Daily.IsFetched)) + + + + + 615 + 60 + 25 + 540 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 51 + 9000 + true + vertical + Control.IsVisible(50) + + + Conditional + number of files/pages + 660 + 627 + 570 + font12 + right + true + grey + black + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/weather/36HourForecast.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/36HourForecast.xml new file mode 100644 index 000000000..92881020a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/36HourForecast.xml @@ -0,0 +1,238 @@ + + + + StringCompare(Window.Property(Weather.CurrentView),36hour) + VisibleFadeEffect + + Hidden Button for focus + -600 + -20 + 1 + 1 + - + - + 9000 + 9000 + + + header label + 20 + 13 + 610 + 30 + font13_title + + center + center + white + black + + + 0 + 200 + 600 + 30 + font13 + white + center + center + + IsEmpty(Window.Property(36Hour.IsFetched)) + + + 20 + 50 + !IsEmpty(Window.Property(36Hour.IsFetched)) + VisibleFadeEffect + + 0 + 0 + + 0 + 5 + 600 + 30 + font13_title + blue + center + center + + + + 0 + 10 + 120 + 110 + keep + $INFO[Window.Property(36Hour.1.OutlookIcon)] + + + 120 + 40 + 100 + 40 + font13_title + white + selected + center + center + + + + 590 + 60 + 390 + 20 + font12 + white + selected + right + center + + + + 0 + 110 + 590 + 70 + font12 + white + selected + center + + + + 0 + 180 + 650 + 4 + separator.png + + + + 0 + 185 + + 0 + 5 + 600 + 30 + font13_title + blue + center + center + + + + 0 + 10 + 120 + 110 + keep + $INFO[Window.Property(36Hour.2.OutlookIcon)] + + + 120 + 40 + 100 + 40 + font13_title + white + selected + center + center + + + + 590 + 60 + 390 + 20 + font12 + white + selected + right + center + + + + 0 + 110 + 590 + 70 + font12 + white + selected + center + + + + 0 + 180 + 650 + 4 + separator.png + + + + 0 + 370 + + 0 + 5 + 600 + 30 + font13_title + blue + center + center + + + + 0 + 10 + 120 + 110 + keep + $INFO[Window.Property(36Hour.3.OutlookIcon)] + + + 120 + 40 + 100 + 40 + font13_title + white + selected + center + center + + + + 590 + 60 + 390 + 20 + font12 + white + selected + right + center + + + + 0 + 110 + 590 + 70 + font12 + white + selected + center + + + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/weather/HourlyForecast.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/HourlyForecast.xml new file mode 100644 index 000000000..b2b367f5c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/HourlyForecast.xml @@ -0,0 +1,281 @@ + + + + StringCompare(Window.Property(Weather.CurrentView),hourly) + VisibleFadeEffect + + header label + 20 + 13 + 610 + 30 + font13_title + + center + center + white + black + + + 15 + 60 + 600 + 541 + 9000 + 62 + 52 + 52 + list + 62 + 200 + + + 0 + 0 + 600 + 136 + MenuItemNF.png + + + 50 + 0 + 100 + 120 + font12 + white + selected + center + center + + + + 110 + 5 + 80 + 80 + keep + $INFO[ListItem.Thumb] + + + 590 + 5 + 390 + 70 + font12 + white + selected + right + center + + + + 0 + 80 + 590 + 50 + font12 + white + selected + center + + + + + + 0 + 0 + 600 + 136 + MenuItemNF.png + !Control.HasFocus(52) + VisibleFadeEffect + + + 0 + 0 + 600 + 136 + button-focus2.png + Control.HasFocus(52) + VisibleFadeEffect + + + 50 + 0 + 100 + 120 + font12 + white + selected + center + center + + + + 110 + 5 + 80 + 80 + keep + $INFO[ListItem.Thumb] + + + 590 + 5 + 390 + 70 + font12 + white + selected + right + center + + + + 0 + 80 + 590 + 50 + font12 + white + selected + center + + + + + + $LOCALIZE[31909] + - + IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.1.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.1.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.1.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.1.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.1.OutlookIcon)] + $INFO[Window.Property(Hourly.1.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.1.WindSpeed)] $INFO[Window.Property(Hourly.1.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.2.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.2.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.2.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.2.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.2.OutlookIcon)] + $INFO[Window.Property(Hourly.2.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.2.WindSpeed)] $INFO[Window.Property(Hourly.2.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.3.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.3.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.3.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.3.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.3.OutlookIcon)] + $INFO[Window.Property(Hourly.3.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.3.WindSpeed)] $INFO[Window.Property(Hourly.3.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.4.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.4.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.4.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.4.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.4.OutlookIcon)] + $INFO[Window.Property(Hourly.4.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.4.WindSpeed)] $INFO[Window.Property(Hourly.4.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.5.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.5.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.5.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.5.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.5.OutlookIcon)] + $INFO[Window.Property(Hourly.5.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.5.WindSpeed)] $INFO[Window.Property(Hourly.5.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.6.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.6.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.6.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.6.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.6.OutlookIcon)] + $INFO[Window.Property(Hourly.6.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.6.WindSpeed)] $INFO[Window.Property(Hourly.6.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.7.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.7.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.7.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.7.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.7.OutlookIcon)] + $INFO[Window.Property(Hourly.7.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.7.WindSpeed)] $INFO[Window.Property(Hourly.7.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.8.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.8.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.8.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.8.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.8.OutlookIcon)] + $INFO[Window.Property(Hourly.8.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.8.WindSpeed)] $INFO[Window.Property(Hourly.8.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.9.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.9.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.9.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.9.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.9.OutlookIcon)] + $INFO[Window.Property(Hourly.9.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.9.WindSpeed)] $INFO[Window.Property(Hourly.9.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.10.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.10.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.10.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.10.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.10.OutlookIcon)] + $INFO[Window.Property(Hourly.10.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.10.WindSpeed)] $INFO[Window.Property(Hourly.10.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.11.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.11.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.11.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.11.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.11.OutlookIcon)] + $INFO[Window.Property(Hourly.11.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.11.WindSpeed)] $INFO[Window.Property(Hourly.11.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + $INFO[Window.Property(Hourly.12.Temperature),[COLOR=grey2]$LOCALIZE[419] :[/COLOR][B] ,[/B]] $INFO[Window.Property(Hourly.12.FeelsLike),[COLOR=grey2]$LOCALIZE[402] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.12.Humidity),[COLOR=grey2]$LOCALIZE[406] :[/COLOR][B] ,[/B]][CR]$INFO[Window.Property(Hourly.12.ChancePrecipitation),[COLOR=grey2]$LOCALIZE[31908] :[/COLOR][B] ,[/B]] + $INFO[Window.Property(Hourly.12.OutlookIcon)] + $INFO[Window.Property(Hourly.12.Outlook),[COLOR=grey2]$LOCALIZE[33030]: [/COLOR]][CR][COLOR=grey2]$LOCALIZE[383]: [/COLOR]$INFO[Window.Property(Hourly.12.WindSpeed)] $INFO[Window.Property(Hourly.12.WindDirection)] + - + !IsEmpty(Window.Property(Hourly.IsFetched)) + + + + + 615 + 60 + 25 + 540 + ScrollBarV.png + ScrollBarV_bar.png + ScrollBarV_bar_focus.png + ScrollBarNib.png + ScrollBarNib.png + 52 + 9000 + true + vertical + Control.IsVisible(50) + + + Conditional + number of files/pages + 660 + 627 + 570 + font12 + right + true + grey + black + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/weather/MapAlerts.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/MapAlerts.xml new file mode 100644 index 000000000..7a3a22c17 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/MapAlerts.xml @@ -0,0 +1,100 @@ + + + + StringCompare(Window.Property(Weather.CurrentView),map) + VisibleFadeEffect + + Hidden Button for focus + -600 + -20 + 1 + 1 + - + - + 9000 + 9000 + + + header label + 20 + 13 + 610 + 30 + font13_title + + center + center + white + black + + + Background image + 40 + 75 + 570 + 325 + button-nofocus.png + + + map multiimage + 45 + 80 + 560 + 315 + $INFO[Window.Property(MapPath)] + 500 + 1000 + 0 + false + yes + keep + center + + + 0 + 410 + 650 + 4 + separator.png + + + 40 + 430 + 570 + 30 + font13_title + blue + center + center + + + + !StringCompare(Window.Property(Alerts.Count),0) + + 40 + 470 + 570 + 100 + font12 + white + selected + center + + Skin.HasSetting(AutoScroll) + + + + 40 + 500 + 570 + 30 + font13_title + white + center + center + + StringCompare(Window.Property(Alerts.Count),0) + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/720p/weather/WeekendForecast.xml b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/WeekendForecast.xml new file mode 100644 index 000000000..23bfb7715 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/720p/weather/WeekendForecast.xml @@ -0,0 +1,217 @@ + + + + StringCompare(Window.Property(Weather.CurrentView),weekend) + VisibleFadeEffect + + Hidden Button for focus + -600 + -20 + 1 + 1 + - + - + 9000 + 9000 + + + header label + 20 + 13 + 610 + 30 + font13_title + + center + center + white + black + + + 0 + 200 + 600 + 30 + font13 + white + center + center + + IsEmpty(Window.Property(Weekend.IsFetched)) + + + 20 + 50 + !IsEmpty(Window.Property(Weekend.IsFetched)) + VisibleFadeEffect + + 0 + 0 + + 0 + 5 + 600 + 30 + font13_title + blue + center + center + + + + 10 + 20 + 130 + 160 + keep + $INFO[Window.Property(Weekend.1.OutlookIcon)] + + + 140 + 40 + 100 + 50 + font13_title + white + selected + center + center + + + + 140 + 100 + 100 + 50 + font13_title + white + selected + center + center + + + + 240 + 40 + 350 + 130 + font12 + white + right + + + + 0 + 170 + 590 + 20 + font12 + white + selected + center + center + + + + 0 + 210 + 590 + 70 + font12 + white + selected + center + + + + 0 + 270 + 650 + 4 + separator.png + + + + 0 + 280 + + 0 + 5 + 600 + 30 + font13_title + blue + center + center + + + + 10 + 20 + 130 + 160 + keep + $INFO[Window.Property(Weekend.2.OutlookIcon)] + + + 140 + 40 + 100 + 50 + font13_title + white + selected + center + center + + + + 140 + 100 + 100 + 50 + font13_title + white + selected + center + center + + + + 240 + 40 + 350 + 130 + font12 + white + right + + + + 0 + 170 + 590 + 20 + font12 + white + selected + center + center + + + + 0 + 210 + 590 + 70 + font12 + white + selected + center + + + + + + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/addon.xml b/usr/local/share/xbmc/addons/skin.confluence/addon.xml new file mode 100644 index 000000000..3c1d11280 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/addon.xml @@ -0,0 +1,148 @@ + + + + + + + + + + Confluence oortreksel deur Jezz_X. (XBMC se bestek oortreksel) + غلا٠حشد من Jezz_X. (هو Ø§Ù„ØºÙ„Ø§Ù Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ Ù„Ù€XBMC) + Confluence skin by Jezz_X. (XBMC's default skin) + Облик от Jezz_X. (ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð·Ð° XBMC) + Aparença Confluence, per Jezz_X. (Aparença per defecte de l'XBMC) + Vzhled Confluence od Jezz_X. (XBMC výchozí vzhled) + Confluence skin af Jezz_X. (XBMC's standardskin) + Confluence, ein Skin von Jezz_X. (XBMC standard Skin) + Το κέλυφος Confluence από τον Jezz_X (Ï€Ïοεπιλεγμένο κέλυφος του XBMC). + Confluence skin by Jezz_X. (XBMC's default skin) + Confluence skin por Jezz_X. (skin por defecto) + Confluence skin por Jezz_X. (skin por defecto de XBMC) + Skin confluende por Jezz_X. (skin por defecto de XMC) + Confluence rüü autorilt Jezz_X. (XBMC vaikerüü) + Confluence-ulkoasu Jezz_X:ltä. (XBMC:n oletus ulkoasu) + Thème Confluence par Jezz_X. (thème par défaut) + Pel Confluence por Jezz_Z. (Pel predeterminada de XBMC) + Confluence skin by Jezz_X. (XBMC's default skin) + Confluence izgled autora Jezz_X. (XBMC podrazumijevani izgled) + Confluence felszín. KészítÅ‘: Jezz_X (XBMC alapértelmezett felszín) + Confluence eftir Jezz_X. (Sjálfgefið útlit XBMC) + Skin Confluence da Jezz_X. (skin predefinita di XBMC) + Confluence スキン by Jezz_X. (XBMC デフォルトスキン) + Confluence skin by Jezz_X. (XBMC's default skin) + Confluence 스킨 Jezz_X 만듦 (XBMC 기본 스킨) + TeminÄ— iÅ¡vaizda Confluence sukurta Jezz_X.(XBMC numatytoji teminÄ— iÅ¡vaizda) + Confluence skin by Jezz_X. (XBMC's default skin) + Confluence skin door Jezz_X + Confluence tema av Jezz_X. (XBMC standardtema) + Confluence autorstwa Jezz_X + Tema Confluence desenvolvido por Jezz_X. (Tema padrão do XBMC) + Skin Confluence por Jezz_X. (Skin padrão do XBMC) + Costum Confluence de Jezz_X. (costum implicit) + Обложка Confluence (ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¾Ð±Ð»Ð¾Ð¶ÐºÐ° XBMC). Ðвтор: Jezz_X. + Confluence skin od Jezz_X. (predvolený skin XBMC) + Preobleka Confluence avtorja Jezz_X. (Privzeta preobleka za XBMC) + Confluence, ett skal av Jezz_X. (XBMC standardskal) + ชุดตà¸à¹à¸•่ง Confluence โดย Jezz_X (สà¸à¸´à¸™à¹€à¸£à¸´à¹ˆà¸¡à¸•้นของ XBMC) + Jezz_X tarafından Confluence dış görünümü. (XBMC varsayılan dış görünüm) + Обкладинка Confluence (Ñтандартна обкладинка XBMC). Ðвтор: Jezz_X. + Confluence skin by Jezz_X. (XBMC's default skin) + Jezz_Xå¼€å‘çš„Confluence皮肤 + Jezz_X 製作的佈景主題(XBMCçš„é è¨­ä½ˆæ™¯ä¸»é¡Œï¼‰ + Confluence is die bestek oortreksel vir XBMC 9.11 en op. Dit is 'n kombinasie van konsepte van 'n klomp gewilde oortreksels, en 'n poging om hulle goeie idees te omvat en te integreer in 'n oortreksel wat maklik behoort te wees vir eerste keer XBMC gebruikers om te verstaan en te gebruik. + حشد هو Ø§Ù„ØºÙ„Ø§Ù Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ Ù„Ù€XBMC 9.11 Ùˆ ما Ùوق. إنه مزيج من Ù…ÙØ§Ù‡ÙŠÙ… من Ø£ØºÙ„ÙØ© شعبية, Ùˆ يحاول ضم Ùˆ مزج Ø¥Ùكارهم الجيدة ÙÙŠ غلا٠يسهل Ùهمه Ùˆ استخدامه لمستخدم XBMC الجديد. + Confluence is the default skin for XBMC 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time XBMC users to understand and use. + Confluence е ÑтандартниÑÑ‚ облик на XBMC 9.11 и по-новите верÑии. ПредÑтавлÑва ÑмеÑица от концепциите на много от популÑрните облици. Целта е да Ñе интегрират тези добри идеи в подходÑщ и удобен вид за хора, които Ñе ÑблъÑкват за първи път Ñ XBMC. + Confluence és l'aparença per defecte de l'XBMC 9.11 i superior. És una combinació de conceptes de moltes aparences populars, i intenta adoptar i integrar les seves bones idees en una aparença que sigui senzilla d'entendre i utilitzar per els nous usuaris d'XBMC. + Confluence je výchozí vzhled pro XBMC 9.11 a novÄ›jší. Jedná se o kombinaci konceptů z mnoha jiných populárních vzhledů, která se pokouší uchopit a integrovat jejich dobré nápady do vzhledu, který by mÄ›l být pro nového uživatele XBMC jednoduchý na pochopení a používání. + Confluence er standardskin'et til XBMC 9.11 og senere versioner. Det er en kombination af koncepter fra mange populære skins, og det forsøger at omfavne og integrere de gode ideer i et skin, der er let for førstegangsbrugere af XBMC at forstÃ¥ og bruge. + Confluence ist der standard Skin für XBMC 9.11 und später. Er ist eine Kombination mehrer unterschiedlicher Skin-Konzepte und versucht dabei die besten Ideen zu kombinieren, um einen einfachen Einstieg für neue XBMC-Nutzer zu ermöglichen. + Το Confluence είναι το Ï€Ïοεπιλεγμένο κέλυφος για τις εκδόσεις XBMC 9.11 και άνω. Είναι ένας συνδυασμός από πολλά δημοφιλή κελÏφη, και επιχειÏεί να συμπεÏιλάβει τις καλÏτεÏες ιδέες τους σε ένα κέλυφος το οποίο είναι εÏκολο σε αÏχάÏιους χÏήστες του XBMC να κατανοήσουν και χÏησιμοποιήσουν. + Confluence is the default skin for XBMC 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time XBMC users to understand and use. + Confluence es la skin por defecto de XBMC 9.11 y posteriores. Es una combinación de conceptos de muchas skins populares, e intenta abarcar e integrar lo mejor de ellas en una skin que sea sencilla de entender y utilizar para los nuevos usuarios de XBMC. + Confluence es el skin por defecto de XBMC 9.11 y posteriores. Es una combinación de conceptos de muchos skins populares, e intenta abarcar e integrar lo mejor de ellos en un skin que sea sencillo de entender y utilizar para los nuevos usuarios de XBMC. + Confluence es el skin por defecto para XBMC 9.11 en adelante. Es una combinación de conceptos de varias skins populares, e intenta adoptar e integrar sus buenas ideas en un skin que debería ser fá de entender y usar para quienes usen XBMC por primera vez. + Confluence on vaikerüü XBMC-le alates versioonist 9.11. Confluence on paljude populaarsete rüüde kombineerimise tulemus, mis üritab omavahel tööle panna teiste rüüde parimaid lahendusi, et saavutada rüü, mis oleks esmakasutajale ühtmoodi selge ja kerge kasutada. + Confluence on oletus ulkoasu XBMC:n versiosta 9.11 lähtien. Se on yhdistelmä useiden suosittujen ulkoasujen konsepteista, ja yritys omaksua ja integroida heidän hyvät ideat ulkoasuun, jonka pitäisi olla helppokäyttöinen ja -tajuinen kaikille XBMC:n käyttäjille. + Confluence est le thème par défaut à partir d'XBMC 9.11. Reprenant les concepts issus de plusieurs thèmes populaires, il est une tentative d'inclusion et d'intégration des meilleures idées afin d'en rendre la compréhension et l'utilisation faciles y compris par des débutants. + Confluence é a pel predeterminada para XBMC 9.11 e posteriores. É unha combinación de conceptos de algunhas peles populares, e tenta abranguer e integrar as súas mellores ideas nunha pel que sexa fácil de entender e utilizar para as usuarias que utilizan por primeira vez XBMC. + Confluence ×”×•× ×¡×§×™×Ÿ ברירת המחדל של XBMC 9.11 ומעלה. זהו צירוף של ×§×•× ×¡×¤×˜×™× ×ž×¡×§×™× ×™× ×¤×•×¤×•×œ×¨×™×™× ×¨×‘×™×, וניסיונות ל×מץ ×•×œ×¡×›× ×ת הרעיונות ×”×˜×•×‘×™× ×©×œ×”× ×œ×ª×•×š סקין שיהיה פשוט להבנה ולשימוש עבור משתמשי XBMC חדשי×. + Confluence je podrazumijevani izgled od verzije XBMC 9.11 naviÅ¡e. To je mjeÅ¡avina ideja i zamisli iz drugih popularnih izgleda, pokuÅ¡aj da se objedine njihove dobre osobine u izgledu lak za uporabu i razumijevanje od novih XMBC korisnika. + A Confluence az alapértelmezett felszín az XBMC-hez a 9.11-es verziótól kezdÅ‘dÅ‘en. Merít sok sok népszerű felszín elképzelésébÅ‘l, megpróbálva vegyíteni a jó ötleteket úgy, hogy az könnyen kezelhetÅ‘ legyen az XBMC-vel elÅ‘ször találkozóknak is. + Confluence er sjálfgefið útlit XBMC 9.11 og nýrra. Það er samsetning hugmynda frá mörgum vinsælum útlitum og er tilraun til að fanga og innlima þær góðu hugmyndir í útlit þar sem hugmyndin er að skuli vera einfalt fyrir fyrir nýja XBMC notendur að skilja og nota + Confluence è la skin predefinita di XBMC dalla versione 9.11 in poi. E' una combinazione di elementi provenienti da altre skin popolari e cerca di integrare e coinvolgere tutte le loro grandi idee in una skin facile da usare e comprendere per l'utente inesperto di XBMC. + Confluence 㯠XBMC 9.11 ãŠã‚ˆã³ãれ以上ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§æ¨™æº–ã®ã‚¹ã‚­ãƒ³ã§ã™ã€‚ã•ã¾ã–ã¾ãªäººæ°—ã®ã‚¹ã‚­ãƒ³ã®ã‚³ãƒ³ã‚»ãƒ—トを組ã¿åˆã‚ã›ã€ãƒ¦ãƒ¼ã‚¶ãŒåˆã‚㦠XBMC ã«è§¦ã‚Œã‚‹éš›ã«ä¾¿åˆ©ã«ä½¿ãˆã‚‹ã‚ˆã†ã«ã—ã¦ã‚りã¾ã™ã€‚ + Confluence គឺ ជាស្គីនចំបងរបស់ XBMC 9.11 and about. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time XBMC users to understand and use. + Confluence 는 XBMC 9.11 ì´ìƒì˜ 기본 스킨입니다. ë§Žì€ ì¸ê¸° ìŠ¤í‚¨ì˜ ì»¨ì…‰ê³¼ ì¢‹ì€ ì•„ì´ë””어를 모아서 í•˜ë‚˜ì˜ ìŠ¤í‚¨ìœ¼ë¡œ 만들었으며 초보ìžë„ 사용하기 쉽습니다. + Confluence yra numatytoji teminÄ— iÅ¡vaizda pradedant XBMC 9.11. Tai daugelio populiarių teminų iÅ¡vaizdų derinys. Bandymas priimti ir integruoti vartotojų idÄ—jas į teminÄ™ iÅ¡vaizdÄ… katra turÄ—tų bÅ«ti lengvai suprantama pirmÄ… kartÄ… naudojantiems XBMC + Confluence е подразбирачки изглед за XBMC 9.11 па нагоре. Тој е комбинација на концепти од повеќе популарни изгледи, и наÑтојува да ги обедини и иÑтакне нивните добри идеи во еден изглед разбирлив за кориÑници почетници + Confluence is de standaard skin voor XBMC 9.11 en hoger. Het combineert de concepten van andere populaire skins, waarbij het tracht hun goede ideëen te integreren in een skin die gemakkelijk in gebruik is. + Confluence er standard tema for XBMC 9.11 og oppover. Det er en kombinasjon av konseptene fra mange populære tema, og prøver Ã¥ omfavne og integrere de gode idéene i et tema som bør være lett Ã¥ forstÃ¥ og benytte for nye XBMC-brukere. + Confluence jest domyÅ›lnÄ… skórÄ… dla XBMC 9.11 i nowszych. To kombinacja wielu popularnych pomysłów i próba zawarcia tego co w nich najlepsze w skórze, która bÄ™dzie Å‚atwa do opanowania dla poczÄ…tkujÄ…cego użytkownika. + O tema Confluence é o tema padrão do XBMC 9.11 e superior. É uma mistura de conceitos de muitos temas populares e tenta integrar as boas ideias destes num tema que deve ser fácil de entender e manusear para novos utilizadores do XBMC. + Confluence é a skin padrão do XBMC 9.11 e acima. É uma combinação de conceitos das mais populares skins, visando abraçar e integrar as boas ideias em uma skin que seja fácil de entender e usar, destinada aos usuários iniciantes do XBMC. + Confluence este costumul implicit pentru XBMC 9.11 È™i versiunile ulterioare. Este o combinaÈ›ie de concepte împrumutate de la mai multe costume populare, care încearcă să îmbrățiÈ™eze È™i să integreze ideile lor bune într-un costum care să fie uÈ™or de înÈ›eles È™i folosit de către utilizatorii XBMC începători. + Confluence — Ñто ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¾Ð±Ð»Ð¾Ð¶ÐºÐ° XBMC, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ Ð²ÐµÑ€Ñии 9.11. Она предÑтавлÑет Ñобой Ñочетание концепций, взÑтых из многих популÑрных обложек, в попытке интегрировать их удачные идеи в обложке, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±Ñ‹Ð»Ð° проÑтой Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ð¼Ð¸ пользователÑми XBMC. + Confluence je predvolený pre XBMC 9.11 a vyššie. Je kombináciou konceptov z mnoho populárnych skinov a pokusom integrovaÅ¥ ich dobré nápady do skinu, ktorý by bol ľahko zrozumiteľný a použiteľný pre nových používateľov XBMC. + Confluence je privzeta preobleka za XBMC 9.11 in novejÅ¡e. Je kombinacija konceptov mnogih priljubljenih preoblek in poskuÅ¡a zaobjeti in integrirati njihove dobre ideje v preobleko, ki bi bila preprosta za uporabo in razumevanje tudi novim uporabnikom XBMC. + Confluence är standardskal för XBMC 9.11 och senare. Det är en kombination av koncept frÃ¥n mÃ¥nga populära skal i ett försök att använda och integrera flera goda idéer till ett skal som är enkelt för användare som precis har börjat använda XBMC att förstÃ¥ och använda. + Confluenceเป็นสà¸à¸´à¸™à¹€à¸£à¸´à¹ˆà¸¡à¸•้นสำหรับ XBMC 9.11 หรือสูงà¸à¸§à¹ˆà¸² มันเป็นส่วนผสมของà¹à¸™à¸§à¸„ิดจาà¸à¸ªà¸à¸´à¸™à¸—ี่ได้รับความนิยมà¹à¸¥à¸°à¸žà¸¢à¸²à¸¢à¸²à¸¡à¸—ี่จะยอมรับà¹à¸¥à¸°à¸šà¸¹à¸£à¸“าà¸à¸²à¸£à¸ªà¹ˆà¸§à¸™à¸—ี่ดีของมันเข้าไปในสà¸à¸´à¸™ ซึ่งน่าจะง่ายสำหรับผู้ใช้ XBMCใหม่ ที่จะเข้าใจà¹à¸¥à¸°à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ด้ดี + Confluence XBMC 9.11 ve yukarısı için varsayılan dış görünümdür. Birçok popüler dış görünümün kavramlarını bir araya getirip ilk kez XBMC kullananlar için anlaşılması ve kullanımı kolaydır. + Confluence — це Ñтандартна обкладинка XBMC, починаючи з верÑÑ–Ñ— 9.11. Концепції багатьох популÑрних обкладинок поєднано у Ñпробі викориÑтати та інтегрувати їхні вдалі ідеї в обкладинці, що Ñтала б зрозумілою та проÑтою в заÑтоÑуванні Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ… кориÑтувачів XBMC. + Confluence is the default skin for XBMC 9.11 and above. It is a combination of concepts from many popular skins, and attempts to embrace and integrate their good ideas into a skin that should be easy for first time XBMC users to understand and use. + 在XBMC 9.11之åŽçš„版本中Confluence是默认皮肤。它集åˆäº†è®¸å¤šæµè¡Œçš®è‚¤çš„创æ„,力求把这些优点èžåˆåˆ°ä¸€ä¸ªçš®è‚¤ä¸­ï¼Œä½¿å¾—首次使用XBMC的用户能更容易上手。 + Confluence 是從 XBMC 9.11 é–‹å§‹é è¨­çš„佈景主題。它çµåˆäº†è¨±å¤šå—歡迎的佈景主題的概念,且試圖包å«ä¸¦æ•´åˆå®ƒå€‘的優點,使第一次使用 XBMC 的使用者å¯ä»¥ç°¡å–®åœ°ä¸Šæ‰‹ã€‚ + Confluence is die bestek oortreksel vir XBMC, verwydering mag probleme veroorsaak + حشد هو Ø§Ù„ØºÙ„Ø§Ù Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠ Ù„Ù€XBMC, إزلته قد تسبب مشاكل + Confluence is the default skin for XBMC, removing it may cause issues + Confluence е ÑтандартниÑÑ‚ облик на XBMC. Премахването му може да предизвика проблеми + Confluence és l'aparença per defecte de l'XBMC, la seva eliminació pot causar problemes. + Confluence je výchozím vzhledem XBMC, jeho odstranÄ›ní může způsobit problémy + Confluence er standardskin'et til XBMC. Fjernes det, kan der opstÃ¥ problemer + Confluence ist der standard Skin für XBMC. Die Deinstallation kann zu unerwünschten Nebeneffekten führen. + Το Confluence είναι το Ï€Ïοεπιλεγμένο κέλυφος για το XBMC, η αφαίÏεσή του μποÏεί να δημιουÏγήσει Ï€Ïοβλήματα + Confluence is the default skin for XBMC, removing it may cause issues + Confluence es la skin por defecto de XBMC. Borrarla puede causar problemas + Confluence es el skin por defecto de XBMC. Borrarlo puede causar problemas + Confluence es el skin por defecto para XBMC, removerlo podría causar problemas + Confluence on XBMC vaikerüü. Selle eemaldamine võib põhjustada ootamatusi. + Confluence on XBMC:n oletus ulkoasu, sen poistaminen saattaa aiheuttaa ongelmia + Confluence est le thème par défaut de XBMC, le supprimer peut créer des problèmes + Confluence é a pel predeterminada para XBMC e eliminala pode causas problemas. + Confluence ×”×•× ×¡×§×™×Ÿ ברירת המחדל של XBMC, הסרה שלו עלולה ×œ×’×¨×•× ×œ×‘×¢×™×•×ª. + Confluence je podrazumijevani izgled za XBMC, njegovo odstranjivanje može uzrokovati teÅ¡koće. + A Confluence az alapértelmezett XBMC felszín. Eltávolítása problémákat okozhat. + Confluence er sjálfgefið útlit XBMC, það getur orsakað vandamál að fjarlægja það. + Confluence è la skin predefinita di XBMC, l'eliminazione potrebbe comportare dei problemi. + Confluence 㯠XBMC ã®ãƒ‡ãƒ•ォルトスキンã§ã™ã®ã§ã€ã“れを削除ã™ã‚‹ã¨ã†ã¾ãå‹•ã‹ãªããªã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ + Confluence는 XBMCì˜ ê¸°ë³¸ìŠ¤í‚¨ìœ¼ë¡œ 제거시 문제가 ìƒê¸¸ìˆ˜ 있습니다. + Confluence yra numatytoji XBMC teminÄ— iÅ¡vaizda, jÄ… panaikinus ar pakeitus gali kilti problemų + Confluence е подразбирачка маÑка, бришењето може да предизвика пречки + Confluence is de standaard XMBC skin, het verwijderen van Confluence kan leiden tot problemen. + Confluence er standard tema for XBMC, Ã¥ fjerne det kan skape problemer + Confluence jest domyÅ›lnÄ… skórÄ… XBMC. Jej usuniÄ™cie może powodować problemy. + O tema Confluence é o tema padrão do XBMC. Removê-lo pode causar problemas. + Confluence é a skin padrão do XBMC, removê-la pode lhe causar problemas. + Confluence este costumul implicit pentru XBMC, dacă îl eliminaÈ›i pot apărea probleme! + Confluence — Ñто ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¾Ð±Ð»Ð¾Ð¶ÐºÐ° XBMC, и ее удаление может привеÑти к возникновению проблем + Confluence je predvolený skin pre XBMC, jeho odstránenie môže spôsobiÅ¥ problémy + Confluence je privzeta preobleka za XBMC, njena odstranitev lahko povzroÄi težave + Confluence är standardskal för XBMC, att ta bort detta skal kan skapa problem. + Confluence เป็นสà¸à¸´à¸™à¹€à¸£à¸´à¹ˆà¸¡à¸•้นสำหรับ XBMC à¸à¸²à¸£à¸¥à¸šà¸¡à¸±à¸™ อาจทำให้เà¸à¸´à¸”ปัà¸à¸«à¸² + Confluence XBMC için varsayılan dış görünümdür, kaldırmak sorunlara yol açabilir + Confluence — оÑновна обкладинка XBMC, Ñ– Ñ—Ñ— Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ призвеÑти до проблем + Confluence is the default skin for XBMC, removing it may cause issues + Confluence是XMBC的默认皮肤,删除它å¯èƒ½å¯¼è‡´æ•…障。 + Confluence 是 XMBC é è¨­çš„佈景主題,移除它å¯èƒ½æœƒé€ æˆå•題 + all + + diff --git a/usr/local/share/xbmc/addons/skin.confluence/backgrounds/SKINDEFAULT.jpg b/usr/local/share/xbmc/addons/skin.confluence/backgrounds/SKINDEFAULT.jpg new file mode 100644 index 000000000..3d5b572bd Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/backgrounds/SKINDEFAULT.jpg differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/backgrounds/media-overlay.jpg b/usr/local/share/xbmc/addons/skin.confluence/backgrounds/media-overlay.jpg new file mode 100644 index 000000000..b7f767af7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/backgrounds/media-overlay.jpg differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/backgrounds/settings.jpg b/usr/local/share/xbmc/addons/skin.confluence/backgrounds/settings.jpg new file mode 100644 index 000000000..2dac338e7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/backgrounds/settings.jpg differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/backgrounds/tv.jpg b/usr/local/share/xbmc/addons/skin.confluence/backgrounds/tv.jpg new file mode 100644 index 000000000..b875d71e8 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/backgrounds/tv.jpg differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/build.bat b/usr/local/share/xbmc/addons/skin.confluence/build.bat new file mode 100644 index 000000000..8735a13a0 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/build.bat @@ -0,0 +1,24 @@ +@echo off +ECHO ---------------------------------------- +echo Creating Confluence Build Folder +IF Exist ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence rmdir ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence /S /Q +md ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence\media\ + +Echo .svn>exclude.txt +Echo Thumbs.db>>exclude.txt +Echo Desktop.ini>>exclude.txt +Echo dsstdfx.bin>>exclude.txt +Echo build.bat>>exclude.txt +Echo \skin.confluence\media\>>exclude.txt +Echo exclude.txt>>exclude.txt + +ECHO ---------------------------------------- +ECHO Creating XBT File... +START /B /WAIT ..\..\Tools\TexturePacker\TexturePacker -dupecheck -input media -output ..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence\media\Textures.xbt + +ECHO ---------------------------------------- +ECHO XBT Texture Files Created... +ECHO Building Skin Directory... +xcopy "..\skin.confluence" "..\..\project\Win32BuildSetup\BUILD_WIN32\Xbmc\addons\skin.confluence" /E /Q /I /Y /EXCLUDE:exclude.txt + +del exclude.txt diff --git a/usr/local/share/xbmc/addons/skin.confluence/changelog.txt b/usr/local/share/xbmc/addons/skin.confluence/changelog.txt new file mode 100644 index 000000000..6c368b8ed --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/changelog.txt @@ -0,0 +1,46 @@ +[B]2.1.3[/B] + +- Updated language files from Transifex + +[B]2.1.2[/B] + +- Updated language files from Transifex + +[B]2.1.0[/B] + +- Changed the home menu to Horizontal Layout instead of Vertical +- Added support for the TvTunes Addon enable it in skin settings\General (if you have it installed) +- Added support for the Weather+ script (install it and select it in weather settings) +- Updated translation files +- Added some more codec flagging images (eg: pcm_bluray, wav files, etc) +- Added Visual notification in Add-on Thumbnail view if an add-on is broken + +[B]2.0.0[/B] + +- Bumped the skin version up for the major change to eden branch + +[B]1.2.0[/B] + +- All media views now follow a similar layout off File List on the Left hand side and icons/data on the right +- Views are all now in content panels (no fullscreen black) +- Added a thumb view for addons +- Non full screen Now Playing Media info (Bottom left) has more info +- Full screen Now Playing Media info trimmed down +- Fullscreen Player controls changed +- Media windows side menu is completely redesigned (and also lower case) +- Added a "filter" button to all media windows +- Added Filter (BLAH) text to the item/page count bottom right +- Removed the Disc Play button from home (which relies on !System.HasMediaDVD to appear) +- Repositioned the seekbar from lower right to upper right + +[B]1.1.0[/B] + +- Redesigned the video and Music OSD Info and controls +- Added more images for codec flagging on videos and audio +- Added all the windows needed for the new Addon Browser +- Removed the right hand side bar graphic from all windows and only made the left hand one visible if a menu is there +- Lots of other little changes + +[B]1.0.0[/B] + +- Initial Commit to the SVN \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/colors/defaults.xml b/usr/local/share/xbmc/addons/skin.confluence/colors/defaults.xml new file mode 100644 index 000000000..802b33d48 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/colors/defaults.xml @@ -0,0 +1,9 @@ + + FFFFFFFF + FFb4b4b4 + FF999999 + FF505050 + FF000000 + FF0084ff + FFEB9E17 + \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/skin.confluence/fonts/DejaVuSans-Bold-Caps.ttf b/usr/local/share/xbmc/addons/skin.confluence/fonts/DejaVuSans-Bold-Caps.ttf new file mode 100644 index 000000000..5af21ea3d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/fonts/DejaVuSans-Bold-Caps.ttf differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/fonts/NOTICE.txt b/usr/local/share/xbmc/addons/skin.confluence/fonts/NOTICE.txt new file mode 100644 index 000000000..c5b1efa7a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/fonts/NOTICE.txt @@ -0,0 +1,190 @@ + + Copyright (c) 2005-2008, The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/usr/local/share/xbmc/addons/skin.confluence/fonts/README.txt b/usr/local/share/xbmc/addons/skin.confluence/fonts/README.txt new file mode 100644 index 000000000..1a96dfde6 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/fonts/README.txt @@ -0,0 +1,18 @@ +Copyright (C) 2008 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +########## + +This directory contains the fonts for the platform. They are licensed +under the Apache 2 license. diff --git a/usr/local/share/xbmc/addons/skin.confluence/fonts/Roboto-Bold.ttf b/usr/local/share/xbmc/addons/skin.confluence/fonts/Roboto-Bold.ttf new file mode 100644 index 000000000..91ec21227 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/fonts/Roboto-Bold.ttf differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/fonts/Roboto-Regular.ttf b/usr/local/share/xbmc/addons/skin.confluence/fonts/Roboto-Regular.ttf new file mode 100644 index 000000000..7d9a6c4c3 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/fonts/Roboto-Regular.ttf differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/icon.png b/usr/local/share/xbmc/addons/skin.confluence/icon.png new file mode 100644 index 000000000..afcd48ab7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/icon.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Afrikaans/strings.po new file mode 100644 index 000000000..818e3282c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Afrikaans/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Verander Jou" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Krag Opsies" + +msgctxt "#31004" +msgid "Working..." +msgstr "Werk..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Versteek INFO" + +msgctxt "#31006" +msgid "View Options" +msgstr "Besigtig Opsies" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Volskerm" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Totale Tydsduur" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Musiek - Lêers" + +msgctxt "#31023" +msgid "Playing" +msgstr "Speel" + +msgctxt "#31024" +msgid "Page" +msgstr "Bladsy" + +msgctxt "#31025" +msgid "Items" +msgstr "Items" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Diverse Opsies" + +msgctxt "#31027" +msgid "Location" +msgstr "Ligging" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Plakkaat Toedraai" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Ondersteunerkuns" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Prent Duime" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Prent Toedraai" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Speel Nou" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "SPEEL" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "GEPOUSEER" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "VORENTOE SPOEL" + +msgctxt "#31045" +msgid "REWIND" +msgstr "TERUGSPOEL" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualisering Instellings" + +msgctxt "#31049" +msgid "End Time" +msgstr "Eind Tyd" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sorteer: Stygende orde" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sorteer: Dalende orde" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Maak speellys oop" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Stoor speellys" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Maak speellys toe" + +msgctxt "#31058" +msgid "System music files" +msgstr "Stelsel musiek lêers" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Huidige speellys" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Hierdie lêer is gestapel, selekteer die deel van waar jy wil speel." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Huidiglik Geselekteer" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Tuis Venster Opsies" + +msgctxt "#31102" +msgid "Background" +msgstr "Agtergrond" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Wys \"Gepouseer\" in prentjie skyfievertoning" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Speel Voorskoue in 'n venster [COLOR=grey3](Slegs Video Inligting Dialoog)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Diverse Opsies" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Versteek Vlae gelees van video lêername [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Versteek Hoof Kieslys Knoppies" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Stel Pasgemaakte Agtergrond in staat" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Agtergrond pad:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Versteek" + +msgctxt "#31112" +msgid "Options" +msgstr "Opsies" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Wys onlangs bygevoegde Albums" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Wys onlangs bygevoegde Videos" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Tuis bladsy programme subkieslys" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Stel verpersoonlikte byvoegsel knoppie in staat" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Weer Bladsy" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Wys agtergrond \"Speel Nou\" video" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Wys agtergrond \"Speel Nou\" visualisering" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Stel lirieke in musiek OSD in staat" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "PAD NA LIRIEKE BYVOEGSEL" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Lirieke" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Versteek Ondersteunerkuns in volskerm visualisering" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Lirieke Byvoegsel" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Subtitel Byvoegsel" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Tuis Blad Videos Subkieslys" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Tuis Blad Musiek Subkieslys" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Tuis Blad Prente Subkieslys" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Musiek OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Kortpaaie" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Kies Jou Liedjie" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Lirieke Bron" + +msgctxt "#31206" +msgid "Found" +msgstr "Gevind" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Soek Meer Items" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Opkomende Episodes" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Huidige Temp" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Laas Opdateer" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Data verskaffer" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Versteek Ondersteunerkuns" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Fliek Besonderhede" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Geheue Gebruik:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Snit Nommer" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Ondersteunerkuns prentjie[CR][CR]Nie beskikbaar[CR][CR] Kliek knoppie om te stel" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Huidige Skraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Kies 'n Skraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Inhoud Deursoek Opsies" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Stel Ondersteunerkuns Pad" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Geselekteerde Profiel" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Laaste IngeLog" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke Liedjie Selekteerder" + +msgctxt "#31322" +msgid "Aired" +msgstr "Gelug" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Speellys Opsies" + +msgctxt "#31326" +msgid "Created" +msgstr "Geskep" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolusie" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Onlangs Bygevoeg" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Tydhouer gestel![/B] [COLOR=grey2] - Stelsel outo afskakel in[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Kliek knoppie om[CR][CR]Fliek voorskou te speel" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Album Besonderhede" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pouseer" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Vorentoe Spoel" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Terugspoel" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Fliek kieslys" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Laai Subtitels Af" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Bestek omslag" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Bestek omslag met geen hoofletters" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial gebasseer" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]KONFIGUREER VOORKOMS VERSTELLINGS[/B][CR][CR]Verander die oortreksel · Stel taal en streek · Verander lêer lyste opsies[CR]Stel 'n skermskut op" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]KONFIGUREER VIDEO VERSTELLINGS[/B][CR][CR]Bestuur jou video biblioteek · Stel video terugspeel opsies · Verander video lyste opsies[CR]Stel subtitel skrifte" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]KONFIGUREER MUSIEK VERSTELLINGS[/B][CR][CR]Bestuur jou musiek biblioteek · Stel musiek speel opsies · Verander musiek lyste opsies[CR]Stel liedjie voorlegging op · Stel karaoke opsies" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]KONFIGUREER PRENTJIE VERSTELLINGS[/B][CR][CR]Stel prentjie lyste opsies · Konfigureer skyfievertonings" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]KONFIGUREER WEER VERSTELLINGS[/B][CR][CR]Stel drie stede om weer inligting te versamel" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]KONFIGUREER STELSEL VERSTELLINGS[/B][CR][CR]Stel op en kalibreer vertone · Konfigureer audio uittree · Stel afstandbehere op[CR]Stel krag bespaar opsies · Stel ontfouting in staat · Stel hoof slot op" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KONFIGUREER BYVOEGSELS[/B][CR][CR]Bestuur jou geïnstalleerde Byvoegsels · Soek en installeer Byvoegsels vanaf xbmc.org[CR]Verander Byvoeging verstellings" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]KONFIGUREER TV VERSTELLINGS[/B][CR][CR]Verander volskerm info · Bestuur EPG data verstellings" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]KONFIGUREER DIENS VERSTELLINGS[/B][CR][CR]Stel beheer van XBMC via UPnP en HTTP op · Konfigureer lêer deling[CR]Stel Zeroconf in staat · Konfigureer AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Loop eers hulp..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Hierdie duimgids beteken daar is 'n kieslys van die kant van hierdie venster af wat ekstra opsies bevat vir hierdie seksie. Vir toegang tot die kieslys, navigeer na links met jou afstandbeheer of sleutelbord of plaas jou muis wyser oor die duimgids. [CR][CR]Kliek \"Ok\" om die dialoog toe te maak. Dit sal nie weer verskyn." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Selekteer jou XBMC gebruiker Profiel[CR]om in te log en voort te gaan" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Opname Tydhouers" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Geskeduleerde Tyd" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Lewendige TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Voeg Groep by" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Verander Groep naam" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Wis Groep uit" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Beskikbare[CR]Groepe" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Kanaal Groep" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Tydhouer Gestel" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanaal Opsies" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 Uur Voorspelling" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Uurlikse Voorspelling" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Naweek Voorspelling" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 Dae Voorspelling" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Voorspelling" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Kans op Neerslag" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Gaan haal voorspelling info..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Kaart & Waarskuwings" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Albanian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Albanian/strings.po new file mode 100644 index 000000000..024e45b7e --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Albanian/strings.po @@ -0,0 +1,166 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Ndrysho" + +msgctxt "#31004" +msgid "Working..." +msgstr "Në Funksionim..." + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Ekran i Plotë" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Skeda - Muzikë" + +msgctxt "#31024" +msgid "Page" +msgstr "Faqe" + +msgctxt "#31025" +msgid "Items" +msgstr "Artikuj" + +msgctxt "#31027" +msgid "Location" +msgstr "Lokalizimi" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Duke Luajtur Tani" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "DUKE LUAJTUR" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUZUAR" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "PËRSHPEJTO" + +msgctxt "#31045" +msgid "REWIND" +msgstr "RIKTHE" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Paracilësime të Vizualizimit" + +msgctxt "#31049" +msgid "End Time" +msgstr "Koha e Përfundimit" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Rendit: Me Ngjitje" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Rendit: Me Zbritje" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Hap playlist’ën" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Ruaj playlist’ën " + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Mbyll playlist’ën " + +msgctxt "#31058" +msgid "System music files" +msgstr "Skeda muzikore të sistemit" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Playlist’a aktuale" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Kjo skedë është grupuar, zgjidh pjesën, nga e cila doni të luani." + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura Aktuale" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Azhornuar së Fundmi" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Pajisës i të Dhënave" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memorje Përdorur" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opsionet e Skanimit të Përmbajtjes" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "I Loguar së Fundmi" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Përzgjedhës i Këngëve Karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Në Transmetim" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pauzo" + +msgctxt "#31352" +msgid "Stop" +msgstr "Ndalo" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Përshpejto" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Rikthe" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Shkarko Titra" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Standarte e Maskës" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Në Arial" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Amharic/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Amharic/strings.po new file mode 100644 index 000000000..d273e1561 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Amharic/strings.po @@ -0,0 +1,342 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#31003" +msgid "Power Options" +msgstr "የሀይሠáˆáˆ­áŒ«á‹Žá‰½" + +msgctxt "#31004" +msgid "Working..." +msgstr "በመስራት ላይ " + +msgctxt "#31005" +msgid "Hide Information" +msgstr "መረጃá‹áŠ• መደበቂያ" + +msgctxt "#31006" +msgid "View Options" +msgstr "áˆáˆ­áŒ«á‹Žá‰½áŠ• መመáˆáŠ¨á‰»" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "በሙሉ መመáˆáŠ¨á‰» ዘዴ" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "ጠቅላላ የሚáˆáŒ€á‹ ጊዜ" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "የሙዚቃ á‹á‹­áˆŽá‰½" + +msgctxt "#31023" +msgid "Playing" +msgstr "በማጫወት ላይ" + +msgctxt "#31024" +msgid "Page" +msgstr "ገጽ" + +msgctxt "#31025" +msgid "Items" +msgstr "እቃዎች" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "የተለያዩ áˆáˆ­áŒ«á‹Žá‰½" + +msgctxt "#31027" +msgid "Location" +msgstr "አካባቢ " + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "ስእሎች በአá‹áˆ« ጣት ጥáር áˆáŠ­ " + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "áˆáˆµáˆ መጠቅáˆá‰…á‹«" + +msgctxt "#31033" +msgid "Info" +msgstr "መረጃ" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "አáˆáŠ• የሚጫወተá‹" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "የሚጫወተá‹" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ማቆሚያ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ወደ áŠá‰µ ማሳለáŠá‹«" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ወደ ኋላ ማሳለáŠá‹«" + +msgctxt "#31049" +msgid "End Time" +msgstr "መጨረሻዠጊዜ" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "መለያ እየጨመረ በሚሄድ" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "መለያ እየቀáŠáˆ° በሚሄድ" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "á‹áˆ­á‹áˆ®á‰½áŠ• መክáˆá‰»" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "á‹áˆ­á‹áˆ®á‰½áŠ• ማስቀመጫ" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "á‹áˆ­á‹áˆ®á‰½áŠ• መá‹áŒŠá‹«" + +msgctxt "#31058" +msgid "System music files" +msgstr "የስርአቱ ሙዚቃ á‹á‹­áˆŽá‰½" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "አáˆáŠ• የሚጫወተዠá‹áˆ­á‹áˆ­" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "አáˆáŠ• የተመረጠá‹" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "የቤት መመáˆáŠ¨á‰» áˆáˆ­áŒ«á‹Žá‰½" + +msgctxt "#31102" +msgid "Background" +msgstr "መደብ" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "የተለያዩ áˆáˆ­áŒ«á‹Žá‰½" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "የዋናá‹áŠ• á‹áˆ­á‹áˆ­ á‰áˆáŽá‰½ መደበቂያ" + +msgctxt "#31111" +msgid "Hide" +msgstr "መደበቂያ" + +msgctxt "#31112" +msgid "Options" +msgstr "áˆáˆ­áŒ«á‹Žá‰½" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "በቅርብ ጊዜ የተጨመሩ አáˆá‰ áˆžá‰½áŠ• ማሳያ" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "በቅርብ ጊዜ የተጨመሩ ቪዲዮዎችን ማሳያ" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "የአየር ንብረት ገጽ" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "መደቡን ማሳያ \"አáˆáŠ• የሚታየá‹áŠ•\" ቪዲዩ " + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "መደቡን ማሳያ \"አáˆáŠ• የሚታየá‹áŠ•\" Visualization" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "áŒáŒ¥áˆ" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "áŒáŒ¥áˆ መጨ - መሪያ " + +msgctxt "#31140" +msgid "Music OSD" +msgstr "ሙዚቃ OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "ቪዲዮ OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "አቋራጮች" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "ዘáˆáŠ• á‹­áˆáˆ¨áŒ¡" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "የáŒáŒ¥áˆ áˆáŠ•áŒ­" + +msgctxt "#31206" +msgid "Found" +msgstr "ተገáŠá‰·áˆ" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "ተጨማሪ እቃዎች á‹«áŒáŠ™" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "የአáˆáŠ‘ የአየር ንብረት " + +msgctxt "#31301" +msgid "Last Updated" +msgstr "መጨረሻ የተሻሻለá‹" + +msgctxt "#31303" +msgid "Data provider" +msgstr "ዳታ አቅራቢ " + +msgctxt "#31308" +msgid "Movie Details" +msgstr "የሙቪ á‹áˆ­á‹áˆ­ " + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "የተጠቀሙት Memory:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "ተራ á‰áŒ¥áˆ­" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "ይዞታዎችን ማሰሻ áˆáˆ­áŒ«á‹Žá‰½ " + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "የተመረጠዠገጽታ" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "መጨረሻ የገባá‹" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "የሚያጫá‹á‰±á‰µ áˆáˆ­áŒ«á‹Žá‰½ " + +msgctxt "#31326" +msgid "Created" +msgstr "የተáˆáŒ áˆ¨á‹" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolution" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "በቅርብ ጊዜ የተጨመር" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "ለማጫወት á‰áˆá‰áŠ• ይጫኑ [CR][CR]Movie trailer" + +msgctxt "#31331" +msgid "Album Details" +msgstr "የአáˆá‰ áˆ á‹áˆ­á‹áˆ®á‰½" + +msgctxt "#31351" +msgid "Pause" +msgstr "ማቆሚያ" + +msgctxt "#31352" +msgid "Stop" +msgstr "ማቆሚያ" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "ወደ áŠá‰µ ማሳለáŠá‹«" + +msgctxt "#31354" +msgid "Rewind" +msgstr "ወደ ኋላ ማሳለáŠá‹«" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "የሙቪ á‹áˆ­á‹áˆ­" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "ንዑስ አርእስቶች ማá‹áˆ¨áŒƒ " + +msgctxt "#31390" +msgid "Skin default" +msgstr "መደበኛ " + +msgctxt "#31503" +msgid "Add Group" +msgstr "ቡድን መጨመሪያ" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "ቡድን እንደገና መሰየሚያ" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "ቡድን ማጥáŠá‹«" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "የ 36 ሰአት áŒáˆá‰µ " + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "የሰአት áŒáˆá‰µ " + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "የሳáˆáŠ•á‰± መጨረሻ áŒáˆá‰µ " + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "የ 10 ቀን áŒáˆá‰µ " + +msgctxt "#31905" +msgid "Forecast" +msgstr "áŒáˆá‰µ " + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "áŒáˆá‰µ በመáˆáˆˆáŒ ላይ..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "ካርታ & ማስጠንቀቂያ" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Arabic/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Arabic/strings.po new file mode 100644 index 000000000..dcce6a83e --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Arabic/strings.po @@ -0,0 +1,530 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "تغيير" + +msgctxt "#31003" +msgid "Power Options" +msgstr "خيارات الطاقة" + +msgctxt "#31004" +msgid "Working..." +msgstr "...جاري التشغيل" + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Ø¥Ø®ÙØ§Ø¡ المعلومات" + +msgctxt "#31006" +msgid "View Options" +msgstr "خيارات العرض" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "شاشة كاملة" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "إجمالي المدة" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "الموسيقى - Ù…Ù„ÙØ§Øª" + +msgctxt "#31023" +msgid "Playing" +msgstr "يشتغل الان" + +msgctxt "#31024" +msgid "Page" +msgstr "عناصر" + +msgctxt "#31025" +msgid "Items" +msgstr "ØµÙØ­Ø©" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "خيارات متنوعه" + +msgctxt "#31027" +msgid "Location" +msgstr "الموقع" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "ملصق Ø§Ù„ØªÙØ§Ù" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "مصغرات الصورة" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "صورة Ø§Ù„ØªÙØ§Ù" + +msgctxt "#31033" +msgid "Info" +msgstr "معلومات" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "يشتغل الان" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "يشتغل الان" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "متوقÙ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "تقديم سريع" + +msgctxt "#31045" +msgid "REWIND" +msgstr "إرجاع" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "التصور المسبقة" + +msgctxt "#31049" +msgid "End Time" +msgstr "وقت الانتهاء" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ø§Ù„ÙØ±Ø²:تصاعدي" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ø§Ù„ÙØ±Ø²:تنازلي" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "ÙØªØ­ قائمة التشغيل" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Ø­ÙØ¸ قائمة التشغيل" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "إغلاق قائمة التشغيل" + +msgctxt "#31058" +msgid "System music files" +msgstr "Ù…Ù„ÙØ§Øª موسيقى النظام" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "قائمة التشغيل الحالية" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr ".هذا المل٠مكدس، حدد الجزء الذي تريد تشغيله" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "مختارة حاليا" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "خيارات Ø§Ù„ØµÙØ­Ø© الرئيسية" + +msgctxt "#31102" +msgid "Background" +msgstr "الخلÙية" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "إظهار \"إيقا٠مؤقت\" ÙÙŠ عرض شرائح الصور" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "[COLOR=grey3] (صندوق حوار معلومات الÙيديو Ùقط)[/COLOR]تشغيل مقطع الÙيديو ÙÙŠ Ù†Ø§ÙØ°Ø©" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "خيارات متنوعة" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "[COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]Ø¥Ø®ÙØ§Ø¡ وضع علامة القراءة من أسماء الÙيديو" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ø¥Ø®ÙØ§Ø¡ أزرار القائمة الرئيسية" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "تمكين تخصيص الخلÙية" + +msgctxt "#31110" +msgid "Background path:" +msgstr "خلÙية مسار:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ø¥Ø®ÙØ§Ø¡" + +msgctxt "#31112" +msgid "Options" +msgstr "خيارات" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "أظهر الألبومات Ø§Ù„Ù…Ø¶Ø§ÙØ© مؤخرا" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "إظهار الÙيديوات Ø§Ù„Ù…Ø¶Ø§ÙØ© مؤخراً" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "القائمة Ø§Ù„ÙØ±Ø¹ÙŠØ© لقائمة البرامج الرئيسية" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Fanart Ø¥Ø®ÙØ§Ø¡ خلÙية" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "ØµÙØ­Ø© الطقس" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "إظهار خلÙية \"التشغيل الآن\" للÙيديو" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "إظهار خلÙية \"التشغيل الآن\" للتصور" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "(TvTunes ملحق) تشغيل أغاني سمة Ø§Ù„ØªÙ„ÙØ²ÙŠÙˆÙ† ÙÙŠ مكتبة الÙيديو" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "كلمات الأغاني" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ø¥Ø®ÙØ§Ø¡ ÙØ§Ù†Ø§Ø±Øª ÙÙŠ تصوير ملء الشاشة" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "ملحق كلمات الأغاني" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "ملحق الترجمات" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "القائمة Ø§Ù„ÙØ±Ø¹ÙŠØ© لقائمة الÙيديو الرئيسية" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "القائمة Ø§Ù„ÙØ±Ø¹ÙŠØ© لقائمة الموسيقى الرئيسية" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "القائمة Ø§Ù„ÙØ±Ø¹ÙŠØ© لقائمة الصور الرئيسية" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "عرض الموسيقى على الشاشة" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "عرض الÙيديو على الشاشة" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "اختصارات" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "اختر أغنيتك" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "مصدر كلمات الأغنية" + +msgctxt "#31206" +msgid "Found" +msgstr "وجد" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "ايجاد المزيد من المواضيع" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "الحلقات القادمة" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "درجة الحرارة الحالية" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "اخر تحديث" + +msgctxt "#31303" +msgid "Data provider" +msgstr ": مزود البيانات" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Fanart Ø¥Ø®ÙØ§Ø¡" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "ØªÙØ§ØµÙŠÙ„ الÙلم" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "الذاكرة المستخدمة:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "رقم المسار" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "انقر الزر للتعيين[CR][CR]غير Ù…ØªÙˆÙØ±Ø©[CR][CR]Fanart صورة" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Current Scraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Choose a Scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "خيارات ÙØ­Øµ المحتوى " + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Fanart تعيين مسار" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "المل٠الشخصي المحدد" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "آخر تسجيل دخول ÙÙŠ" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "محدد أغاني الكاريوكي" + +msgctxt "#31322" +msgid "Aired" +msgstr "المبث" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "خيارات قائمة التشغيل" + +msgctxt "#31326" +msgid "Created" +msgstr "أنشئ" + +msgctxt "#31327" +msgid "Resolution" +msgstr "الدقة" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "أضي٠مؤخراً" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[COLOR=grey2] إغلاق النظام تلقائيا ÙÙŠ - [/COLOR][B]!تعيين مؤقت[B]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "مقطع الÙلم [CR][CR] انقر على الزر لتشغيل" + +msgctxt "#31331" +msgid "Album Details" +msgstr "ØªÙØ§ØµØ¨Ù„ الألبوم" + +msgctxt "#31351" +msgid "Pause" +msgstr "توقي٠مؤقت" + +msgctxt "#31352" +msgid "Stop" +msgstr "توق٠كامل" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "تقديم سريع" + +msgctxt "#31354" +msgid "Rewind" +msgstr "ترجيع" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "قائمة الÙلم" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "تحميل الترجمات" + +msgctxt "#31390" +msgid "Skin default" +msgstr "الخلÙية Ø§Ù„Ø§Ø¥ÙØªØ±Ø§Ø¶ÙŠØ©" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Skin default with no Caps" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial based" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]تكوين إعدادات المظهر[/B][CR][CR]تغيير الخلÙية · تعيين اللغة والمنطقة · تغيير خيارات قائمة الملÙ[CR]ضبط شاشة التوقÙ" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]تكوين إعدادات الÙيديو[/B][CR][CR]إدارة مكتبة الÙيديو · تعيين خيارات تشغيل الÙيديو · تغيير خيارات قائمة الÙيديو[CR]تعيين خطوط الترجمة" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]تكوين إعدادات الموسيقى[/B][CR][CR]إدارة مكتبة الموسيقي · تعيين خيارات تشغيل الموسيقى · تغيير خيارات قائمة الموسيقى · تعيين خيارات الكارويوكي" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]تكوين إعدادات الصور[/B][CR][CR]ضبط عرض الشرائح · تغيير خيارات قائمة الصور" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]تكوين إعدادات الطقس[/B][CR][CR]تعيين ثلاث مدن لجمع معلومات عن الطقس" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]تكوين إعدادات النظام[/B][CR][CR]ضبط المعايرة والعرض· تكوين مخرج الصوت · ضبط التحكم عن بعد[CR]تعيين خيارات توÙير الطاقة · تمكين التصحيح · ضبط القÙÙ„ الرئيسي " + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]تكوين الملحقات [/B][CR][CR]xbmc.org إدارة الملحقات المثبتة · ØªØµÙØ­ وتثبيت الملحقات من[CR] تعديل إعدادت الملحق" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B] تكوين إعدادات تي ÙÙŠ [/B][CR][CR] تغيير معلومات ملء الشاشة. إدارة إعدادات بينات EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "تكوين إعدادات الخدمة [B/][CR][CR] إعداد التحكم بـXBMC عبر UPnP Ùˆ HTTP. نكوين مشاركة مل٠[CR] تمكن Zeroconf. تكوين التشغيل الحي " + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "للدخول والإستمرارا [CR]XBMC حدد ملÙÙƒ الشخصي الخاص بـ" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "تسجيل الأزمنة" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "جدول الزمن" + +msgctxt "#31502" +msgid "Live TV" +msgstr "تي ÙÙŠ مباشر" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Ø¥Ø¶Ø§ÙØ© مجموعة" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "إعادة تسمية مجموعة" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "حذ٠مجموعة" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "مجموعات [ سي دي] Ù…ØªÙˆÙØ±Ø©" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "مجموعة القناة" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "خصائص المؤقت" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "خيارات القناة" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 hour توقعات طقس" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "توقعات الطقس لكل ساعة" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "توقعات طقس نهاية الأسبوع" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 Days توقعات طقس" + +msgctxt "#31905" +msgid "Forecast" +msgstr "توقعات الطقس" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "ÙØ±ØµØ© هطول الأمطار" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "...جلب معلومات توقعات الطقس" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Basque/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Basque/strings.po new file mode 100644 index 000000000..5138b01de --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Basque/strings.po @@ -0,0 +1,182 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Aldatu zure" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Indar aukerak" + +msgctxt "#31004" +msgid "Working..." +msgstr "Lanean..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Ezkutatu informazioa" + +msgctxt "#31006" +msgid "View Options" +msgstr "Ikusi aukerak" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Pantaila-osoa" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Iraupen osoa" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Musika - Fitxategiak" + +msgctxt "#31023" +msgid "Playing" +msgstr "Erreproduzitzen" + +msgctxt "#31024" +msgid "Page" +msgstr "Orrialdea" + +msgctxt "#31025" +msgid "Items" +msgstr "Elementuak" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Bestelako aukerak" + +msgctxt "#31027" +msgid "Location" +msgstr "Kokalekua" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart-a" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Orain erreproduzitzen" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ERREPRODUZITZEN" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSATUA" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AZKAR AURRERA" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ATZERA" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Ikuste aurrezpenak" + +msgctxt "#31049" +msgid "End Time" +msgstr "Amaiera ordua" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ordenatu:Goraka" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ordenatu:Beheraka" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Ireki erreprodukzio-zerrenda" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Gorde erreprodukzio-zerrenda" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Itxi erreprodukzio-zerrenda" + +msgctxt "#31058" +msgid "System music files" +msgstr "Sistemako musika fitxategiak" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Uneko erreprodukzio-zerrenda" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Fitxategi hau pilatuta dago, hautatu erreproduzitzea nahi duzun zatia." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Unean hautatutakoak" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Etxe pantaila aukerak" + +msgctxt "#31102" +msgid "Background" +msgstr "Atzeko irudia" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ezkutatu" + +msgctxt "#31112" +msgid "Options" +msgstr "Aukera" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Eguraldi orrialdea" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Letrak" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Lasterbideak" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Bereizmena" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Deskargatu azpitituluak" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Skin lehenetsia" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Iragarpena" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Belarusian/strings.po new file mode 100644 index 000000000..912f1e8f9 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Belarusian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "ЗьмÑнÑе вашыÑ" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Power Options" + +msgctxt "#31004" +msgid "Working..." +msgstr "Ідзе праца..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Hide Information" + +msgctxt "#31006" +msgid "View Options" +msgstr "Ðалады выглÑду" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Ðа ўвеÑÑŒ Ñкран" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "ÐÐ³ÑƒÐ»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð°Ñ†ÑглаÑьць" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Музыка - Файлы" + +msgctxt "#31023" +msgid "Playing" +msgstr "Playing" + +msgctxt "#31024" +msgid "Page" +msgstr "Старонка" + +msgctxt "#31025" +msgid "Items" +msgstr "Ñкладнікаў" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Ð†Ð½ÑˆÑ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹" + +msgctxt "#31027" +msgid "Location" +msgstr "МеÑца" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Poster Wrap" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Pic Thumbs" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Image Wrap" + +msgctxt "#31033" +msgid "Info" +msgstr "ЗьвеÑткі" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Зараз прайграецца" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ПРÐЙГРÐЕЦЦÐ" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ПРЫПЫÐЕÐÐ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "FAST FORWARD" + +msgctxt "#31045" +msgid "REWIND" +msgstr "REWIND" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualization Presets" + +msgctxt "#31049" +msgid "End Time" +msgstr "End Time" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "ÐаўпроÑтае Ñартаваньне" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ðдваротнае Ñартаваньне" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Open playlist" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Save playlist" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Close playlist" + +msgctxt "#31058" +msgid "System music files" +msgstr "System music files" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Current playlist" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "This file is stacked, select the part you want to play from." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Current Selected" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Home screen options" + +msgctxt "#31102" +msgid "Background" +msgstr "Background" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Show \"Paused\" in picture slide show" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Miscellaneous options" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Hide Main Menu Buttons" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Enable Custom Background" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Background path:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Hide" + +msgctxt "#31112" +msgid "Options" +msgstr "Options" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Show Recently added Albums" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Show Recently added Videos" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Home Page Programs Submenu" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Hide Background Fanart" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Weather Page" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Show Background \"Now Playing\" Video" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Show Background \"Now Playing\" Visualization" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Play TV theme songs in video library (TvTunes add-on)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Lyrics" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Hide Fanart in full screen visualization" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Lyrics Add-on" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Subtitle Add-on" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Home Page Videos Submenu" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Home Page Music Submenu" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Home Page Pictures Submenu" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Music OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Shortcuts" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Choose Your Song" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Lyrics Source" + +msgctxt "#31206" +msgid "Found" +msgstr "Found" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Find More Items" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Upcoming Episodes" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Ð”Ð·ÐµÐ¹Ð½Ð°Ñ Ñ‚ÑмпÑратура" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "ÐпошнÑе абнаўленьне" + +msgctxt "#31303" +msgid "Data provider" +msgstr "ЗьвеÑткі ад" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Схаваць ФанÐрт" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Movie Details" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "ЗанÑта памÑці:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Ðумар трÑку" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Дзейны ÑкрÑпÑÑ€" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Ðбраць ÑкрÑпÑÑ€" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Ðалады ÑÐºÐ°Ð½Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð·ÑŒÐ¼ÐµÑьціва" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "ШлÑÑ… да ФанÐрт'у" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Ðбраны профіль" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Ðпошні ўваход" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke Song Selector" + +msgctxt "#31322" +msgid "Aired" +msgstr "Aired" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Ðалады ÑьпіÑу прайграваньнÑ" + +msgctxt "#31326" +msgid "Created" +msgstr "Created" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolution" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Recently Added" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Click button to play[CR][CR]Movie trailer" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Album Details" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pause" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Fast Forward" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Rewind" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Movie menu" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Download Subtitles" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Перадвызначана" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Перадвызначаны аздабленьнем без вÑлікіх літараў" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Падобны на Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ ВОÐКÐÐ’ÐГРВЫГЛЯДУ[/B][CR][CR]ЗьмÑніць аздабленьне · ÐаÑтавіць мову й Ñ€Ñгіён · ЗьмÑніць налады ÑьпіÑу файлаў[CR]ÐаÑтавіць ахоўнік Ñкрану" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ ВІДЭÐ[/B][CR][CR]Кіраваць бібліÑÑ‚Ñкай відÑа · ÐаÑтавіць налады Ð¿Ñ€Ð°Ð¹Ð³Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð²Ñ–Ð´Ñа · ЗьмÑніць налады ÑьпіÑу відÑа[CR]ÐаÑтавіць шрыфт Ñубтытраў" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ МУЗЫКІ[/B][CR][CR]Кіраваць бібліÑÑ‚Ñкай музыкі · ÐаÑтавіць налады Ð¿Ñ€Ð°Ð¹Ð³Ñ€Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð¼ÑƒÐ·Ñ‹ÐºÑ– · ЗьмÑніць налады ÑьпіÑу музыкі[CR]Ðаладзіць перадачу музыкі · ÐаÑтавіць налады караоке" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ МÐЛЮÐКÐÐŽ[/B][CR][CR]ÐаÑтавіць налады ÑьпіÑу відарыÑаў · Ðаладзіць Ñлайдшоў" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ ÐÐДВОР'Я[/B][CR][CR]Вызначыць тры гарады каб зьбіраць зьвеÑткі пра надвор'е" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ СЫСТЭМЫ[/B][CR][CR]Ðаладзіць Ñ– калібраваць адлюÑтраваньне · ÐаÑтавіць аўдыё вывад · Ðаладзіць адлеглае кіраваньне[CR]ÐаÑтавіць захоўваньне ÑнÑргіі · Дазволіць дÑбаг · ÐаÑтавіць агульны замок" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ ДÐДÐТКÐÐŽ[/B][CR][CR]Кіраваць уÑталÑванымі дадаткамі · Ðбраць Ñ– ÑžÑталÑваць дадаткі з xbmc.org[CR]ЗьмÑніць налады дадаткаў" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ ТВ[/B][CR][CR]ЗьмÑніць зьвеÑткі ва ўвеÑÑŒ Ñкран · Кіраваць наладамі EPG зьвеÑтак" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]ЗЬМЯÐІЦЬ ÐÐЛÐДЫ СЭРВІСÐÐŽ[/B][CR][CR]ÐаÑтавіць кіраваньне XBMC праз UPnP ды HTTP · Ðаладзіць даÑтупнаÑьць файлаў[CR]Дазволіць Zeroconf · ÐаÑтавіць AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "First run help...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Select your XBMC user Profile[CR]to login and continue" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Recording Timers" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Scheduled Time" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Жывое ТВ" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Add Group" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Rename Group" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Delete Group" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Available[CR]Groups" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Channel Group" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Timer Set" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Channel Options" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Прагноз на 36 гадзінаў" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Пагадзінны прагноз" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Прагноз на выходныÑ" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Прагноз на 10 дзён" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Прагноз" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "ВерагоднаÑьць" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Ðтрымоўваем прагноз..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Мапа Ñ– пераÑьцÑрогі" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Bosnian/strings.po new file mode 100644 index 000000000..80f954f00 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Bosnian/strings.po @@ -0,0 +1,46 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Zanimljiva slika" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Ova datoteka je složena, izaberite koji dio želite da reprodukujete iz nje." + +msgctxt "#31102" +msgid "Background" +msgstr "Pozadina" + +msgctxt "#31112" +msgid "Options" +msgstr "Opcije" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "PreÄice" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Rezolucija" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Podrazumjevana maska" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Bulgarian/strings.po new file mode 100644 index 000000000..c9e9000ca --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Bulgarian/strings.po @@ -0,0 +1,538 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Променете вашите" + +msgctxt "#31003" +msgid "Power Options" +msgstr "ÐаÑтройки на захранването" + +msgctxt "#31004" +msgid "Working..." +msgstr "Работи..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Скрий информациÑта" + +msgctxt "#31006" +msgid "View Options" +msgstr "Визуални наÑтройки" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Ðа Ñ†ÐµÐ»Ð¸Ñ ÐµÐºÑ€Ð°Ð½" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Общо времетраене" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Музика - Файлове" + +msgctxt "#31023" +msgid "Playing" +msgstr "Възпроизвеждане" + +msgctxt "#31024" +msgid "Page" +msgstr "Страница" + +msgctxt "#31025" +msgid "Items" +msgstr "Елемента" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Разни наÑтройки" + +msgctxt "#31027" +msgid "Location" +msgstr "МÑÑто" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Плакати-поредица" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Снимка и миниатюри" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Картини-поредица" + +msgctxt "#31033" +msgid "Info" +msgstr "Инф." + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Сега Ñе възпроизвежда" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ВЪЗПРОИЗВЕЖДÐÐЕ" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ÐРПÐУЗÐ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ПРЕВЪРТÐÐЕ ÐÐПРЕД" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ПРЕВЪРТÐÐЕ ÐÐЗÐД" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Шаблони за визуализации" + +msgctxt "#31049" +msgid "End Time" +msgstr "Ще Ñвърши в:" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ред: ВъзходÑщ" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ред: ÐизходÑщ" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Отвори плейлиÑÑ‚" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Запиши плейлиÑта" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Затвори плейлиÑта" + +msgctxt "#31058" +msgid "System music files" +msgstr "Музикални файлове (ÑиÑтемни)" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Текущ плейлиÑÑ‚" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Файлът е в група. МолÑ, изберете чаÑтта, коÑто да бъде възпроизведена." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Избрано" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "ÐаÑтройки на Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ ÐµÐºÑ€Ð°Ð½" + +msgctxt "#31102" +msgid "Background" +msgstr "Фон" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Показвай \"Ðа Пауза\" Ð¸Ð½Ð´Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ Ñлайдшоу от Ñнимки" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Възпроизвеждай трейлърите в \"Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° филма\"[COLOR=grey3], вмеÑто в нов прозорец[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Разни наÑтройки" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Скривай флаговете от имената на файловете [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Скриване на бутони от главното меню" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "ПерÑонален фон" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Път до фона:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Скрий" + +msgctxt "#31112" +msgid "Options" +msgstr "ÐаÑтройки" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Показвай наÑкоро добавените албуми" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Показвай наÑкоро добавените видео файлове" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Добавки към подменюто на \"Програми\" от Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ ÐµÐºÑ€Ð°Ð½" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Скривай Ñ„Ð¾Ð½Ð¾Ð²Ð¸Ñ Fanart" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Страница \"Времето\"" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Ползвай за фон възпроизвежданото в момента видео" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Ползвай за фон текущата визуализациÑ" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Тематични мелодии от ТВ Сериали във видео библиотеката (добавка TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Лирики" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Без Fanart при Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° цÑл екран" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Добавка за лирики" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Добавка за Ñубтитри" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Добавки към подменюто на \"Видео\" от Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ ÐµÐºÑ€Ð°Ð½" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Добавки към подменюто на \"Музика\" от Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ ÐµÐºÑ€Ð°Ð½" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Добавки към подменюто на \"Снимки\" от Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¸Ñ ÐµÐºÑ€Ð°Ð½" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Музика OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Видео OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Преки пътища" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Изберете вашата пеÑен" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Източник на лирики" + +msgctxt "#31206" +msgid "Found" +msgstr "Резултат:" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "ТърÑи още елементи" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "ПредÑтоÑщи епизоди" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Текуща температура" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "ПоÑледна актуализациÑ" + +msgctxt "#31303" +msgid "Data provider" +msgstr "ДоÑтавчик на данни" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Скрий Fanart-а" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "ПодробноÑти за филма" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Памет в употреба:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Ðудио Ð·Ð°Ð¿Ð¸Ñ â„–" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Ðе е зададено[CR][CR]Fanart изображение[CR][CR]ÐатиÑнете бутона, за да изберете" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Текущ източник на инф." + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Изберете източник на инф." + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "ÐаÑтройки за Ñканиране на Ñъдържанието" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Задай път до Fanart-а" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Избран профил" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "ПоÑледно впиÑване" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Прозорец за избор на караоке пеÑен" + +msgctxt "#31322" +msgid "Aired" +msgstr "Излъчен" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "ÐаÑтройки на елементите в плейлиÑта" + +msgctxt "#31326" +msgid "Created" +msgstr "Създаден" + +msgctxt "#31327" +msgid "Resolution" +msgstr "РезолюциÑ" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "ÐаÑкоро добавени" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]ТÐЙМЕРЪТ Е ÐÐСТРОЕÐ![/B] [COLOR=grey2]Изключване Ñлед[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "ÐатиÑнете бутона, за да започне[CR][CR]възпроизвеждането на трейлъра" + +msgctxt "#31331" +msgid "Album Details" +msgstr "ПодробноÑти за албума" + +msgctxt "#31351" +msgid "Pause" +msgstr "Пауза" + +msgctxt "#31352" +msgid "Stop" +msgstr "Спри" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Превърти напред" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Превърти назад" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Меню на филма" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "СвалÑне на Ñубтитри" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Стандартните (за облика)" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Стандартните, но без главни букви" + +msgctxt "#31392" +msgid "Arial based" +msgstr "ОÑнован на Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]КОÐФИГУРИРÐЙТЕ ИЗГЛЕДÐ[/B][CR][CR]Изберете облик · Променете наÑтройките на ÑпиÑъците Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ðµ · Задайте език и район[CR]ÐаÑтройте ÑкрийнÑейвър" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]КОÐФИГУРИРÐЙТЕ ВИДЕОТО[/B][CR][CR]УправлÑвайте видео библиотеката Ñи · ÐаÑтройте възпроизвеждането на видео[CR]Променете наÑтройките на ÑпиÑъците Ñ Ð²Ð¸Ð´ÐµÐ¾ файлове · Задайте шрифт за Ñубтитрите" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]КОÐФИГУРИРÐЙТЕ МУЗИКÐТÐ[/B][CR][CR]УправлÑвайте музикалната Ñи библиотеката · ÐаÑтройте възпроизвеждането на музика[CR]Променете наÑтройките на ÑпиÑъците Ñ Ð°ÑƒÐ´Ð¸Ð¾ файлове · ÐаÑтройте караоке плеъра" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]КОÐФИГУРИРÐЙТЕ СÐИМКИТЕ[/B][CR][CR]Променете наÑтройките на ÑпиÑъците ÑÑŠÑ Ñнимки · Конфигурирайте Ñлайдшоу" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]КОÐФИГУРИРÐЙТЕ ПРОГÐОЗÐТРЗРВРЕМЕТО[/B][CR][CR]Изберете до три града, за които желаете да Ñледите прогнозата" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]КОÐФИГУРИРÐЙТЕ СИСТЕМÐТÐ[/B][CR][CR]ÐаÑтройте и калибрирайте екраните · ÐаÑтройте компютъра да пеÑти енергиÑ[CR]ÐаÑтройте диÑтанционните · Конфигурирайте аудио изхода · Включете Debug режима · Задайте код за заключване" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]КОÐФИГУРИРÐЙТЕ ДОБÐВКИТЕ[/B][CR][CR]УправлÑвайте инÑталираните добавки · ПроменÑйте наÑтройките на добавките[CR]Разглеждайте/ИнÑталирайте добавки от xbmc.org" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]КОÐФИГУРИРÐЙТЕ ПРИЕМÐÐЕТО ÐРТЕЛЕВИЗИОÐЕРСИГÐÐЛ[/B][CR][CR]Change fullscreen info · Manage EPG data settings" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]КОÐФИГУРИРÐЙТЕ УСЛУГИТЕ[/B][CR][CR]ÐаÑтройте контролирането на XBMC през UPnP и HTTP · ÐаÑтройте ÑподелÑнето на файлове[CR]Включете Zeroconf · ÐаÑтройте AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Помощ при първо Ñтартиране" + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Табът отлÑво обозначава наличието на меню, което е ивън Ð²Ð¸Ð´Ð¸Ð¼Ð¸Ñ ÐµÐºÑ€Ð°Ð½, Ñъдържащо опции за текущата Ñекци. За доÑтъп до него е необходим да Ñе придвижите налÑво, Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰Ñ‚Ð° на диÑтанционото, клавиатурата или да поÑтавите курÑора на мишката над таба. [CR][CR]Кликнете върху \"Добре\" за да затворите този прозорец, който нÑма да Ñе поÑви повече." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Изберете потребителÑки профил,[CR]за да продължите" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Таймери запиÑ" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "График" + +msgctxt "#31502" +msgid "Live TV" +msgstr "ТелевизиÑ" + +msgctxt "#31503" +msgid "Add Group" +msgstr "ДобавÑне на гупа" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Преименувай групата" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Изтрий групата" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Ðалични[CR]Групи" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "ÐаÑтройка на таймер" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "ÐаÑтройки на канала" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 чаÑова прогноза" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "ПочаÑова прогноза" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Прогноза за уикенда" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 дневна прогноза" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Прогноза" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "ВероÑтноÑÑ‚ за превалÑване" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "ИзтеглÑне на прогнозата..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Карта и тревоги" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Catalan/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Catalan/strings.po new file mode 100644 index 000000000..3f441973a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Catalan/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Canvia la" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opcions d'energia" + +msgctxt "#31004" +msgid "Working..." +msgstr "Carregant..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Amaga la informació" + +msgctxt "#31006" +msgid "View Options" +msgstr "Opcions de la vista" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Pantalla completa" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Duració total" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Fitxers - Música" + +msgctxt "#31023" +msgid "Playing" +msgstr "S'està reproduint" + +msgctxt "#31024" +msgid "Page" +msgstr "Pàgina" + +msgctxt "#31025" +msgid "Items" +msgstr "Elements" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Opcions vàries" + +msgctxt "#31027" +msgid "Location" +msgstr "Ubicació" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Tapa de cartell" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Miniatures" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Tapa d'imatge" + +msgctxt "#31033" +msgid "Info" +msgstr "Informació" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "S'està reproduint" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUINT" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "EN PAUSA" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AVANÇ RÀPID" + +msgctxt "#31045" +msgid "REWIND" +msgstr "REBOBINA" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualitzacions preestablertes" + +msgctxt "#31049" +msgid "End Time" +msgstr "Hora de finalització" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ordena: Ascendent" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ordena: Descendent" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Obre una llista de reproducció" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Desa la llista de reproducció" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Tanca la llista de reproducció" + +msgctxt "#31058" +msgid "System music files" +msgstr "Fitxers de música del sistema" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Llista de reproducció actual" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Aquest fitxer està agrupat, seleccioneu la part que desitgeu reproduir." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Selecció actual" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opcions de la pantalla principal" + +msgctxt "#31102" +msgid "Background" +msgstr "Fons" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Mostra \"Pausa\" a la presentació d'imatges" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Reprodueix els tràilers en una finestra [COLOR=grey3](Només al diàleg d'informació de vídeo)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Opcions vàries" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Amaga les marques de lectura dels fitxers de vídeo [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Amaga els botons del menú principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Habilita fons personalitzat" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Camí del fons:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Amaga" + +msgctxt "#31112" +msgid "Options" +msgstr "Opcions" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Mostra els àlbums afegits recentment" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Mostra els vídeos afegits recentment" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Submenú de programes de la pantalla principal" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Amaga el fanart del fons" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Pàgina del temps" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Mostra el vídeo en reproducció en el fons" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Mostra la visualització en reproducció en el fons" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Reprodueix les cançons de la temàtica TV a la llibreria de vídeo (complement TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Lletres" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Amaga el fanart a la visualització de pantalla completa" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Complement de lletres" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Complement de subtítols" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Submenú de vídeos de la pantalla principal" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Submenú de música de la pantalla principal" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Submenú d'imatges de la pantalla principal" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD de música" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD de vídeo" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Dreceres de teclat" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Escull la teva cançó" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Origen de les lletres" + +msgctxt "#31206" +msgid "Found" +msgstr "Trobat" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Troba més elements" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Propers episodis" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura actual" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Última actualització" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Proveïdor de dades" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Amaga el fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Detalls de la pel·lícula" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memòria utilitzada:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Número de pista" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Imatge de fanart[CR][CR]No disponible[CR][CR] Feu clic per definir-la" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper actual" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Tria un scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opcions d'escaneig de continguts" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Estableix el camí del fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Perfil seleccionat" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Últim accés el" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Selector de cançons del karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Emès" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opcions de la llista de reproducció" + +msgctxt "#31326" +msgid "Created" +msgstr "Creat" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolució" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Afegits recentment" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Temporitzador activat[/B] [COLOR=grey2] - El sistema s'apagarà automàticament en[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Feu clic per reproduir[CR][CR]Trailer de la pel·lícula" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalls de l'àlbum" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pausa" + +msgctxt "#31352" +msgid "Stop" +msgstr "Atura" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Avanç ràpid" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Rebobina" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menú de la pel·lícula" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Baixar-se els subtítols" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Tema per defecte" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Tema per defecte sense majúscules" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Basat en Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]CONFIGUREU ELS PARÀMETRES D'APARENÇA[/B][CR][CR]Canvieu el tema · Establiu l'idioma i la regió · Canvieu les opcions del llistat de fitxers[CR]Establiu un estalvi de pantalla" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]CONFIGUREU ELS PARÀMETRES DE VÃDEO[/B][CR][CR]Gestioneu la biblioteca de vídeos · Establiu les opcions de reproducció de vídeo[CR]Canvieu les opcions del llistat de vídeo · Establiu els tipus de lletra dels subtítols" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]CONFIGUREU ELS PARÀMETRES DE LA MÚSICA[/B][CR][CR]Gestioneu la biblioteca de música · Establiu les opcions de reproducció de la música[CR]Canvieu les opcions del llistat de música · Configureu l'enviament de cançons[CR]Establiu les opcions del karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]CONFIGUREU ELS PARÀMETRES D'IMATGE[/B][CR][CR]Establiu les opcions del llistat d'imatges · Configureu les presentacions de diapositives" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]CONFIGUREU ELS PARÀMETRES DEL TEMPS[/B][CR][CR]Indiqueu tres ciutats per recollir informació del temps" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]CONFIGUREU ELS PARÀMETRES DEL SISTEMA[/B][CR][CR]Configureu i calibreu les pantalles · Configureu la sortida d'àudio[CR]Configureu els comandaments a distància · Establiu les opcions d'estalvi d'energia[CR]Habiliteu la depuració · Configureu el bloqueig mestre" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]CONFIGUREU ELS COMPLEMENTS[/B][CR][CR]Gestioneu els complements instal·lats · Cerqueu i instal·leu complements des de xbmc.org[CR]Modifiqueu els paràmetres dels complements" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURA ELS AJUSTOS DE TV[/B][CR][CR]Canvia la informació de pantalla completa · Gestiona els ajustos de les dades EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGUREU ELS PARÀMETRES DE SERVEI[/B][CR][CR]Configureu el control de l'XBMC a través de UPnP i HTTP[CR]Configureu l'ús compartit de fitxers · Habiliteu el Zeroconf · Configureu l'AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Ajuda inicial...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Aquesta pestanya indica que hi ha un menú al costat d'aquesta finestra que conté opcions addicionals a les d'aquesta secció. Per accedir a aquest menú, navegau a l'esquerra amb el comandament a distància o teclat, o posau el punter del ratolí a sobre de la pestanya. [CR] [CR]Clicau OK per tancar aquest dialog. No es tornarà a mostrar." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Seleccioneu el vostre perfil d'usuari de l'XBMC[CR]per iniciar la sessió i continuar" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Temporitzadors d'enregistraments" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Horari programat" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV en directe" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Afegeix un grup" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Canvia el nom del grup" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Elimina el grup" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Grups[CR]disponibles" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Grup del canal" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Temporitzador establert" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opcions del canal" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Predicció a 36 hores" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Predicció per hores" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Predicció del cap de setmana" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Predicció a 10 dies" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Predicció" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Possibilitat de precipitació" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "S'està obtenint la informació de la predicció..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa i alertes" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..27560c6df --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Chinese (Simple)/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "修改您的" + +msgctxt "#31003" +msgid "Power Options" +msgstr "电æºé€‰é¡¹" + +msgctxt "#31004" +msgid "Working..." +msgstr "工作中..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "éšè—ä¿¡æ¯" + +msgctxt "#31006" +msgid "View Options" +msgstr "视图选项" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "å…¨å±" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "总时长" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "éŸ³ä¹ - 文件" + +msgctxt "#31023" +msgid "Playing" +msgstr "播放" + +msgctxt "#31024" +msgid "Page" +msgstr "页" + +msgctxt "#31025" +msgid "Items" +msgstr "项" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "其他选项" + +msgctxt "#31027" +msgid "Location" +msgstr "所在地" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "海报å·åЍ" + +msgctxt "#31029" +msgid "Fanart" +msgstr "åŒäººç”»" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "图片缩略图" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "图片å·åЍ" + +msgctxt "#31033" +msgid "Info" +msgstr "ä¿¡æ¯" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "正在播放" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "播放" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "æš‚åœ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "å¿«è¿›" + +msgctxt "#31045" +msgid "REWIND" +msgstr "回退" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "å¯è§†åŒ–效果设置" + +msgctxt "#31049" +msgid "End Time" +msgstr "ç»“æŸæ—¶é—´" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "排åºï¼šå‡åº" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "排åºï¼šé™åº" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "打开播放列表" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "ä¿å­˜æ’­æ”¾åˆ—表" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "关闭播放列表" + +msgctxt "#31058" +msgid "System music files" +msgstr "ç³»ç»ŸéŸ³ä¹æ–‡ä»¶" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "当剿’­æ”¾åˆ—表" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "è¿™æ˜¯ä¸€ä¸ªå †å æ–‡ä»¶ï¼Œè¯·é€‰æ‹©è¦æ’­æ”¾çš„片段。" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "当å‰é€‰æ‹©" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "主界é¢é€‰é¡¹" + +msgctxt "#31102" +msgid "Background" +msgstr "背景" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "图片幻ç¯ç‰‡æ’­æ”¾æ—¶æ˜¾ç¤ºâ€œæš‚åœâ€çжæ€" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "çª—å£æ’­æ”¾é¢„告片[COLOR=grey3]ï¼ˆä»…åœ¨è§†é¢‘ä¿¡æ¯æ˜¾ç¤ºç”»é¢ï¼‰[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "其他选项" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "éšè—视频文件å的媒体标识[COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "éšè—主èœå•按钮" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "å¯ç”¨è‡ªå®šä¹‰èƒŒæ™¯" + +msgctxt "#31110" +msgid "Background path:" +msgstr "背景图路径:" + +msgctxt "#31111" +msgid "Hide" +msgstr "éšè—" + +msgctxt "#31112" +msgid "Options" +msgstr "选项" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "显示最新加入专辑" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "显示最新加入视频" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "主界é¢ç¨‹åºå­èœå•" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "éšè—åŒäººç”»èƒŒæ™¯" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "天气页é¢" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "在背景显示“正在播放â€è§†é¢‘" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "在背景显示“正在播放â€å¯è§†æ•ˆæžœ" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "è§†é¢‘èµ„æ–™åº“æ¨¡å¼æ’­æ”¾ç”µè§†ä¸»é¢˜æ›²ï¼ˆTvTunes扩展功能)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "æ­Œè¯" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "å…¨å±å¯è§†æ•ˆæžœéšè—åŒäººç”»" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "æ­Œè¯æ‰©å±•功能" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "字幕扩展功能" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "主界é¢è§†é¢‘å­èœå•" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "主界é¢éŸ³ä¹å­èœå•" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "主界é¢å›¾ç‰‡å­èœå•" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "音ä¹OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "视频OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "å¿«æ·æ–¹å¼" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "选择歌曲" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "æ­Œè¯æ¥æº" + +msgctxt "#31206" +msgid "Found" +msgstr "找到" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "查找更多项目" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "å³å°†æ’­å‡ºçš„分集" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "当剿¸©åº¦" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "最近修改" + +msgctxt "#31303" +msgid "Data provider" +msgstr "æ•°æ®æ¥æº" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "éšè—åŒäººç”»" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "电影详细资料" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "己用内存:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "音轨å·" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "åŒäººç”»å›¾ç‰‡[CR][CR]ä¸å¯ç”¨[CR][CR]按键设置" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "当å‰åˆ®å‰Šå™¨" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "选择刮削器" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "内容扫æé€‰é¡¹" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "设置åŒäººç”»ç›®å½•" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "选择用户é…置文件" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "最近登录" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "塿‹‰OK歌曲选择器" + +msgctxt "#31322" +msgid "Aired" +msgstr "首播" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "播放列表选项" + +msgctxt "#31326" +msgid "Created" +msgstr "创建" + +msgctxt "#31327" +msgid "Resolution" +msgstr "分辨率" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "最新增加" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]时钟设置ï¼[/B] [COLOR=grey2] - 系统自动关闭于[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "点此按钮播放预告片" + +msgctxt "#31331" +msgid "Album Details" +msgstr "专辑详情" + +msgctxt "#31351" +msgid "Pause" +msgstr "æš‚åœ" + +msgctxt "#31352" +msgid "Stop" +msgstr "åœæ­¢" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "å¿«è¿›" + +msgctxt "#31354" +msgid "Rewind" +msgstr "快退" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "电影èœå•" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "下载字幕" + +msgctxt "#31390" +msgid "Skin default" +msgstr "皮肤默认" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "皮肤默认(无Caps字体)" + +msgctxt "#31392" +msgid "Arial based" +msgstr "基于Arial字体" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]设置用户界é¢[/B][CR][CR]å˜æ¢çš®è‚¤ · 设置语言和区域 · ä¿®æ”¹æ–‡ä»¶åˆ—è¡¨å‚æ•° · 设置å±å¹•ä¿æŠ¤" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]è®¾ç½®è§†é¢‘å‚æ•°[/B][CR][CR]管ç†è§†é¢‘资料库 · è®¾ç½®è§†é¢‘æ’­æ”¾å‚æ•° · ä¿®æ”¹è§†é¢‘åˆ—è¡¨å‚æ•° · 设置字幕字体" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]设置音ä¹å‚æ•°[/B][CR][CR]管ç†éŸ³ä¹èµ„料库 · è®¾ç½®éŸ³ä¹æ’­æ”¾å‚æ•° · 修改音ä¹åˆ—è¡¨å‚æ•° · è®¾ç½®éŸ³ä¹æäº¤ · è®¾ç½®å¡æ‹‰OK选项" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]è®¾ç½®å›¾ç‰‡å‚æ•°[/B][CR][CR]è®¾ç½®å›¾ç‰‡åˆ—è¡¨å‚æ•° · 设置幻ç¯ç‰‡æ’­æ”¾" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]设置天气预报[/B][CR][CR]设置三个获å–天气信æ¯çš„城市" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]è®¾ç½®ç³»ç»Ÿå‚æ•°[/B][CR][CR]设置和校正显示器 · 设置音频输出 · 设置摇控器 · è®¾ç½®èŠ‚ç”µå‚æ•° · å¯ç”¨è°ƒè¯• · 设置管ç†å‘˜å’Œé”定" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]设置扩展功能[/B][CR][CR]管ç†ä½ å®‰è£…的扩展功能 · 在xbmc.orgæµè§ˆå¹¶å®‰è£…扩展功能 · 修改扩展功能设置" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]设置直播电视[/B][CR][CR]更改全å±ä¿¡æ¯ · 管ç†ç”µå­èŠ‚ç›®å•æ•°æ®è®¾ç½®" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]设置网络æœåŠ¡[/B][CR][CR]设置通过UPnPå’ŒHTTP控制XBMC · é…置文件共享[CR]å¯ç”¨Zeroconf · 设置AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "首次è¿è¡Œå¸®åŠ©...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "此选项å¡è¡¨ç¤ºæœ‰ä¸€ä¸ªæä¾›æœ¬åŠŸèƒ½æ¨¡å—特殊设置选项的èœå•éšè—在窗å£ä¾§è¾¹ã€‚ä½ å¯ä»¥é€šè¿‡æŒ‰é¥æŽ§å™¨æˆ–é”®ç›˜å·¦é”®ã€æˆ–将鼠标指针移动到选项å¡èŒƒå›´æ¥å¼€å¯æ­¤èœå•。[CR] [CR]点“确定â€å…³é—­æ­¤å¯¹è¯æ¡†ï¼Œæœ¬æç¤ºä¸ä¼šå†æ¬¡å‡ºçŽ°ã€‚" + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "选择您的用户é…置文件[CR]登录并继续" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "录制定时器" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "预定时间" + +msgctxt "#31502" +msgid "Live TV" +msgstr "直播电视" + +msgctxt "#31503" +msgid "Add Group" +msgstr "增加组" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "æ›´å组" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "删除组" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "å¯ç”¨ç»„" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "频é“组" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "定时器设定" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "频é“选项" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36å°æ—¶é¢„报" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "æ¯å°æ—¶é¢„报" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "一周预报" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10日预报" + +msgctxt "#31905" +msgid "Forecast" +msgstr "天气预报" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "é™é›¨æ¦‚率" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "获å–天气信æ¯..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "地图 & 警报" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..ce8b21ced --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Chinese (Traditional)/strings.po @@ -0,0 +1,538 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "修改你的" + +msgctxt "#31003" +msgid "Power Options" +msgstr "é›»æºé¸é …" + +msgctxt "#31004" +msgid "Working..." +msgstr "處ç†ä¸­..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "éš±è—資訊" + +msgctxt "#31006" +msgid "View Options" +msgstr "檢視é¸é …" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "全螢幕" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "總計時間" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "音樂 - 檔案" + +msgctxt "#31023" +msgid "Playing" +msgstr "正在播放" + +msgctxt "#31024" +msgid "Page" +msgstr "é " + +msgctxt "#31025" +msgid "Items" +msgstr "個項目" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "å…¶ä»–é¸é …" + +msgctxt "#31027" +msgid "Location" +msgstr "ä½ç½®" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "æµ·å ±æ²å‹•" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "圖片縮圖" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "圖片æ²å‹•" + +msgctxt "#31033" +msgid "Info" +msgstr "資訊" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "正在播放" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "正在播放" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "已暫åœ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "快轉" + +msgctxt "#31045" +msgid "REWIND" +msgstr "倒轉" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "視覺效果設定" + +msgctxt "#31049" +msgid "End Time" +msgstr "çµæŸæ™‚é–“" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "排åºï¼šéžå¢ž" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "排åºï¼šéžæ¸›" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "開啟播放清單" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "儲存播放清單" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "關閉播放清單" + +msgctxt "#31058" +msgid "System music files" +msgstr "系統中的音樂檔案" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "ç›®å‰çš„æ’­æ”¾æ¸…å–®" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "é€™å€‹æª”æ¡ˆå·²å †ç–Šï¼Œè«‹é¸æ“‡æ‚¨è¦å¾žå“ªå€‹éƒ¨åˆ†é–‹å§‹æ’­æ”¾ã€‚" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "ç›®å‰çš„鏿“‡" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "首é ä»‹é¢é¸é …" + +msgctxt "#31102" +msgid "Background" +msgstr "背景" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "在圖片幻燈片秀中顯示\"已暫åœ\"狀態" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "在視窗中播放é å‘Šç‰‡[COLOR=grey3](åªåœ¨å½±ç‰‡è³‡è¨Šå°è©±æ¡†ä¸­)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "å…¶ä»–é¸é …" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "éš±è—影片檔案å稱的媒體標示 [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "éš±è—主é¸å–®æŒ‰éˆ•" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "啟用自訂背景圖片" + +msgctxt "#31110" +msgid "Background path:" +msgstr "背景圖片路徑:" + +msgctxt "#31111" +msgid "Hide" +msgstr "éš±è—" + +msgctxt "#31112" +msgid "Options" +msgstr "é¸é …" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "顯示最近加入的專輯" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "顯示最近加入的影片" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "首é ç¨‹å¼å­é¸å–®" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "éš±è—背景 Fanart" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "天氣é é¢" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "在背景顯示正在播放的影片" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "在背景顯示正在播放的視覺效果" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "在影片資料庫中播放電視主題曲(TvTunes 附加元件)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "歌詞" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "åœ¨å…¨èž¢å¹•è¦–è¦ºæ•ˆæžœä¸­éš±è— Fanart" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "歌詞附加元件" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "字幕附加元件" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "首é å½±ç‰‡å­é¸å–®" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "首é éŸ³æ¨‚å­é¸å–®" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "首é åœ–片å­é¸å–®" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "音樂播放工具列" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "影片播放工具列" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "æ·å¾‘" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "鏿“‡ä½ çš„æ­Œæ›²" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "歌詞來æº" + +msgctxt "#31206" +msgid "Found" +msgstr "已找到" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "尋找更多項目" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "劇集é å‘Š" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "ç¾åœ¨æº«åº¦" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "最後更新" + +msgctxt "#31303" +msgid "Data provider" +msgstr "資料æä¾›è€…" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "éš±è— Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "電影詳細資訊" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "已使用記憶體:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "音軌編號" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "無法å–å¾—[CR][CR]Fanart 圖片[CR][CR] 請點擊按鈕來設定" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "ç›®å‰çš„ç«™å°" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "鏿“‡ä¸€å€‹ç«™å°" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "內容掃æé¸é …" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "設定 Fanart 路徑" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "鏿“‡çš„設定檔" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "上次登入在" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "塿‹‰OKæ­Œæ›²é¸æ“‡å™¨" + +msgctxt "#31322" +msgid "Aired" +msgstr "首播" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "播放清單é¸é …" + +msgctxt "#31326" +msgid "Created" +msgstr "已建立" + +msgctxt "#31327" +msgid "Resolution" +msgstr "è§£æžåº¦" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "最近新增" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]計時器啟動ï¼[/B] [COLOR=grey2] - 系統將自動關機於:[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "點擊按鈕播放[CR][CR]電影é å‘Šç‰‡" + +msgctxt "#31331" +msgid "Album Details" +msgstr "專輯詳細資訊" + +msgctxt "#31351" +msgid "Pause" +msgstr "æš«åœ" + +msgctxt "#31352" +msgid "Stop" +msgstr "åœæ­¢" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "快轉" + +msgctxt "#31354" +msgid "Rewind" +msgstr "倒轉" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "電影é¸å–®" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "下載字幕" + +msgctxt "#31390" +msgid "Skin default" +msgstr "主題é è¨­" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "佈景主題é è¨­ï¼ˆæ²’有開頭大寫)" + +msgctxt "#31392" +msgid "Arial based" +msgstr "基於 Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]é…置介é¢å¤–è§€[/B][CR][CR]修改佈景主題 · 鏿“‡èªžè¨€å’Œåœ°å€ · 修改檔案清單é¸é …[CR]設定螢幕ä¿è­·ç¨‹å¼" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]é…置視訊設定[/B][CR][CR]管ç†ä½ çš„音樂資料庫 · 設定影片播放é¸é … · 修改影片清單é¸é …[CR]設定字幕字型" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]é…置音樂設定[/B][CR][CR]管ç†ä½ çš„音樂資料庫 · 設定音樂播放é¸é … · 修改音樂清單é¸é …[CR]設定歌曲æäº¤ · è¨­å®šå¡æ‹‰OKé¸é …" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]é…置圖片設定[/B][CR][CR]設定圖片清單é¸é … · 設定幻燈片秀" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]é…置天氣設定[/B][CR][CR]è¨­å®šä¸‰å€‹è¦æ”¶é›†å¤©æ°£è³‡æ–™çš„城市" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]é…置系統設定[/B][CR][CR]設定和校正顯示輸出 · 設定音效輸出 · è¨­å®šé™æŽ§å™¨[CR]設定節能é¸é … · 啟用除錯 · 設定鎖定密碼" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]é…置附加元件[/B][CR][CR]管ç†å·²å®‰è£çš„附加元件 · 從 xbmc.org ç€è¦½ä¸¦å®‰è£é™„加元件[CR]修改附加元件設定" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURE TV SETTINGS[/B][CR][CR]修改全螢幕資訊 · 管ç†é›»å­ç¯€ç›®è¡¨è³‡æ–™è¨­å®š" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]é…ç½®æœå‹™è¨­å®š[/B][CR][CR]設定é€éŽ UPnP å’Œ HTTP 控製 XBMC · é…置檔案分享[CR]啟用 Zeroconf · é…ç½® AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "第一次使用說明..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "這個標籤表示這個功能模組在這個視窗的å´é‚Šæœ‰æä¾›é¡å¤–é¸é …çš„é¸å–®ã€‚ä½ å¯ä»¥ä½¿ç”¨é™æŽ§å™¨æˆ–éµç›¤çš„左鵿ˆ–者是將滑鼠指標移動到這個標籤的範åœä¾†å­˜å–這個é¸å–®ã€‚[CR][CR]按一下\"Ok\" å¯ä»¥é—œé–‰é€™å€‹å°è©±æ¡†ã€‚å®ƒå°‡ä¸æœƒå†æ¬¡å‡ºç¾ã€‚" + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "鏿“‡æ‚¨çš„ XBMC 使用者設定檔[CR]登入並繼續" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "錄影計時器" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "已排程的時間" + +msgctxt "#31503" +msgid "Add Group" +msgstr "新增群組" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "釿–°å‘½å群組" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "刪除群組" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "å¯ç”¨çš„[CR]群組" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "é »é“群組" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "計時器設定" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "é »é“é¸é …" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36å°æ™‚é å ±" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "æ¯å°æ™‚é å ±" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "一週é å ±" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10天é å ±" + +msgctxt "#31905" +msgid "Forecast" +msgstr "é å ±" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "é™é›¨æ©Ÿçއ" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "正在擷å–é å ±è³‡è¨Š..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "地圖 & 警報" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Croatian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Croatian/strings.po new file mode 100644 index 000000000..d4a255d0a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Croatian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Promjenite vaÅ¡" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Mogućnosti napajanja" + +msgctxt "#31004" +msgid "Working..." +msgstr "Radim..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Sakrij podatke" + +msgctxt "#31006" +msgid "View Options" +msgstr "Opcije pregleda" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Cijeli zaslon" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Ukupno trajanje" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Glazba - datoteke" + +msgctxt "#31023" +msgid "Playing" +msgstr "Igra" + +msgctxt "#31024" +msgid "Page" +msgstr "Stranica" + +msgctxt "#31025" +msgid "Items" +msgstr "Stavke" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Razne mogućnosti" + +msgctxt "#31027" +msgid "Location" +msgstr "Mjesto" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Omot postera" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Slikovne ikone" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Omot slike" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Trenutno reproducira" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUCIRA" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSIRANO" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "BRZO PREMOTAJ" + +msgctxt "#31045" +msgid "REWIND" +msgstr "PREMOTAVANJE" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Vizualizacija Memorirana" + +msgctxt "#31049" +msgid "End Time" +msgstr "ZavrÅ¡ava" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sortiraj: Ulazne" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sortiraj: Izlazne" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Otvori listu izvedbi" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Snimi listu izvedbi" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Zatvori listu izvedbi" + +msgctxt "#31058" +msgid "System music files" +msgstr "Sustav glazbene datoteke" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Trenutna lista izvedbi" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Ova datoteka je složena, odaberite dio koji želite pokreniti od." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Trenutno odabran" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opcije poÄetnog zaslon" + +msgctxt "#31102" +msgid "Background" +msgstr "Podloga" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Prikaži \"Zaustavljeno\" u slikama dijaprojekcije" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Pokreni najave na ekranu [COLOR=grey3](Video Informacije samo dijalog)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Ostale mogućnosti" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Sakrij oznaÄavanje Äitanje iz video datoteka [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Sakrite tipke glavnog izbornika" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Omogućite promjenu pozadine" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Putanja do pozadine:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Sakrij" + +msgctxt "#31112" +msgid "Options" +msgstr "Mogućnosti" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Prikaži nedavno dodane albume" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Prikaži nedavno dodan video" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "PoÄetna stranica programa podizbornika" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Sakrij pozadina Fanarta" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Vremenska oznaka" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Prikaži pozadinu \"Sad Igra\" video" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Prikaži pozadinu \"Sad igra\" vizualizacija" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Izvodite pjesme iz tematski TV u videoteke (TvTunes Dodatci)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Tekst" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Sakri " + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Dodatci teksta skladbe" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Dodatak za podnapise" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr " Video podizbornik naslovnice" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Glazbeni podizbornik naslovnice" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Slike podizbornika naslovnice" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Glazba OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "PreÄaci" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Izaberi pjesmu" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Izvor teksta skladbe" + +msgctxt "#31206" +msgid "Found" +msgstr "PronaÄ‘eno" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Potraži joÅ¡ stvari" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Nadolazeće epizode" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Trenutna temperatura" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Posljednja nadogradnja" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Pružatelj podataka" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Sakri Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Filmske pojedinosti" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "IskoriÅ¡tena memorija:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Redni br. skladbe" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart slika[CR][CR]Nedostupno[CR][CR]Kliknite gumb za postavljanje" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Trenutni StrugaÄ" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Odaberi StrugaÄ" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Sadržaj opcija skeniranja" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Postavite put Fanarta" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Odabrani profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Posljednji prijavljeni" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karoke selektor pjesama" + +msgctxt "#31322" +msgid "Aired" +msgstr "Emitirano" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opcije lista izvedbi" + +msgctxt "#31326" +msgid "Created" +msgstr "Postavio" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Rezolucija" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nedavno dodano" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Namjesti tajmer![/B] [COLOR=grey2] - Sistem se automatski gasi za[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Kliknite gumb za reprodukciju[CR][CR]Filmski najava" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalji albuma" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pauza" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stani" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Brzo napred" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Premotaj" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmski izbornik" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Preuzmi prijevod" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Zadani izgled" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Zadani izgled bez pokrova" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Temeljen na Arial-u " + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]UREDI POSTAVKE IZGLEDA[/B][CR][CR]Promjeni izgled · Odredi jezik i regiju · Promjeni mogućnosti prikaza datoteka[CR]Postavite Äuvara zaslona" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]UREDI POSTAVKE VIDEA[/B][CR][CR]Upravljanje VaÅ¡om video zbirkom · Postavi mogućnosti izvoÄ‘enja videa · Promjeni mogućnosti prikaza video sadržaja[CR]Podesi izgled podnapisa" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]UREDI POSTAVKE GLAZBE[/B][CR][CR]Upravljanje VaÅ¡om glazbenom zbirkom · Postavi mogućnosti izvoÄ‘enja glazbe · Promjeni mogućnosti prikaza glazbenoga sadržaja[CR]Postavi slanje pjesama · Podesi mogućnosti karaoka" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]UREDI POSTAVKE SLIKE[/B][CR][CR]Uredi sliku unos opcije · Postavke slikovnom prikazu" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]UREDI POSTAVKE VREMENA[/B][CR][CR]Postavi tri grada i prikupi informacije o vremenskoj prognozi" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]UREDI POSTAVKE SUSTAVA[/B][CR][CR]PodeÅ¡avanje i kalibriranjem zaslona · Uredi audio izlaz · Postavljanje daljinskog upravljaÄa[CR]Postavite opcije uÅ¡tede energije · Omogućite ispravljanje pogreÅ¡aka · Postavljanje glavnog zakljuÄavanja" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]UREDI DODATKE[/B][CR][CR]Upravljate instaliranim dodacima · Pregledavanje i instaliranje dodataka iz xbmc.org[CR]Modificirajte postavke dodataka" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]UREDI TV POSTAVKE[/B][CR][CR]Change fullscreen info · Manage EPG data settings" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]UREDI SERVISNE POSTAVKE[/B][CR][CR] Postavljanje kontrole XBMC putem UPnP i HTTP · Uredi dijeljenje mapa[CR]Omogućavanje Zeroconf · Postavke AirPlay " + +msgctxt "#31411" +msgid "First run help...." +msgstr "Pomoć kod prvog pokretanja..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Ova kartica znaÄi da je izbornik sa strane ovog prozora koji sadrži dodatne opcije na ovom poglavlju. Za pristup izborniku, idite lijevo sa daljinskim upravljaÄem ili tipkovnicom ili stavite pokazivaÄ miÅ¡a nad karticu. [CR] [CR] Kliknite na \"OK\" da biste zatvorili ovaj dijalog. To se neće pojaviti opet." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Odaberite svoj korisniÄki profil XBMC[CR]te se prijavite i nastavite" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "BrojaÄ snimanja" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Planirano vrijeme" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV u živo" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Dodaj grupu" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Preimenuj grupu" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "ObriÅ¡i grupu" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Dostupne[CR]Grupe" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Otkaži grupu" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Postavite brojaÄ" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Postavke TV kanala" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Prognoza za 36 sati" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Prognoza za sat" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Prognoza za vikend" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Prognoza za 10 dana" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Prognoza" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Moguće padaline" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Dohvaćanje informacija vremenske prognoze..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Karta & Upozorenje" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Czech/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Czech/strings.po new file mode 100644 index 000000000..6dd255895 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Czech/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "ZmÄ›nit" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Možnosti napájení" + +msgctxt "#31004" +msgid "Working..." +msgstr "Pracuji..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Skrýt informace" + +msgctxt "#31006" +msgid "View Options" +msgstr "Zobrazit možnosti" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Celá obrazovka" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Celková doba trvání" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Hudba - Soubory" + +msgctxt "#31023" +msgid "Playing" +msgstr "PÅ™ehrává se" + +msgctxt "#31024" +msgid "Page" +msgstr "Strana" + +msgctxt "#31025" +msgid "Items" +msgstr "Položek" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Další možnosti" + +msgctxt "#31027" +msgid "Location" +msgstr "UmístÄ›ní" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Obaly" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Náhledy obrázků" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Obrázky" + +msgctxt "#31033" +msgid "Info" +msgstr "Informace" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Nyní pÅ™ehrávám" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "PŘEHRÃVà SE" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "POZASTAVENO" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "RYCHLE VPŘED" + +msgctxt "#31045" +msgid "REWIND" +msgstr "PŘETÃČà SE ZPÄšT" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "PÅ™edvolby vizualizace" + +msgctxt "#31049" +msgid "End Time" +msgstr "ÄŒas ukonÄení" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Řazení: vzestupnÄ›" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Řazení: sestupnÄ›" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Otevřít seznam stop" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Uložit seznam stop" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Zavřít seznam stop" + +msgctxt "#31058" +msgid "System music files" +msgstr "Hudební soubory systému" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Aktuální seznam stop" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Tento soubor se skládá z více Äástí. Vyberte od které si pÅ™ejete spustit pÅ™ehrávání." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "AktuálnÄ› vybraný" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Možnosti úvodní obrazovky" + +msgctxt "#31102" +msgid "Background" +msgstr "Pozadí" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Zobrazovat \"Pozastaveno\" pÅ™i promítání obrázků" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "PÅ™ehrávat upoutávky v oknÄ› [COLOR=grey3](pouze z okna Informace o videu)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Různá nastavení" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Nezobrazovat ikony pÅ™eÄtené z názvu videa [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Skrýt tlaÄítka hlavního menu" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Povolit vlastní obrázek na pozadí" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Cesta k obrázku:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Skrýt" + +msgctxt "#31112" +msgid "Options" +msgstr "Možnosti" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Zobrazit nedávno pÅ™idaná alba" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Zobrazovat nedávno pÅ™idané filmy" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Úvodní obrazovka, podmenu programů" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Skrýt Fanart na pozadí" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "PoÄasí" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Zobrazovat na pozadí právÄ› pÅ™ehrávané video" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Zobrazovat právÄ› pÅ™ehrávanou vizualizaci na pozadí" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "PÅ™ehrát znÄ›lky v knihovnÄ› videí (doplnÄ›k TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Texty písní" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Skrýt fanart pÅ™i vizualizaci v režimu celé obrazovky" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "DoplnÄ›k textů písní" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "DoplnÄ›k titulků" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Úvodní obrazovka, podmenu videí" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Úvodní obrazovka, podmenu Hudba" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Úvodní obrazovka, podmenu obrázků" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD hudby" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD videa" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Zkratky" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Vyberte VaÅ¡i skladbu" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Zdroj textu písní" + +msgctxt "#31206" +msgid "Found" +msgstr "Nalezeno" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Hledat další položky" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Nadcházející epizody" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Aktuální teplota" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Naposledy aktualizováno" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Poskytovatel dat" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Skrýt Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Podrobnosti filmu" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Využitá paměť:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Číslo stopy" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart[CR][CR]není k dispozici[CR][CR] Nastavte jej kliknutím tlaÄítka" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "SouÄasný stahovaÄ" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "ZmÄ›nit stahovaÄ" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Možnosti vyhledávání obsahu" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "UmístÄ›ní Fanartu" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Vybraný profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Naposledy pÅ™ihlášen" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "VýbÄ›r karaoke skladby" + +msgctxt "#31322" +msgid "Aired" +msgstr "Odvysíláno" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Možnosti seznamu skladeb" + +msgctxt "#31326" +msgid "Created" +msgstr "VytvoÅ™eno" + +msgctxt "#31327" +msgid "Resolution" +msgstr "RozliÅ¡ení" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nedávno pÅ™idané" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]ÄŒasovaÄ byl nastaven![/B] [COLOR=grey2] - Systém se automaticky vypne za[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Pro pÅ™ehrání upoutávky[CR][CR]stisknÄ›te tlaÄítko" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Podrobnosti alba" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pozastavit" + +msgctxt "#31352" +msgid "Stop" +msgstr "Zastavit" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Rychle vpÅ™ed" + +msgctxt "#31354" +msgid "Rewind" +msgstr "PÅ™etoÄit zpÄ›t" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Nabídka filmu" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Stáhnout titulky" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Výchozí vzhled" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Výchozí vzhled bez velkých písmen" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Písmo Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]NASTAVENà MOŽNOSTà VZHLEDU PROSTŘEDÃ[/B][CR][CR]ZmÄ›na vzhledu · VýbÄ›r jazyka a oblasti · Možnosti zobrazení souborů[CR]Nastavení spoÅ™iÄe obrazovky" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]NASTAVENà MOŽNOSTà VIDEA[/B][CR][CR]Správa knihovny videí · Možnosti pÅ™ehrávání videa · Možnosti zobrazení video souborů[CR]Nastavení fontu titulků" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]NASTAVENà MOŽNOSTà HUDBY[/B][CR][CR]Správa knihovny hudby · Možnosti pÅ™ehrávání hudby · Možnosti zobrazení hudebních souborů[CR] Nastavení služby odesílání informací o pÅ™ehrávaných skladbách · Nastavení karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]NASTAVENà MOŽNOSTà OBRÃZKÅ®[/B][CR][CR]Možnosti zobrazení obrázků · Nastavení prezentace" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]NASTAVENà MOŽNOSTà POÄŒASÃ[/B][CR][CR]Nastavení tří mÄ›st pro sbÄ›r pÅ™edpovÄ›di poÄasí" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]NASTAVENà MOŽNOSTà SYSTÉMU[/B][CR][CR]Nastavení a kalibrace obrazovky · Konfigurace výstupu zvuku · Nastavení dálkového ovládání[CR]Nastavení úsporného režimu · Povolit informací o ladÄ›ní · RodiÄovský zámek" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]NASTAVENà MOŽNOSTà DOPLŇKÅ®[/B][CR][CR]Správa nainstalovaných doplňků · Vyhledávání a instalace doplňků z xbmc.org[CR]Nastavení doplňků" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]NASTAVENà MOŽNOSTà PŘEHRÃVÃNà TELEVIZNE[/B][CR][CR]ZmÄ›nit zobrazení pÅ™es celou obrazovku · Nastavení EPG dat" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]NASTAVENà MOŽNOSTà SLUŽEB[/B][CR][CR]Nastavení ovládání XBMC skrze UPnP a HTTP · Nastavení sdílení souborů[CR]Povolit zeroconf · Nastavit AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Nejprve spusÅ¥te nápovÄ›du..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Tato záložka zdůrazňuje, že se na boÄní stranÄ› okna nachází skryté menu s dalšími vlastnostmi.\nPro přístup k tomuto menu se pÅ™esuňte doleva dálkovým ovladaÄem, Äi klávesnicí, nebo pÅ™esuňte myÅ¡ nad tuto kartu.[CR][CR]Kliknutím na tlaÄítko OK zavÅ™ete tento dialog, který se již znovu nezobrazí." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Vyberte preofil XBMC[CR]pro pÅ™ihlášení a pokraÄování" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "ÄŒasovaÄe nahrávání" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Naplánovaný Äas" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Televize" + +msgctxt "#31503" +msgid "Add Group" +msgstr "PÅ™idat skupinu" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "PÅ™ejmenovat skupinu" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Smazat skupinu" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Dostupné[CR]skupiny" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Skupiny programů" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "ÄŒasovaÄ nastaven" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Nastavení kanálů" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "PÅ™edpovÄ›Ä na 36 hodin" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Hodinová pÅ™edpovÄ›Ä" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "PÅ™edpovÄ›Ä na víkend" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "PÅ™edpovÄ›Ä na 10 dní" + +msgctxt "#31905" +msgid "Forecast" +msgstr "PÅ™edpovÄ›Ä" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "PravdÄ›podobnost srážek" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Získávám informace pÅ™edpovÄ›di..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa a upozornÄ›ní" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Danish/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Danish/strings.po new file mode 100644 index 000000000..dbb895f25 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Danish/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Tilpas dine" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Strømstyring" + +msgctxt "#31004" +msgid "Working..." +msgstr "Arbejder..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Skjul Information" + +msgctxt "#31006" +msgid "View Options" +msgstr "Visningsindstillinger" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Fuld skærm" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Samlet varighed" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Musik - Filer" + +msgctxt "#31023" +msgid "Playing" +msgstr "Afspiller" + +msgctxt "#31024" +msgid "Page" +msgstr "Side" + +msgctxt "#31025" +msgid "Items" +msgstr "Emner" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Div. Indstillinger" + +msgctxt "#31027" +msgid "Location" +msgstr "Lokalitet" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Plakatvæg" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fankunst" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Blandet" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Billedvæg" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Spiller nu" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "AFSPILLER" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSE" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "SPOL FREM" + +msgctxt "#31045" +msgid "REWIND" +msgstr "SPOL TILBAGE" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualiserings-forudindstillinger" + +msgctxt "#31049" +msgid "End Time" +msgstr "Sluttid" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sorter: Stigende" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sorter: Faldende" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Ã…bn afspilningsliste" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Gem afspilningsliste" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Luk afspilningsliste" + +msgctxt "#31058" +msgid "System music files" +msgstr "Musikfiler til systemet" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Nuværende afspilningsliste" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Denne fil er kombineret. Vælg den del du vil afspille fra." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Nuværende valgte" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Indstillinger til hjemmeskærmen" + +msgctxt "#31102" +msgid "Background" +msgstr "Baggrund" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Vis \"PAUSE\" i billeddiasshow" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Afspil trailere i et vindue [COLOR=grey3](Kun videoinformationsdialog)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Diverse indstillinger" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Skjul læsning af mærker fra videoers filnavne [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Skjul knapper i Hovedmenu" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Aktiver brugerdefineret baggrund" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Sti til baggrund:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Skjul" + +msgctxt "#31112" +msgid "Options" +msgstr "Indstillinger" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Vis nyligt tilføjede Albummer" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Vis nyligt tilføjede Videoer" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Undermenu til programmer pÃ¥ startskærmen" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Skjul baggrundsfankunst" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Vejrside" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Vis \"Spiller nu\" i baggrunden for videoer" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Vis \"Spiller nu\" visualisering i baggrunden" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Afspil kendingsmelodier til TV-serier i videobiblioteket (TvTunes add-on)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Sangtekster" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Skjul fankunst i fuldskærmsvisualisering" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Add-on til Sangtekster" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Add-on til Undertekster" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Undermenu til Videoer pÃ¥ Hjemmeskærmen" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Undermenu til Musik pÃ¥ Hjemmeskærmen" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Undermenu til Billeder pÃ¥ Hjemmeskærmen" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Musik OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Genveje" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Vælg din sang" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Kilde til Sangtekster" + +msgctxt "#31206" +msgid "Found" +msgstr "Fundet" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Find flere Emner" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Kommende Episoder" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatur Nu" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Sidst Opdateret" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Dataleverandør" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Skjul Fankunst" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Filmdetaljer" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Hukommelse i brug:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Spornummer" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fankunstbillede[CR][CR]ikke tilgængeligt[CR][CR] Tryk pÃ¥ knap for at vælge" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Nuværende Scraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Vælg en Scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Indstillinger for indholdsskanning" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Vælg sti til Fankunst" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Valgt Profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Sidst logget ind" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Sangvalg til Karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Sendt" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Indstillinger for Afspilningsliste" + +msgctxt "#31326" +msgid "Created" +msgstr "Oprettet" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Opløsning" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nyligt tilføjede" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Timeren startet![/B] [COLOR=grey2] - Systemet lukker ned om[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Klik pÃ¥ en knap for at afspille[CR][CR]Filmtrailer" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Albumdetaljer" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pause" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Spol Frem" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Spol Tilbage" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmmenu" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Hent Undertekster" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Skinnets standard" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Skinnets standard uden store bogstaver" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Baseret pÃ¥ Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]KONFIGURER INDSTILLINGER FOR UDSEENDE[/B][CR][CR]Skift skin · Vælg sprog og region · Skift indstillinger for filoversigt[CR]Opsæt en pauseskærm" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]KONFIGURER VIDEOINDSTILLINGER[/B][CR][CR]Administrer dit videobibliotek · Vælg indstillinger for videoafspilning · Skift indstillinger for videooversigt[CR]Vælg skrifttype til undertekster" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]KONFIGURER MUSIKINDSTILLINGER[/B][CR][CR]Administrer dit musikbibliotek · Vælg indstillinger for musikafspilning · Skift indstillinger for musikoversigt[CR]Opsæt sangindsendelse · Vælg karaoke-indstillinger" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]KONFIGURER BILLEDEINDSTILLINGER[/B][CR][CR]Vælg indstillinger for billedeoversigt · Konfigurer diasshow" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]KONFIGURER VEJRINDSTILLINGER[/B][CR][CR]Du kan vælge tre byer, der skal hentes vejrudsigter for" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]KONFIGURER SYSTEMINDSTILLINGER[/B][CR][CR]Indstil og kalibrer skærme · Konfigurer lydudgang · Opsæt fjernbetjeninger[CR]Opsæt strømstyring · Aktiver fejllogning · Opret hovedlÃ¥s" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KONFIGURER ADD-ONS[/B][CR][CR]Administrer dine installerede Add-ons · Gennemse og installer Add-ons fra xbmc.org[CR]Tilpas indstillinger til Add-ons" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]KONFIGURER TV-INDSTILLINGER[/B][CR][CR]Skift fuldskærmsinfo · Administrer dataindstillinger for EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]KONFIGURER TJENESTER[/B][CR][CR]Opsæt styring af XBMC ved hjælp af UPnP og HTTP · Konfigurer fildeling[CR]Aktiver Zeroconf · Konfigurer AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Prøv først hjælp..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Dette faneblad indikerer, at der er en menu i siden af dette vindue, som indeholder ekstra indstillinger til denne sektion.\nFor at fÃ¥ adgang til denne menu, skal du navigere til venstre med din fjernbetjening eller dit tastatur. Du kan ogsÃ¥ placere din musemarkør over fanebladet. [CR][CR]Tryk \"Ok\" for at lukke denne dialog. Den dukker ikke op igen." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Vælg din XBMC brugerprofil[CR]for at logge ind og fortsætte" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Optagelsestimere" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Planlagt tid" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Tilføj Gruppe" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Omdøb Gruppe" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Slet Gruppe" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Tilgængelige[CR]Grupper" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Kanalgruppe" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Indstil Timer" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanalindstillinger" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 timers vejrudsigt" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Vejrudsigt de næste timer" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Vejrudsigt for weekenden" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 døgns vejrudsigt" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Vejrudsigt" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Risiko for nedbør" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Henter vejrudsigt..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Kort og Advarsler" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Dutch/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Dutch/strings.po new file mode 100644 index 000000000..448457d60 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Dutch/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Aanpassen" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Energiebeheer" + +msgctxt "#31004" +msgid "Working..." +msgstr "Bezig..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Info verbergen" + +msgctxt "#31006" +msgid "View Options" +msgstr "Weergave Opties" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Volledig scherm" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Totale duur" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Muziek - Bestanden" + +msgctxt "#31023" +msgid "Playing" +msgstr "Afspelen" + +msgctxt "#31024" +msgid "Page" +msgstr "Pagina" + +msgctxt "#31025" +msgid "Items" +msgstr "Items" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Diverse opties" + +msgctxt "#31027" +msgid "Location" +msgstr "Locatie" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Poster Wrap" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Foto miniaturen" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Image Wrap" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Afspelen" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "AFSPELEN" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUZE" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "VOORUITSPOELEN" + +msgctxt "#31045" +msgid "REWIND" +msgstr "TERUGSPOELEN" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualisatiestijl" + +msgctxt "#31049" +msgid "End Time" +msgstr "Eindigt om" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sorteren: Oplopend" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sorteren: Aflopend" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Afspeellijst openen" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Afspeellijst bewaren" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Afspeellijst sluiten" + +msgctxt "#31058" +msgid "System music files" +msgstr "Muziekbestanden systeem" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Huidige afspeellijst" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Dit bestand bestaat uit meerdere delen, selecteer het deel dat u wilt afspelen." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Nu geselecteerd" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Beginschermopties" + +msgctxt "#31102" +msgid "Background" +msgstr "Achtergronden" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Laat \"PAUZE\" zien in diavoorstelling" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Trailers afspelen in een venster [COLOR=grey3](Alleen Video Informatiedialoog)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Diverse opties" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Verberg markeringen uit bestandennaam [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Verberg knoppen hoofdmenu" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Aangepaste achtergrond toepassen" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Achtergrond locatie:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Verbergen" + +msgctxt "#31112" +msgid "Options" +msgstr "Opties" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Toon recent toegevoegde albums" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Laat onlangs toegevoegde video's zien" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Beginscherm submenu" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Fanart achtergronden verbergen" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Weerpagina" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Laat achtergrond \"Nu Afspelen\" zien voor video" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Laat achtergrond \"Nu Afspelen\" zien voor visualisatie" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Speel de Themesong van de TV serie af in de videobibliotheek. (TvTunes add-on)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Songteksten" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Verberg fanart in volledig scherm visualisatie" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Songtekst Add-on" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Ondertiteling Add-on" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Begin Scherm Videos Submenu" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Begin Scherm Music Submenu" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Begin Scherm Pictures Submenu" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Muziek-OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video-OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Snelkoppelingen" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Kies uw nummer" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Liedtekst bron" + +msgctxt "#31206" +msgid "Found" +msgstr "Gevonden" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Vind meer items" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Aankomende afleveringen" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Huidige temperatuur" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Laatst bijgewerkt" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Data provider" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Fanart verbergen" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Filmdetails" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Geheugengebruik:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Tracknummer" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanartafbeelding[CR][CR]niet beschikbaar[CR][CR] klik hier om in te stellen" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Huidige scraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Scraper kiezen" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opties inhoudsscanner" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Fanartpad opgeven" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Profiel selecteren" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Laatst ingelogd op" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Nummerkeuze karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Uitgezonden" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Afspeellijstopties" + +msgctxt "#31326" +msgid "Created" +msgstr "Gemaakt" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolutie" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Onlangs toegevoegd" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Timer geconfigureerd![/B] [COLOR=grey2] - Systeem schakelt automatisch uit in[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Klik op de knop om af te spelen[CR][CR]Filmtrailer" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Album Details" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pauze" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Vooruitspoelen" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Terugspoelen" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmmenu" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Ondertitels downloaden" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Skinstandaard" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Skinstandaard zonder hoofdletters" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Gebaseerd op Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]INSTELLINGEN UITERLIJK CONFIGUREREN[/B][CR][CR]Wijzig skin · Stel taal en regio in · Configureer bestandslijstopties en schermbeveiliging" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]VIDEO-INSTELLINGEN CONFIGUREREN[/B][CR][CR]Beheer uw videobibliotheek · Configureer videoafspeelopties en -bestandslijstsopties · Stel lettertype in voor ondertitels" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]MUZIEKINSTELLINGEN CONFIGUREREN[/B][CR][CR]Beheer uw muziekbibliotheek · Configureer muziekafspeelopties en -bestandslijstopties · Configureer nummer indienen · Configureer karaokeopties" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]FOTO-INSTELLINGEN CONFIGUREREN[/B][CR][CR]Configureer fotobestandslijstopties en diavoorstelling." + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]WEERINSTELLINGEN CONFIGUREREN[/B][CR][CR]Geef drie locaties op voor weersverwachtingen." + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]SYSTEEMINSTELLINGEN CONFIGUREREN[/B][CR][CR]Configureer en kalibreer schermgeluidsuitgang · Configureer invoerapparaten en energiebeheeropties · Schakel debugging in · Configureer vergrendelopties" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]ADD-ONS CONFIGUREREN[/B][CR][CR]Beheer uw geïnstalleerde Add-ons · Zoek en installeer Add-ons via xbmc.org · Wijzig Add-oninstellingen" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[[B]CONFIGUREER TV INSTELLINGEN[/B][CR][CR]Verander volledig scherm info · Beheer EPG data instellingen" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGUREER SERVICE-INSTELLINGEN[/B][CR][CR]Stel XBMC-beheer in via UPnP en HTTP · Configureer bestandsdeling[CR]Schakel Zeroconf in · Configureer AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Eerste sessie hulp..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Deze tab betekent dat er een menu met extra opties voor deze sectie aan de zijkant van het scherm beschikbaar is. Voor toegang tot het menu, navigeer naar links met de afstandsbediening of toetsenbord of ga met de muisaanwijzer naar de tab. \n[CR][CR]Klik \"Ok\" om het dialoogscherm te sluiten. Deze zal niet meer getoond worden. " + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Selecteer uw XBMC-gebruikersprofiel[CR]om in te loggen" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Geplande opnames" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Opname starttijd" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Televisie" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Groep toevoegen" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Groep hernoemen" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Groep verwijderen" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Beschikbare[CR]Groepen" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Groep" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Geplande opname ingesteld" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanaal opties" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 Uur Voorspelling" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Uurs Voorspelling" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Weekend Voorspelling" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 Dagen Voorspelling" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Voorspelling" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Kans Op Neerslag" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Weersvoorspelling ophalen..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Kaart & Waarschuwingen" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/English (US)/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/English (US)/strings.po new file mode 100644 index 000000000..5a834b352 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/English (US)/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.0 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: 2012-05-04 12:52+0000\n" +"PO-Revision-Date: 2012-10-28 23:31+0000\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (United States) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en_US/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "" + +msgctxt "#31003" +msgid "Power Options" +msgstr "" + +msgctxt "#31004" +msgid "Working..." +msgstr "" + +msgctxt "#31005" +msgid "Hide Information" +msgstr "" + +msgctxt "#31006" +msgid "View Options" +msgstr "" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "" + +msgctxt "#31023" +msgid "Playing" +msgstr "" + +msgctxt "#31024" +msgid "Page" +msgstr "" + +msgctxt "#31025" +msgid "Items" +msgstr "" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "" + +msgctxt "#31027" +msgid "Location" +msgstr "" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "" + +msgctxt "#31029" +msgid "Fanart" +msgstr "" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "" + +msgctxt "#31033" +msgid "Info" +msgstr "" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "" + +msgctxt "#31045" +msgid "REWIND" +msgstr "" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "" + +msgctxt "#31049" +msgid "End Time" +msgstr "" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "" + +msgctxt "#31058" +msgid "System music files" +msgstr "" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "" + +msgctxt "#31102" +msgid "Background" +msgstr "" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "" + +msgctxt "#31110" +msgid "Background path:" +msgstr "" + +msgctxt "#31111" +msgid "Hide" +msgstr "" + +msgctxt "#31112" +msgid "Options" +msgstr "" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "" + +msgctxt "#31206" +msgid "Found" +msgstr "" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "" + +msgctxt "#31303" +msgid "Data provider" +msgstr "" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "" + +msgctxt "#31310" +msgid "Track Number" +msgstr "" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "" + +msgctxt "#31322" +msgid "Aired" +msgstr "" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "" + +msgctxt "#31326" +msgid "Created" +msgstr "" + +msgctxt "#31327" +msgid "Resolution" +msgstr "" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "" + +msgctxt "#31331" +msgid "Album Details" +msgstr "" + +msgctxt "#31351" +msgid "Pause" +msgstr "" + +msgctxt "#31352" +msgid "Stop" +msgstr "" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "" + +msgctxt "#31354" +msgid "Rewind" +msgstr "" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "" + +msgctxt "#31390" +msgid "Skin default" +msgstr "" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "" + +msgctxt "#31392" +msgid "Arial based" +msgstr "" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "" + +msgctxt "#31411" +msgid "First run help...." +msgstr "" + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "" + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "" + +msgctxt "#31502" +msgid "Live TV" +msgstr "" + +msgctxt "#31503" +msgid "Add Group" +msgstr "" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "" + +msgctxt "#31905" +msgid "Forecast" +msgstr "" + +msgctxt "#31906" +msgid "Maps & Video" +msgstr "" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/English/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/English/strings.po new file mode 100644 index 000000000..6d99a3ad1 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/English/strings.po @@ -0,0 +1,623 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#Misc labels + +msgctxt "#31000" +msgid "Change Your" +msgstr "" + +#empty strings from id 31001 to 31002 + +msgctxt "#31003" +msgid "Power Options" +msgstr "" + +msgctxt "#31004" +msgid "Working..." +msgstr "" + +msgctxt "#31005" +msgid "Hide Information" +msgstr "" + +msgctxt "#31006" +msgid "View Options" +msgstr "" + +#empty string with id 31007 + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "" + +#empty strings from id 31010 to 31021 + +msgctxt "#31022" +msgid "Music - Files" +msgstr "" + +msgctxt "#31023" +msgid "Playing" +msgstr "" + +msgctxt "#31024" +msgid "Page" +msgstr "" + +msgctxt "#31025" +msgid "Items" +msgstr "" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "" + +msgctxt "#31027" +msgid "Location" +msgstr "" + +#View Type labels + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "" + +msgctxt "#31029" +msgid "Fanart" +msgstr "" + +#empty string with id 31030 + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "" + +msgctxt "#31033" +msgid "Info" +msgstr "" + +#empty strings from id 31034 to 31039 +#Extra labels + +msgctxt "#31040" +msgid "Now Playing" +msgstr "" + +#empty string with id 31041 + +msgctxt "#31042" +msgid "PLAYING" +msgstr "" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "" + +msgctxt "#31045" +msgid "REWIND" +msgstr "" + +#empty strings from id 31046 to 31047 + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "" + +msgctxt "#31049" +msgid "End Time" +msgstr "" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "" + +#empty strings from id 31052 to 31054 +#Playlist Editor labels + +msgctxt "#31055" +msgid "Open playlist" +msgstr "" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "" + +msgctxt "#31058" +msgid "System music files" +msgstr "" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "" + +#empty strings from id 31062 to 31100 +#Skin Settings labels + +msgctxt "#31101" +msgid "Home screen options" +msgstr "" + +msgctxt "#31102" +msgid "Background" +msgstr "" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "" + +#empty string with id 31105 + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "" + +msgctxt "#31110" +msgid "Background path:" +msgstr "" + +msgctxt "#31111" +msgid "Hide" +msgstr "" + +msgctxt "#31112" +msgid "Options" +msgstr "" + +#empty strings from id 31113 to 31115 + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "" + +#empty strings from id 31120 to 31121 + +msgctxt "#31122" +msgid "Weather Page" +msgstr "" + +#empty string with id 31123 + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "" + +#empty strings from id 31130 to 31131 + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "" + +#empty strings from id 31137 to 31139 + +msgctxt "#31140" +msgid "Music OSD" +msgstr "" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "" + +#empty strings from id 31142 to 31199 +#Script labels + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "" + +#empty strings from id 31201 to 31202 + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "" + +#empty string with id 31204 + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "" + +msgctxt "#31206" +msgid "Found" +msgstr "" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "" + +#empty strings from id 31209 to 31299 +#Extra labels + +msgctxt "#31300" +msgid "Current Temp" +msgstr "" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "" + +#empty string with id 31302 + +msgctxt "#31303" +msgid "Data provider" +msgstr "" + +#empty strings from id 31304 to 31306 + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "" + +msgctxt "#31310" +msgid "Track Number" +msgstr "" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "" + +#empty strings from id 31315 to 31316 + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "" + +#empty string with id 31318 + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "" + +msgctxt "#31322" +msgid "Aired" +msgstr "" + +#empty strings from id 31323 to 31324 + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "" + +msgctxt "#31326" +msgid "Created" +msgstr "" + +msgctxt "#31327" +msgid "Resolution" +msgstr "" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "" + +msgctxt "#31331" +msgid "Album Details" +msgstr "" + +#empty strings from id 31332 to 31350 +#Video and Music OSD Labels + +msgctxt "#31351" +msgid "Pause" +msgstr "" + +msgctxt "#31352" +msgid "Stop" +msgstr "" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "" + +msgctxt "#31354" +msgid "Rewind" +msgstr "" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "" + +#empty strings from id 31357 to 31389 + +msgctxt "#31390" +msgid "Skin default" +msgstr "" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "" + +msgctxt "#31392" +msgid "Arial based" +msgstr "" + +#empty strings from id 31393 to 31399 +#Description Labels + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "" + +#empty string with id 31405 + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "" + +#empty string with id 31407 + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "" + +msgctxt "#31411" +msgid "First run help...." +msgstr "" + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "" + +#empty strings from id 31413 to 31420 + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "" + +#empty strings from id 31422 to 31499 +#PVR labels + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "" + +msgctxt "#31502" +msgid "Live TV" +msgstr "" + +msgctxt "#31503" +msgid "Add Group" +msgstr "" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "" + +#empty strings from id 31507 to 31508 + +msgctxt "#31509" +msgid "Channel Group" +msgstr "" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "" + +#empty strings from id 31512 to 31900 +#Weather plugin + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "" + +msgctxt "#31905" +msgid "Forecast" +msgstr "" + +#empty strings from id 31906 to 31907 + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "" + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Esperanto/strings.po new file mode 100644 index 000000000..7db116c3a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Esperanto/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Bookmarks" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Distingivo" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Skin Default" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Estonian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Estonian/strings.po new file mode 100644 index 000000000..559062374 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Estonian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Määra" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Valikud" + +msgctxt "#31004" +msgid "Working..." +msgstr "Toimetamine..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Peida informatsioon" + +msgctxt "#31006" +msgid "View Options" +msgstr "Vaate valikud" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Täisekraan" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Kogukestvus" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Muusika - Failid" + +msgctxt "#31023" +msgid "Playing" +msgstr "Mängib" + +msgctxt "#31024" +msgid "Page" +msgstr "Leht" + +msgctxt "#31025" +msgid "Items" +msgstr "Nimetused" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Veel valikuid" + +msgctxt "#31027" +msgid "Location" +msgstr "Asukoht" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Poster ääreni" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Pildid" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Pisipildid" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Pilt ääreni" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Hetkel mängib" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "MÄNGIB" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSIS" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "KIIRELT EDASI" + +msgctxt "#31045" +msgid "REWIND" +msgstr "TAGASI" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visuaalide häälestused" + +msgctxt "#31049" +msgid "End Time" +msgstr "Lõpp aeg" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Järjesta: Kasvav" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Järjesta: Kahanev" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Ava esitusloend" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Salvesta esitusloend" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Sulge esitusloend" + +msgctxt "#31058" +msgid "System music files" +msgstr "Süsteemi muusika failid" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Valitud esitusloend" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "See fail on järjehoidjaga. Vali koht, millest soovid taasesitust jätkata." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Hetkel valitud" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Avalehe valikud" + +msgctxt "#31102" +msgid "Background" +msgstr "Taust" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Näita piltide slaidieslitusel teksti \"pausis\"" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Esitja treilereid aknas [COLOR=grey3](ainult Video dialoogiaken)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Mitmesugused seaded" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Peida loetud märgistus videofailide nimedest [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Peida peamenüü nupud" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Kasuta kohandatud taustapilti" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Taustapildi asukoht:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Peida" + +msgctxt "#31112" +msgid "Options" +msgstr "Valikud" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Näita viimati lisatud albumeid" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Näita viimati lisatud videosid" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Peamenüü Programmide alammenüü" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Peida fännipiltide taust" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Ilmaleht" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Näita taustal \"Hetkel mängib\" videot" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Näita taustal \"Hetkel mängib\" visuaali" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Esita videoteegis sarjade tunnusmuusikat (TvTunes lisamoodul)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Laulutekst" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Peida fännikunst täisekraanivaates" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Laulutekstide lisamoodulid" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Subtiitrite lisamoodulid" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Peamenüü Videode alammenüü" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Peamenüü Muusika alammenüü" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Peamenüü Pildid alammenüü" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Muusika OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Otseteed" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Vali laul" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Laulusõnade allikas" + +msgctxt "#31206" +msgid "Found" +msgstr "Leitud" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Otsi lisa" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Tulevased osad" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Ilm praegu" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Viimati uuendatud" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Teenusepakkuja" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Peida fännipildid" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Filmi andmed" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Mälukasutus:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Loo number" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fännipilt[CR][CR]ei ole saadaval[CR][CR]Määramiseks vajuta nuppu" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Käibiv kraabits" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Vali kraabits" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Sisu skaneerimise valikud" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Määra fännipiltide rada" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Vali profiil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Viimane sisselogimine" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke lauluvalija" + +msgctxt "#31322" +msgid "Aired" +msgstr "Eetris" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Esitusloendi valikud" + +msgctxt "#31326" +msgid "Created" +msgstr "Loodud" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolutsioon" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Viimati lisatud" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Loendur määratud![/B] [COLOR=grey2] - Süsteemi automaatne sulgemine[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Esitamiseks vajuta nuppu[CR][CR]Filmi treiler" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Albumi andmed" + +msgctxt "#31351" +msgid "Pause" +msgstr "Paus" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stopp" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Kiirelt edasi" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Tagasi" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmi menüü" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Lae subtiitrid alla" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Rüü vaikeväärtus" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Rüü vaikeväärtus ilma tõstutundlikuseta" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial-il põhinev" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]KONFIGUREERI VÄLIMUSE SEADEID[/B][CR][CR]Muuda rüüd · Muuda keelt ja regiooni · Muuda faililoendi valikuid[CR]Seadista ekraanisäästja" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]KONFIGUREERI VIDEO SEADEID[/B][CR][CR]Halda enda videoteeki · Määra video esitamise seaded · Muuda videoloendi valikuid[CR]Määra subtiitrite font" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]KONFIGUREERI MUUSIKA SEADEID[/B][CR][CR]Halda enda muusikateeki · Määra muusika esitamise seaded · Määra muusika loendi seaded[CR]Seadista loo esitamine · Seadista karaoke valikud" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]KONFIGUREERI PILDI SEADEID[/B][CR][CR]Määra piltide loendi seaded · Konfigureeri slaidiesitlusi" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]KONFIGUREERI ILMA SEADEID[/B][CR][CR]Vali kolm linna, millele ilmaprognoose koostatakse" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]KONFIGUREERI SÜSTEEMI SEADEID[/B][CR][CR]Seadista ja kalibreeri ekraane · Konfigureeri heliväljundit · Seadista kaugjuhtimine[CR]Määra energia säästu valikud· Luba silumine · Seadista pealukk" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KONFIGUREERI LISAMOODULEID[/B][CR][CR]Halda enda lisamooduleid · Sirvi ja paigalda lisamooduleid aadressilt xbmc.org[CR]Muuda lisamoodulite seadeid" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]SEADISTA TV SEADEID[/B][CR][CR]Muuda täisekraani infot · Halda elektroolise saatekava andmete seadeid" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]KONFIGUREERI TEENUSE SEADEID[/B][CR][CR]Seadista XBMC uhtimine UPnP ja HTTP kaudu · Seadista failide ühiskasutus[CR]Luba Zeroconf · Konfigureeri AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Esimese kasutuse abi...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "See märge näitab, et selle akna taga on peidus lisaseadete menüü. Menüü nägemiseks vajutage puldil või klaviatuuril vasakut noolt või suunake hiir selle märke kohale. [CR][CR]Vajutage dialoogi sulgemiseks \"Ok\". See ei avane uuesti." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Vali enda XBMC profiil[CR]ja jätka" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Salvestamise ajastused" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Plaanitud aeg" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Live TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Lisa grupp" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Nimeta grupp ümber" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Kustuta grupp" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Olemasolevad[CR]grupid" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Kanali grupp" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Ajastuse seade" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanali valik" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 tunni prognoos" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Igatunnine prognoos" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Nädalalõpu prognoos" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Kümne päeva prognoos" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Ilmateade" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Võimalus sademeteks" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Ilmateate andmete hankimine..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Kaart ja hoiatused" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Finnish/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Finnish/strings.po new file mode 100644 index 000000000..a7eb25640 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Finnish/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Määritä" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Virta-asetukset" + +msgctxt "#31004" +msgid "Working..." +msgstr "Suoritetaan..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Piilota tiedot" + +msgctxt "#31006" +msgid "View Options" +msgstr "Näkymän asetukset" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Kokoruutu" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Kokonaiskesto" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Musiikki - Tiedostot" + +msgctxt "#31023" +msgid "Playing" +msgstr "Toistaa" + +msgctxt "#31024" +msgid "Page" +msgstr "Sivu" + +msgctxt "#31025" +msgid "Items" +msgstr "Kohdetta" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Muut asetukset" + +msgctxt "#31027" +msgid "Location" +msgstr "Paikkakunta" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Julistekierto" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanitaide" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Kuva kuvake" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Kuvakierto" + +msgctxt "#31033" +msgid "Info" +msgstr "Tiedot" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Nyt toistetaan" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "TOISTETAAN" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "TAUKO" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "KELAUS ETEENPÄIN" + +msgctxt "#31045" +msgid "REWIND" +msgstr "KELAUS TAAKSEPÄIN" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualisoinnin esiasetukset" + +msgctxt "#31049" +msgid "End Time" +msgstr "Päättymisaika" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Järjestä: Nousevasti" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Järjestä: Laskevasti" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Avaa toistolista" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Tallenna toistolista" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Sulje toistolista" + +msgctxt "#31058" +msgid "System music files" +msgstr "Musiikkitiedostot" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Nykyinen toistolista" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Tämä tiedosto on pinottu, valitse osa jonka haluat toistaa." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Nyt valittuna" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Päävalikon asetukset" + +msgctxt "#31102" +msgid "Background" +msgstr "Tausta" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Näytä \"Tauko\" kuvaesityksessä" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Toista esittelyt ikkunassa [COLOR=grey3](Videotiedot-ikkuna)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Yleiset asetukset" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Piilota tiedostojen nimistä luetut merkinnät [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Piilota päävalikon painikkeet" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Aktivoi mukautettu tausta" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Taustan polku:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Piilota" + +msgctxt "#31112" +msgid "Options" +msgstr "Asetukset" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Näytä viimeksi lisätyt albumit" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Näytä viimeksi lisätyt videot" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Päävalikon Ohjelmat-alivalikko" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Piilota taustan fanitaide" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Sääsivu" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Näytä taustalla \"Nyt katsellaan\"-video" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Näytä taustalla \"Nyt kuunnellaan\"-visualisointi" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Toista TV-tunnusmusiikit videokirjastossa (TvTunes-lisäosa)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Sanoitukset" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Piilota fanitaide kokoruudun visualisoinnissa" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Sanoitukset-lisäosa" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Tekstitykset-lisäosa" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Päävalikon Videot-alivalikko" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Päävalikon Musiikki-alivalikko" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Päävalikon Kuvat-alivalikko" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Musiikki-OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video-OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Pikavalinnat" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Valitse kappale" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Sanoitusten lähde" + +msgctxt "#31206" +msgid "Found" +msgstr "Löytyi" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Etsi lisää kohteita" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Tulevat jaksot" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Tämänhetkinen säätila" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Viimeksi päivitetty" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Tietojen tarjoaja" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Piilota fanitaide" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Elokuvan tiedot" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Käytetty muisti:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Kappalenumero" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanitaide kuvaa[CR][CR]ei ole saatavilla[CR][CR]Klikkaa asettaaksesi" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Nykyinen hakupaikka" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Valitse hakupaikka" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Sisällön hakuasetukset" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Polku" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Valittu profiili" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Viimeksi kirjauduttu" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke kappaleen valinta" + +msgctxt "#31322" +msgid "Aired" +msgstr "Esitetty" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Toistolistan asetukset" + +msgctxt "#31326" +msgid "Created" +msgstr "Luotu" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resoluutio" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Viimeksi lisätty" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Ajastus[/B] [COLOR=grey2] - Aikaa järjestelmän sammuttamiseen[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Paina painiketta katsoaksesi[CR][CR]elokuvaesittelyn" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Albumin tiedot" + +msgctxt "#31351" +msgid "Pause" +msgstr "Tauko" + +msgctxt "#31352" +msgid "Stop" +msgstr "Pysäytä" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Kelaa eteenpäin" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Kelaa taaksepäin" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Elokuvavalikko" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Lataa tekstitykset" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Ulkoasun oletus" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Ulkoasun oletus ilman isoja kirjaimia" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial pohjainen" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]Muokkaa käyttöliittymän asetuksia[/B][CR][CR]Vaihda ulkoasua · Vaihda kieliasetuksia · Aseta tiedostolistauksen asetukset[CR]Aseta ruudunsäästäjä" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]Muokkaa video-asetuksia[/B][CR][CR]Hallitse videokirjastoa · Aseta videotoiston asetukset · Vaihda videolistauksen asetuksia[CR]Aseta tekstitysasetukset" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]Muokkaa musiikki-asetuksia[/B][CR][CR]Hallitse musiikkikirjastoa · Aseta musiikkitoiston asetukset · Vaihda musiikkilistauksen[CR]asetuksia · Aseta kappaleen lähetysasetuksia · Aseta karaoke-asetukset" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]Muokkaa kuva-asetuksia[/B][CR][CR]Aseta kuvalistauksen asetukset · Määritä kuvaesityksiä" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]Muokkaa sää-asetuksia[/B][CR][CR]Aseta kolme kaupunkia joista noudetaan säätiedot" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]Muokkaa järjestelmän asetuksia[/B][CR][CR]Aseta ja kalibroi näyttö · Määritä äänilähtö · Aseta kauko-ohjaus[CR]Aseta sähkönsäästöasetukset · Ota debuggaus käyttöön · Muokkaa pääkäyttäjän lukituksia" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]Muokkaa lisäosia[/B][CR][CR]Hallitse asennettuja lisäosia · Valitse ja asenna lisäosia xbmc.org:sta[CR]Muokkaa lisäosien asetuksia" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]Muokkaa TV-asetuksia[/B][CR][CR]Muokkaa kokoruudun tietoja · Hallitse ohjelmaoppaan asetuksia" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Määritä XBMC:n kauko ohjaus käyttäen UPnP:tä ja HTTP:tä · Määritä tiedostonjako[CR]Kytke päälle Zeroconf · Määritä AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Ensimmäisen käynnistyksen apu..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Tämä välilehti viittaa siihen että on valikko tämän ikkunan kyljessä joka sisältää lisäominaisuuksia tähän alueeseen liittyen. Avataaksesi valikon, liiku vasemmalle kaukosäätimellä tai näppäimistöllä tai siirrä hiiresi kursori välilehden päälle. [CR] [CR]Tämä ilmoitus ei näy uudestaan, klikkaa \"Ok\" sulkeaaksesi sen." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Valitse XBMC-käyttäjäprofiili[CR]kirjautuaksesi sisään" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Nauhoitusajastukset" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Kellonaika" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV-lähetys" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Lisää ryhmä" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Muuta ryhmän nimeä" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Poista ryhmä" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Saatavilla olevat[CR]ryhmät" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Kanavaryhmä" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Ajastettu" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanavan valinnat" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 tunnin ennuste" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Tunneittainen ennuste" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Viikonlopun ennuste" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 paivän ennuste" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Ennuste" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Sateen mahdollisuus" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Noudetaan ennusteen tietoja..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Kartta ja hälytykset" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/French/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/French/strings.po new file mode 100644 index 000000000..6201c68a4 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/French/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Changement des" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Options d'alimentation" + +msgctxt "#31004" +msgid "Working..." +msgstr "En cours…" + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Masquer les informations" + +msgctxt "#31006" +msgid "View Options" +msgstr "Options d'affichage" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Plein écran" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Durée totale" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Musique - Fichiers" + +msgctxt "#31023" +msgid "Playing" +msgstr "Lecture" + +msgctxt "#31024" +msgid "Page" +msgstr "Page" + +msgctxt "#31025" +msgid "Items" +msgstr "Objets" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Options diverses" + +msgctxt "#31027" +msgid "Location" +msgstr "Emplacement" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Galerie d'affiches" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Vignettes" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Galerie d'images" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Lecture en cours" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "LECTURE" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSE" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AVANCE RAPIDE" + +msgctxt "#31045" +msgid "REWIND" +msgstr "RETOUR RAPIDE" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Préréglages de visualisation" + +msgctxt "#31049" +msgid "End Time" +msgstr "Échéance" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Tri : Ascendant" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Tri : Descendant" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Ouvrir une playliste" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Sauvegarder la playliste" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Fermer la playliste" + +msgctxt "#31058" +msgid "System music files" +msgstr "Fichiers musique du système" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Playliste actuelle" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Ce fichier est empilé, sélectionnez le point à partir duquel vous souhaitez lire." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Sélection actuelle" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Options de l'écran d'accueil" + +msgctxt "#31102" +msgid "Background" +msgstr "Arrière-plan" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Afficher « Pause » dans le diaporama d'images" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Jouer les bandes-annonces dans une fenêtre [COLOR=grey3](Uniquement dans les informations de la vidéo en cours)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Options diverses" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Masquer l'indicateur de fichiers vidéo déjà vus [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Masquer les boutons du menu principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Activer l'arrière-plan personnalisé" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Chemin de l'arrière-plan :" + +msgctxt "#31111" +msgid "Hide" +msgstr "Masquer" + +msgctxt "#31112" +msgid "Options" +msgstr "Options" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Afficher les albums récemment ajoutés" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Afficher les vidéos récemment ajoutées" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Sous-menu Programmes de la page d'accueil" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Masquer le Fanart d’arrière-plan" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Page Météo" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Afficher la vidéo en cours de lecture en arrière-plan" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Afficher la visualisation en cours de lecture en arrière-plan" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Jouer les génériques TV dans la médiathèque vidéo (extension TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Paroles" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Cacher Fanart en mode plein ecran" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Extension gérant les paroles" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Extension gérant les sous-titres" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Sous-menu Videos de la page d'accueil" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Sous-menu Musique de la page d'accueil" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Sous-menu Images de la page d'accueil" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Menu à l'écran Musique" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Menu à l'écran Vidéo" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Raccourcis" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Choisissez votre chanson" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Source pour les paroles" + +msgctxt "#31206" +msgid "Found" +msgstr "Trouvé" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Trouver plus d'éléments" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Prochains épisodes" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Température actuelle" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Dernière mise à jour" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Fournisseur de données" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Sans Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Détails du film" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Mémoire utilisée :" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Numéro de la piste" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Image Fanart[CR][CR]Indisponible[CR][CR] Cliquer sur le bouton pour définir" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper actuel" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Choisissez un scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Options de scan de contenu" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Définir le chemin du Fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Profil sélectionné" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Dernière connexion" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Sélecteur chanson karaoké" + +msgctxt "#31322" +msgid "Aired" +msgstr "Diffusé" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Options de playliste" + +msgctxt "#31326" +msgid "Created" +msgstr "Créé" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Résolution" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Récemment ajouté" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Minuterie réglée ![/B] [COLOR=grey2] - Arrêt automatique du système dans[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Cliquer sur le bouton pour lire[CR][CR]la bande-annonce du film" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Détails de l'album" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pause" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Avance rapide" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Retour rapide" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menu film" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Télécharger les sous-titres" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Par défaut" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Par défaut sans majuscule" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Basé sur Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]CONFIGURATION DES PARAMÈTRES APPARENCE[/B][CR][CR]Changer le thème · Définir la langue et la région · Changer les options de liste de fichiers[CR]Paramétrer l'économiseur d'écran" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]CONFIGURATION DES PARAMÈTRES VIDÉO[/B][CR][CR]Gérer votre médiathèque vidéo · Définir les options de lecture · Changer les options des listes de vidéos[CR]Définir la police des sous-titres" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]CONFIGURATION DES PARAMÈTRES MUSIQUE[/B][CR][CR]Gérer votre médiathèque musique · Définir les options de lecture · Changer les options des listes de musique[CR]Paramétrer les soumissions de chansons · Définir les options karaoké" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]CONFIGURATION DES PARAMÈTRES IMAGE[/B][CR][CR]Définir les options de lecture · Configurer les diaporamas" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]CONFIGURATION DES PARAMÈTRES MÉTÉO[/B][CR][CR]Choisir trois villes pour lesquelles recueillir les informations météorologiques" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]CONFIGURATION DES PARAMÈTRES SYSTÈME[/B][CR][CR]Configurer et calibrer les écrans · Configurer les sorties audio · Configurer les périphériques de contrôle[CR]Définir les options de gestion d'énergie · Activer le débogage · Configurer la sécurité" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]CONFIGURATION DES EXTENSIONS[/B][CR][CR]Gérer les extensions installées · Recherche et installation d'extensions depuis xbmc.org[CR]Modifier les paramètres des extensions" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURER RÉGLAGES TV[/B][CR][CR]Changer les informations de plein écran · Gérer les données du Guide des Programmes" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGURATION DES PARAMÈTRES DE SERVICE[/B][CR][CR]Configurer le contrôle de XBMC en UPnP et HTTP · Configurer le partage de fichiers[CR]Activer Zeroconf · Configurer AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Aide au démarrage" + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Cet onglet signale un menu en côté de fenêtre contenant des options supplémentaires pour cette section. Pour accéder à ce menu, appuyez sur la flèche de gauche sur votre télécommande ou votre clavier ou placez votre souris au dessus de l'onglet. [CR][CR]Cliquez sur \"Ok\" pour fermer cette fenêtre. Elle n’apparaîtra plus." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Sélectionnez le profil d'utilisateur[CR]auquel vous connecter et continuer" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Minuteries des enregistrements" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Heure prévue" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV Direct" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Ajouter un Groupe" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Renommer le Groupe" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Supprimer le Groupe" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Groupes[CR]disponibles" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Groupe des Chaînes" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Réglage de la minuterie" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Options des Chaînes" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Prévisions sur 36 heures" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Prévisions heure par heure" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Prévisions pour le weekend" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Prévisions sur 10 jours" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Prévisions" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Risque de pluie" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Récupération des prévisions météo…" + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Carte & Alertes" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Galician/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Galician/strings.po new file mode 100644 index 000000000..948c86b9e --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Galician/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Troca o teu" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opcións de enerxía" + +msgctxt "#31004" +msgid "Working..." +msgstr "A traballar..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Ocultar información" + +msgctxt "#31006" +msgid "View Options" +msgstr "Ver opcións" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Pantalla compelta" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Duración total" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Música - Ficheiros" + +msgctxt "#31023" +msgid "Playing" +msgstr "A reproducir" + +msgctxt "#31024" +msgid "Page" +msgstr "Páxina" + +msgctxt "#31025" +msgid "Items" +msgstr "Elementos" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Outras opcións" + +msgctxt "#31027" +msgid "Location" +msgstr "Localización" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Envoltorio de cartel" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Cartel" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Miniaturas" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Envoltorio de imaxe" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Reproducindo" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUCINDO" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSADO" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AXIÑA ADIANTE" + +msgctxt "#31045" +msgid "REWIND" +msgstr "REBOBINAR" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Preconfiguracións de visualizacións" + +msgctxt "#31049" +msgid "End Time" +msgstr "Tempo final" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ordear: Ascendente" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ordear: Descendente" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Abrir lista de reproducción" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Gardar lista de reproducción" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Pechar lista de reproducción" + +msgctxt "#31058" +msgid "System music files" +msgstr "Ficheiros de música do sistema" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Lista de reproducción actual" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Este arquivo esta amontoado, selecione a parte que quere reproducir." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Seleccionado actualmente" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opcións da pantalla de inicio" + +msgctxt "#31102" +msgid "Background" +msgstr "Fondo" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Mostrar \"Pausado\" nunha diapositiva" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Reproducir trailers nunha fiestra [COLOR=grey3](Só diálgo de información de video)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Outras opcións" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Agochar a lectura da marcaxe dende os nomes dos videos [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ocultar botóns do menú principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Activar fondo personalizado" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Localización do fondo:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ocultar" + +msgctxt "#31112" +msgid "Options" +msgstr "Opcións" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Mostrar albumes engadidos recentemente" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Mostrar vídeos engadidos recentemente" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Submenú de aplicativos da páxina de inicio" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Agochar o fondo do cartel" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Páxina do Tempo" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Amosar o video reproducíndose actualmente no fondo" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Amosar a visualización reproducíndose actualmente no fondo" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Reproducir as cancións das series de TV na bibloteca de video (Engadido TVTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Letras" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ocultar Fanart na visualización de pantalla completa" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Complemento de letras" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Complemento de subtítulos" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Submenú de Videos da páxina de inicio" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Submenú de Música da páxina de inicio" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Submenú de Imaxes da páxina de inicio" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD de Música" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD de Video" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Atallos" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Escolle a túa canción" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Fonte das letras" + +msgctxt "#31206" +msgid "Found" +msgstr "Atopado" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Atopar máis elementos" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Vindeiros episodios" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura actual" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Última actualización" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Provedor de datos" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Agochar cartel" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Detalles da Película" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memoria empregada:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Número de seguemento" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Imaxe de cartel[CR][CR]Non dispoñible[CR][CR] Preme o botón para estabrecer" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper actual" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Escoller scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opcións de escaneado de contidos" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Estabrecer ruta de Carteis" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Selecionar perfíl" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Último ingreso" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Selecionador de cancións do Karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Emitido" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opcións da lista de reprodución" + +msgctxt "#31326" +msgid "Created" +msgstr "Creado" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolución" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Engadido recentemente" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Temporizador estabrecido![/B] [COLOR=grey2] - Apagado automático de sistema en[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Prema o botón para reproducir[CR][CR]Trailer da Película" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalles do Ãlbum" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pausa" + +msgctxt "#31352" +msgid "Stop" +msgstr "Parar" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Axiña Adiante" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Atrás" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menú de Película" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Descargar Subtítulos" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Pel por defecto" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Pel por defecto sen Maiúsculas" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Baseado en Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]CONFIGURAR PARÃMETROS DE APARIENCIA[/B][CR][CR]Trocar a pel · Estabrecer lingua e rexión · Trocar as opcións de listado de arquivos[CR]Estabrecer gardapantallas" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]CONFIGURAR PARÃMETROS DE VIDEO[/B][CR][CR]Xestionar a bibloteca de video · Estabrecer opcións da reprodución de video · Trocar opcións de listado de videos[CR]Estabrecer fontes dos subtítulos" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]CONFIGURAR PARÃMETROS DE MÚSICA[/B][CR][CR]Xestionar a bibloteca de música · Estabrecer as opcións de reprodución de música · Trocar opcións do listado da música[CR]Estabrecer a sumisión das cancións · Estabrecer as opcións do karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]CONFIGURAR PARÃMETROS DE IMAXES[/B][CR][CR]Estabrecer opcións do listado de imaxes · Configurar presentacións" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]CONFIGURAR PARÃMETROS DA METEOROLOXÃA[/B][CR][CR]Estabrecer tres cidade para a colleita de información meteorolóxica" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]CONFIGURAR PARÃMETROS DO SISTEMA[/B][CR][CR]Configurar as pantallas · Configurar a saída de audio · Estabrecer mandos remotos[CR]Estabrecer opcións de aforro enerxético · Activar depuración · Estabrecer bloque mestre" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]CONFIGURAR ENGADIDOS[/B][CR][CR]Xestionar engadidos instalados · Buscar e instalar Engadidos de xbmc.org[CR]Modificar a configuración dos Engadidos" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURAR TV[/B][CR][CR]Cambiar info de pantalla completa · Controlar configuración de datos EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGURAR PARÃMETROS DO SERVIZO[/B][CR][CR]Configurar o control de XBMC vía UPnP e HTTP · Configurar compartición de arquivos[CR]Activar Zeroconf · Configurar AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Axuda da primeira execución..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Esta lapela significa que existe un menú deshabilitado nesta xanela que contén máis opción para esta sección. Para acceder ó menú, ir a esquerda co control remoto o teclado ou move o punteiro do rato até a lapela. [CR][CR]Preme en \"Feito\" para pechar a caixa de dialogo. Non aparecera máis." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Selecione o seu perfíl de usuario de XBMC[CR]para ingresar e continuar" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "A gardar os Temporizadores" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Hora programada" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV en directo" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Engadir Grupo" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Renomear Grupo" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Eliminar Grupo" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Grupos[CR]Dispoñibles" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Canle do Grupo" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Axuste do Temporizador" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opcións da Canle" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Predición de 36 horas" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Predición de hora en hora" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Predición para a fin de semana" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Predición de 10 días" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Predición" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Probabilidades de chuvia" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Colleitando información da predición..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapas e Alertas" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/German/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/German/strings.po new file mode 100644 index 000000000..158fa4ab4 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/German/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Ändern der" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Power Optionen" + +msgctxt "#31004" +msgid "Working..." +msgstr "Arbeitet..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Verstecke Info" + +msgctxt "#31006" +msgid "View Options" +msgstr "Anzeige - Optionen" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Vollbild" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Insgesamte Laufzeit" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Musik - Dateien" + +msgctxt "#31023" +msgid "Playing" +msgstr "Abspielen" + +msgctxt "#31024" +msgid "Page" +msgstr "Seite" + +msgctxt "#31025" +msgid "Items" +msgstr "Einträge" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Allgemeine Optionen" + +msgctxt "#31027" +msgid "Location" +msgstr "Ort" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Poster" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Bildvorschau" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Bild Wrap" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Jetzt gespielt" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ABSPIELEN" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSE" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "VORSPULEN" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ZURÜCKSPULEN" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualisierungs - Voreinstellung" + +msgctxt "#31049" +msgid "End Time" +msgstr "Endzeit" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sortieren: Aufsteigend" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sortieren: Absteigend" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Öffne Wiedergabeliste" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Wiedergabeliste abspeichern" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Wiedergabeliste schließen" + +msgctxt "#31058" +msgid "System music files" +msgstr "System Musikdateien" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Aktuelle Wiedergabeliste" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Diese Datei ist gestapelt, wähle den zu startenden Teil aus." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Aktuell ausgewählt" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Hauptmenü - Optionen" + +msgctxt "#31102" +msgid "Background" +msgstr "Hintergrund" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Zeige \"Pause\" in Bilder Diaschau" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Trailer im Fenster wiedergeben [COLOR=grey3](Nur im Videoinformationsdialog)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Sonstige Optionen" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Flags von Dateinamen ausblenden [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Verstecke Hauptmenü Buttons" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Standard Hintergrund aktivieren" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Hintergrund Pfad:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Verstecke" + +msgctxt "#31112" +msgid "Options" +msgstr "Optionen" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Zeige kürzlich hinzugefügte Alben" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Zeige kürzlich hinzugefügte Videos" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Hauptmenü Programme-Untermenü" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Verstecke Hintergrund - Fanart" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Wetter - Infos" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Zeige im Hintergrund \"Aktuell abgespielt\"-Video" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Zeige im Hintergrund \"Aktuell abgespielt\"-Visualisierung" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Spiele TV-Titelmusik in der Video-Bibliothek (TvTunes Ad-on)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Songtexte" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Fanart in Vollbild Visualisierung deaktivieren." + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Songtext Add-on" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Untertitel Add-on" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Hauptmenü Videos-Untermenü" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Hauptmenü Musik-Untermenü" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Hauptmenü Bilder-Untermenü" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Musik-OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video-OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Tastenkürzel" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Wähle Deinen Song" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Songtext - Quelle" + +msgctxt "#31206" +msgid "Found" +msgstr "Gefunden" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Finde mehr" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Kommende Episoden" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Aktuelle Temperatur" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Zuletzt aktualisiert" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Quelle" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Verberge Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Film - Details" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Speicher-Auslastung:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Song - Nummer" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "FANART BILD[CR][CR]NICHT VORHANDEN[CR][CR] KLICKE BUTTON ZUM FESTLEGEN" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Aktueller Scraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Wähle Scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Inhalt Scanning Optionen" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Setze Fanart - Pfad" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Ausgewähltes Profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Letzte Anmeldung" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke Songauswahl" + +msgctxt "#31322" +msgid "Aired" +msgstr "Erschienen" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Wiedergabeliste - Optionen" + +msgctxt "#31326" +msgid "Created" +msgstr "Erstellt" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Auflösung" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Kürzlich Hinzugefügt" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]TIMER GESETZT![/B] [COLOR=grey2] - SYSTEM FÄHRT HERUNTER IN[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Starte[CR][CR]Filmtrailer" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Album Details" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pause" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Vorspulen" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Rückspulen" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmmenü" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Untertitel herunterladen" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Skin - Standard" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Skin - Standard ohne Großbuchstaben" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial basiert" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]KONFIGURIERE DIE DARSTELLUNGS EINSTELLUNGEN[/B][CR][CR]Ändere den Skin · Wähle Sprache und Region · Ändere Dateilisten Optionen[CR]Setze Bildschirmschoner" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]KONFIGURIERE VIDEO EINSTELLUNGEN[/B][CR][CR]Organisiere die Video-Bibliothek · Setze die Abspiel-Optionen · Ändere die Videoauflistungsoptionen[CR]Setze Untertitel Schriftart" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]KONFIGURIERE MUSIK-EINSTELLUNGEN[/B][CR][CR]Organisiere die Musik-Bibliothek · Setze die Musik Abspiel Optionen · Ändere die Musikauflistungsoptionen[CR]Konfiguriere die Musikübertragung · Setze Karaoke-Optionen" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]KONFIGURIERE BILDER EINSTELLUNGEN[/B][CR][CR]Setze Bildauflistungsoptionen · Konfiguriere Diashow" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]KONFIGURIERE WETTER EINSTELLUNGEN[/B][CR][CR]Wähle bis zu drei Städte zum Sammeln der Wetter-Informationen" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]KONFIGURIERE SYSTEM EINSTELLUNGEN[/B][CR][CR]Konfiguriere und kalibriere Anzeigen · Konfiguriere Audioausgabe · Setze Fernbedienungseinstellungen · Setze Energiespar-Optionen · Aktiviere Debugging · Einrichten der Master-Sperre" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KONFIGURIERE ADD-ONS[/B][CR][CR]Organisiere die installierten Add-ons · Installiere Add-ons von xbmc.org[CR]Add-on Einstellungen anpassen" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]TV Einstellungen konfigurieren[/B][CR][CR]Ändere die Vollbild Information - Verwalte die EPG-Daten Einstellungen" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]KONFIGURIERE DIENSTE[/B][CR][CR]Richte Zugriff auf XBMC via UPnP und HTTP ein · Konfiguriere die Dateifreigabe[CR]Aktiviere Zeroconf · Konfiguriere AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Hilfe beim ersten Start...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Dieses Symbol zeigt an, dass ein Menü an der Seite des Fensters versteckt ist, welches weitere Optionen beinhaltet. Um es aufzurufen, navigieren Sie nach links oder zeigen Sie mit der Maus darauf.[CR][CR]Klicken Sie auf \"Ok\" um diesen Dialog zu schließen. Er wird nicht wieder angezeigt werden." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Wähle Dein XBMC Benutzer Profil[CR]Zum Anmelden und Fortfahren" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Aufnahmetimer" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Geplante Zeit" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Live TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Gruppe hinzufügen" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Gruppe umbenennen" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Gruppe löschen" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Verfügbare[CR]Gruppen" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Kanalgruppe" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Timer gesetzt" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanaloptionen" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36-Stunden-Prognose" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Stündliche Prognose" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Wochenend-Prognose" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10-Tage-Prognose" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Prognose" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Niederschlagswahrscheinlichkeit" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Lade Wetterbericht..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Karte & Alarme" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Greek/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Greek/strings.po new file mode 100644 index 000000000..962d49938 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Greek/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Αλλαγή" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Επιλογές ΕνέÏγειας" + +msgctxt "#31004" +msgid "Working..." +msgstr "Απασχολημένο..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "ΑπόκÏυψη ΠληÏοφοÏιών" + +msgctxt "#31006" +msgid "View Options" +msgstr "Επιλογές ΠÏοβολής" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "ΠλήÏης Οθόνη" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Συνολική ΔιάÏκεια" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Μουσική - ΑÏχεία" + +msgctxt "#31023" +msgid "Playing" +msgstr "ΑναπαÏαγωγή" + +msgctxt "#31024" +msgid "Page" +msgstr "Σελίδα" + +msgctxt "#31025" +msgid "Items" +msgstr "Αντικείμενα" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "ΔιάφοÏες Επιλογές" + +msgctxt "#31027" +msgid "Location" +msgstr "Τοποθεσία" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Αφίσες" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "ΜικÏογÏαφίες" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Εικόνες" + +msgctxt "#31033" +msgid "Info" +msgstr "ΠληÏοφοÏίες" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "ΤώÏα Εκτελείται" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ΑÎΑΠΑΡΑΓΩΓΗ" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ΠΑΥΣΗ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ΜΠΡΟΣΤΑ" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ΠΙΣΩ" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "ΠÏοÏυθμίσεις Οπτικοποιητή" + +msgctxt "#31049" +msgid "End Time" +msgstr "ΧÏόνος Λήξης" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ταξ.: ΑÏξουσα" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ταξ.: Φθίνουσα" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Άνοιγμα λίστας αναπ/γής" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Αποθήκευση λίστας αναπ/γής" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Κλείσιμο λίστας αναπ/γής" + +msgctxt "#31058" +msgid "System music files" +msgstr "Μουσικά αÏχεία συστήματος" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "ΤÏέχουσα λίστα αναπ/γής" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Αυτό το αÏχείο είναι στοιβαγμένο, επιλέξτε από που να γίνει αναπαÏαγωγή." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "ΤÏέχουσα Επιλογή" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Επιλογές ΑÏχικής Οθόνης" + +msgctxt "#31102" +msgid "Background" +msgstr "ΥπόβαθÏο" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Εμφάνιση 'ΠαÏσης' σε παÏουσίαση διαφανειών" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "ΑναπαÏαγωγή Διαφημιστικών σε παÏάθυÏο [COLOR=grey3](Μόνο οι πληÏοφοÏίες βίντεο)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "ΔιάφοÏες επιλογές" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "ΑπόκÏυψη των αναγνώσιμων σημαιών από τα ονόματα αÏχείων βίντεο [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "ΑπόκÏυψη πλήκτÏων του ΚεντÏÎ¹ÎºÎ¿Ï ÎœÎµÎ½Î¿Ï" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "ΕνεÏγοποίηση ΠÏÎ¿ÏƒÏ‰Ï€Î¹ÎºÎ¿Ï Î¥Ï€Î¿Î²Î¬Î¸Ïου" + +msgctxt "#31110" +msgid "Background path:" +msgstr "ΔιαδÏομή υποβάθÏου:" + +msgctxt "#31111" +msgid "Hide" +msgstr "ΑπόκÏυψη" + +msgctxt "#31112" +msgid "Options" +msgstr "Επιλογές" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Εμφάνιση Άλμπουμ που ΠÏοστέθηκαν ΠÏόσφατα" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Εμφάνιση Βίντεο που ΠÏοστέθηκαν ΠÏόσφατα" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Î¥Ï€Î¿Î¼ÎµÎ½Î¿Ï Î•Ï†Î±Ïμογών ΑÏχικής Οθόνης" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "ΑπόκÏυψη Fanart ΥποβάθÏου" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Σελίδα ΚαιÏοÏ" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "ΥπόβαθÏο το βίντεο που \"ΤώÏα Εκτελείται\"" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "ΥπόβαθÏο η οπτικοποίηση που \"ΤώÏα Εκτελείται\"" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "ΑναπαÏαγωγή μουσικής σειÏών στη συλλογή (Ï€Ïόσθετο TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Στίχοι" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "ΑπόκÏυψη Fanart κατά τις οπτικοποιήσεις πλήÏους οθόνης" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "ΠÏόσθετο στίχων" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "ΠÏόσθετο Υποτίτλων" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Î¥Ï€Î¿Î¼ÎµÎ½Î¿Ï Î’Î¯Î½Ï„ÎµÎ¿ ΑÏχικής Οθόνης" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Î¥Ï€Î¿Î¼ÎµÎ½Î¿Ï ÎœÎ¿Ï…ÏƒÎ¹ÎºÎ®Ï‚ ΑÏχικής Οθόνης" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Î¥Ï€Î¿Î¼ÎµÎ½Î¿Ï Î•Î¹ÎºÏŒÎ½Ï‰Î½ ΑÏχικής Οθόνης" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Aπεικονίσεις οθόνης (OSD) Μουσικής" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Aπεικονίσεις οθόνης (OSD) Βίντεο" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "ΣυντομεÏσεις" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Επιλογή ΤÏαγουδιοÏ" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Πηγή Στίχων" + +msgctxt "#31206" +msgid "Found" +msgstr "Î’Ïέθηκαν" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "ΕÏÏεση ΠεÏισσότεÏων" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "ΕπεÏχόμενα Επεισόδια" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "ΤÏέχουσα ΘεÏμοκÏασία" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Τελευταία ΕνημέÏωση" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Πηγή δεδομένων" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "ΑπόκÏυψη Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "ΛεπτομέÏειες Ταινίας" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "ΧÏήση Μνήμης:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "ΑÏιθμός ΚομματιοÏ" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Εικόνα Fanart[CR][CR]Μη διαθέσιμη[CR][CR] Πιέστε το πλήκτÏο για να οÏίσετε" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "ΤÏέχον Scraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Επιλογή Scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Επιλογές ΣάÏωσης ΠεÏιεχομένου" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "ΟÏισμός ΔιαδÏομής Fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Επιλεγμένο ΠÏοφίλ" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Τελευταία Είσοδος" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Επιλογή ΤÏÎ±Î³Î¿Ï…Î´Î¹Î¿Ï Karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "ΠÏώτη ΠÏοβολή" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Επιλογές λίστας αναπ/γής" + +msgctxt "#31326" +msgid "Created" +msgstr "ΔημιουÏγήθηκε" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Ανάλυση" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "ΠÏοστέθηκαν ΠÏόσφατα" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]ΟÏίστηκε χÏονοδιακόπτης![/B] [COLOR=grey2] - ΤεÏματισμός συστήματος σε[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Πιέστε το πλήκτÏο για αναπαÏαγωγή[CR][CR]του διαφημιστικοÏ" + +msgctxt "#31331" +msgid "Album Details" +msgstr "ΛεπτομέÏειες Άλμπουμ" + +msgctxt "#31351" +msgid "Pause" +msgstr "ΠαÏση" + +msgctxt "#31352" +msgid "Stop" +msgstr "Διακοπή" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "ΜπÏοστά" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Πίσω" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "ÎœÎµÎ½Î¿Ï Î¤Î±Î¹Î½Î¹ÏŽÎ½" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Λήψη Υποτίτλων" + +msgctxt "#31390" +msgid "Skin default" +msgstr "ΠÏοεπιλογή" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "ΠÏοεπιλογή χωÏίς Κεφαλαία" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Βασισμένη σε Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]ΡΥΘΜΙΣΕΙΣ ΕΞΑΤΟΜΙΚΕΥΣΗΣ[/B][CR][CR]Αλλαγή κελÏφους · Αλλαγή χώÏας και γλώσσας συστήματος · Επιλογές καταλόγου αÏχείων[CR]ΠÏοσαÏμογή της Ï€ÏοφÏλαξης οθόνης" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]ΡΥΘΜΙΣΕΙΣ ΒΙÎΤΕΟ[/B][CR][CR]ΔιαχείÏιση της συλλογής βίντεο · ΡÏθμιση αναπαÏαγωγής βίντεο · Επιλογές καταλόγου ταινιών[CR]ΡÏθμιση γÏαμματοσειÏάς υποτίτλων" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ΡΥΘΜΙΣΕΙΣ ΜΟΥΣΙΚΗΣ[/B][CR][CR]ΔιαχείÏιση της μουσικής συλλογής · ΡÏθμιση αναπαÏαγωγής μουσικής · Επιλογές καταλόγου μουσικής[CR]ΡÏθμιση υποβολής Ï„ÏÎ±Î³Î¿Ï…Î´Î¹Î¿Ï Â· Επιλογές karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]ΡΥΘΜΙΣΕΙΣ ΕΙΚΟÎΩÎ[/B][CR][CR]Επιλογές καταλόγου εικόνων · ΡÏθμιση παÏουσίασης διαφανειών" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]ΡΥΘΜΙΣΕΙΣ ΚΑΙΡΟΥ[/B][CR][CR]ΟÏισμός Ï„Ïιών πόλεων για τις οποίες θα γίνεται Ï€Ïόγνωση καιÏοÏ" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]ΡΥΘΜΙΣΕΙΣ ΣΥΣΤΗΜΑΤΟΣ[/B][CR][CR]ΔιαμόÏφωση και βαθμονόμηση οθονών · ΡÏθμιση εξόδου ήχου · ΤηλεχειÏιστήÏια · Εξοικονόμηση ενέÏγειας · ΚαταγÏαφή σφαλμάτων (debug) · ΚεντÏικό κλείδωμα" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]ΡΥΘΜΙΣΕΙΣ ΠΡΟΣΘΕΤΩÎ[/B][CR][CR]ΔιαχείÏιση εγκατεστημένων Ï€Ïόσθετων · Αναζήτηση και εγκατάσταση Ï€Ïόσθετων από το xbmc.org[CR]ΤÏοποποίηση Ïυθμίσεων των Ï€Ïόσθετων" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]ΡΥΘΜΙΣΗ ΤΗΛΕΟΡΑΣΗΣ[/B][CR][CR]Αλλαγή πληÏοφοÏιών πλήÏους οθόνης · ΔιαχείÏιση των Ïυθμίσεων δεδομένων EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]ΡΥΘΜΙΣΕΙΣ ΥΠΗΡΕΣΙΩÎ[/B][CR][CR]ΧειÏισμός του XBMC μέσω UPnP και HTTP · ΡÏθμιση κοινής χÏήσης αÏχείων[CR]ΕνεÏγοποίηση Zeroconf · ΡÏθμιση AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "ΑÏχική βοήθεια...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "ΥπάÏχει ένα Î¼ÎµÎ½Î¿Ï ÏƒÏ„Î¿ πλάι του παÏαθÏÏου, με επιπλέον επιλογές. Για να το ανοίξετε πιέστε το αντίστοιχο πλήκτÏο κατεÏθυνσης ή μεταφέÏετε εκεί το ποντίκι σας.[CR][CR]Πιέστε 'Επιλογή' για να κλείσει αυτό το παÏάθυÏο. Δε θα εμφανιστεί ξανά." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Επιλέξτε Ï€Ïοφίλ χÏήστη για το XBMC[CR]για να συνδεθείτε και να συνεχίσετε" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "ΧÏονοδιακόπτες ΕγγÏαφής" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "ΠÏογÏαμματισμένη ÎÏα" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Live TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "ΠÏοσθήκη ΓκÏουπ" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Μετονομασία ΓκÏουπ" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "ΔιαγÏαφή ΓκÏουπ" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Διαθέσιμα[CR]ΓκÏουπ" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "ΓκÏουπ Καναλιών" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "ΟÏίστηκε ΧÏονοδιακόπτης" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Επιλογές ΚαναλιοÏ" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36ωÏη ΠÏόγνωση" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "ΩÏιαία ΠÏόγνωση" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "ΠÏόγνωση ΣαββατοκÏÏιακου" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "ΠÏόγνωση 10 ημεÏών" + +msgctxt "#31905" +msgid "Forecast" +msgstr "ΠÏόγνωση" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Πιθανότητα ΥετοÏ" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Ανάκτηση Ï€Ïόγνωσης καιÏοÏ..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "ΧάÏτης & ΠÏοειδοποιήσεις" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Hebrew/strings.po new file mode 100644 index 000000000..d377a4863 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Hebrew/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "שנה ×ת" + +msgctxt "#31003" +msgid "Power Options" +msgstr "×פשרויות חשמל" + +msgctxt "#31004" +msgid "Working..." +msgstr "עובד ..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "הסתר מידע" + +msgctxt "#31006" +msgid "View Options" +msgstr "הצג ×פשרויות" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "מסך מל×" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "סה\"×› משך זמן" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "קבצי מוזיקה" + +msgctxt "#31023" +msgid "Playing" +msgstr "מנגן" + +msgctxt "#31024" +msgid "Page" +msgstr "עמוד" + +msgctxt "#31025" +msgid "Items" +msgstr "פריטי×" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "×פשרויות שונות" + +msgctxt "#31027" +msgid "Location" +msgstr "מיקו×" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "עטיפת פוסטר" + +msgctxt "#31029" +msgid "Fanart" +msgstr "פ×× ×רט" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "תמונות ממוזערות" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "עטיפת תמונה" + +msgctxt "#31033" +msgid "Info" +msgstr "מידע" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "מנגן כעת" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "מנגן" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "הפסקה" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "הרצה קדימה" + +msgctxt "#31045" +msgid "REWIND" +msgstr "הרצה ×חורה" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "קביעוני חיזוי" + +msgctxt "#31049" +msgid "End Time" +msgstr "זמן סיו×" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "מיון: סדר עולה" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "מיון: סדר יורד" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "פתח רשימת השמעה" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "שמור רשימת השמעה" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "סגור רשימת השמעה" + +msgctxt "#31058" +msgid "System music files" +msgstr "קבצי מוזיקת מערכת" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "רשימת השמעה נוכחית" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "קובץ ×–×” שייך לערימה. בחר נקודת התחלה" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "כרגע מסומני×" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "×פשרויות מסך הבית" + +msgctxt "#31102" +msgid "Background" +msgstr "רקע" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "הר××” \"הפסקה\" במצגת תמונות" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "נגן ×§×“×™×ž×•× ×™× ×‘×—×œ×•×Ÿ [COLOR=grey3](חלון פרטי ויד×ו בלבד)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "×פשרות שונות" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "×”×—×‘× ×¡×™×ž×•×œ \"נצפה\" משמות קבצי ויד×ו [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "הסתר כפתורי תפריט ר×שי" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "×פשר רקע מות×× ×ישית" + +msgctxt "#31110" +msgid "Background path:" +msgstr "נתיב תמונת רקע:" + +msgctxt "#31111" +msgid "Hide" +msgstr "הסתר" + +msgctxt "#31112" +msgid "Options" +msgstr "×פשרויות" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "הצג ××œ×‘×•×ž×™× ×©× ×•×¡×¤×• ל×חרונה" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "הצג ויד×ו שנוסף ל×חרונה" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "תת-תפריט תוכנות במסך הבית" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "×”×—×‘× ×”×¦×’×ª פ×× ×רט ברקע" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "מסך מזג ×ויר" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "הצג ברקע \"מנגן כעת\" ויד×ו" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "הצג ברקע \"מנגן כעת\" חיזוי" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "נגן נעימות של סדרות טלוויזיה בספריית סדרות הטלווויזיה (תוסף TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "מילות שירי×" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "הסתר עטיפת דיסק בזמן הנפשות" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "תוספי ×ž×™×œ×™× ×œ×©×™×¨×™×" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "תסוף כתובית" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "תת-תפריט ויד×ו במסך הבית" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "תת-תפריט מוסיקה במסך הבית" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "תת-תפריט תמונות במסך הבית" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "מוזיקה OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "ויד×ו OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "קיצורי×" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "בחר ×ת השיר שלך" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "מקור ×œ×ž×™×œ×™× ×œ×©×™×¨×™×" + +msgctxt "#31206" +msgid "Found" +msgstr "נמצ×" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "×ž×¦× ×¤×¨×˜×™× × ×•×¡×¤×™×" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "×”×¤×¨×§×™× ×”×§×¨×•×‘×™×" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "טמפ' נוכחית" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "עודכן ל×חרונה" + +msgctxt "#31303" +msgid "Data provider" +msgstr "ספק מידע" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "×”×—×‘× ×¤×× ×רט" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "פרטי סרט" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "זכרון שנוצל:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "מספר רצועה" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "תמונת פ×× ×רט [CR][CR]×œ× ×–×ž×™× ×”[CR][CR] לחץ כדי לקבוע" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "סקרייפר נוכחי" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "בחר סקרייפר" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "הגדרות סריקת תוכן" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "הגדר ×ž×™×§×•× ×¤×× ×רט" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "פרופיל נבחר" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "חיבור שהתבצע ל×חרונה" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "בוחר שיר לקריוקי" + +msgctxt "#31322" +msgid "Aired" +msgstr "שודר" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "×פשרויות רשימת השמעה" + +msgctxt "#31326" +msgid "Created" +msgstr "נוצר" + +msgctxt "#31327" +msgid "Resolution" +msgstr "רזולוציה" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "התווספו ל×חרונה" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]הטיימר נקבע![/B] [COLOR=grey2] - כיבוי מערכת ×וטומטי בעוד[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "לחץ על הכפתור כדי לנגן[CR][CR]טריילר" + +msgctxt "#31331" +msgid "Album Details" +msgstr "פרטי ×לבו×" + +msgctxt "#31351" +msgid "Pause" +msgstr "הפסקה" + +msgctxt "#31352" +msgid "Stop" +msgstr "עצור" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "הרצה קדימה" + +msgctxt "#31354" +msgid "Rewind" +msgstr "הרצה ×חורה" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "צפריט סרט" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "הורד כתוביות" + +msgctxt "#31390" +msgid "Skin default" +msgstr "ברירת מחדל של הסקין" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Skin default with no Caps" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial based" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]שינוי הגדרות מר××”[/B][CR][CR]שנה ×ת הסקין, קבע ×ת השפה וה×זור, שנה ×פשרויות הצגת קבצי×[CR]הגדר שומר מסך" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]שינוי הגדרות ויד×ו[/B][CR][CR]נהל ×ת ספריית הויד×ו שלך, קבע העדפות ניגון ויד×ו, שנה ×פשרויות הצגת קבצי ויד×ו[CR]הגדר ×¤×•× ×˜×™× ×œ×›×ª×•×‘×™×•×ª" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]שינוי הגדרות מוסיקה[/B][CR][CR]נהל ×ת ספריית המוסיקה שלך, קבע העדפות ניגון ויד×ו, שנה ×פשרויות הצגת קבצי מוסיקה[CR]הגדר דיווחי \"מה ×× ×™ שומע עכשיו\", קבע העדפות קריוקי" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]שינוי הגדרות תמונות[/B][CR][CR]שנה ×פשרויות הצגת קבצי תמונות, קבע תצורת מצגות" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]שינוי הגדרות מזג ×וויר[/B][CR][CR]קבע 3 ×¢×¨×™× ×©×‘×”×Ÿ תרצה ל×סוף מידע על מזג ×”×וויר" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]שינוי הגדרות מערכת[/B][CR][CR]הגדר וכייל צגי×, הגדר יצי×ת שמע, הגדר שלט רחוק[CR]קבע העדפות חיסכון בחשמל, הפעל דיבוג, הגדר קוד נעילה ר×שי" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]שינוי הגדרות הרחבות[/B][CR][CR]נהל ×ת ההרחבות המותקנות ×צלך, עיין והתקן הרחבות נוספות מxbmc.org[CR]שנה הגדרות הרחבות" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]הת×× ×”×’×“×¨×•×ª טלווזיה[/B][CR][CR]שנה מידע במסך ×ž×œ× Â· נהל מידע לוחות שידורי×" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]שינוי הגדרות שירותי×[/B][CR][CR]הגדר שליטה על XBMC בUPnP וHTTP, הגדר שיתוף קבצי×[CR]הפעל Zeroconf, הגדר ×ת AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "הרץ עזרה תחילה...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr ".לשונית זו מציינת שיש תפריט נוסף לצד חלון ×–×” שמכיל הגדרות נוספות לחלק ×–×”. ×¢\"מ לגשת לתפריט ×–×”, לחץ על מקש שמ×לה בשלט ×ו במקלדת ×ו הצב ×ת העכבר על לשונית זו. [CR][CR]לחץ על \"×ישור\" ×¢\"מ לסגור תיבה זו.×”×™× ×œ× ×ª×•×¤×™×¢ שוב." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "בחר בפרופיל משתמש XBMC [CR]שלך כדי להתחבר ולהמשיך" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "מתזמני הקלטות" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "זמן מתוזמן" + +msgctxt "#31502" +msgid "Live TV" +msgstr "טלוויזיה ×—×™×”" + +msgctxt "#31503" +msgid "Add Group" +msgstr "הוסף קבוצה" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "שנה ×©× ×§×‘×•×¦×”" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "מחק קבוצה" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "קבוצות[CR]זמינות" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "קבוצת ערוצי×" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "מתזמן נקבע" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "×פשרויות ערוץ" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "תחזית ל36 שעות" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "תחזית לשעה הקרובה" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "תחזית לסופ\"ש" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "תחזית ל-10 ימי×" + +msgctxt "#31905" +msgid "Forecast" +msgstr "תחזית" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "סיכוי לרטיבות" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "משיג פרטי תחזית..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "מפה & התר×ות" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..c86631419 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31102" +msgid "Background" +msgstr "पृषà¥à¤ à¤­à¥‚मि" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "गीत" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "लघॠपाथें " + +msgctxt "#31327" +msgid "Resolution" +msgstr "संकलà¥à¤ª" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Hungarian/strings.po new file mode 100644 index 000000000..5fe46f633 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Hungarian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Választható" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Kikapcsolási lehetÅ‘ségek" + +msgctxt "#31004" +msgid "Working..." +msgstr "Dolgozom..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Információ elrejtése" + +msgctxt "#31006" +msgid "View Options" +msgstr "Nézet lehetÅ‘ségek" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Teljes képernyÅ‘" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Teljes idÅ‘tartam" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Zene - Fájlmód" + +msgctxt "#31023" +msgid "Playing" +msgstr "Éppen játszva" + +msgctxt "#31024" +msgid "Page" +msgstr "Oldal" + +msgctxt "#31025" +msgid "Items" +msgstr "Elem" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Egyéb beállítások" + +msgctxt "#31027" +msgid "Location" +msgstr "Fekvés" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Poszter" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Kép ikonok" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Képborító" + +msgctxt "#31033" +msgid "Info" +msgstr "Infó" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Most játszva" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "LEJÃTSZÃS" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "MEGÃLLÃTVA" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ELÅRETEKERÉS" + +msgctxt "#31045" +msgid "REWIND" +msgstr "VISSZATEKERÉS" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Vizualizáció altípusok" + +msgctxt "#31049" +msgid "End Time" +msgstr "Befejezés idÅ‘pontja" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sorrend: NövekvÅ‘" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sorrend: CsökkenÅ‘" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Játszáslista megnyitása" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Játszáslista mentése" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Játszáslista zárása" + +msgctxt "#31058" +msgid "System music files" +msgstr "Rendszer, zene fájlok" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Jelenlegi játszáslista" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Ez a fájl egyesített. Válaszd azt a részt, ahonnan a lejátszást szeretnéd kezdeni." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Jelenleg kiválasztott" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "SajátképernyÅ‘ lehetÅ‘ségei" + +msgctxt "#31102" +msgid "Background" +msgstr "Háttér" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "\"Megállítva\" mutatása a diavetítés közben" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "FilmelÅ‘zetesek lejátszása ablakban [COLOR=grey3](csak a videóinfó ablakban)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Egyéb beállítások" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "FájlnevekbÅ‘l olvasott filmjellemzÅ‘k elrejtése [COLOR=grey3](BR, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "FÅ‘menü gombok láthatósága" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Saját háttér engedélyezése" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Háttér mappa: " + +msgctxt "#31111" +msgid "Hide" +msgstr "Elrejt" + +msgctxt "#31112" +msgid "Options" +msgstr "LehetÅ‘ségek" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Nemrég hozzáadott albumok mutatása" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Nemrég hozzáadott videók mutatása" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "SajátképernyÅ‘ programok almenü" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Fanart-háttér elrejtése" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "IdÅ‘járás oldal" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "A háttérben az éppen játszott videó megjelenítése" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "A háttérben az éppen futó vizualizáció megjelenítése" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "TV fÅ‘téma dalok játszása a videó médiatárban (TvTunes kiegészítÅ‘)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Dalszöveg" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Fanart elrejtése teljes képernyÅ‘s vizualizációnál" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Dalszöveg kiegészítÅ‘" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Filmfelirat kiegészítÅ‘" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "FÅ‘képernyÅ‘ Videó almenü" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "FÅ‘képernyÅ‘ Zene almenü" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "FÅ‘képernyÅ‘ Képek almenü" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Zene tálca" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Videó tálca" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Parancsikonok" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Válaszd a dalodat" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Dalszövegforrás" + +msgctxt "#31206" +msgid "Found" +msgstr "Található" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "További elemek keresése" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Következő epizódok" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "HÅ‘mérséklet most" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Utoljára frissítve" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Adatszolgáltató" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Fanart elrejtése" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Film részletek" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memória használat:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Zeneszám" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart kép[CR][CR]Elérhetetlen[CR][CR] Nyomj a gombra a beállításhoz" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Jelenlegi leolvasó" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Válassz leolvasót" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Tartalomkeresési lehetÅ‘ségek" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Fanart elérési helye" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Választott profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Utoljára bejelentkezve" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke dalválasztó" + +msgctxt "#31322" +msgid "Aired" +msgstr "Játszva" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Játszáslista lehetÅ‘ségek" + +msgctxt "#31326" +msgid "Created" +msgstr "Létrehozva" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Felbontás" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nemrég hozzáadva" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]IdÅ‘zítÅ‘ beállítva![/B] [COLOR=grey2] - Automatikus leállítás ennyi idÅ‘ múlva:[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Nyomd a gombot a filmelÅ‘zetes[CR][CR]Lejátszásához" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Album részletek" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pillanat állj" + +msgctxt "#31352" +msgid "Stop" +msgstr "Leállítás" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "ElÅ‘retekerés" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Visszatekerés" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Film menü" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Felirat letöltése" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Felszín alapértelmezése" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Alapértelmezett, nagybetűsítés nélkül" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial betűkészlet" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]MEGJELENÃTÉS MÓDJÃNAK BEÃLLÃTÃSA[/B][CR][CR]Felszín váltása · Nyelv, régió váltása · Fájl listázás módjának beállítása[CR]KépernyÅ‘védÅ‘ beállítása" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]VIDEÓ BEÃLLÃTÃSOK[/B][CR][CR]Film médiatár kezelése · Videólejátszás beállítása · Videólistázás módjának beállítása[CR]Feliratok karaktertípusának váltása" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ZENE BEÃLLÃTÃSOK[/B][CR][CR]Zene médiatár kezelése · Zenelejátszás beállítása · Zenelistázás módjának beállítása[CR]Zene lejátszási szabályok felállítása · Karaoke lehetÅ‘ségek" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]KÉP BEÃLLÃTÃSOK[/B][CR][CR]Képek listázási módjának beállítása · Diavetítés beállítása" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]IDÅJÃRÃS BEÃLLÃTÃSOK[/B][CR][CR]Három város megadása, melyekrÅ‘l idÅ‘járás információk fognak megjelenni" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]RENDSZERBEÃLLÃTÃSOK[/B][CR][CR]KijelzÅ‘k beállítása, kalibrálása · Hangkimenet konfigurálása · Távirányító beállítása[CR]Energiagazdálkodási lehetÅ‘ségek beállítása · Hibakeresés bekapcsolása[CR]Mesterzár felállítása" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KIEGÉSZÃTÅK BEÃLLÃTÃSA[/B][CR][CR]A telepített kiegészítÅ‘k kezelése · KiegészítÅ‘k böngészése és telepítése az xbmc.org[CR]webhelyrÅ‘l · KiegészítÅ‘k beállításainak módosítása" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]TV BEÃLLÃTÃSOK[/B][CR][CR]TeljesképernyÅ‘s infó · Elektronikus Programújság (EPG) beállítások" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]SZOLGÃLTATÃSOK BEÃLLÃTÃSA[/B][CR][CR]XBMC UPNP-n és HTTP-n keresztüli vezérlésének beállításai · Fájlmegosztás beállításai[CR]Zeroconf engedélyezése · AirPlay beállításai" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Segítség elsÅ‘ indításkor..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Ez a fül azt jelzi hogy oldalt van egy menü, extra opciókkal az adott tartalomhoz. A menühöz hozzáférhetsz ha az egérmutatót a fül fölé viszed, vagy a bal nyilat megnyomod a távirányítón. [CR][CR]Nyomj \"OK\" gombot a szöveg bezárásához. Nem fog mégegyszer megjelenni." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Válaszd ki az XBMC felhasználói profilod[CR]a belépéshez" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Felvétel idÅ‘zítÅ‘k" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Ütemezett idÅ‘zítés" + +msgctxt "#31502" +msgid "Live TV" +msgstr "ÉlÅ‘ TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Csoport hozzáadása" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Csoport átnevezése" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Csoport törlése" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "ElérhetÅ‘[CR]Csoportok" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Csatorna csoportok" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "IdÅ‘zítÅ‘ beállítás" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Csatorna opciók" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 órás elÅ‘rejelzés" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "ElÅ‘rejelzés óránként" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Hétvégi elÅ‘rejelzés" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 napos elÅ‘rejelzés" + +msgctxt "#31905" +msgid "Forecast" +msgstr "ElÅ‘rejelzés" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Csapadék esélye" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "ElÅ‘rejelzési információ letöltése..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Térkép & Riasztások" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Icelandic/strings.po new file mode 100644 index 000000000..916fb0ab6 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Icelandic/strings.po @@ -0,0 +1,486 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Breyta -" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Orkukostir" + +msgctxt "#31004" +msgid "Working..." +msgstr "Vinnsla..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Fela upplýsingar" + +msgctxt "#31006" +msgid "View Options" +msgstr "Stillingar sjónarhorns" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Allur skjárinn" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Alls tímalengd" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Tónlist - Skrár" + +msgctxt "#31023" +msgid "Playing" +msgstr "Spila" + +msgctxt "#31024" +msgid "Page" +msgstr "Síða" + +msgctxt "#31025" +msgid "Items" +msgstr "Hlutir" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Ãmsir valkostir" + +msgctxt "#31027" +msgid "Location" +msgstr "Staðsetning" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Veggspjaldafletting" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Aðdáendamyndir" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Smámyndir" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Myndafletting" + +msgctxt "#31033" +msgid "Info" +msgstr "Upplýsingar" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "à spilun" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "SPILA" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "à BIÃ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "HRATT ÃFRAM" + +msgctxt "#31045" +msgid "REWIND" +msgstr "TIL BAKA" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Forstillingar myndskreytinga" + +msgctxt "#31049" +msgid "End Time" +msgstr "Lokatími" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Raða: Hækkandi" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Raða: Lækkandi" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Opna lagalista" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Vista lagalista" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Loka lagalista" + +msgctxt "#31058" +msgid "System music files" +msgstr "Tónlistarskrár kerfis" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Núgildandi lagalisti" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Þessi skrá er stöfluð, veldu þann part sem þú vilt byrja að spila frá." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Núverandi val" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Stillingar heimaskjás" + +msgctxt "#31102" +msgid "Background" +msgstr "Bakgrunnur" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Sýna \"à bið\" í myndasýningu" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Spila kvikmyndasýnishorn í glugga [COLOR=grey3](Aðeins myndbandaupplýsingarglugga)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Ãmsir valkostir" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Fela flagg lesið frá skráarnöfnum [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Fela hnapp í aðalvalmynd" + +msgctxt "#31111" +msgid "Hide" +msgstr "Fela" + +msgctxt "#31112" +msgid "Options" +msgstr "Valkostir" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Sýna hljómplötur sem hefur nýlega verið bætt við" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Sýna myndbönd sem var nýlega bætt við" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Undirvalmynd heimasíðu" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Fela aðdáendamyndir í bakgrunni" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Veðursíða" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Sýna \"à spilun\" myndband í bakgrunni" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Sýna \"à spilun\" myndskreytingu í bakgrunni" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Spila þema lög í myndbandasafni (TvTunes viðbót)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Lagatextar" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Viðbót fyrir lagatexta" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Viðbót fyrir þýðingartexta" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Undirvalmynd myndbandasíðu" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Undirvalmynd tónlistarsíðu" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Undirvalmynd ljósmyndaasíðu" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Tónlistarskjár" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Myndbandaskjár" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Flýtileiðir" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Veldu þitt lag" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Frumkóði lagatexta" + +msgctxt "#31206" +msgid "Found" +msgstr "Fann" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Finna fleiri atriði" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Næstu þættir" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Núverandi hiti" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Síðast uppfært" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Gagnaveita" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Fela aðdáendamyndir" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Kvikmyndaupplýsingar" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Minni notað:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Númer lags" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Aðdáendamynd[CR][CR]Ekki fáanleg[CR][CR] Smelltu til að breyta" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Núverandi skafa" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Veldu sköfu" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Stillingar fyrir skönnun innihalds" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Breyta slóð fyrir aðdáendamyndir" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Veldu notanda" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Seinast skráður inn" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke lagaveljari" + +msgctxt "#31322" +msgid "Aired" +msgstr "Sýnt" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Valkostir lagalista" + +msgctxt "#31326" +msgid "Created" +msgstr "Búið til" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Upplausn" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nýlega bætt við" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Tímamælir virkur![/B] [COLOR=grey2] - Sjálfvirkt Slökkt eftir[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Smelltu á takka til að spila[CR][CR]Kvikmyndasýnishorn" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Hljómplötuupplýsingar" + +msgctxt "#31351" +msgid "Pause" +msgstr "Bið" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stöðva" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Hratt áfram" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Til baka" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Kvikmyndavalmynd" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Niðurhala þýðingartextum" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Sjálfgildi útlits" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Sjálfgildi útlits með engum hástöfum" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Byggt á Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]BREYTA VIÃMÓTSSTILLINGUM[/B][CR][CR]Breyta útlitinu · Breyta tungumáli og svæði · Breyta stillingum skráarlista[CR]Breyta skjáhvílu" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]BREYTA SKJÃSTILLINGUM[/B][CR][CR]Sýsla með myndabandasafn · Breyta myndbandaspilun · Breyta stillingum myndbandalista[CR]Breyta leturgerðum þýðingartexta" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]BREYTA TÓNLISTARSTILLINGUM[/B][CR][CR]Sýsla með tónlistarsafn · Breyta stillingum tónlistarspilara · Breyta stillingum tónlistarlista[CR]Skilgreina laga upphal · Breyta karaoke stillingum" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]BREYTA LJÓSMYNDASTILLINGUM[/B][CR][CR]Breyta stillingum ljósmyndalista · Stilla myndasýningar" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]BREYTA VEÃURSTILLINGUM[/B][CR][CR]Skilgreindu þrjár borgir til að ná í veðurupplýsingar fyrir" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]BREYTA KERFISSTILLINGUM[/B][CR][CR]Breyta og stilla skjái · Breyta hljóðúttaki · Skilgreina fjarstýringar[CR]Breyta orkukostum · Virkja aflúsun · Skilgreina aðallykilorð" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]BREYTA VIÃBÓTUM[/B][CR][CR]Breyttu uppsettum viðbótum · Leitaðu að og settu upp viðbætur frá xbmc.org[CR]Breyta stillingum viðbóta" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Uppsetning á stjórnun XBMC með UPnP og HTTP · Setja upp skráardeilingu[CR]Virkja Zeroconf · Stilla AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Keyrið hjálp fyrst..." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Veldu XBMC notanda[CR]til að skrá þig inn og halda áfram" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Sjónvarp bein útsending" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Stilling teljara" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 klst veðurspá" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Klukkustunda veðurspá" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Veðurspá helgarinnar" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 daga veðurspá" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Veðurspá" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Líkur á úrkomu" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Næ í veðurspá..." diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Indonesian/strings.po new file mode 100644 index 000000000..77b15ce97 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Indonesian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Bookmark" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolusi" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Kulit Standar" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Italian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Italian/strings.po new file mode 100644 index 000000000..d92e2c752 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Italian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Cambia il tuo" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Impostazioni Avanzate" + +msgctxt "#31004" +msgid "Working..." +msgstr "Sto lavorando..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Nascondi informazioni" + +msgctxt "#31006" +msgid "View Options" +msgstr "Vedi Opzioni" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Schermo Intero" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Durata totale" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Files - Musica" + +msgctxt "#31023" +msgid "Playing" +msgstr "In Riproduzione" + +msgctxt "#31024" +msgid "Page" +msgstr "Pagina" + +msgctxt "#31025" +msgid "Items" +msgstr "Oggetti" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Opzioni Varie" + +msgctxt "#31027" +msgid "Location" +msgstr "Località" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Poster" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Miniature immagini" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Immagine" + +msgctxt "#31033" +msgid "Info" +msgstr "Informazioni" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "In riproduzione" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "IN RIPRODUZIONE" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "IN PAUSA" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AVANTI VELOCE" + +msgctxt "#31045" +msgid "REWIND" +msgstr "INDIETRO" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Preset Visualizzazione" + +msgctxt "#31049" +msgid "End Time" +msgstr "Orario fine riproduzione" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ordina: Crescente" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ordina: Decrescente" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Apri playlist" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Salva playlist" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Chiudi playlist" + +msgctxt "#31058" +msgid "System music files" +msgstr "Suoni di sistema" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Playlist Corrente " + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Questo file è stato accorpato, scegli la parte da cui vuoi iniziare." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Correntemente Selezionato" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opzioni pagina principale" + +msgctxt "#31102" +msgid "Background" +msgstr "Sfondo" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Mostra \"In pausa\" durante la visualizzazione delle immagini" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Riproduci i trailer in finestra [COLOR=grey3](Solo nel pannello informazioni video)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Opzioni Varie" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Nascondi la spunta letto dai nomi dei file video [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Nascondi i bottoni del menù principale" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Abilita Sfondo Personalizzato" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Percorso Sfondo:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Nascondi" + +msgctxt "#31112" +msgid "Options" +msgstr "Opzioni" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Mostra gli album aggiunti di recente" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Mostra i Video Aggiunti di Recente" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Sottomenù Pagina Principale" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Nascondi i Fanart sullo sfondo" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Pagina Meteo" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Mostra nello Sfondo il nome del Video \"In Riproduzione\" " + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Mostra nello Sfondo Visualizzazioni il nome del file \"In Riproduzione\"" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Riproduci le sigle TV (sonore) nell'archivio video (add-on TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "XBMC Testi Canzoni" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Nascondi le Fanart nella visualizzazione a tutto schermo" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Add-on Testi" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Add-on Sottotitoli" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Sottomenù Home Page Video" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Sottomenù Home Page Musica" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Sottomenù Home Page Immagini" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD Musica" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD Video" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Collegamenti" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Scegli la canzone" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Sorgente Testi" + +msgctxt "#31206" +msgid "Found" +msgstr "Trovato" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Cerca altri elementi" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Prossimi Episodi" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura Corrente" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Ultimo Aggiornamento" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Fornitore dei dati" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Nascondi Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Dettagli Film" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memoria Usata:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Numero Traccia" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Immagine Fanart [CR][CR]Nono disponibile[CR][CR] Premi il bottone per impostarla" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper Corrente" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Scegli uno Scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opzioni Scansione Contenuti" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Imposta il percorso per le immagini fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Scegli il Profilo" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Ultimo Login" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke Song Selector" + +msgctxt "#31322" +msgid "Aired" +msgstr "Trasmessa" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opzioni Playlist" + +msgctxt "#31326" +msgid "Created" +msgstr "Creato" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Risoluzione" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Aggiunti di Recente" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Timer Impostato![/B] [COLOR=grey2] - Il Sistema Verrà Spento in[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Premi il bottone per riprodurre [CR][CR]il trailer del Film" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Dettagli Album" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pausa" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Avanti Veloce" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Indietro" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menù Filmato" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Scarica Sottotitoli" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Predefinito della Skin" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Predefinito della Skin senza maiuscole" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Basato su Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]CONFIGURA LE IMPOSTAZIONI PER L'ASPETTO[/B][CR][CR]Cambia la skin · Imposta Lingua e Regione · Cambia le impostazioni di elenco dei file[CR]Imposta uno screensaver" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]CONFIGURA IMPOSTAZIONI VIDEO[/B][CR][CR]Gestisci la tua Libreria Video · Imposta le impostazioni di riproduzione dei video · Cambia impostazioni per le liste video[CR]Imposta il fonts dei sottotitoli" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]CONFIGURA IMPOSTAZIONI MUSICA[/B][CR][CR]Gestisci la tua Libreria Musicale · Imposta le impostazioni di riproduzione della musica · Cambia impostazioni per le liste audio[CR]Imposta invio canzone · Imposta le opzioni per il karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]CONFIGURA IMPOSTAZIONI IMMAGINI[/B][CR][CR]Cambia impostazioni per le liste delle immagini· Configura lo slideshows" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]CONFIGURA IMPOSTAZIONI METEO[/B][CR][CR]Imposta tre città su cui avere le informazioni meteo" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]CONFIGURA IMPOSTAZIONI DI SISTEMA[/B][CR][CR]Imposta e calibra il video · Configura l'uscita Audio · Imposta i controlli remoti[CR]Imposta le ozioni di risparmio energetico · Abilita il Debug · Imposta il master lock" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]CONFIGURA GLI ADD-ONS[/B][CR][CR]Gestisci i tuoi Add-ons installati · Cerca ed installa gli Add-ons da xbmc.org[CR]Modifica le impostazioni degli Add-ons" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURA IMPOSTAZIONI TV[/B][CR][CR]Cambia le informazioni a tutto schermo · Gestisci le impostazioni EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGURA IMPOSTAZIONI DI RETE[/B][CR][CR]Imposta il controllo di XBMC via UPnP e HTTP · Configura la condivisione dei file[CR]Abilita Zeroconf · Configura AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Aiuto primo avvio...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Questa linguetta significa che c'è un menu off a lato di questa finestra che contiene ulteriori opzioni per questa sezione. Per accedere al menu, naviga a sinistra con il tuo telecomando o tastiera, o posiziona il mouse sulla linguetta. [CR][CR]Clicca \"Ok\" per chiudere questa informazione. Non apparirà nuovamente." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Scegli il tuo profilo utente di XBMC[CR]per fare il login e continuare" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Timer di Registrazione" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Timer Programmati" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Live TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Aggiungi Gruppo" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Rinomina Gruppo" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Cancella Gruppo" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Gruppi[CR]Disponibili" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Gruppo Canali" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Imposta Timer" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opzioni Canale" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Previsioni a 36 Ore" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Previsioni Orarie" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Previsioni per il Weekend" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Previsioni a 10 giorni" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Previsioni" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Percentuale di precipitazioni" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Recuper informazioni previsioni..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mappa e notifiche" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Japanese/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Japanese/strings.po new file mode 100644 index 000000000..25e2558f9 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Japanese/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr " " + +msgctxt "#31003" +msgid "Power Options" +msgstr "é›»æºã‚ªãƒ—ション" + +msgctxt "#31004" +msgid "Working..." +msgstr "処ç†ä¸­..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "情報を隠ã™" + +msgctxt "#31006" +msgid "View Options" +msgstr "表示オプション" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "フルスクリーン" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "ç·æ™‚é–“" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "ミュージック - ファイル" + +msgctxt "#31023" +msgid "Playing" +msgstr "å†ç”Ÿä¸­" + +msgctxt "#31024" +msgid "Page" +msgstr "ページ" + +msgctxt "#31025" +msgid "Items" +msgstr "アイテム" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "ãã®ä»–ã®ã‚ªãƒ—ション" + +msgctxt "#31027" +msgid "Location" +msgstr "地域" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "ãƒã‚¹ã‚¿ãƒ¼ãƒ©ãƒƒãƒ—" + +msgctxt "#31029" +msgid "Fanart" +msgstr "ファンアート" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "サムãƒãƒ¼ãƒ«" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "イメージラップ" + +msgctxt "#31033" +msgid "Info" +msgstr "情報" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "ç¾åœ¨å†ç”Ÿä¸­" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "å†ç”Ÿä¸­" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "陿­¢ä¸­" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "æ—©é€ã‚Š" + +msgctxt "#31045" +msgid "REWIND" +msgstr "巻戻ã—" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "ビジュアライザーã®ãƒ—リセット" + +msgctxt "#31049" +msgid "End Time" +msgstr "終了時間" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "ソート: 昇順" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "ソート: é™é †" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "プレイリストを開ã" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "プレイリストをä¿å­˜" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "プレイリストを閉ã˜ã‚‹" + +msgctxt "#31058" +msgid "System music files" +msgstr "システム音楽ファイル" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "ç¾åœ¨ã®ãƒ—レイリスト" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "ã“ã®ãƒ•ァイル内ã‹ã‚‰å†ç”Ÿã—ãŸã„ãƒ‘ãƒ¼ãƒˆã‚’é¸æŠžã—ã¦ãã ã•ã„。" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "ç¾åœ¨é¸æŠžä¸­" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "ホーム画é¢ã‚ªãƒ—ション" + +msgctxt "#31102" +msgid "Background" +msgstr "背景" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "ピクãƒãƒ£ã‚¹ãƒ©ã‚¤ãƒ‰ã‚·ãƒ§ãƒ¼ã§ã€Œé™æ­¢ä¸­ã€ã¨è¡¨ç¤º" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "ウィンドウ内ã§äºˆå‘Šã‚’å†ç”Ÿ [COLOR=grey3](ビデオ情報ダイアログã®ã¿)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "ãã®ä»–ã®è¨­å®š" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "「メインメニューã€ãƒœã‚¿ãƒ³ã‚’éš ã™" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "カスタムã®èƒŒæ™¯ã‚’有効ã«ã™ã‚‹" + +msgctxt "#31110" +msgid "Background path:" +msgstr "背景ã®ãƒ‘ス:" + +msgctxt "#31111" +msgid "Hide" +msgstr "éš ã™" + +msgctxt "#31112" +msgid "Options" +msgstr "オプション" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "最近追加ã•れãŸã‚¢ãƒ«ãƒãƒ ã‚’表示" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "最近追加ã•れãŸãƒ“デオを表示" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "ホーム画é¢ã€Œãƒ—ログラムã€ã®ã‚µãƒ–メニュー" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "背景ã®ãƒ•ァンアートを隠ã™" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "天気予報ページ" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "背景ã«ã€Œç¾åœ¨å†ç”Ÿä¸­ã€ãƒ“デオを表示" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "背景ã«ã€Œç¾åœ¨å†ç”Ÿä¸­ã€è¦–覚化を表示" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "ビデオライブラリ㧠TV テーマ曲をå†ç”Ÿ (TvTunes アドオン)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "歌詞" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "フルスクリーン時ã«ãƒ•ァンアートを隠ã™" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "歌詞アドオン" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "字幕アドオン" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "ホーム画é¢ã€Œãƒ“デオã€ã®ã‚µãƒ–メニュー" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "ホーム画é¢ã€ŒãƒŸãƒ¥ãƒ¼ã‚¸ãƒƒã‚¯ã€ã®ã‚µãƒ–メニュー" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "ホーム画é¢ã€Œãƒ”クãƒãƒ£ã€ã®ã‚µãƒ–メニュー" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "ミュージック OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "ビデオ OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "ショートカット" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "æ›²ã‚’é¸æŠž" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "æ­Œè©žã®æƒ…å ±æº" + +msgctxt "#31206" +msgid "Found" +msgstr "見ã¤ã‹ã‚Šã¾ã—ãŸ" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "ã‚‚ã£ã¨è¦‹ã¤ã‘ã‚‹" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "今後ã®ã‚¨ãƒ”ソード" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "ç¾åœ¨ã®æ°—温" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "最終更新時刻" + +msgctxt "#31303" +msgid "Data provider" +msgstr "気象データæä¾›å…ƒ" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "ファンアートを隠ã™" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "ムービーã®è©³ç´°" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "メモリ使用é‡:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "トラック番å·" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "ファンアート画åƒ[CR][CR]使用ä¸å¯[CR][CR] ボタンを押ã—ã¦è¨­å®š" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "ç¾åœ¨ã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚¹ã‚¯ãƒ¬ãƒ¼ãƒ‘ー" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚¹ã‚¯ãƒ¬ãƒ¼ãƒ‘ãƒ¼ã‚’é¸æŠž" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "コンテントスキャンオプション" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "ファンアートã®ãƒ‘スを設定" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "é¸æŠžã•れãŸãƒ—ロファイル" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "最終ログイン" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "カラオケソングセレクター" + +msgctxt "#31322" +msgid "Aired" +msgstr "放映日" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "プレイリストオプション" + +msgctxt "#31326" +msgid "Created" +msgstr "制作日" + +msgctxt "#31327" +msgid "Resolution" +msgstr "è§£åƒåº¦" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "最近追加" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]タイマーセット完了![/B] [COLOR=grey2] - システムãŒã‚·ãƒ£ãƒƒãƒˆãƒ€ã‚¦ãƒ³ã—ã¾ã™[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "ボタンを押ã—ã¦å†ç”Ÿ[CR][CR]ムービー予告編" + +msgctxt "#31331" +msgid "Album Details" +msgstr "アルãƒãƒ è©³ç´°" + +msgctxt "#31351" +msgid "Pause" +msgstr "ä¸€æ™‚åœæ­¢" + +msgctxt "#31352" +msgid "Stop" +msgstr "åœæ­¢" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "æ—©é€ã‚Š" + +msgctxt "#31354" +msgid "Rewind" +msgstr "å·»ãæˆ»ã—" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "ムービーメニュー" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "字幕をダウンロード" + +msgctxt "#31390" +msgid "Skin default" +msgstr "スキンã®ãƒ‡ãƒ•ォルト" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "スキンã®ãƒ‡ãƒ•ォルト (å°æ–‡å­—ã®ã¿)" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial ベース" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]外観設定[/B][CR][CR]ã‚¹ã‚­ãƒ³é¸æŠž - 言語ã¨åœ°åŸŸã®è¨­å®š - ファイル一覧設定変更[CR]スクリーンセーãƒãƒ¼è¨­å®š" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]ビデオ設定[/B][CR][CR]ãƒ“ãƒ‡ã‚ªãƒ©ã‚¤ãƒ–ãƒ©ãƒªç®¡ç† - ビデオå†ç”Ÿè¨­å®š - ビデオ一覧設定変更[CR]字幕用フォント変更" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ミュージック設定[/B][CR][CR]ãƒŸãƒ¥ãƒ¼ã‚¸ãƒƒã‚¯ãƒ©ã‚¤ãƒ–ãƒ©ãƒªç®¡ç† - ミュージックå†ç”Ÿè¨­å®š - ミュージック一覧設定変更[CR]楽曲é€ä¿¡è¨­å®š - カラオケ設定" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]ピクãƒãƒ£è¨­å®š[/B][CR][CR]ピクãƒãƒ£ä¸€è¦§è¨­å®šå¤‰æ›´[CR]スライドショー設定" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]天気予報設定[/B][CR][CR]天気情報å–å¾—éƒ½å¸‚é¸æŠž[CR]å¤©æ°—äºˆå ±ãƒ—ãƒ©ã‚°ã‚¤ãƒ³é¸æŠž" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]システム設定[/B][CR][CR]ç”»é¢ã®è¨­å®šãƒ»èª¿æ•´ - オーディオ出力設定 - リモートコントローラー設定[CR]çœé›»åŠ›è¨­å®š - デãƒãƒƒã‚°ã®æœ‰åŠ¹åŒ– - マスターロック設定" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]アドオン設定[/B][CR][CR]インストール済ã¿ã‚¢ãƒ‰ã‚ªãƒ³ç®¡ç† - xbmc.orgã‹ã‚‰ã‚¢ãƒ‰ã‚ªãƒ³ã‚’検索・インストール[CR]アドオン設定変更" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]TV設定[/B][CR][CR]フルスクリーン情報ã®å¤‰æ›´ · EPGデータ設定" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]サービス設定[/B][CR][CR]UPnP ã‚„ HTTP 経由ã«ã‚ˆã‚‹ XBMC æ“作設定 · ファイル共有設定[CR]Zeroconf を有効㫠· AirPlay 設定" + +msgctxt "#31411" +msgid "First run help...." +msgstr "åˆå›žèµ·å‹•時ã®ãƒ˜ãƒ«ãƒ—..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "ã“ã®ã‚¿ãƒ–ã¯ã€ã“ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã®ç«¯ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒã‚ã‚Šã€æœ¬ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®è¿½åŠ è¨­å®šãŒå¯èƒ½ã§ã‚る事を示ã—ã¦ã„ã¾ã™ã€‚メニューã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯ã€ãƒªãƒ¢ã‚³ãƒ³ã‚„キーボードã§å·¦ç«¯ã«ç§»å‹•ã™ã‚‹ã‹ã€ãƒžã‚¦ã‚¹ãƒã‚¤ãƒ³ã‚¿ãƒ¼ã‚’ã“ã®ã‚¿ãƒ–ã®ä¸Šã«æŒã£ã¦ãã¦ãã ã•ã„。[CR][CR]「OKã€ã‚’クリックã™ã‚‹ã¨ã“ã®ãƒ€ã‚¤ã‚¢ãƒ­ã‚°ã‚’é–‰ã˜ã¾ã™ã€‚ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯å†ã³è¡¨ç¤ºã•れるã“ã¨ã¯ã‚りã¾ã›ã‚“。" + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "XBMC ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠžã—ã¦[CR]ログインã—ã¦ãã ã•ã„" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "録画タイマー" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "タイマー予約時間" + +msgctxt "#31502" +msgid "Live TV" +msgstr "ライブTV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "グループã®è¿½åŠ " + +msgctxt "#31504" +msgid "Rename Group" +msgstr "グループã®å称変更" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "グループã®å‰Šé™¤" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "利用å¯èƒ½ãª[CR]グループ" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«ã‚°ãƒ«ãƒ¼ãƒ—" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "タイマーセット完了" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "ãƒãƒ£ãƒ³ãƒãƒ«ã‚ªãƒ—ション" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36時間予報" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "1時間ã”ã¨ã®äºˆå ±" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "週末ã®äºˆå ±" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10日予報" + +msgctxt "#31905" +msgid "Forecast" +msgstr "予報" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "陿°´ç¢ºçއ" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "天気予報データå–得中..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "マップ&アラート" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Korean/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Korean/strings.po new file mode 100644 index 000000000..df4c324ba --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Korean/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "변경" + +msgctxt "#31003" +msgid "Power Options" +msgstr "ì „ì› ì˜µì…˜" + +msgctxt "#31004" +msgid "Working..." +msgstr "ë™ìž‘중..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "ì •ë³´ 숨기기" + +msgctxt "#31006" +msgid "View Options" +msgstr "보기 옵션" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "전체화면" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "ì´ ìž¬ìƒì‹œê°„" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "ìŒì•… - 파ì¼" + +msgctxt "#31023" +msgid "Playing" +msgstr "재ìƒì¤‘" + +msgctxt "#31024" +msgid "Page" +msgstr "페ì´ì§€" + +msgctxt "#31025" +msgid "Items" +msgstr "항목" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "기타 옵션" + +msgctxt "#31027" +msgid "Location" +msgstr "위치" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "í¬ìŠ¤í„° 나열" + +msgctxt "#31029" +msgid "Fanart" +msgstr "팬아트" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "사진 미리보기" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "ì´ë¯¸ì§€ 나열" + +msgctxt "#31033" +msgid "Info" +msgstr "ì •ë³´" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "지금 재ìƒì¤‘" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "재ìƒì¤‘" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ì¼ì‹œì •ì§€" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "빨리ê°ê¸°" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ë˜ê°ê¸°" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "시ê°í™” 사전설정" + +msgctxt "#31049" +msgid "End Time" +msgstr "종료 시ê°" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "ì •ë ¬: 오름차순" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "ì •ë ¬: 내림차순" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "재ìƒëª©ë¡ 열기" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "재ìƒëª©ë¡ 저장" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "재ìƒëª©ë¡ 닫기" + +msgctxt "#31058" +msgid "System music files" +msgstr "시스템 ìŒì•… 파ì¼" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "현재 재ìƒëª©ë¡" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "ì´ íŒŒì¼ì€ ì—°ê²°ë˜ì—ˆìŠµë‹ˆë‹¤, 재ìƒí•˜ê³  ì‹¶ì€ ë¶€ë¶„ì„ ì„ íƒí•˜ì„¸ìš”." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "현재 ì„ íƒë¨" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "홈 화면 옵션" + +msgctxt "#31102" +msgid "Background" +msgstr "ë°°ê²½" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "사진 슬ë¼ì´ë“œì‡¼ì— \"ì¼ì‹œì •ì§€ë¨\" 보기" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "윈ë„ìš°ì— ì˜ˆê³ íŽ¸ ìž¬ìƒ [COLOR=grey3](비디오 ì •ë³´ 대화창만)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "기타 옵션" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "비디오 파ì¼ëª…ì—서 ì½ì€ 플래그 숨기기 [COLOR=grey3](블루레ì´, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "ë©”ì¸ ë©”ë‰´ 버튼 숨기기" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "ì‚¬ìš©ìž ë°°ê²½í™”ë©´ 사용" + +msgctxt "#31110" +msgid "Background path:" +msgstr "배경화면 경로:" + +msgctxt "#31111" +msgid "Hide" +msgstr "숨기기" + +msgctxt "#31112" +msgid "Options" +msgstr "옵션" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "최근 추가한 앨범 보기" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "최근 추가한 비디오 보기" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "홈 페ì´ì§€ 프로그램 하위메뉴" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "ë°°ê²½ 팬아트 숨기기" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "날씨 페ì´ì§€" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "ë°°ê²½ì— \"지금 재ìƒì¤‘\" 비디오 보기" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "ë°°ê²½ì— \"지금 재ìƒì¤‘\" 시ê°í™” 보기" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬ 모드ì—서 TV 주제ìŒì•… ìž¬ìƒ (TvTunes 추가기능)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "가사" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "ì „ì²´ 화면 시ê°í™”ì—서 팬아트 숨기기" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "가사 추가기능" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "ìžë§‰ 추가기능" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "홈 페ì´ì§€ 비디오 하위메뉴" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "홈 페ì´ì§€ ìŒì•… 하위메뉴" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "홈 페ì´ì§€ 사진 하위메뉴" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "ìŒì•… OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "비디오 OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "바로가기" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "노래 ì„ íƒ" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "가사 소스" + +msgctxt "#31206" +msgid "Found" +msgstr "ì°¾ìŒ" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "ë” ì°¾ì•„ë³´ê¸°" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "방송 예정 ì—피소드" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "현재 온ë„" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "마지막 ì—…ë°ì´íЏ" + +msgctxt "#31303" +msgid "Data provider" +msgstr "날씨 ì •ë³´ 제공" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "팬아트 숨기기" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "ì˜í™” ìƒì„¸ì •ë³´" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "사용 메모리:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "트랙 번호" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "팬아트 ì´ë¯¸ì§€[CR][CR]사용할 수 ì—†ìŒ[CR][CR] 설정하려면 ë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "현재 ìžë£Œìˆ˜ì§‘기" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "ìžë£Œìˆ˜ì§‘기를 ì„ íƒí•˜ì„¸ìš”" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "컨í…츠 검색 옵션" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "팬아트 경로 설정" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "ì„ íƒëœ 프로파ì¼" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "마지막 로그ì¸" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "노래방 노래 ì„ íƒê¸°" + +msgctxt "#31322" +msgid "Aired" +msgstr "ë°©ì˜" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "재ìƒëª©ë¡ 옵션" + +msgctxt "#31326" +msgid "Created" +msgstr "제작ì¼" + +msgctxt "#31327" +msgid "Resolution" +msgstr "í•´ìƒë„" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "최근 추가" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]타ì´ë¨¸ 설정![/B] [COLOR=grey2] - 시스템 ìžë™ 종료[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "ì˜í™” 예고편ì„[CR][CR]재ìƒí•˜ë ¤ë©´ 누르세요" + +msgctxt "#31331" +msgid "Album Details" +msgstr "앨범 ì •ë³´" + +msgctxt "#31351" +msgid "Pause" +msgstr "ì¼ì‹œì •ì§€" + +msgctxt "#31352" +msgid "Stop" +msgstr "ì •ì§€" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "빨리ê°ê¸°" + +msgctxt "#31354" +msgid "Rewind" +msgstr "ë˜ê°ê¸°" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "ìžë§‰ 추가기능" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "ìžë§‰ 다운로드" + +msgctxt "#31390" +msgid "Skin default" +msgstr "스킨 기본값" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "ëŒ€ë¬¸ìž ì—†ëŠ” 스킨 기본값" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial 기본값" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]모양새 설정[/B][CR][CR]스킨 변경 · 언어 ë° ì§€ì—­ 설정 · íŒŒì¼ ëª©ë¡ ì˜µì…˜ 변경[CR]화면보호기 설정" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]비디오 설정[/B][CR][CR]비디오 ë¼ì´ë¸ŒëŸ¬ë¦¬ 관리 · 비디오 ìž¬ìƒ ì˜µì…˜ 변경 · 비디오 ëª©ë¡ ì˜µì…˜ 변경[CR]ìžë§‰ 글꼴 설정" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ìŒì•… 설정[/B][CR][CR]ìŒì•… ë¼ì´ë¸ŒëŸ¬ë¦¬ 관리 · ìŒì•… ìž¬ìƒ ì˜µì…˜ 변경 · ìŒì•… ëª©ë¡ ì˜µì…˜ 변경[CR]노래 전송 설정 · 노래방 옵션 설정" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]사진 설정[/B][CR][CR]사진 ëª©ë¡ ì˜µì…˜ 변경 · 슬ë¼ì´ë“œì‡¼ 설정" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]날씨 설정[/B][CR][CR]날씨 정보를 수집할 세 ë„시 설정" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]시스템 설정[/B][CR][CR]화면 설정 ë° ì¡°ì • · 오디오 출력 설정 · ì›ê²© 제어 설정[CR]ì „ì› ì ˆì•½ 옵션 설정 · 디버깅 사용 · 마스터 잠금 설정" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]애드온 설정[/B][CR][CR]설치한 추가기능 관리 · xbmc.orgì—서 추가기능 찾기 ë° ì„¤ì¹˜[CR]추가기능 설정 변경" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]TV 설정[/B][CR][CR]ì „ì²´ 화면 ì •ë³´ 변경 · EPG ë°ì´í„° 설정" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]서비스 설정[/B][CR][CR]UPnP ë° HTTP를 통한 XBMC 제어 설정 · íŒŒì¼ ê³µìœ  설정[CR]Zeroconf 활성화 · AirPlay 설정" + +msgctxt "#31411" +msgid "First run help...." +msgstr "ì²˜ìŒ ì‹¤í–‰ ë„움ë§...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "ì´ íƒ­ì€ í˜„ìž¬ ì„¹ì…˜ì˜ ì¶”ê°€ 옵션메뉴가 화면 가장ìžë¦¬ì— 숨어 있다는 ê²ƒì„ ì˜ë¯¸í•©ë‹ˆë‹¤. ë©”ë‰´ì— ì ‘ê·¼í•˜ë ¤ë©´ 리모컨 ë˜ëŠ” 키보드로 왼쪽으로 ì´ë™í•˜ê±°ë‚˜ 탭 위로 마우스를 가져가세요. [CR] [CR]\"확ì¸\"ì„ ëˆ„ë¥´ë©´ 대화ìƒìžê°€ 닫히고 다시 표시ë˜ì§€ 않습니다." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "로그ì¸í•  XBMC ì‚¬ìš©ìž í”„ë¡œíŒŒì¼ì„[CR]ì„ íƒí•˜ê³  계ì†í•˜ì„¸ìš”" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "녹화 예약" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "예약 시간" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV 시청" + +msgctxt "#31503" +msgid "Add Group" +msgstr "그룹 추가" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "그룹명 변경" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "그룹 ì‚­ì œ" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "사용가능한[CR]그룹" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "ì±„ë„ ê·¸ë£¹" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "예약 설정" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "ì±„ë„ ì˜µì…˜" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 시간 예보" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "시간대별 예보" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "ì£¼ë§ ì˜ˆë³´" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 ì¼ ì˜ˆë³´" + +msgctxt "#31905" +msgid "Forecast" +msgstr "예보" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "강수확률" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "날씨 정보를 가져오는 중..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "ì§€ë„와 경보" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Latvian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Latvian/strings.po new file mode 100644 index 000000000..64031978a --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Latvian/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Latvian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +msgctxt "#31004" +msgid "Working..." +msgstr "Working..." diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Lithuanian/strings.po new file mode 100644 index 000000000..3d49f8913 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Lithuanian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Pakeitimas" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Maitinimo parinktys" + +msgctxt "#31004" +msgid "Working..." +msgstr "Veikia..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "SlÄ—pti informacijÄ…" + +msgctxt "#31006" +msgid "View Options" +msgstr "Rodinio parinktys" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Visame ekrane" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Bendra trukmÄ—" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Muzika - Failai" + +msgctxt "#31023" +msgid "Playing" +msgstr "AtkÅ«rimas" + +msgctxt "#31024" +msgid "Page" +msgstr "Puslapis" + +msgctxt "#31025" +msgid "Items" +msgstr "Elementai" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Kitos opcijos" + +msgctxt "#31027" +msgid "Location" +msgstr "Vieta" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Posterių karuselÄ—" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "MiniatiÅ«ros" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Nuotraukų karuselÄ—" + +msgctxt "#31033" +msgid "Info" +msgstr "Informacija" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Dabar atkuriama" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ATKŪRIMAS" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUZÄ–" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "PRASUKTI PIRMYN" + +msgctxt "#31045" +msgid "REWIND" +msgstr "PRASUKTI ATGAL" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Vizualizacijos parinktys" + +msgctxt "#31049" +msgid "End Time" +msgstr "Pabaigos laikas" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Rūš.: DidÄ—jimo tvarka" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Rūš.: Mažėjimo tvarka" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Atidaryti grojaraÅ¡tį" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Įšsaugoti grojaraÅ¡tį" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Uždaryti grojaraÅ¡tį" + +msgctxt "#31058" +msgid "System music files" +msgstr "Sistemos garso failai" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Aktualus grojaraÅ¡tis" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Å ie failai yra sugrupuoti, pasirinkite dalį katrÄ… norite atkÅ«rti." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Dabartinis pasirinkimas" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Pagrindinio ekrano nustatymai" + +msgctxt "#31102" +msgid "Background" +msgstr "Fonas" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Rodyti \"PauzÄ—\" prezentacijos režime" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "AtkÅ«rti filmo anonsÄ… lange [COLOR=grey3](Tik informacijai apie filmo dialogÄ…)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Ä®vairios opcijos" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Nerodyti nuorodos iÅ¡ skaitomo failo [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "SlÄ—pti pagrindinio meniu nuorodas" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Ä®galinti priskirtÄ… fonÄ…" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Fono marÅ¡rutas:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Nerodyti" + +msgctxt "#31112" +msgid "Options" +msgstr "Nustatymai" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Rodyti neseniai patalpintus albumus" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Rodyti neseniai patalpintus video" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Pagrindinio ekrano submeniu" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "SlÄ—pti Fanart informacijÄ…" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Orų puslapis" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Rodyti foninį \"Dabar atkuriama\" Video" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Rodyti foninį \"Dabar atkuriama\" Vizualizacija" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "AtkÅ«ri TV Å¡ou/serialų temų dainas vaizdo bibliotekoje (TvTunes priedas)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Dainų tekstai" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "SlÄ—pti Fanart viso ekrano vizualizacijai" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Dainų tekstų priedas" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Subtitrų priedas" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Pagrindinio puslapio video submeniu" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Pagrindinio puslapio muzikos submeniu" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Pagrindinio puslapio nuotraukų submeniu" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Muzikos OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "EtiketÄ—s" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Pasirinkite savo dainÄ…" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Dainų tekstų Å¡altinis" + +msgctxt "#31206" +msgid "Found" +msgstr "Rasti" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Rasti daugiau elementų" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Artimiausi epizodai" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "DabartinÄ— temperatÅ«ra" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Paskutinis atnaujinimas" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Duomenų teikÄ—jas" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Nerodyti Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Daugiau apie filmÄ…" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "IÅ¡naudota atminties:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Takelio numeris" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart paveikslÄ—lis[CR][CR]Nepasiekiamas[CR][CR] Spauskite mygtukÄ…, norÄ—dami nustatyti" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Aktualus Scraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Pasirinkti Scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Nuskaitomo turinio parinktys" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Nurodyti keliÄ… iki Fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Pasirinktas profilis" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Paskutinis įėjimas" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke dainos pasirinkimas" + +msgctxt "#31322" +msgid "Aired" +msgstr "Rodomas" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "GrojaraÅ¡Äio parinktys" + +msgctxt "#31326" +msgid "Created" +msgstr "SukÅ«rÄ—" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Rezoliucija" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Naujausi" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Nustatytas laikrodis![/B] [COLOR=grey2] - Sistemos automatinis iÅ¡jungimas po...[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Paspauskite norÄ—dami atkÅ«rti[CR][CR]filmo anonsÄ…" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Albumo informacija" + +msgctxt "#31351" +msgid "Pause" +msgstr "PauzÄ—" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Prasukti pirmyn" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Prasukti atgal" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmo meniu" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Atsisiųsti subtitrus" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Kaip yra" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "TeminÄ— iÅ¡vaizda kaip yra be 'Caps'" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial pagrindu" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B][COLOR=blue]APIPAVIDALINIMO PARAMETRŲ NUSTATYMAI[/COLOR][/B][CR][CR]Pakeisti teminÄ™ iÅ¡vaizdÄ… · Nustatyti kalbÄ… ir regionÄ… · Konfiguruoti failų sÄ…rašą" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B][COLOR=blue]VIDEO PARAMETRŲ NUSTATYMAI[/COLOR][/B][CR][CR]Tvarkyti video bibliotekÄ… · Nustatyti video atkÅ«rimo opcijas · Nustatyti video sarašą" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B][COLOR=blue]MUZIKOS PARAMETRŲ NUSTATYMAI[/COLOR][/B][CR][CR]Tvarkyti audio biblioteką· Nustatyti audio atkÅ«rimo opcijas · Nustatyti audio sarašą[CR]Nustatyti audio pridÄ—jimÄ…" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B][COLOR=blue]NUOTRAUKŲ/PAVEIKSLÄ–LIŲ PARAMETRŲ NUSTATYMAI[/COLOR][/B][CR][CR]Tvarkyti pavaikslÄ—lių/nuotraukų bibliotekÄ… · Nustatyti pristatymÄ… · Nustatyti prezentacijÄ…" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B][COLOR=blue]ORŲ PARAMETRŲ NUSTATYMAI[/COLOR][/B][CR][CR]Nustatyti trys Miestus gauti informacijai apie orus" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B][COLOR=blue]SISTEMOS PARAMETRŲ NUSTATYMAI[/COLOR][/B][CR][CR]Nustatyti ekrano kalibravimÄ… · Nustatyti audio išėjimÄ… · Nustatyti distancinį pultÄ…" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B][COLOR=blue]PRIEDŲ PARAMETRŲ NUSTATYMAI[/COLOR][/B][CR][CR]Nustatyti priedų parametrų valdymÄ… · Nustatyti diegimÄ… iÅ¡ xbmc.org · Nustatyti priedų pakeitimÄ…" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B][COLOR=blue]KONFIGŪRUOTI TV NUSTATYMUS[/COLOR][/B][CR][CR]Pakeisti viso ekrano informacija · Tvarkyti EPG duomenis" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B][COLOR=blue]TINKLO PARAMETRŲ NUSTATYMAI[/COLOR][/B][CR][CR]XBMC sÄ…rankos valdymas per UPnP ar HTTP · KonfigÅ«ruoti bendrÄ… failų naudojimÄ…" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Pirmo paleidimo pagalba..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Å is skirtukas reiÅ¡kia, kad yra meniu iki Å¡io lango, kuriame yra papildomų galimybių Å¡ioje skyrio pusÄ—je. NorÄ—dami atidaryti menių, pereikite į kairÄ™, naudojant nuotolinio valdymo pultÄ… arba klaviatÅ«rÄ… arba pažimÄ—kite pelÄ—s žymekliu virÅ¡ skirtuko.[CR][CR] Spauskite \"OK\" uždaryti šį langÄ…. Ir jis daugiau nebus rodomas." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Pasirinkite XBMC vartotojo profilį[CR]įeikitei į sistemÄ… ir tÄ™skite." + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Ä®raÅ¡ymo laikmatis" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Suplanuotas laikas" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Live TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "PridÄ—ti grupÄ™" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Pervadinti grupÄ™" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "PaÅ¡alinti grupÄ™" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Galimos[CR]grupÄ—s" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Kanalų grupÄ—" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "LaikmaÄio nustatymas" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanalų parinktys" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 valandų prognozÄ—" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Valandos prognozÄ—" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Savaitgalio prognozÄ—" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 dienų prognozÄ—" + +msgctxt "#31905" +msgid "Forecast" +msgstr "PrognozÄ—" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Kritulių tikimybÄ—" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "AtsiunÄiama prognozÄ—s informacija..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "ŽemÄ—lapis ir Ä®spÄ—jimai" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Macedonian/strings.po new file mode 100644 index 000000000..5eff872ff --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Macedonian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Изменете ваше" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Опции за напојување" + +msgctxt "#31004" +msgid "Working..." +msgstr "Обработка..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Сокриј инфо." + +msgctxt "#31006" +msgid "View Options" +msgstr "Погледни опции" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Полн екран" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Вкупно времетраење" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Музика - Папки" + +msgctxt "#31023" +msgid "Playing" +msgstr "Репродукција" + +msgctxt "#31024" +msgid "Page" +msgstr "Страна" + +msgctxt "#31025" +msgid "Items" +msgstr "Ставки" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Други опции" + +msgctxt "#31027" +msgid "Location" +msgstr "Локација" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Поредено" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Зан. Ñлика" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Сликички" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Поредено" + +msgctxt "#31033" +msgid "Info" +msgstr "Информации" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Се репродуцира во моментот" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "РЕПРОДУЦИРÐЊЕ" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ПÐУЗИРÐÐО" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ПРЕМОТУВÐЊЕ ÐÐПРЕД" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ПРЕМОТУВÐЊЕ ÐÐЗÐД" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "ПоÑтојни бизуализации" + +msgctxt "#31049" +msgid "End Time" +msgstr "Време на завршување" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Подреди: Паѓачки" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Подреди: РаÑтечки" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Отвори ÑпиÑок на реп." + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Сочувај ÑпиÑок на реп." + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Затвори ÑпиÑок на реп." + +msgctxt "#31058" +msgid "System music files" +msgstr "СиÑтемÑки музички датотеки" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Сегашен ÑпиÑок на реп." + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Оваа датотека е Ñложена, изберете дел кој Ñакате да репродукуцирате." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Сегашен избор" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Опции на почетен екран" + +msgctxt "#31102" +msgid "Background" +msgstr "Позадина" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Прикажи „Паузирано“ за време на репродукција на Ñлика" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Репродуцирај најави на филмови во прозор [COLOR=grey3](Video Info. Dialog Only)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Разни опции" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Сoкриј ги таÑтерите на главното мени" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Одобри прилагодена позадина" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Патека на позадината:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Сокриј" + +msgctxt "#31112" +msgid "Options" +msgstr "Опции" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Прикажи неодамна додадени албуми" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Прикажи неодамна додадени филмови" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Подмени на почетна Ñтрана" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Сокриј позадина" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Страна на временÑка прогноза" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Прикажи Ñегашен филм во позадина" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Прикажи Ñегашна визуализација во позадина" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Репрод. TV тематÑки пеÑни во видео библиотека (TvTunes add-on)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "ТекÑтови на пеÑни" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Скриј Ñлика во визуализација на цел екран" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Lyrics Add-on" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Add-on за преводи" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Home Page Videos Submenu" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Home Page Music Submenu" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Home Page Pictures Submenu" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Музички OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Видео OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Кратенки" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Изаберете ваша пеÑна" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Извор на текÑтови на пеÑани" + +msgctxt "#31206" +msgid "Found" +msgstr "Ðајдено" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Ðајди повеќе" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Следни епизоди" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Моментална температура" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "ПоÑледно ажурирање" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Провајдер на податоци" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Сокриј Ñлика" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Податоци за филмот" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "ИÑкориÑтеноÑÑ‚ на меморија" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Број на нумера" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Занимлива Ñлика[CR]не е доделена.[CR][CR]Кликнете на копчето за да[CR]ја доделите." + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Сегашен добавувач" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Изберете добавувач" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Опции на анализирање на Ñодржина" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "ПоÑÑ‚. пат. до Ñлики" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Одбран профил" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "ПоÑледна пријава" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Бирач на караоке пеÑни" + +msgctxt "#31322" +msgid "Aired" +msgstr "Емитирано" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Опција на ÑпиÑок за репродукција" + +msgctxt "#31326" +msgid "Created" +msgstr "Креирано" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Резолуција" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Ðеодамна додадено" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Одбројување е поÑтавено![/B] [COLOR=grey2] - СиÑтемот ќе Ñе иÑкучи за[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Кликнете на таÑтер за репродукција[CR][CR]на најава на филм" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Детали на албумот" + +msgctxt "#31351" +msgid "Pause" +msgstr "Пауза" + +msgctxt "#31352" +msgid "Stop" +msgstr "Сопри" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Премотај нанапред" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Премотај наназад" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "ФилмÑко мени" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Превземи превод" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Подразбирачка маÑка" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Подразбирачка маÑка без големи букви" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial оÑновен" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]КОÐФИГУРИРÐЊЕ ПОСТÐВКИ ЗРПРИКÐЗ[/B][CR][CR]Променете ја маÑката · Изаберете јазик и облаÑÑ‚ на живеење[CR]Променете опции на излиÑтување на датотеки · Изаберете чувар на екран" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]КОÐФИГУРИРÐЊЕ ПОСТÐВКИ ЗРФИЛМОВИ[/B][CR][CR]Управувајте Ñо вашата библиотека на филмови · ПоÑтавете опции на репродукција на филмови[CR]Променете опции на излиÑтување на филмови · ПоÑтавете изглед на букви во преводот" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]КОÐФИГУРИРÐЊЕ ПОСТÐВКИ ÐРМУЗИКÐ[/B][CR][CR]Управувајте Ñо вашата библиотека на музички нумери · ПоÑтавете опции за репрод. музика[CR]Променете опции на излиÑтавање на музика · ПоÑтавете праќање на пеÑни · ПоÑтавете караоке опции" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]КОÐФИГУРИРÐЊЕ ПОСТÐВКИ ЗРСЛИКИ[/B][CR][CR]ПоÑтавете опции на излиÑтавање на Ñлики · Конфигурирајте репродукција на Ñлајдови" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]КОÐФИГУРИРÐЊЕ ПОСТÐВКИ ЗРВРЕМЕÐСКРПРОГÐОЗÐ[/B][CR][CR]ПоÑтавете три градови за Ñобирање на информации за временÑката ÑоÑтојба" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]КОÐФИГУРИРÐЊЕ ПОСТÐВКИ ЗРСИСТЕМ[/B][CR][CR]ПодеÑете и калибрирајте екрани · Конфигурирајте звучен излез · ПодеÑете далечинÑко управување · ПоÑтавете опции за заштеда на енергија[CR]Овозможете евиденција на грешки · ПодеÑете главна лозинка" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]КОÐФИГУРИРÐЊЕ ЗРДОПОЛÐИТЕЛÐИ ПРОГРÐМИ[/B][CR][CR]Управувајте Ñо вашите инÑталирани додатни програми · Потражете и инÑталирајте додатен прог. од xbmc.org[CR]Прилагодете подеÑување на додатен програм" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]КОÐФИГУРИРÐЈ ТВ ПОСТÐВКИ[/B][CR][CR]Промени инфо на цел екран · ПодеÑување на EPG податоци" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]КОÐФИГУРИРÐЈ СЕРВИСÐИ ПОДЕСУВÐЊÐ[/B][CR][CR]ПодеÑи контрола врз XBMC преку UPnP и HTTP · Конфигурирај Ñподелување папки[CR]Овозможи Zeroconf ·Конфигурирај AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Помош при прво пуштање" + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Овој таб покажува дека поÑтои иÑклучено мени на левата Ñтрана на прозорот кое Ñодржи дополнителни опции за оваа Ñекција. За приÑтап кон менито, притиÑнете кон лево на далечинÑкото или таÑтатурата или Ñо мауÑот поминете прекутабот. [CR][CR]Кликни \"Ok\" за да Ñе затвори овој дијалог. Ðема повторно да Ñе појави." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Одберете ваш XBMC кориÑнички[CR]профил за најава, а потоа продолжете понатаму" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Тајмери за Ñнимање" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Закажано време" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Live TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Додади група" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Преимени група" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Избриши група" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "ДоÑтапни[CR]Групи" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Група канали" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Тајмер поÑтавен" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "ПодеÑување на канали" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 ЧаÑовна Прогноза" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "ЧаÑовна Прогноза" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Викенд Прогноза" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 дневна Прогноза" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Прогноза" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "МожноÑÑ‚ за врнежи" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Превземање на прогноза..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Мапи и Предупредувања" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Malayalam/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Malayalam/strings.po new file mode 100644 index 000000000..95e6054eb --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Malayalam/strings.po @@ -0,0 +1,22 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Malayalam (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "à´•àµà´±àµà´•àµà´•àµà´µà´´à´¿" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Norwegian/strings.po new file mode 100644 index 000000000..85440f1c8 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Norwegian/strings.po @@ -0,0 +1,518 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Endre dine" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Strømalternativer" + +msgctxt "#31004" +msgid "Working..." +msgstr "Opptatt..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Skjul informasjon" + +msgctxt "#31006" +msgid "View Options" +msgstr "Visningsalternativer" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Fullskjerm" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Total varighet" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Musikk - Filer" + +msgctxt "#31023" +msgid "Playing" +msgstr "Spiller" + +msgctxt "#31024" +msgid "Page" +msgstr "Side" + +msgctxt "#31025" +msgid "Items" +msgstr "elementer" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Øvrige alternativer" + +msgctxt "#31027" +msgid "Location" +msgstr "Sted" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Plakat" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Bildeminiatyrer" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Bildeinnpakking" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "NÃ¥ spilles" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "SPILLER" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSE" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "SPOL FRAM" + +msgctxt "#31045" +msgid "REWIND" +msgstr "SPOL TILBAKE" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualiseringsforvalg" + +msgctxt "#31049" +msgid "End Time" +msgstr "Ferdig klokken" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sorter: Stigende" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sorter: Synkende" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Ã…pne spilleliste" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Lagre spilleliste" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Lukk spilleliste" + +msgctxt "#31058" +msgid "System music files" +msgstr "Systemmusikkfiler" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "NÃ¥værende spilleliste" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Denne fil er stablet, velg den delen du vil spille." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Valgt nÃ¥" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Alternativer for hovedskjerm" + +msgctxt "#31102" +msgid "Background" +msgstr "Bakgrunn" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Vis \"Pause\" under bildefremvisning" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Spill trailere i et vindu[COLOR=grey3](Kun videoinformasjonsdialog)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Øvrige alternativer" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Gjem 'sett'-flagg fra videofilnavn [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Gjem hovedmenyknapper" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Skru pÃ¥ egendefinert bakgrunn" + +msgctxt "#31111" +msgid "Hide" +msgstr "Skjul" + +msgctxt "#31112" +msgid "Options" +msgstr "Alternativer" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Vis sist tillagte album" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Vis videoer nylig lagt til" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Programundermeny i hovedmeny" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Gjem fanart bakgrunn" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Værside" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Vis \"NÃ¥ spilles\" for filmer i bakgrunnen" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Vis visualisering for \"NÃ¥ spilles\" i bakgrunnen" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Spill av temamelodi i videobiblioteket (TvTunes tillegg)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Sangtekster" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Gjem Fanart i full skjerm visulasjon" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Sangtekst tillegg" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Undertekst tillegg" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Hjemmeskjerm video undermeny" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Hjemmeskjerm musikk undermeny" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Hjemmeskjerm bilder undermeny" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Musikk OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Snarveier" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Velg din lÃ¥t" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Sangtekstskilde" + +msgctxt "#31206" +msgid "Found" +msgstr "Funnet" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Finn flere objekter" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Kommende episoder" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Været nÃ¥" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Sist oppdatert" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Datatilbyder" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Skjul Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Filmdetaljer" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Brukt minne:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Spornummer" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart-bilde[CR][CR]ikke tilgjengelig[CR][CR]Klikk pÃ¥ knappen for Ã¥ oppgi" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "NÃ¥værende skraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Velg en skraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Alternativer for innholdsskraper" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Sett søkesti for Fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Valgt profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Sist innlogget" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Sangvelger for karaoker" + +msgctxt "#31322" +msgid "Aired" +msgstr "Sendt" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Alternativer for spilleliste" + +msgctxt "#31326" +msgid "Created" +msgstr "Laget" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Oppløsning" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nylig lagt til" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Tidsinnstilling satt![/B] [COLOR=grey2] - Autoavslutning om[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Klikk for Ã¥ spille[CR][CR]filmtrailer" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Albumdetaljer" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pause" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stopp" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Spol framover" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Spol bakover" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmmeny" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Hent undertekster" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Standard for skallet" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Temastandard uten caps" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial-basert" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]ENDRE DINE UTSEENDEINNSTILLINGER:[/B][CR][CR]Kalibrer GUI · Endre skallet · Oppgi skjermsparer · Endre dine regionale innstillinger · Oppgi globale visningsalternativer" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]ENDRE DINE GRAFIKKINNSTILLINGER:[/B][CR][CR]HÃ¥ndter ditt filmbibliotek · Filmavspillingskvalitet og rendring · Konfigurer skrifttype for undertekster · Oppgi filmautogjenopptaging" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ENDRE DINE MUSIKKINNSTILLINGER:[/B][CR][CR] Velg visualisering · HÃ¥ndter ditt musikkbibliotek · Oppgi din Last.FM konto · Endre karaokeskrifttype og -innstillinger" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]ENDRE DINE BILDEINNSTILLINGER:[/B][CR][CR]Aktiver automatisk miniatyrgenerering og lesing av EXIF-tagger · Juster overgangseffekter for bildeframvising · Oppgi din XBMC skjermdumpsmappe" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]ENDRE DINE VÆRINNSTILLINGER:[/B][CR][CR]Oppgi de tre stedene som XBMC viser pÃ¥ værskjermen · Endre dine regionale innstillinger, inklusive temperaturenheter" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]ENDRE DINE SYSTEMINNSTILLINGER:[/B][CR][CR]Endre standarden for strømsparingsmodus · Konfigurer videomaskinvare · Still inn din lydmaskinvare · Konfigurer hovedbrukerens passord- og systemlÃ¥ser" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KONFIGURER TILLEGG[/B][CR][CR]HÃ¥ndter installerte tillegg · Let etter og installer tillegg fra xbmc.org[CR]Endre tilleggsinnstillinger" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]KONFIGURER TJENESTEINNSTILLINGER[/B][CR][CR]Konfigurer kontroll av XBMC via UPnP og HTTP · Konfigurer deling[CR]SlÃ¥ pÃ¥ zeroconf · Konfigurer AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Først kjør hjelp" + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Velg din XBMC brukerprofil[CR]for Ã¥ logge inn og fortsette" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Live TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Legg til gruppe" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Gi nytt navn pÃ¥ gruppe" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Slett gruppe" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Ledige[CR]Grupper" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Tidtaker stilt" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanal instillinger" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36-timersvarsel" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Time for time" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Helgevarsel" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10-dagersvarsel" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Værvarsel" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Mulighet for nedbør" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Henter værvarsel..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Kart og varsler" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Persian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Persian/strings.po new file mode 100644 index 000000000..624efd092 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Persian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31006" +msgid "View Options" +msgstr "نمایش تنظیمات" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "ØªÙ…Ø§Ù…â€ŒØµÙØ­Ù‡" + +msgctxt "#31024" +msgid "Page" +msgstr "ØµÙØ­Ù‡" + +msgctxt "#31102" +msgid "Background" +msgstr "پس‌زمینه" + +msgctxt "#31112" +msgid "Options" +msgstr "تنظیمات" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Polish/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Polish/strings.po new file mode 100644 index 000000000..3553a1f31 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Polish/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "ZmieÅ„" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opcje zasilania" + +msgctxt "#31004" +msgid "Working..." +msgstr "Czekaj..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Ukryj info" + +msgctxt "#31006" +msgid "View Options" +msgstr "Zobacz opcje" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "PeÅ‚ny ekran" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "CaÅ‚kowity czas trwania" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Muzyka - pliki" + +msgctxt "#31023" +msgid "Playing" +msgstr "Odtwarzam" + +msgctxt "#31024" +msgid "Page" +msgstr "Strona" + +msgctxt "#31025" +msgid "Items" +msgstr "Pozycji" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Różne opcje" + +msgctxt "#31027" +msgid "Location" +msgstr "Lokalizacja" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Plakaty" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Miniatury zdjęć" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Zawijaj obrazy" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Teraz odtwarzane" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ODTWARZAM" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUZA" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "PRZEWIŃ" + +msgctxt "#31045" +msgid "REWIND" +msgstr "COFNIJ" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Efekty wizualizacji" + +msgctxt "#31049" +msgid "End Time" +msgstr "Koniec o godzinie" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sortuj: rosnÄ…co" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sortuj: malejÄ…co" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Otwórz playlistÄ™" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Zapisz playlistÄ™" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Zamknij playlistÄ™" + +msgctxt "#31058" +msgid "System music files" +msgstr "DostÄ™pne w systemie pliki muzyczne" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Obecna playlista" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Pozycja w wyniku połączenia części[CR]wybierz, którÄ… chcesz odtwarzać." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Aktualnie wybrany" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opcje ekranu głównego" + +msgctxt "#31102" +msgid "Background" +msgstr "TÅ‚o" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "WyÅ›wietlaj \"Pauza\" podczas pokazu slajdów" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Odtwarzaj zwiastuny w oknie [COLOR=grey3](tylko w oknie Informacje o wideo)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Różne opcje" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Ukryj ikony wÅ‚aÅ›ciwoÅ›ci wideo z nazw plików [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ukryj przyciski głównego menu" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Włącz wÅ‚asne tÅ‚o" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Åšcieżka do tÅ‚a" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ukryj" + +msgctxt "#31112" +msgid "Options" +msgstr "Opcje" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Pokaż ostatnio dodane albumy" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Pokazuj ostatnio dodane wideo" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Podmenu programów Ekranu głównego" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Ukryj tÅ‚o fanartu" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Strona pogody" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Pokazuj aktualnie odtwarzane wideo jako tÅ‚o" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Pokazuj aktualnÄ… wizualizacjÄ™ jako tÅ‚o" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Odtwarzaj motyw TV w bibliotece wideo (wtyczka TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Teksty piosenek" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ukryj Fanart podczas wizualizacji peÅ‚noekranowej" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Wtyczka Teksty piosenek" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Wtyczka Napisy do filmów" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Podmenu wideo Ekranu głównego" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Podmenu muzyki Ekranu głównego" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Podmenu zdjęć Ekranu głównego" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Muzyka - OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Wideo - OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Skróty" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Wybierz swojÄ… piosenkÄ™" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "ŹródÅ‚o tekstów piosenek" + +msgctxt "#31206" +msgid "Found" +msgstr "Znaleziono" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Znajdź wiÄ™cej pozycji" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "NadchodzÄ…ce odcinki" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Ostatnia aktualizacja" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Dostawca danych" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Ukryj fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Szczegóły o filmie" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Używana pamięć:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Numer Å›cieżki" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart[CR][CR]niedostÄ™pny[CR][CR] Kliknij przycisk, aby dodać" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Bieżący scraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Wybierz scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opcje skanowania zawartoÅ›ci" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Wskaż Å›cieżkÄ™ fanartu" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Wybrany profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Ostatnio zalogowany" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Wybór piosenki karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Emisja" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opcje playlisty" + +msgctxt "#31326" +msgid "Created" +msgstr "Utworzony" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Rozdzielczość" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Ostatnio dodane" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Timer ustawiony![/B] [COLOR=grey2] - Wyłączenie systemu za[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Kliknij przycisk, aby[CR][CR]odtworzyć zwiastun" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Szczegóły albumu" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pauza" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "PrzewiÅ„" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Cofnij" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menu filmu" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Pobierz napisy" + +msgctxt "#31390" +msgid "Skin default" +msgstr "DomyÅ›lne dla skóry" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "DomyÅ›lne dla skóry bez wielkich liter" + +msgctxt "#31392" +msgid "Arial based" +msgstr "BazujÄ…ce na Arialu" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]KONFIGURUJ USTAWIENIA WYGLÄ„DU[/B][CR][CR]Wybór skóry · JÄ™zyk · Lista plików[CR]Wygaszacz ekranu" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]KONFIGURUJ USTAWIENIA WIDEO[/B][CR][CR]Biblioteka wideo · Odtwarzanie · Lista wideo[CR]Czcionka napisów" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]KONFIGURUJ USTAWIENIA MUZYKI[/B][CR][CR]Biblioteka muzyki · Odtwarzanie · Lista utworów[CR]Publikacja piosenek · Opcje karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]KONFIGURUJ USTAWIENIA ZDJĘĆ[/B][CR][CR]Lista zdjęć · Pokaz slajdów" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]KONFIGURUJ USTAWIENIA POGODY[/B][CR][CR]Ustaw pogodÄ™ dla trzech miast" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]KONFIGURUJ USTAWIENIA SYSTEMU[/B][CR][CR]Ustawienia wyÅ›wietlania · WyjÅ›cie audio · Zdalne sterowania[CR]Opcje zasilania · Debugowanie · Blokady" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KONFIGURUJ USTAWIENIA WTYCZEK[/B][CR][CR]ZarzÄ…dzaj wtyczkami · PrzeglÄ…daj i instaluj wtyczki[CR]Ustawienia wtyczek" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]Skonfiguruj opcje TV[/B][CR][CR]ZmieÅ„ peÅ‚noekranowe informacje · ZarzÄ…dzaj ustawieniami EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]KONFIGURUJ USTAWIENIA USÅUG[/B][CR][CR]Ustaw kontrolÄ™ XBMC za pomocÄ… UPnP i HTTP · Ustaw współdzielenie plików[CR]Włącz Zeroconf · Ustaw AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Najpierw skorzystaj z pomocy..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Ta zakÅ‚adka oznacza iż za krawÄ™dziÄ… tego okna jest menu, które zawiera dodatkowe opcje dla tej sekcji. Aby dostać siÄ™ do tego menu, skieruj siÄ™ w lewo przy pomocy pilota, klawiszy lub umieść myszkÄ™ nad zakÅ‚adkÄ…. [CR] [CR] Kliknij \"OK\" by zamknąć to okno. Nie pojawi siÄ™ ono ponownie." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Wybierz profil użytkownika" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Czasy nagrywania" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Zaplanowany czas" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Telewizja" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Dodaj grupÄ™" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "ZmieÅ„ nazwÄ™ grupy" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "UsuÅ„ grupÄ™" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "DostÄ™pne[CR]Grupy" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Grupa kanałów" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Ustawienia zegara" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opcje kanałów" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Pogoda na 36 godzin" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Pogoda godzinna" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Pogoda weekendowa" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Pogoda na 10 dni" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Pogoda" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Możliwość opadów" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Prognozowanie pogody..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa i alarmy" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..9bce1814c --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Altere suas" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opções de energia" + +msgctxt "#31004" +msgid "Working..." +msgstr "Executando..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Esconder INFO" + +msgctxt "#31006" +msgid "View Options" +msgstr "Opções de Visualização" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Tela Cheia" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Duração Total" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Música - Arquivos" + +msgctxt "#31023" +msgid "Playing" +msgstr "Reproduzindo" + +msgctxt "#31024" +msgid "Page" +msgstr "Página" + +msgctxt "#31025" +msgid "Items" +msgstr "Itens" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Opções Diversas" + +msgctxt "#31027" +msgid "Location" +msgstr "Localização" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Vitrine Poster" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Ãcones de Imagens" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Vitrine de Imagens" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Reproduzindo Agora" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUZINDO" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSADO" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AVANÇO RÃPIDO" + +msgctxt "#31045" +msgid "REWIND" +msgstr "RETROCEDER" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualizar pré-configurações" + +msgctxt "#31049" +msgid "End Time" +msgstr "Tempo de término" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ordem: Ascendente" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ordem: Descendente" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Abrir lista de reprodução" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Salvar lista de reprodução" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Fechar lista de reprodução" + +msgctxt "#31058" +msgid "System music files" +msgstr "Arquivos de música do sistema" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Lista de reprodução atual" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Este arquivo está empilhado, selecione a parte de onde executar." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Selecionado" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opções da tela principal (home)" + +msgctxt "#31102" +msgid "Background" +msgstr "Fundo" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Exibir \"Pausado\" em exibição de imagens (slideshow)" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Tocar trailers em uma janela [COLOR=grey3](Só Diálogo de Informações do Vídeo)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Opções diversas" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Ocultar marcadores lidos do arquivo de vídeo [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ocultar botões do Menu Principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Ativar imagem de fundo customizado" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Caminho imagem de fundo:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ocultar" + +msgctxt "#31112" +msgid "Options" +msgstr "Opções" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Mostrar Ãlbuns Adicionados Recentemente" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Exibir vídeos adicionados recentemente" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Submenu Programas da Página Principal" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Ocultar fanart fundo da visualização" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Página do Tempo" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Exibir Vídeo \"Reproduzindo Agora\" no Fundo" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Exibir Visualização \"Reproduzindo Agora\" do Fundo" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Reproduzir música tema do seriado na biblioteca de vídeo (add-on TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Letras" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ocultar Fanart na visualização full screen" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Add-on de Letras" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Add-on de legendas" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Home Page Submenu de Videos" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Home Page Submenu de Música" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Home Page Submenu de Imagens" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD de Música" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD de Video" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Atalhos" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Escolha sua música" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Origem das Letras" + +msgctxt "#31206" +msgid "Found" +msgstr "Encontrado" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Procurar mais itens" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Próximos Episódios" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temp. Atual" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Última atualização" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Provedor de Dados" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Ocultar Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Detalhes do vídeo" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memória usada:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Número da faixa" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Imagem de Fanart[CR][CR]Indisponível[CR][CR] Clique no botão para definir" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper Atual" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Escolha um Scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opções de busca de conteúdo" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Definir caminho do Fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Perfil selecionado" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Última conexão" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Selecionador de Música Karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Transmitido" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opções da Lista de Reprodução" + +msgctxt "#31326" +msgid "Created" +msgstr "Criado" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolução" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Adicionado Recentemente" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Timer definido![/B] [COLOR=grey2] - Sistema se desligará em[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Clique no botão para tocar o[CR][CR]trailer" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalhes do Ãlbum" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pausar" + +msgctxt "#31352" +msgid "Stop" +msgstr "Parar" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Avançar" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Voltar" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menu do Filme" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Download de Legendas" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Padrão da skin" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Padrão da skin sem capslock" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Baseado em Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]AJUSTES DE APARÊNCIA[/B][CR][CR]Mude a skin · Defina região e idioma · Defina opções de listagem de arquivos[CR]Defina um descanso de tela" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]AJUSTES DE VÃDEO[/B][CR][CR]Gerencie sua coleção de vídeos · Defina opções de execução de vídeo[CR]Altere opções de listagem de vídeo · Defina fonte para legendas" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]AJUSTES DE MÚSICAS[/B][CR][CR]Gerencie sua coleção de músicas · Defina opções de execução de música[CR]Altere opções de listagem de música · Configure submissão de música · Defina opções de karaokê" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]AJUSTES DE IMAGENS[/B][CR][CR]Defina opções de listagem de imagens · Configure apresentação de slides" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]AJUSTES DE CLIMA[/B][CR][CR]Defina três cidades para coletar informações sobre o tempo" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]AJUSTES DE SISTEMA[/B][CR][CR]Configure e calibre telas · Configure saída de áudio · Configure controles remotos[CR]Defina opções para economia de energia · Habilite a depuração · Configure o bloqueio mestre" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]AJUSTES DE ADD-ONS[/B][CR][CR]Gerencie seus Add-ons instalados · Procure e instale novos Add-ons de xbmc.org[CR]Altere configurações de Add-ons" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]AJUSTES DE TV[/B][CR][CR]Altere informações de tela cheia · Gerencie ajustes de dados do EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]AJUSTES DE SERVIÇOS[/B][CR][CR]Configure o controle do XBMC via UPnP e HTTP · Configure o compartilhamento de arquivos[CR]Habilite Zeroconf · Configure o AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Executar ajuda primeiro..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Esta guia significa que existe um menu para o lado da janela que contém opções adicionais para esta seção. | Para acessar o menu, navegue para esquerda com seu controle remoto ou teclado ou aponte seu mouse sobre a guia.[CR][CR]Clique \"OK\" para fechar este diálogo. Ele não irá aparecer novamente." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Selecione seu Perfil de usuário XBMC[CR]para conectar e continue" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Agendamentos de Gravações" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Agendamento" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV ao Vivo" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Adicionar Grupo" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Renomear Grupo" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Deletar Grupo" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Grupos [CR] Disponíveis" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Grupo Canais" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Configurar Agendamento" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opções Canal" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Previsão 36 Horas" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Previsão por hora" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Previsão fim de semana" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Previsão 10 Dias" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Previsão" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Chance de precipitação" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Buscando informações da previsão..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa & Alertas" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Portuguese/strings.po new file mode 100644 index 000000000..544e20630 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Portuguese/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Mude as suas" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opções de energia" + +msgctxt "#31004" +msgid "Working..." +msgstr "Processando..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Ocultar Info" + +msgctxt "#31006" +msgid "View Options" +msgstr "Ver opções" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Ecrã cheio" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Duração total" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Música - Ficheiros" + +msgctxt "#31023" +msgid "Playing" +msgstr "A reproduzir" + +msgctxt "#31024" +msgid "Page" +msgstr "Página" + +msgctxt "#31025" +msgid "Items" +msgstr "Itens" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Várias opções" + +msgctxt "#31027" +msgid "Location" +msgstr "Localização" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Posters" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Miniatura e Imagem" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Imagens" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "A reproduzir" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUZINDO" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSADO" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AVANÇAR" + +msgctxt "#31045" +msgid "REWIND" +msgstr "RETROCEDER " + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Pré-selecções de visualização" + +msgctxt "#31049" +msgid "End Time" +msgstr "Termina às" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Orientar: Ascendente" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Orientar: Descendente" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Abrir Lista Reprodução" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Guardar Lista Reprodução" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Fechar Lista Reprodução" + +msgctxt "#31058" +msgid "System music files" +msgstr "Ficheiros de música do sistema" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Lista de Reprodução actual" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Este ficheiro está dividido por partes. Escolha a parte que quer reproduzir." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Seleccionado neste momento" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opções do menu inicial" + +msgctxt "#31102" +msgid "Background" +msgstr "Ecrã de Fundo" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Mostrar \"Pausado\" ao Apresentar Slides" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Reproduzir trailers numa janela [COLOR=grey3](só na janela de info de vídeo)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Várias opções" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Ocultar leitura de flags dos ficheiros de vídeo [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ocultar botões do Menu Principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Activar ecrã de fundo personalizado." + +msgctxt "#31110" +msgid "Background path:" +msgstr "Localização do ecrã de fundo:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ocultar" + +msgctxt "#31112" +msgid "Options" +msgstr "Opções" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Mostrar Ãlbuns Recentes" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Mostrar Vídeos Recentes" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Submenu de Programas da Página Inicial" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Ocultar Fanart de fundo" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Página Meteorológica" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Mostrar vídeo \"A reproduzir\" em fundo" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Mostrar visualização \"A reproduzir\" em fundo" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Tocar música de genérico na biblioteca de vídeo (Add-on TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Letras" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ocultar Fanart na visualização de ecrã inteiro" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Add-on de Letras de música" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Add-on de Legendas" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Submenu de Vídeos da Página Inicial" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Submenu de Música da Página Inicial" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Submenu de Fotos da Página Inicial" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Controlos de Música" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Controlos de Vídeo" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Atalhos" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Escolha a sua música" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Fonte das letras" + +msgctxt "#31206" +msgid "Found" +msgstr "Encontrado" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Encontrar mais itens" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Proximos episódios" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura actual" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Última actualização" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Fornecedor de dados" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Ocultar Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Detalhes do filme" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memória usada:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Número da Faixa" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Imagem de Fanart[CR][CR]Indisponível[CR][CR] Clique no botão para seleccionar" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper actual" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Escolha um scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opções da busca de conteúdos" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Escolher localização de Fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Perfil seleccionado" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Última vez ligado" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Selecção de música de karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Transmitido a" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opções da Lista Reprodução" + +msgctxt "#31326" +msgid "Created" +msgstr "Criado a" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolução" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Recentes" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Temporizador activado![/B] [COLOR=grey2] - Sistema vai desligar-se em[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Clique no botão para reproduzir [CR][CR]o trailer do filme" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalhes do álbum" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pausar" + +msgctxt "#31352" +msgid "Stop" +msgstr "Parar" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Avançar" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Retroceder" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menu do filme" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Transferir Legendas" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Padrão do tema" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Padrão do tema sem 'CAPS'" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Baseada em Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]CONFIGURAÇÕES DE VISUAL[/B][CR][CR]Mudar o Tema · Definir Idioma e Região · Opções de listagem de ficheiros[CR]Definir protector de ecrã" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]CONFIGURAÇÕES DE VÃDEO[/B][CR][CR]Gerir Biblioteca de Vídeo · Opções de reprodução de vídeo · Opções de listagem de vídeo[CR]Definir fonte das legendas" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]CONFIGURAÇÕES DE MÚSICA[/B][CR][CR]Gerir Biblioteca de Música · Opções de reprodução · Opções de listagem[CR]Definir envio de músicas · Opções de karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]CONFIGURAÇÕES DE IMAGENS[/B][CR][CR]Opções de listagem de imagens · Configurar apresentação de slides" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]CONFIGURAÇÕES METEOROLÓGICAS[/B][CR][CR]Definir três locais para informação meteorológica" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]CONFIGURAÇÕES DE SISTEMA[/B][CR][CR]Configurar e calibrar ecrãs · Configurar saída de áudio · Configurar controlo remoto[CR]Configurar poupança de energia · Activar depuração · Configurar bloqueio geral" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]CONFIGURAR ADD-ONS[/B][CR][CR]Gerir Add-ons instalados · Procurar e instalar Add-ons de xbmc.org[CR]Alterar opções dos Add-ons" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURAR DEFINIÇÕES DE TV[/B][CR][CR]Alterar informações em ecrã inteiro · Gerir definições de dados do EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGURAR SERVIÇOS[/B][CR][CR]Configurar controlo do XBMC via UPnP e HTTP · Configurar partilha de ficheiros[CR]Activar ZeroConf · Configurar AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Ajuda de primeira inicialização..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Este tabulador indica que existe um menu lateral, nesta janela, que contém mais opções para esta secção. Para aceder ao menu, navegue para a esquerda com o controlo remoto ou teclado, ou então coloque o rato sobre a tabulação. [CR][CR] Clique \"OK\" para fechar esta caixa, que não irá ser exibida novamente." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Escolha o seu perfil de utilizador do XBMC[CR]para iniciar sessão e prosseguir" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Temporizadores de Gravação" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Tempo Agendado" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV ao Vivo" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Adicionar Grupo" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Renomear Grupo" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Eliminar Grupo" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Grupos[CR] Disponiveis" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Canal de Grupo" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Definir temporizador." + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opções do canal" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Previsão de 36 Horas" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Previsão horária" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Previsão de fim de semana" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Previsão de 10 Dias" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Previsão" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Possibilidade de chuva" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Recebendo previsões meteorológicas..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa e Alertas" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Romanian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Romanian/strings.po new file mode 100644 index 000000000..8ec9a20e8 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Romanian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Modificare" + +msgctxt "#31003" +msgid "Power Options" +msgstr "OpÈ›iuni de alimentare" + +msgctxt "#31004" +msgid "Working..." +msgstr "Procesare..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Ascunde detalii" + +msgctxt "#31006" +msgid "View Options" +msgstr "OpÈ›iuni vizualizare" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Pe tot ecranul" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Durata Totală" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "FiÈ™iere audio" + +msgctxt "#31023" +msgid "Playing" +msgstr "Redare" + +msgctxt "#31024" +msgid "Page" +msgstr "Pagina" + +msgctxt "#31025" +msgid "Items" +msgstr "Elemente" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "OpÈ›iuni diverse" + +msgctxt "#31027" +msgid "Location" +msgstr "LocaÈ›ie" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "AfiÈ™e" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Detalii" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Ciclu imagini" + +msgctxt "#31033" +msgid "Info" +msgstr "InformaÈ›ii" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "ÃŽn redare" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ÃŽN REDARE" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ÃŽN PAUZÄ‚" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "DERULARE ÃŽNAINTE" + +msgctxt "#31045" +msgid "REWIND" +msgstr "DERULARE ÃŽNAPOI" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Vizualizări predefinite" + +msgctxt "#31049" +msgid "End Time" +msgstr "Se termină la" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sort.: Ascendent" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sort.: Descendent" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Deschide listă de redare" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Salvează lista de redare" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "ÃŽnchide lista de redare" + +msgctxt "#31058" +msgid "System music files" +msgstr "FiÈ™iere de muzică în sistem" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Listă de redare curentă" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Acest fiÈ™ier este în stivă, selectaÈ›i partea din care doriÈ›i să redaÈ›i." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Selectat curent" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "OpÈ›iuni ecran principal" + +msgctxt "#31102" +msgid "Background" +msgstr "Fundal" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Arată „În pauză†la prezentare diapozitive" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Redă secvenÈ›ele intr-o fereastră [COLOR=grey3](doar în dialogul de informaÈ›ii video)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "OpÈ›iuni diverse" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Ascunde marcare citită din numele fiÈ™ierelor video [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ascundere butoane meniu principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "ActivaÈ›i Fundalul Propriu" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Calea către fundalul ales" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ascunde" + +msgctxt "#31112" +msgid "Options" +msgstr "OpÈ›iuni" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Arată Albumele adăugate Recent" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Arată filme È™i episoade adăugate recent" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Submeniu Programe în pagină iniÈ›ială" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Ascunde fundal (Fanart)" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Pagină meteo" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Arată video „Acum în redare†pe fundal" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Arată vizualizare „Acum în redare†pe fundal" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Redă cântece temă TV în mediateca video (supliment TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Versuri" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ascunde Fanart în modul de vizualizare full screen" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Supliment versuri" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Supliment subtitrări" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Submeniu Video în pagina iniÈ›ială" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Submeniu Muzică în pagina iniÈ›ială" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Submeniu Imagini în pagina iniÈ›ială" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Meniu audio" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Meniu video" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Scurtături" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "AlegeÈ›i-vă cântecul" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Sursă versuri" + +msgctxt "#31206" +msgid "Found" +msgstr "Găsite" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "GăseÈ™te Mai Multe Articole" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Episoade Viitoare" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatură curentă" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Ultima actualizare" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Furnizor informaÈ›ii" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Ascunde Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Detalii film" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Utilizare memorie:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Număr pistă" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Imagine Fanart indisponibilă[CR][CR]Clic pe buton pentru setare" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Catalog curent" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "AlegeÈ›i un catalog (scraper)" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "OpÈ›iuni de scanare conÈ›inut" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Setează cale Fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Profil selectat" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Ultima intrare" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Selector cântec karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Difuzat pe" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "OpÈ›iuni listă de redare" + +msgctxt "#31326" +msgid "Created" +msgstr "Creat" + +msgctxt "#31327" +msgid "Resolution" +msgstr "RezoluÈ›ie" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Adăugate recent" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Planificare închidere activată![/B] [COLOR=grey2] ÃŽnchidere sistem în[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Clic pe buton pentru redare[CR][CR]secvenÈ›e din film (trailer)" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalii album" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pauză" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stop" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Derulează înainte" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Derulează înapoi" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Meniu film" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Descărcare subtitrare" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Standard pentru costum" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Standard pentru costum fără majuscule" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Cu Arial la bază" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]CONFIGURAÈšI SETÄ‚RI ASPECT[/B][CR][CR]SchimbaÈ›i costumul · AlegeÈ›i limbă È™i regiune · ModificaÈ›i opÈ›iuni de listare fiÈ™iere[CR]AlegeÈ›i protector ecran" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]CONFIGURAÈšI SETÄ‚RI VIDEO[/B][CR][CR]AdministraÈ›i videoteca · SetaÈ›i opÈ›iuni redare video · ModificaÈ›i opÈ›iuni de listare video[CR]AlegeÈ›i font subtitrare" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]CONFIGURAÈšI SETÄ‚RI MUZICÄ‚[/B][CR][CR]AdministraÈ›i fonoteca · SetaÈ›i opÈ›iuni redare muzică · ModificaÈ›i opÈ›iuni de listare muzică[CR]PregătiÈ›i trimitere cântec · SetaÈ›i opÈ›iuni karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]CONFIGURAÈšI SETÄ‚RI IMAGINE[/B][CR][CR]ModificaÈ›i opÈ›iuni de listare imagini · ConfiguraÈ›i prezentare diapozitive" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]CONFIGURAÈšI SETÄ‚RI VREME[/B][CR][CR]AlegeÈ›i trei oraÈ™e pentru care se obÈ›in informaÈ›ii meteo" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]CONFIGURAÈšI SETÄ‚RI SISTEM[/B][CR][CR]ConfiguraÈ›i È™i calibraÈ›i afiÈ™aje · ConfiguraÈ›i ieÈ™ire audio · InstalaÈ›i telecomenzi[CR]AlegeÈ›i opÈ›iuni de economisire energie · ActivaÈ›i depanare · ConfiguraÈ›i blocarea principală" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]CONFIGURAÈšI SUPLIMENTE[/B][CR][CR]AdministraÈ›i suplimentele instalate · CăutaÈ›i È™i instalaÈ›i suplimente de la xbmc.org[CR]ModificaÈ›i setări suplimente" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGUREAZÄ‚ SETÄ‚RILE TV[/B][CR][CR]Schimbă informaÈ›iile afiÈ™ate pe ecran în modul full screen · Schimbă setările datelor de tip EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGURAREA SETÄ‚RILOR SERVICIULUI[/B][CR][CR]Stabilirea controului XBMC prin UPnP È™i HTTP · Configurarea partajării de fiÈ™iere[CR]Enable Zeroconf · Configurarea AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Ajutor la prima execuÈ›ie...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Acest semn indică prezenÈ›a unui meniu în partea stângă a ferestrei care oferă opÈ›iuni suplimentare pentru această secÈ›iune. Pentru a accesa meniul, apasă la stânga cu telecomanda sau tastatura sau poziÈ›ionează săgeata mouse-ului deasupra acestui semn.[CR][CR]Apasă pe \"Ok\" pentru a închide acest dialog care nu va mai apărea ulterior." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "SelectaÈ›i profilul dumneavoastră de utilizator XBMC[CR]pentru a vă autentifica È™i a continua" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Timpul ÃŽnregistrărilor" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Timpul Programat" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV Live" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Adaugă Grup" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "RedenumeÈ™te Grup" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Șterge Grup" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "[CR]Grupuri Disponibile" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Canalul Grupului" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Setările Timpului" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "OpÈ›iunile Canalului" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Previziune pe 36 de ore" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Previziune la o oră" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Previziune weekend" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Previziune pe 10 zile" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Previziune" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Șansă de precipitaÈ›ii" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Preluare informaÈ›ii previziune..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Harti & Alerte" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Russian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Russian/strings.po new file mode 100644 index 000000000..52d2947d8 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Russian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Измените" + +msgctxt "#31003" +msgid "Power Options" +msgstr "ÐаÑтройки питаниÑ" + +msgctxt "#31004" +msgid "Working..." +msgstr "Подождите…" + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Без Ñведений" + +msgctxt "#31006" +msgid "View Options" +msgstr "ÐаÑтройки проÑмотра" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Полный Ñкран" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð´Ð»Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Музыка: файлы" + +msgctxt "#31023" +msgid "Playing" +msgstr "ВоÑпроизведение" + +msgctxt "#31024" +msgid "Page" +msgstr "Ñтраница" + +msgctxt "#31025" +msgid "Items" +msgstr "в ÑпиÑке" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Другие параметры" + +msgctxt "#31027" +msgid "Location" +msgstr "РаÑположение" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "каруÑель поÑтеров" + +msgctxt "#31029" +msgid "Fanart" +msgstr "фанарт" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "ÑÑкизы фото" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "каруÑель изображений" + +msgctxt "#31033" +msgid "Info" +msgstr "ИнформациÑ" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð²Ð¾ÑпроизводитÑÑ:" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ВОСПРОИЗВЕДЕÐИЕ" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ПÐУЗÐ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ПЕРЕМОТКРВПЕРЕД" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ПЕРЕМОТКРÐÐЗÐД" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "ÐаÑтройки визуализации" + +msgctxt "#31049" +msgid "End Time" +msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "По возраÑтанию" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "По убыванию" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Открыть плейлиÑÑ‚" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Сохранить плейлиÑÑ‚" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Закрыть плейлиÑÑ‚" + +msgctxt "#31058" +msgid "System music files" +msgstr "СиÑтемные аудиофайлы" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Текущий плейлиÑÑ‚" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Это ÑоÑтавной файл. Выберите чаÑть Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð³Ñ€Ñ‹Ð²Ð°Ð½Ð¸Ñ." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Текущее выделение" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "ÐаÑтройки главного Ñкрана" + +msgctxt "#31102" +msgid "Background" +msgstr "Фон" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Показывать \"Пауза\" в режиме Ñлайд-шоу" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "ВоÑпроизводить трейлеры в окне [COLOR=grey3](только Ð´Ð»Ñ Ð¾ÐºÐ½Ð° Ñведений)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Различные параметры" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Скрыть флаги, полученные из имени видеофайла [COLOR=grey3](BluRray, HDTV)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Скрыть кнопки главного меню" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Разрешить выбор фона" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Путь к фоновой картинке:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Скрыть" + +msgctxt "#31112" +msgid "Options" +msgstr "Параметры" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Показывать поÑледние добавленные альбомы" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Показывать поÑледнее добавленное видео" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Подменю программ главного Ñкрана" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Скрыть фоновый фанарт" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Страница погоды" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "ВоÑпроизводимое видео в качеÑтве фона" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "ÐœÑƒÐ·Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð² качеÑтве фона" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Играть мелодию Ñериала в медиатеке (дополнение TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "ТекÑты" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Скрывать фанарт в полноÑкранной визуализации" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Дополнение текÑтов пеÑен" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Дополнение Ñубтитров" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Подменю видео главного Ñкрана" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Подменю музыки главного Ñкрана" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Подменю фото главного Ñкрана" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Экранное меню музыки" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Экранное меню видео" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Ярлыки" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Выберите пеÑню" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "ИÑточник текÑтов пеÑен" + +msgctxt "#31206" +msgid "Found" +msgstr "Ðайдено" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Ðайти ещё" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Следующие Ñерии" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñ‚ÐµÐ¼Ð¿ÐµÑ€Ð°Ñ‚ÑƒÑ€Ð°" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "ПоÑледнее обновление" + +msgctxt "#31303" +msgid "Data provider" +msgstr "ИÑточник данных" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Скрыть фанарт" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ фильме" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "ИÑпользовано памÑти:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Ðомер композиции" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Фанарт[CR][CR]недоÑтупен,[CR][CR]нажмите кнопку, чтобы выбрать" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Текущий инфореÑурÑ" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Выбрать инфореÑурÑ" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Параметры ÑÐºÐ°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñодержимого" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Выбрать раÑположение фанарта" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Выбранный профиль" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "ПоÑледний вход" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Выбор пеÑен Ð´Ð»Ñ ÐºÐ°Ñ€Ð°Ð¾ÐºÐµ" + +msgctxt "#31322" +msgid "Aired" +msgstr "Премьера" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Параметры плейлиÑта" + +msgctxt "#31326" +msgid "Created" +msgstr "Создан" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Размеры" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "ПоÑледние" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]УÑтановлен таймер![/B] [COLOR=grey2] ÐвтоматичеÑкое отключение через[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Ðажмите кнопку,[CR][CR]чтобы поÑмотреть трейлер к фильму" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± альбоме" + +msgctxt "#31351" +msgid "Pause" +msgstr "Пауза" + +msgctxt "#31352" +msgid "Stop" +msgstr "Стоп" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Перемотка вперед" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Перемотка назад" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Меню фильма" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Загрузить Ñубтитры" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Стандартные" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Стандартные без ПРОПИСÐЫХ" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Ðа оÑнове Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]ÐÐСТРОЙКРВÐЕШÐЕГО ВИДÐ[/B][CR][CR]Изменение обложки • Выбор Ñзыка и региона • ÐаÑтройка ÑпиÑка файлов[CR]ÐаÑтройка заÑтавки" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]ÐÐСТРОЙКРПÐРÐМЕТРОВ ВИДЕО[/B][CR][CR]Управление медиатекой видео • Параметры воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ¾[CR]ÐаÑтройка ÑпиÑка видео • ÐаÑтройка шрифта Ñубтитров" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ÐÐСТРОЙКРПÐРÐМЕТРОВ МУЗЫКИ[/B][CR][CR]Управление медиатекой аудио • Параметры воÑÐ¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð°ÑƒÐ´Ð¸Ð¾[CR]ÐаÑтройка ÑпиÑка аудио • ÐаÑтройка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑен • ÐаÑтройка караоке" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]ÐÐСТРОЙКРПÐРÐМЕТРОВ ФОТО[/B][CR][CR]Параметры ÑпиÑка фото • ÐаÑтройка Ñлайд-шоу" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]ÐÐСТРОЙКРПÐРÐМЕТРОВ ПОГОДЫ[/B][CR][CR]Выбор трёх городов Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о погоде" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]ÐÐСТРОЙКРПÐРÐМЕТРОВ СИСТЕМЫ[/B][CR][CR]ÐаÑтройка и калибровка диÑплеев • ÐаÑтройка вывода аудио • ÐаÑтройка[CR]диÑтанционного ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ â€¢ ÐаÑтройка параметров ÑнергоÑÐ±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ â€¢ Включение отладки • ÐаÑтройка блокировки" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]ÐÐСТРОЙКРДОПОЛÐЕÐИЙ[/B][CR][CR]Управление уÑтановленными дополнениÑми • УÑтановка дополнений Ñ xbmc.org[CR]ÐаÑтройка дополнений" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]ÐÐСТРОЙКРПÐРÐМЕТРОВ ТВ[/B][CR][CR]ÐаÑтройка полноÑкранной информации · ÐаÑтройка Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]ÐÐСТРОЙКРПÐРÐМЕТРОВ СЛУЖБ[/B][CR][CR]ÐаÑтройка ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ XBMC по UPnP и HTTP • ÐаÑтройка доÑтупа к файлам[CR]Включение Zeroconf • ÐаÑтройка AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ первом запуÑке." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Эта вкладка означает, что Ñбоку окна еÑть меню Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¼Ð¸ наÑтройками. Чтобы получить доÑтуп к меню, перейдите влево при помощи пульта ДУ или клавиатуры либо помеÑтите курÑор мыши над вкладкой. [CR][CR]Ðажмите ОК, чтобы закрыть Ñтот диалог. Он больше не будет отображатьÑÑ." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Выберите профиль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ XBMC,[CR]чтобы войти в ÑиÑтему" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Таймеры запиÑи" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Запланированное времÑ" + +msgctxt "#31502" +msgid "Live TV" +msgstr "ТВ" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Добавить группу" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Переименовать группу" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Удалить группу" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "ДоÑтупные[CR]группы" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Группа каналов" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Таймер наÑтроен" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "ÐаÑтройки канала" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Прогноз на 36 чаÑов" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "ЕжечаÑный прогноз" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Прогноз на выходные" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Прогноз на 10 дней" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Прогноз" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Возможны оÑадки" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Получение прогноза…" + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Карта и предупреждениÑ" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..9d44f19d7 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,354 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Промените ваше" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Опције напајања" + +msgctxt "#31004" +msgid "Working..." +msgstr "Обрада..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Сакриј инфо." + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Музика - Датотеке" + +msgctxt "#31023" +msgid "Playing" +msgstr "Репродукција" + +msgctxt "#31024" +msgid "Page" +msgstr "Страна" + +msgctxt "#31025" +msgid "Items" +msgstr "Ставки" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "ОÑтале опције" + +msgctxt "#31027" +msgid "Location" +msgstr "Локација" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Поређано" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Зан. Ñлика" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Сличице" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Поређано" + +msgctxt "#31033" +msgid "Info" +msgstr "Информације" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Тренутно Ñе репродукује" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "РЕПРОДУКОВÐЊЕ" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ПÐУЗИРÐÐО" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ПРЕМОТÐÐ’ÐЊЕ УÐÐПРЕД" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ПРЕМОТÐÐ’ÐЊЕ" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "ПоÑтојеће визуализације" + +msgctxt "#31049" +msgid "End Time" +msgstr "Време завршетка" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Отвори реп. ÑпиÑак" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Сачувај реп. ÑпиÑак" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Затвори реп. ÑпиÑак" + +msgctxt "#31058" +msgid "System music files" +msgstr "СиÑтемÑке музичке датотеке" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Тренутни реп. ÑпиÑак" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Ова датотека је Ñложена, изаберите део који желите да репродукујете." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Тренутно изабрано" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Опције почетног екрана" + +msgctxt "#31102" +msgid "Background" +msgstr "Позадина" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Прикажи „Паузирано“ приликом репродукције Ñлика" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Репродукуј најаве филмова у прозору [COLOR=grey3](Video Info. Dialog Only)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Разне опције" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Сакриј таÑтере главног менија" + +msgctxt "#31111" +msgid "Hide" +msgstr "Сакриј" + +msgctxt "#31112" +msgid "Options" +msgstr "Опције" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Прикажи недавно додате филмове" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Подмени почетне Ñтране" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Страна временÑке прогнозе" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Прикажи тренутни филм у позадини" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Прикажи тренутну визуализацију у позадини" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "ТекÑтови пеÑама" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Музички OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Видео OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Пречице" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Изаберите вашу пеÑму" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Извор текÑтова пеÑама" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Тренутна температура" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "ПоÑледње ажурирање" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Сакриј Ñлику" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Подаци о филму" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "ИÑкоришћеноÑÑ‚ меморије:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Број нумере" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Занимљива Ñлика[CR]није додељена.[CR][CR]Кликните на дугме да[CR]биÑте је доделили." + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Тренутни добављач" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Изаберите добављача" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Опције анализирања Ñадржаја" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "ПоÑÑ‚. пут. до Ñлика" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Изабран профил" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "ПоÑледња пријава" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Бирач караоке пеÑме" + +msgctxt "#31322" +msgid "Aired" +msgstr "Емитовано" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Опције ÑпиÑка за репродукцију" + +msgctxt "#31326" +msgid "Created" +msgstr "Ðаправљено" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Резолуција" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Ðедавно додато" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Одбројавање је поÑтављено![/B] [COLOR=grey2] - СиÑтем ће Ñе иÑкључити за[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Кликните на таÑтер за репродукцију[CR][CR]најаве филма" + +msgctxt "#31351" +msgid "Pause" +msgstr "Пауза" + +msgctxt "#31352" +msgid "Stop" +msgstr "ЗауÑтави" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Премотај унапред" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Премотај уназад" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "ФилмÑки мени" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Преузми титлове" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Подразумевана маÑка" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ПРИКÐЗÐ[/B][CR][CR]Промените маÑку · Изаберите језик и облаÑÑ‚ где живите[CR]Промените опције излиÑтавања датотека · Изаберите чувара екрана" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ФИЛМОВÐ[/B][CR][CR]Управљајте вашом библиотеком филмова · ПоÑтавите опције репродукције филмова[CR]Промените опције излиÑтавања филмова · ПоÑтавите изглед Ñлова у титловима" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ МУЗИКЕ[/B][CR][CR]Управљајте вашом библиотеком музичких нумера · ПоÑтавите опције репрод. музике[CR]Промените опције излиÑтавања музике · ПоÑтавите Ñлање пеÑама[CR]ПоÑтавите караоке опције" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ СЛИКÐ[/B][CR][CR]ПоÑтавите опције излиÑтавања Ñлика · Конфигуришите репродукцију Ñлајдова" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ ВРЕМЕÐСКЕ ПРОГÐОЗЕ[/B][CR][CR]ПоÑтавите три града за прикупљање информација о временÑким приликама" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]КОÐФИГУРИСÐЊЕ ПОСТÐВКИ СИСТЕМÐ[/B][CR][CR]ПодеÑите и калибришите екране · Конфигуришите звучни излаз[CR]ПодеÑите даљинÑко управљање · ПоÑтавите опције штедње енергије[CR]Омогућите евиденцију грешака · ПодеÑите главну лозинку" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]КОÐФИГУРИСÐЊЕ ДОДÐТÐИХ ПРОГРÐМÐ[/B][CR][CR]Управљајте вашим инÑталираним додатним програмима · Потражите и инÑталирајте додатне прог. Ñа xbmc.org[CR]Прилагодите подешавање додатног програма" + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Изаберите ваш XBMC кориÑнички[CR]профил за пријаву, а потом наÑтавите даље" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Serbian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Serbian/strings.po new file mode 100644 index 000000000..b3c9ed414 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Serbian/strings.po @@ -0,0 +1,354 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Promenite vaÅ¡e" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opcije napajanja" + +msgctxt "#31004" +msgid "Working..." +msgstr "Obrada..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Sakrij info." + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Muzika - Datoteke" + +msgctxt "#31023" +msgid "Playing" +msgstr "Reprodukcija" + +msgctxt "#31024" +msgid "Page" +msgstr "Strana" + +msgctxt "#31025" +msgid "Items" +msgstr "Stavki" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Ostale opcije" + +msgctxt "#31027" +msgid "Location" +msgstr "Lokacija" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "PoreÄ‘ano" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Zan. slika" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "SliÄice" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "PoreÄ‘ano" + +msgctxt "#31033" +msgid "Info" +msgstr "Informacije" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Trenutno se reprodukuje" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUKOVANjE" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUZIRANO" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "PREMOTAVANjE UNAPRED" + +msgctxt "#31045" +msgid "REWIND" +msgstr "PREMOTAVANjE" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Postojeće vizualizacije" + +msgctxt "#31049" +msgid "End Time" +msgstr "Vreme zavrÅ¡etka" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Otvori rep. spisak" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "SaÄuvaj rep. spisak" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Zatvori rep. spisak" + +msgctxt "#31058" +msgid "System music files" +msgstr "Sistemske muziÄke datoteke" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Trenutni rep. spisak" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Ova datoteka je složena, izaberite deo koji želite da reprodukujete." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Trenutno izabrano" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opcije poÄetnog ekrana" + +msgctxt "#31102" +msgid "Background" +msgstr "Pozadina" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Prikaži „Pauzirano“ prilikom reprodukcije slika" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Reprodukuj najave filmova u prozoru [COLOR=grey3](Video Info. Dialog Only)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Razne opcije" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Sakrij tastere glavnog menija" + +msgctxt "#31111" +msgid "Hide" +msgstr "Sakrij" + +msgctxt "#31112" +msgid "Options" +msgstr "Opcije" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Prikaži nedavno dodate filmove" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Podmeni poÄetne strane" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Strana vremenske prognoze" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Prikaži trenutni film u pozadini" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Prikaži trenutnu vizualizaciju u pozadini" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Tekstovi pesama" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "MuziÄki OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "PreÄice" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Izaberite vaÅ¡u pesmu" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Izvor tekstova pesama" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Trenutna temperatura" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Poslednje ažuriranje" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Sakrij sliku" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Podaci o filmu" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Iskorišćenost memorije:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Broj numere" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Zanimljiva slika[CR]nije dodeljena.[CR][CR]Kliknite na dugme da[CR]biste je dodelili." + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Trenutni dobavljaÄ" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Izaberite dobavljaÄa" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opcije analiziranja sadržaja" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Post. put. do slika" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Izabran profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Poslednja prijava" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "BiraÄ karaoke pesme" + +msgctxt "#31322" +msgid "Aired" +msgstr "Emitovano" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opcije spiska za reprodukciju" + +msgctxt "#31326" +msgid "Created" +msgstr "Napravljeno" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Rezolucija" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nedavno dodato" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Odbrojavanje je postavljeno![/B] [COLOR=grey2] - Sistem će se iskljuÄiti za[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Kliknite na taster za reprodukciju[CR][CR]najave filma" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pauza" + +msgctxt "#31352" +msgid "Stop" +msgstr "Zaustavi" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Premotaj unapred" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Premotaj unazad" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmski meni" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Preuzmi titlove" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Podrazumevana maska" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]KONFIGURISANjE POSTAVKI PRIKAZA[/B][CR][CR]Promenite masku · Izaberite jezik i oblast gde živite[CR]Promenite opcije izlistavanja datoteka · Izaberite Äuvara ekrana" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]KONFIGURISANjE POSTAVKI FILMOVA[/B][CR][CR]Upravljajte vaÅ¡om bibliotekom filmova · Postavite opcije reprodukcije filmova[CR]Promenite opcije izlistavanja filmova · Postavite izgled slova u titlovima" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]KONFIGURISANjE POSTAVKI MUZIKE[/B][CR][CR]Upravljajte vaÅ¡om bibliotekom muziÄkih numera · Postavite opcije reprod. muzike[CR]Promenite opcije izlistavanja muzike · Postavite slanje pesama[CR]Postavite karaoke opcije" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]KONFIGURISANjE POSTAVKI SLIKA[/B][CR][CR]Postavite opcije izlistavanja slika · KonfiguriÅ¡ite reprodukciju slajdova" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]KONFIGURISANjE POSTAVKI VREMENSKE PROGNOZE[/B][CR][CR]Postavite tri grada za prikupljanje informacija o vremenskim prilikama" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]KONFIGURISANjE POSTAVKI SISTEMA[/B][CR][CR]Podesite i kalibriÅ¡ite ekrane · KonfiguriÅ¡ite zvuÄni izlaz[CR]Podesite daljinsko upravljanje · Postavite opcije Å¡tednje energije[CR]Omogućite evidenciju greÅ¡aka · Podesite glavnu lozinku" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KONFIGURISANjE DODATNIH PROGRAMA[/B][CR][CR]Upravljajte vaÅ¡im instaliranim dodatnim programima · Potražite i instalirajte dodatne prog. sa xbmc.org[CR]Prilagodite podeÅ¡avanje dodatnog programa" + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Izaberite vaÅ¡ XBMC korisniÄki[CR]profil za prijavu, a potom nastavite dalje" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Slovak/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Slovak/strings.po new file mode 100644 index 000000000..7778dcae8 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Slovak/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "ZmeniÅ¥" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Napájanie" + +msgctxt "#31004" +msgid "Working..." +msgstr "Pracujem..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "SkryÅ¥ informáciu" + +msgctxt "#31006" +msgid "View Options" +msgstr "Možnosti zobrazenia" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Celá obrazovka" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Celkové trvanie" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Hudba - Súbory" + +msgctxt "#31023" +msgid "Playing" +msgstr "Práve hrá" + +msgctxt "#31024" +msgid "Page" +msgstr "Strana" + +msgctxt "#31025" +msgid "Items" +msgstr "Položky" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "ÄŽalÅ¡ie možnosti" + +msgctxt "#31027" +msgid "Location" +msgstr "Mesto" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Obaly" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Náhľady" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Obrázky" + +msgctxt "#31033" +msgid "Info" +msgstr "Informácie" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Práve hrá" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "PREHRÃVA SA" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUZA" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "PRETÃÄŒA SA DOPREDU" + +msgctxt "#31045" +msgid "REWIND" +msgstr "PRETÃÄŒA SA DOZADU" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Predvolby Vizualizácií" + +msgctxt "#31049" +msgid "End Time" +msgstr "Koniec filmu" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "UkázaÅ¥: Vzostupne" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "UkázaÅ¥: Zostupne" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "OtvoriÅ¥ playlist" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "UložiÅ¥ playlist" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "ZatvoriÅ¥ playlist" + +msgctxt "#31058" +msgid "System music files" +msgstr "Hudobné súbory systému" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Aktuálny playlist" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Tento súbor sa skladá z viac Äastí. Vyberte tu, od ktorej chcete spustit prehrávaníe." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Aktuálne vybraný" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Informácie na Domovskej stránke" + +msgctxt "#31102" +msgid "Background" +msgstr "Pozadie" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "ZobrazovaÅ¥ 'Pauza' pri prezentácií obrázkov" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "PrehrávaÅ¥ ukážky v okne [COLOR=grey3](iba z okna Detailné Informácie)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Rôzne nastavenia" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "NezobrazovaÅ¥ ikonky zdroja videa [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "SkryÅ¥ položky hlavného menu" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Zapnúť vlastné pozadie" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Cesta k pozadiu:" + +msgctxt "#31111" +msgid "Hide" +msgstr "SkryÅ¥" + +msgctxt "#31112" +msgid "Options" +msgstr "Možnosti" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "ZobraziÅ¥ naposledy pridané albumy" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "ZobrazovaÅ¥ Posledné pridané" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Domovská stránka" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "SkryÅ¥ Fanart na pozadí" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "PoÄasie" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "ZobrazovaÅ¥ práve prehrávané video na pozadí" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "ZobrazovaÅ¥ vizualizáciu na pozadí" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "PrehrávaÅ¥ skladbu TV seriálu vo video knižnici (TvTunes doplnok)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Texty skladieb" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "SkryÅ¥ Fanart pri vizualizácii na celú obrazovku" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Doplnok Texty skladieb" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Doplnok Titulky" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Domovská stránka / podmenu videá" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Domovská stránka / podmenu hudba" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Domovská stránka / podmenu obrázky" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Hudobný OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Odkazy" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Vyberte VaÅ¡u skladbu" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Zdroj textov skladieb" + +msgctxt "#31206" +msgid "Found" +msgstr "Nájdené" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "HľadaÅ¥ viac položiek" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Pripravované Äasti" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Aktuálna teplota" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Naposledy aktualizované" + +msgctxt "#31303" +msgid "Data provider" +msgstr "PoÄasie Vám prináša" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "SkryÅ¥ Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Informácie" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Použitá pamäť:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Číslo skladby" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart obrázok[CR][CR]Nedostupný[CR][CR] Klik pre nastavenie" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Aktuálny sÅ¥ahovaÄ" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Vyber sÅ¥ahovaÄ" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Možnosti vyhľadávania obsahu" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "NájsÅ¥ FanArt" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Vybratý Profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Posledné prihlásenie" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Výber Karaoke skladby" + +msgctxt "#31322" +msgid "Aired" +msgstr "Vysielané" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Nastavenia Playlistu" + +msgctxt "#31326" +msgid "Created" +msgstr "Vytvorené" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Rozlíšenie" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Posledné pridané" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]ÄŒasovaÄ nastavený![/B] [COLOR=grey2] - Systém sa automaticky vypne za[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Pre spustenie ukážky[CR][CR]stlaÄte tlaÄítko" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detaily albumu" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pauza" + +msgctxt "#31352" +msgid "Stop" +msgstr "ZastaviÅ¥" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "PretoÄiÅ¥ dopredu" + +msgctxt "#31354" +msgid "Rewind" +msgstr "PretoÄiÅ¥ dozadu" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menu filmu" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "StiahnuÅ¥ titulky" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Predvolený vzhľad" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Predvolený vzhľad bez veľkých písmen" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]MOŽNOSTI PROSTREDIA[/B][CR][CR]Zmena vzhľadu · Výber jazyka a oblasti · Možnosti zobrazenia súborov[CR]Nastavenie Å¡poriÄa obrazovky" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]MOŽNOSTI VIDEA[/B][CR][CR]Správa knižnice videí · Možnosti prehrávania videa · Zobrazenie video súborov[CR]Nastavenie titulkov" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]MOŽNOSTI HUDBY[/B][CR][CR]Správa knižnice hudby · Možnosti prehrávania hudby · Zobrazenie hudobných súborov[CR]Služby pre odosielanie informácií o prehrávaných skladbách · Karaoke nastavenia" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]MOŽNOSTI OBRÃZKOV[/B][CR][CR]Možnosti zobrazenia obrázkov · Nastavenie prezentácie" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]MOŽNOSTI POÄŒASIA[/B][CR][CR]Nastavenie oblastí pre ktoré si prajete získavaÅ¥ predpoveÄ poÄasia" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]MOŽNOSTI SYSTÉMU[/B][CR][CR]Nastavenie obrazovky · Nastavenie zvukového výstupu[CR]Možnosti úsporného režimu · Ukladanie informácií · Konfigurácia rodiÄovského zámku" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]MOŽNOSTI DOPLNKOV[/B][CR][CR]Správa nainÅ¡talovaných doplnkov · Vyhľadávanie a inÅ¡talácia doplnkov z xbmc.org[CR]Nastavenie doplnkov" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]NASTAVENIA TV[/B][CR][CR]ZmeniÅ¥ informácie zobrazené na celej obrazovke · SpravovaÅ¥ nastavenia EPG dát" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]KONFIGUROVAŤ NASTAVENIA SLUŽBY[/B][CR][CR]NastaviÅ¥ ovládanie XBMC pomocou UPnP a HTTP · KonfigurovaÅ¥ zdielanie[CR]Zapnúť Zeroconf · KonfigurovaÅ¥ AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Pomocník po prvom spustení..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Táto záložka zvýrazňuje, že sa na boÄnej strane okna nachádza skryté menu. Aby ste sa k nemu dostali, kurzorovými tlaÄidlami na vaÅ¡om diaľkovom ovládaÄi alebo klávesnici choÄte doľava, prípadne umiestnite kurzor myÅ¡i ponad túto záložku. [CR][CR]Kliknutím na tlaÄidlo \"Ok\" sa zavrie toto dialógové okno. V budúcnosti sa už nezobrazí." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Prihlásenie užívateľa[CR]PokraÄujte výberom profilu" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "ÄŒasovaÄe nahrávania" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Naplánovaný Äas" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Živé TV vysielanie" + +msgctxt "#31503" +msgid "Add Group" +msgstr "PridaÅ¥ skupinu" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "PremenovaÅ¥ skupinu" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "OdstrániÅ¥ skupinu" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Dostupné[CR]skupiny" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Skupina kanálu" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "NastaviÅ¥ ÄasovaÄ" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Možnosti kanálu" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 Hodinová predpoveÄ" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Hodinová predpoveÄ" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "PredpoveÄ na víkend" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "PredpoveÄ na 10 dní" + +msgctxt "#31905" +msgid "Forecast" +msgstr "PredpoveÄ" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Å anca zrážok" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "ZisÅ¥ujem informácie o poÄasí..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa a upozornenia" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Slovenian/strings.po new file mode 100644 index 000000000..c4da3e5c8 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Slovenian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Prilagodite vaÅ¡e" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Zapusti" + +msgctxt "#31004" +msgid "Working..." +msgstr "PoÄakajte..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Skrij informacije" + +msgctxt "#31006" +msgid "View Options" +msgstr "Možnosti pogleda" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Celozaslonski naÄin" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Celotno trajanje" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Glasba - Datoteke" + +msgctxt "#31023" +msgid "Playing" +msgstr "Predvajam" + +msgctxt "#31024" +msgid "Page" +msgstr "Stran" + +msgctxt "#31025" +msgid "Items" +msgstr "Predmetov" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Razne možnosti" + +msgctxt "#31027" +msgid "Location" +msgstr "Lokacija" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Plakati" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Ozadja" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "SliÄice" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Slike" + +msgctxt "#31033" +msgid "Info" +msgstr "Informacije" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Trenutno predvajam" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "PREDVAJANJE" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PREKINITEV" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "NAPREJ" + +msgctxt "#31045" +msgid "REWIND" +msgstr "NAZAJ" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Prednastavitve vizualizacije" + +msgctxt "#31049" +msgid "End Time" +msgstr "ÄŒas zakljuÄka" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Razvrsti: NaraÅ¡ÄajoÄe" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Razvrsti: PadajoÄe" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Odpri seznam predvajanja" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Shrani seznam predvajanja" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Zapri seznam predvajanja" + +msgctxt "#31058" +msgid "System music files" +msgstr "Sistemske glasbene datoteke" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Trenutni seznam predvajanja" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Ta datoteka je razdeljena. Izberite del za predvajanje." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Trenutno izbrano" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Nastavitve domaÄega okna" + +msgctxt "#31102" +msgid "Background" +msgstr "Ozadje" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Prikaži \"Prekinitev\" v projekciji slik" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Predvajaj napovednike v oknu [COLOR=grey3](Le okno z informacijami o videu)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Razne možnosti" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Skrij oznake videa, prebrane iz datotek [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Skrij gumbe v glavnem meniju" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "VkljuÄi poljubno ozadje" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Pot ozadja:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Skrij" + +msgctxt "#31112" +msgid "Options" +msgstr "Možnosti" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Prikaži nedavno dodane albume" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Prikaži nedavno dodane videe" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Podmeni programov na domaÄem oknu" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Skrij ozadja" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Vreme" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "V ozadjnu prikaži video \"Trenutno predvajam\"" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "V ozadju prikaži vizualizacijo \"Trenutno predvajam\"" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "V knjižnici predvajaj uvodne pesmi TV serij (dodatek TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Besedilo pesmi" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Skrij ozadja v celozaslonski vizualizaciji" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Dodatek besedil pesmi" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Dodatek podnapisov" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Podmeni videev na domaÄem oknu" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Podmeni glasbe na domaÄem oknu" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Podmeni slik na domaÄem oknu" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Glasbeni OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Bližnjice" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Izberite svojo pesem" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Vir besedila pesmi" + +msgctxt "#31206" +msgid "Found" +msgstr "Najdenih" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Najdi veÄ predmetov" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "PrihajajoÄe epizode" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Zadnja posodobitev" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Ponudnik" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Skrij ozadje" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Podrobnosti o filmu" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Uporabljen pomnilnik:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Å tevilka pesmi" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Ozadje[CR][CR]Ni na voljo[CR][CR] Kliknite na gumb in ga nastavite" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Trenutni ponudnik" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Izberi ponudnika" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Možnosti iskanja vsebine" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Nastavi pot ozadij" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Izbran profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Zadnja prijava" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Izbirnik pesmi za karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Predvajano" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Možnosti seznama predvajanja" + +msgctxt "#31326" +msgid "Created" +msgstr "Ustvarjeno" + +msgctxt "#31327" +msgid "Resolution" +msgstr "LoÄljivost" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nedavno dodano" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Zakasnitev nastavljena![/B] [COLOR=grey2] - Sistem se bo izkljuÄil po[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Kliknite gumb za predvajanje[CR][CR]Filmski napovednik" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Podrobnosti o albumu" + +msgctxt "#31351" +msgid "Pause" +msgstr "Prekini" + +msgctxt "#31352" +msgid "Stop" +msgstr "Ustavi" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Naprej" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Nazaj" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmski meni" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Prenesi podnapise" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Privzeto" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Privzeto brez velikih zaÄetnic" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]PRILAGODITE NASTAVITVE IZGLEDA[/B][CR][CR]Zamenjajte preobleko · DoloÄite jezik in regijo · Spremenite možnosti seznamov[CR]Nastavite ohranjevalnik zaslona" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]PRILAGODITE NASTAVITVE VIDEA[/B][CR][CR]Upravljajte s knjižnico videa · Nastavite možnosti predvajanja videa[CR]Spremenite možnosti seznamov · DoloÄite pisavo podnapisov" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]PRILAGODITE NASTAVITVE GLASBE[/B][CR][CR]Upravljajte s knjižnico glasbe · Nastavite možnosti predvajanja glasbe[CR]Spremenite možnosti seznamov · Nastavite objavo pesmi · Nastavite karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]PRILAGODITE NASTAVITVE SLIK[/B][CR][CR]Spremenite možnosti seznamov · Nastavite diaprojekcije slik" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]PRILAGODITE NASTAVITVE VREMENA[/B][CR][CR]Izberite tri mesta, za katere bo na voljo vremenska napoved" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]PRILAGODITE NASTAVITVE SISTEMA[/B][CR][CR]Nastavite in prilagodite zaslon · Nastavite zvoÄni izhod · Nastavite oddaljeno upravljanje[CR]Nastavite varÄevanje z energijo · VkljuÄite razhroÅ¡Äevanje · DoloÄite glavno geslo" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]PRILAGODITE DODATKE[/B][CR][CR]Upravljajte nameÅ¡Äene dodatke · Brskajte in namestite nove dodatke iz xbmc.org[CR]Nastavite dodatke" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]PRILAGODITVE NASTAVITVE TV[/B][CR][CR]Spremenite informacije v celozaslonskem naÄinu · Upravljajte z nastavitvami EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]PRILAGODITE NASTAVITVE STORITEV[/B][CR][CR]Nastavite upravljanje XBMC preko UPnP in HTTP · Nastavite deljenje datotek[CR]VkljuÄite Zeroconf · Prilagodite AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "PomoÄ ob prvem zagonu..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Ta zavihek nakazuje, da se tu skriva meni z dodatnimi možnostmi trenutnega pogleda. Za dostop do menija pritisnite levo na vaÅ¡em daljinskem upravljalcu ali tipkovnici ali pa postavite miÅ¡ko na zavihek. [CR][CR]Kliknite \"Ok\", da zaprete to okno. Ne bo se veÄ prikazalo." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Izberite vaÅ¡ XBMC uporabniÅ¡ki profil[CR]za prijavo in nadaljujte" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Trenutna snemanja" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "NaÄrtovan Äas" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV v živo" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Dodaj skupino" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Preimenuj skupino" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "IzbriÅ¡i skupino" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Skupine[CR]na voljo" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Skupina programa" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "ÄŒasovnik nastavljen" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Možnosti programa" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36-urna napoved" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Urna napoved" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Tedenska napoved" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10-dnevna napoved" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Napoved" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Možnost padavin" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "PrenaÅ¡am vremenske informacije..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Karte & Opozorila" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..c4a5ccf44 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Spanish (Argentina)/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Cambiar tus" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opciones de energía" + +msgctxt "#31004" +msgid "Working..." +msgstr "Cargando..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Ocultar información" + +msgctxt "#31006" +msgid "View Options" +msgstr "Opciones de vista" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Pantalla completa" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Duración total" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Archivos - música" + +msgctxt "#31023" +msgid "Playing" +msgstr "Reproduciendo" + +msgctxt "#31024" +msgid "Page" +msgstr "Página" + +msgctxt "#31025" +msgid "Items" +msgstr "Elementos" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Opciones várias" + +msgctxt "#31027" +msgid "Location" +msgstr "Ubicación" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Flujo de póster" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Miniaturas" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Flujo de imagen" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Reproduciendo" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUCIENDO" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSADO" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AVANCE RAPIDO" + +msgctxt "#31045" +msgid "REWIND" +msgstr "RETROCESO" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualizaciones preestablecidas" + +msgctxt "#31049" +msgid "End Time" +msgstr "Hora de finalización" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ordenar: Ascendente" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ordenar: Descendente" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Abrir lista de reproducción" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Guardar lista de reproducción" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Cerrar lista de reproducción" + +msgctxt "#31058" +msgid "System music files" +msgstr "Archivos de música del sistema" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Lista de reproducción actual" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Este archivo está agrupado, selecciona la parte desde la que deseas reproducir." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Seleccionado" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opciones de la pantalla principal" + +msgctxt "#31102" +msgid "Background" +msgstr "Fondo" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Mostrar \"Pausa\" en modo presentación de imágenes" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Reproducir trailers en ventana [COLOR=grey3](Sólo diálogo de información de video)[/COLOR] " + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Otras opciones" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Ocultar marcas de lectura de archivos de video [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ocultar botones del menú principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Activar Fondo Personalizado" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Ruta de Fondo:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ocultar" + +msgctxt "#31112" +msgid "Options" +msgstr "Opciones" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Mostrar últimos discos añadidos" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Mostrar últimos videos añadidos" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Submenús de programas de la pantalla principal" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Ocultar el Fanart del fondo" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "El Clima" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Mostrar video en reproducción en el fondo" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Mostrar visualización en el fondo" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Reproducir canciones de series en la colección de video (complemento TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Letras" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ocultar Fanart con visualizaciones a pantalla completa" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Add-on para letras" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Add-on para subtítulos" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Submenú de videos de la pantalla principal" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Submenú de música de la pantalla principal" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Submenú de imágenes de la pantalla principal" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD de música" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD de video" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Accesos directos" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Elige tu canción" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Fuente para letras" + +msgctxt "#31206" +msgid "Found" +msgstr "Encontrados" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Encuentra más elementos" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Próximos episodios" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Última actualización" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Proveedor de datos" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Ocultar fanarts" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Detalles de la película" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memoria usada:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Número de pista" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Imagen fanart[CR][CR]no disponible[CR][CR]Click para elegir" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper actual" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Elige un scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opciones de escanéo de contenido" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Selecciona ruta del fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Perfil seleccionado" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Último ingreso de sesión" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Selector de canción de karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Estrenado" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opciones de lista de reproducción" + +msgctxt "#31326" +msgid "Created" +msgstr "Creado" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolución" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Adiciones recientes" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Temporizador activado[/B] [COLOR=grey2] - El sistema se apagará en[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Click para reproducir[CR][CR]trailer de película" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalles del disco" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pausar" + +msgctxt "#31352" +msgid "Stop" +msgstr "Detener" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Avance rápido" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Retroceder" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menú película" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Descargar subtítulos" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Por defecto" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Por defecto sin Mayúsculas" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Basada en Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]Configura las opciones de APARIENCIA[/B][CR][CR]Cambia la skin - Cambia el idioma y la configuración regional - Cambia opciones de listas de archivos[CR]Establece un salvapantallas" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]Configura las opciones de VIDEO[/B][CR][CR]Administra tu colección de video · Ajusta reproducción de video · Cambia opciones de listas de video[CR]Configura fuentes de subtítulos" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]Configura las opciones de MÚSICA[/B][CR][CR]Administra tu colección de música · Ajusta reproducción de música · Cambia opciones de listas de música[CR]Configura sumisión de canciones · Configura el karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]Configura las opciones de IMAGEN[/B][CR][CR]Cambia opciones de listas de imágenes - Configura presentación de diapositivas" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]Configura las opciones de EL TIEMPO[/B][CR][CR]Establece tres ciudades para información metereológica" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]Configura las opciones de SISTEMA[/B][CR][CR]Configura y calibra la pantalla - Configura salida de audio - Configura mandos a distancia[CR]Establece las opciones de ahorro de energía - Habilita depuración de errores - Configura bloqueo maestro" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]Configura los ADD-ONS[/B][CR][CR]Administra tus addons instalados · Busca e instala addons desde xbmc.org[CR]Modifica la configuración de los addons" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURAR OPCIONES DE TV[/B][CR][CR]Cambiar info pantalla completa · Especificar datos de guía EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]AJUSTES DE SERVICIOS[/B][CR][CR]Ajustes para controlar XBMC por UPnP y HTTP - Ajustes de compartición de archivos[CR]Activar Zeroconf - Ajustes de AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Ayuda para la primera vez..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Esta pestaña significa que hay un menú oculto a un lado de esta ventana que contiene opciones adicionales para esta sección. Para acceder al menú, desplácese a la izquierda con el mando a distancia o el teclado o sitúe el puntero del ratón sobre la pestaña. [CR][CR] Haga clic en \"Aceptar\" para cerrar este cuadro de diálogo. No volverá a aparecer." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Selecciona tu perfil de usuario de XBMC[CR]para ingresar y continuar" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Grabaciones programadas" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Hora programada" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV en directo" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Añdadir Grupo" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Renombrar Grupo" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Borrar Grupo" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Grupos[CR]disponibles" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Grupo de canales" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Programar grabación" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opciones de canal" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Pronóstico de 36 hs" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Pronóstico por hora" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Pronóstico semanal" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Pronóstico de 10 días" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Pronóstico" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Probabilidad de precipitación" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Obteniendo información meteorológica..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa y alertas" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..c560c9fff --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Spanish (Mexico)/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Cambiar tu" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opciones de Energía" + +msgctxt "#31004" +msgid "Working..." +msgstr "Trabajando..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Esconder Información" + +msgctxt "#31006" +msgid "View Options" +msgstr "Opciones de Vista" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Pantalla Completa" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Duración Total" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Música - Archivos" + +msgctxt "#31023" +msgid "Playing" +msgstr "Reproduciendo" + +msgctxt "#31024" +msgid "Page" +msgstr "Página" + +msgctxt "#31025" +msgid "Items" +msgstr "Elementos" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Opciones Variadas" + +msgctxt "#31027" +msgid "Location" +msgstr "Ubicación" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Envoltura de Póster" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Imágenes Miniatura" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Envoltura de Imágen" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Reproduciendo Ahora" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUCIENDO" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSA" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ADELANTAR" + +msgctxt "#31045" +msgid "REWIND" +msgstr "REBOBINAR" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Preajustes de Visualización" + +msgctxt "#31049" +msgid "End Time" +msgstr "Hora de Finalización" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ordenar: Ascendente" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ordenar: Descendente" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Lista de reproducción abierta" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Guardar lista de reproducción" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Cerrar lista de reproducción" + +msgctxt "#31058" +msgid "System music files" +msgstr "Archivos de música del Sistema" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Lista de reproducción actual" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Este archivo esta apilado, seleccion la parte desde la que desea reproducir." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Acualmente Seleccionado" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opciones de pantalla principal" + +msgctxt "#31102" +msgid "Background" +msgstr "Background" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Mostrar \"Pausa\" en presentacion de imágenes" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Reproducir Trailers en una ventana [COLOR=grey3](Video Information Dialog Only)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Opciones variadas" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Ocultar las marcas leídas de nombres de archivo de vídeo [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Esconder Botones del Menú Principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Activar Fondo Personalizado" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Ruta del Fondo:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Esconder" + +msgctxt "#31112" +msgid "Options" +msgstr "Opciones" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Mostrar Ãlbumes añadidos Recientemente" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Mostrar Videos añadidos Recientemente" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Submenú de Programas de Pantalla Principal" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Esconder Fanart de Fondo" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Página de Clima" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Mostrar Video de Fondo \"Reproduciendo Ahora\"" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Mostrar Visualización de Fondo \"Reproduciendo Ahora\"" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Reproducir canciones temáticas de TV en la biblioteca de Video (TvTunes add-on)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Letras" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ocultar Fanart en visualización de pantalla completa" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Add-on de Liricas" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Add-on de Subtítulos" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Submenú de Videos de Pantalla Principal" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Submenú de Música de Pantalla Principal" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Submenú de Imágenes de Pantalla Principal" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD de Música" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD de Video" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Atajos" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Elige tu canción" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Fuente de Liricas" + +msgctxt "#31206" +msgid "Found" +msgstr "Encontrado" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Encontrar más elementos" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Próximos Episodios" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura Actual" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Última Actualización" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Proveedor de datos" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Esconder Fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Detalles de la Película" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memoria Usada:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Número de Pista" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Imágen fanart[CR][CR]No disponible[CR][CR] Hacer Click en el botón para establecer" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper Actual" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Elegir un Scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opciones de Escaneo de Contenido" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Establecer ruta de Fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Perfil seleccionado" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Último Inicio de Sesión en" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Seleccionador de Canción Karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Transmitido" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opciones de Lista de Reproducción" + +msgctxt "#31326" +msgid "Created" +msgstr "Creado" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolución" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Añadidos Recientemente" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Temporizador ajustado![/B] [COLOR=grey2] - Apagado automático de sistema en[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Hacer Click en el botón para Reproducir[CR][CR]el trailer de la Película" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalles del Ãlbum" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pausa" + +msgctxt "#31352" +msgid "Stop" +msgstr "Detener" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Avanzar" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Rebobinar" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menú de Película" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Descargar Subtítulos" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Según skin" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Según skin sin Caps" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Basado en Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]CONFIGURAR AJUSTES DE APARIENCIA[/B][CR][CR]Cambiar el skin · Establecer lenguaje y región · Cambiar las opciones de listado de archivos[CR]Establecer un protector de pantalla" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]CONFIGURAR AJUSTES DE VIDEO[/B][CR][CR]Administrar tu biblioteca de video · Configurar las opciones de reproducción de vídeo · Cambiar las opciones de listado de videos[CR]Establecer fuentes de subtítulos" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]CONFIGURAR AJUSTES DE MÚSICA[/B][CR][CR]Administrar tu biblioteca de música · Configurar las opciones de reproducción de música · Cambiar las opciones de listado de música [CR]Configurar el envío de canciones · Ajustar opciones de karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]CONFIGURAR AJUSTES DE IMAGEN[/B][CR][CR]Cambiar las opciones de listado de imágenes · Configurar presentaciones" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]CONFIGURAR AJUSTES DE CLIMA[/B][CR][CR]Establecer tres ciudades para recopilar información sobre el clima" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]CONFIGURAR AJUSTES DE SISTEMA[/B][CR][CR]Configurar y calibrar las pantallas · Configurar salida de audio · Configurar controles remotos[CR]Configurar opciones de ahorro de energía · Habilitar depuración · Configurar Bloqueo Maestro" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]CONFIGURAR ADD-ONS[/B][CR][CR]Administrar tus Add-ons instalados · Buscar e instalar add-ons desde xbmc.org[CR]Modificar la configuración de Add-ons" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURAR AJUSTES DE TV[/B][CR][CR]Cambiar información de pantalla completa · Administrar ajustes de datos EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]CONFIGURAR AJUSTES DE SERVICIO[/B][CR][CR]Configuración de control de XBMC a través de UPnP y HTTP · Configurar el uso compartido de archivos[CR]HabilitarZeroconf · Configurar AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Ayuda de primera vez..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Esta pestaña significa que existe un menú al lado de esta ventana que contiene opciones extra para esta sección. Para acceder al menú, navegue a la izquierda con su control remoto o teclado, o posicione el puntero del ratón sobre la pestaña. [CR][CR] Presione \"Aceptar\" para cerrar este diálogo. No aparecerá nuevamente." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Selecciona tu Perfil XBMC[CR]para iniciar sesión y continuar" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Temporizadores de Grabación" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Horario Programado" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV en Vivo" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Agregar Grupo" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Renombrar Grupo" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Borrar Grupo" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Grupos[CR]Disponibles" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Grupo de Canales" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Fijar Temporizador" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opciones de Canal" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Pronóstico de 36 Horas" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Pronóstico por Hora" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Pronóstico del Fin de Semana" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Pronóstico de 10 Días" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Pronóstico" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Cambio de Precipitación" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Obteniendo información de pronóstico" + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa & Alertas" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Spanish/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Spanish/strings.po new file mode 100644 index 000000000..f6994f7ea --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Spanish/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Cambiar tus" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Opciones de energía" + +msgctxt "#31004" +msgid "Working..." +msgstr "Cargando..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Ocultar información" + +msgctxt "#31006" +msgid "View Options" +msgstr "Opciones de vista" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Pantalla completa" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Duración total" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Archivos - música" + +msgctxt "#31023" +msgid "Playing" +msgstr "Reproduciendo" + +msgctxt "#31024" +msgid "Page" +msgstr "Página" + +msgctxt "#31025" +msgid "Items" +msgstr "Elementos" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Opciones varias" + +msgctxt "#31027" +msgid "Location" +msgstr "Ubicación" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Flujo de póster" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Miniaturas" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Flujo de imagen" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Reproduciendo ahora" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "REPRODUCIENDO" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSA" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "AVANCE RAPIDO" + +msgctxt "#31045" +msgid "REWIND" +msgstr "RETROCESO" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualizaciones preestablecidas" + +msgctxt "#31049" +msgid "End Time" +msgstr "Hora de finalización" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Ordenar: Ascendente" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ordenar: Descendente" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Abrir lista de reproducción" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Guardar lista de reproducción" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Cerrar lista de reproducción" + +msgctxt "#31058" +msgid "System music files" +msgstr "Archivos de música del sistema" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Lista de reproducción actual" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Este archivo está agrupado, seleccione la parte desde la que desea reproducir." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Seleccionado" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Opciones de la pantalla principal" + +msgctxt "#31102" +msgid "Background" +msgstr "Fondo" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Mostrar \"Pausa\" en modo presentación de imágenes" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Reproducir trailers en ventana [COLOR=grey3](Sólo diálogo de información de vídeo)[/COLOR] " + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Opciones de miscelánea" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Ocultar marcas de lectura de archivos de vídeo [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ocultar botones del menú principal" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Activar Fondo Personalizado" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Ruta de Fondo:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Ocultar" + +msgctxt "#31112" +msgid "Options" +msgstr "Opciones" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Mostrar últimos discos añadidos" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Mostrar últimos vídeos añadidos" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Submenús de programas de la pantalla principal" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Ocultar el Fanart del fondo" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "El Clima" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Mostrar vídeo en reproducción en el fondo" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Mostrar visualización en el fondo" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Reproducir canciones de series en la colección de vídeo (complemento TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Letras" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Ocultar Fanart con visualizaciones a pantalla completa" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Add-on para letras" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Add-on para subtítulos" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Submenú de vídeos de la pantalla principal" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Submenú de música de la pantalla principal" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Submenú de imágenes de la pantalla principal" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD de música" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD de vídeo" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Accesos directos" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Elige tu canción" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Fuente para letras" + +msgctxt "#31206" +msgid "Found" +msgstr "Encontrados" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Encuentra más elementos" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Próximos episodios" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Temperatura" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Última actualización" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Proveedor de Datos" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Ocultar fanarts" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Detalles de la película" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Memoria usada:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Pista número" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Imagen fanart[CR][CR]no disponible[CR][CR]Click para elegir" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Scraper actual" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Elige un scraper" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Opciones de escanéo de contenido" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Selecciona ruta del fanart" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Perfil seleccionado" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Última sesión el" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Selector de canción de karaoke" + +msgctxt "#31322" +msgid "Aired" +msgstr "Estrenado" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Opciones de lista de reproducción" + +msgctxt "#31326" +msgid "Created" +msgstr "Creado" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Resolución" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Añadido recientemente" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Temporizador activado[/B] [COLOR=grey2] - El sistema se apagará en[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Click para reproducir[CR][CR]trailer de película" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Detalles del disco" + +msgctxt "#31351" +msgid "Pause" +msgstr "Pausar" + +msgctxt "#31352" +msgid "Stop" +msgstr "Detener" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Avance rápido" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Retroceder" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Menú película" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Descargar subtítulos" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Por defecto" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Por defecto sin Mayúsculas" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Basada en Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]Configura las opciones de APARIENCIA[/B][CR][CR]Cambia la skin - Cambia el idioma y la configuración regional - Cambia opciones de listas de archivos[CR]Establece un salvapantallas" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]Configura las opciones de VÃDEO[/B][CR][CR]Administra su colección de vídeo - Ajusta reproducción de vídeo - Cambia opciones de listas de vídeo[CR]Configura fuentes de subtítulos" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]Configura las opciones de MÚSICA[/B][CR][CR]Administra tu colección de música · Ajusta reproducción de música · Cambia opciones de listas de música[CR]Configura sumisión de canciones · Configura el karaoke" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]Configura las opciones de IMAGEN[/B][CR][CR]Cambia opciones de listas de imágenes - Configura presentación de diapositivas" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]Configura las opciones de EL TIEMPO[/B][CR][CR]Establece tres ciudades para información metereológica" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]Configura las opciones de SISTEMA[/B][CR][CR]Configura y calibra la pantalla - Configura salida de audio - Configura mandos a distancia[CR]Establece las opciones de ahorro de energía - Habilita depuración de errores - Configura bloqueo maestro" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]Configura los ADD-ONS[/B][CR][CR]Administra tus addons instalados · Busca e instala addons desde xbmc.org[CR]Modifica la configuración de los addons" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]CONFIGURAR OPCIONES DE TV[/B][CR][CR]Cambiar info pantalla completa · Especificar datos de guía EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]AJUSTES DEL SERVICIO[/B][CR][CR]Ajustes para controlar XBMC por UPnP y HTTP - Ajustes de compartición de archivos[CR]Activar Zeroconf - Ajustes de AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Ayuda para la primera vez..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Esta pestaña significa que hay un menú a un lado de esta ventana que contiene opciones adicionales para esta sección. Para acceder al menú, desplácese a la izquierda con el mando a distancia o el teclado o sitúe el puntero del ratón sobre la pestaña. [CR][CR] Haga clic en \"Aceptar\" para cerrar este cuadro de diálogo. No volverá a aparecer." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Seleccione su perfil de usuario de XBMC[CR]para ingresar y continuar" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Grabaciones programadas" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Hora programada" + +msgctxt "#31502" +msgid "Live TV" +msgstr "TV en directo" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Añdadir Grupo" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Renombrar Grupo" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Borrar Grupo" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Grupos[CR]disponibles" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Grupo de canales" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Programar grabación" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Opciones de canal" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Pronóstico de 36 hs" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Pronóstico por hora" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Pronóstico semanal" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Pronóstico de 10 días" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Pronóstico" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Probabilidad de precipitación" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Obteniendo información meteorológica..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Mapa y alertas" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Swedish/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Swedish/strings.po new file mode 100644 index 000000000..fc1aabcd4 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Swedish/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Ändra din" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Strömalternativ" + +msgctxt "#31004" +msgid "Working..." +msgstr "Arbetar..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Dölj information" + +msgctxt "#31006" +msgid "View Options" +msgstr "Visa alternativ" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Helskärm" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Total längd" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Musik - Filer" + +msgctxt "#31023" +msgid "Playing" +msgstr "Spelar" + +msgctxt "#31024" +msgid "Page" +msgstr "Sida" + +msgctxt "#31025" +msgid "Items" +msgstr "Objekt" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Övr. alternativ" + +msgctxt "#31027" +msgid "Location" +msgstr "Plats" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Omslagssvep" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Bildminiatyrer" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Bildsvep" + +msgctxt "#31033" +msgid "Info" +msgstr "Info" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Nu spelas" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "SPELAR" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "PAUSAD" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "SPOLA FRAMÃ…T" + +msgctxt "#31045" +msgid "REWIND" +msgstr "SPOLA BAKÃ…T" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Visualiseringsförval" + +msgctxt "#31049" +msgid "End Time" +msgstr "Sluttid" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sortering: Stigande" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sortering: Fallande" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Öppna spellista" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Spara spellista" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Stäng spellista" + +msgctxt "#31058" +msgid "System music files" +msgstr "Systemmusikfiler" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Nuvarande spellista" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Denna fil är sammanslagen, välj den del du vill spela." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Nuvarande vald" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Hemskärmsalternativ" + +msgctxt "#31102" +msgid "Background" +msgstr "Bakgrund" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Visa \"Pausad\" i bildspel" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Spela trailers i ett fönster [COLOR=grey3](Endast i videoinformationsdialogen)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Övriga alternativ" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Dölj flaggläsning frÃ¥n videofilnamn [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Dölj huvudmenyknappar" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Aktivera egna bakgrunder" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Bakgrundsökväg:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Dölj" + +msgctxt "#31112" +msgid "Options" +msgstr "Alternativ" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Visa nyligen tillagda album" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Visa nyligen tillagda filmer" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Hemskärmens programundermeny" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Dölj bakgrundsfanart" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Vädersida" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Visa bakgrund \"Nu spelas\" filmer" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Visa bakgrund i \"Nu spelas\" visualisering" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Spela TV-temasÃ¥nger i videobiblioteket (TVTunes-tillägg)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "SÃ¥ngtexter" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Dölj fanart i fullskärmsvisualisering" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "SÃ¥ngtextstillägg" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Undertextstillägg" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Hemskärmens videoundermeny" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Hemskärmens musikundermeny" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Hemskärmens bildundermeny" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Musik-OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video-OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Genvägar" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Välj din lÃ¥t" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "SÃ¥ngtextkälla" + +msgctxt "#31206" +msgid "Found" +msgstr "Hittade" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Hitta fler objekt" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Kommande avsnitt" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Nuvarande temp" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Senast uppdaterad" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Dataleverantör" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Dölj fanart" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Filmdetaljer" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Använt minne:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "SpÃ¥rnummer" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart-bild[CR][CR]Inte Tillgänglig[CR][CR]Klicka pÃ¥ knappen för att ange" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Nuvarande skrapa" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Välj en skrapa" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "InnehÃ¥llsskrapealternativ" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Sätt fanartsökväg" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Vald profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Sist inloggad" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "KaraokelÃ¥tväljare" + +msgctxt "#31322" +msgid "Aired" +msgstr "Sänt" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Spellistalternativ" + +msgctxt "#31326" +msgid "Created" +msgstr "Skapad" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Upplösning" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Nyligen tillagda" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Timer satt![/B] [COLOR=grey2] - Automatisk avstängning av systemet om[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Klicka pÃ¥ knappen för att[CR][CR]spela filmtrailer" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Albumdetaljer" + +msgctxt "#31351" +msgid "Pause" +msgstr "Paus" + +msgctxt "#31352" +msgid "Stop" +msgstr "Stopp" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Spola framÃ¥t" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Spola bakÃ¥t" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Filmmeny" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Ladda ner undertexter" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Skalets standard" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Skalets standard utan VERSAL" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arialbaserad" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]KONFIGURERA UTSEENDEINSTÄLLNINGAR[/B][CR][CR]Ändra skalet · Ange sprÃ¥k och region · Ange fillistningsalternativ[CR]Ange en skärmsläckare" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]KONFIGURERA GRAFIKINSTÄLLNINGAR[/B][CR][CR]Hantera ditt filmbibliotek · Ange filmuppspelningsalternativ[CR]Ändra videoförteckningsalternativ · Konfigurera undertextfonter" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]KONFIGURERA MUSIKINSTÄLLNINGAR[/B][CR][CR]Hantera ditt musikbibliotek · Ange musikuppspelningsalternativ[CR]Ändra musiklistningsalternativ · Ange lÃ¥tinskickning · Ange karaokealternativ" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]KONFIGURERA BILDINSTÄLLNINGAR[/B][CR][CR]Ange bildlistningsalternativ · Justera bildspel" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]KONFIGURERA VÄDERINSTÄLLNINGAR[/B][CR][CR]Ange tre städer för insamling av väderinformation" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]KONFIGURERA SYSTEMINSTÄLLNINGAR[/B][CR][CR]Ange och kalibrera bildskärmar · Konfigurera ljudutgÃ¥ng · Ställa in fjärrkontroller[CR]Ange energisparalternativ · Aktivera debuggningen · Konfigurera huvudkod och lÃ¥s" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]KONFIGURERA TILLÄGG[/B][CR][CR]Hantera installerade tillägg · Visa och installera tillägg frÃ¥n xbmc.org[CR]Ändra inställningar för tillägg" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]KONFIGURERA TV-INSTÄLLNINGAR[/B][CR][CR]Ändra helskärmsinfo · Hantera EPG-datainställningar" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]KONFIGURERA SERVICEINSTÄLLNINGAR[/B][CR][CR]Ställ in kontroll av XBMC via UPnP och HTTP · Konfigurera fildelning[CR]Aktivera Zeroconf · Konfigurera AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "FörstagÃ¥ngshjälp..." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Den här fliken innebär att det är en meny pÃ¥ sidan av det här fönstret som innehÃ¥ller extra val för denna section. För att komma Ã¥t menyn, navigera till vänster med din fjärrkontroll eller tangentbord eller placera din muspekare över fliken.[CR][CR]Klicka \"Ok\" för att stänga denna dialog. Den kommer inte att visas igen." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Välj din XBMC användarprofil[CR]för att logga in och fortsätta" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Inspelningstimers" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Schemalagd tid" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Live TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Lägg till grupp" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Döp om grupp" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Ta bort grupp" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Tillgängliga[CR]grupper" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Kanalgrupp" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Timer satt" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanalalternativ" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36-timmarsprognos" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Timprognos" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Helgprognos" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10-dagarsprognos" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Prognos" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Chans till nederbörd" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Hämtar prognosinfo..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Kartor & varningar" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Thai/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Thai/strings.po new file mode 100644 index 000000000..c888a7124 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Thai/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "ปรับเปลี่ยน" + +msgctxt "#31003" +msgid "Power Options" +msgstr "ตัวเลือภด้านพลังงาน" + +msgctxt "#31004" +msgid "Working..." +msgstr "ทำงานอยู่..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "ซ่อนข้อมูล" + +msgctxt "#31006" +msgid "View Options" +msgstr "ตัวเลือภมุมมอง" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "เต็มหน้าจอ" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "รวม ระยะเวลา" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "à¹à¸Ÿà¹‰à¸¡-เพลง" + +msgctxt "#31023" +msgid "Playing" +msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸¥à¹ˆà¸™" + +msgctxt "#31024" +msgid "Page" +msgstr "หน้า" + +msgctxt "#31025" +msgid "Items" +msgstr "รายà¸à¸²à¸£" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "ตัวเลือภอื่นๆ" + +msgctxt "#31027" +msgid "Location" +msgstr "ที่ตั้ง" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "เลื่อนโปสเตอร์" + +msgctxt "#31029" +msgid "Fanart" +msgstr "à¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸•" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "รูปย่อ" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "ตัดส่วนภาพ" + +msgctxt "#31033" +msgid "Info" +msgstr "ข้อมูล" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "ขณะนี้à¸à¸³à¸¥à¸±à¸‡à¹€à¸¥à¹ˆà¸™" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸¥à¹ˆà¸™" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "หยุดชั่วขณะ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ไปหน้าà¹à¸šà¸šà¹€à¸£à¹‡à¸§" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ย้อนà¸à¸¥à¸±à¸šà¹€à¸£à¹‡à¸§" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "ชุดรูปà¹à¸šà¸š à¸à¸²à¸£à¹à¸ªà¸”งà¹à¸ªà¸‡à¸ªà¸µ" + +msgctxt "#31049" +msgid "End Time" +msgstr "เวลาสิ้นสุด" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "เรียง: น้อยไปมาà¸" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "เรียง: มาà¸à¹„ปน้อย" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "เปิด รายà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "บันทึภรายà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "ปิด รายà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™" + +msgctxt "#31058" +msgid "System music files" +msgstr "à¹à¸Ÿà¹‰à¸¡à¹€à¸žà¸¥à¸‡à¸‚องระบบ" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "รายà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™ ปัจจุบัน" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "à¹à¸Ÿà¹‰à¸¡à¸™à¸µà¹‰à¸‹à¹‰à¸­à¸™à¸à¸±à¸™à¸­à¸¢à¸¹à¹ˆà¹€à¸¥à¸·à¸­à¸à¸ªà¹ˆà¸§à¸™à¸—ี่คุณต้องà¸à¸²à¸£à¸ˆà¸°à¹€à¸¥à¹ˆà¸™à¸ˆà¸²à¸" + +msgctxt "#31061" +msgid "Current Selected" +msgstr "ที่เลือà¸à¹ƒà¸™à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "ตัวเลือภหน้าจอหลัà¸" + +msgctxt "#31102" +msgid "Background" +msgstr "พื้นหลัง" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "à¹à¸ªà¸”ง \"หยุดชั่วขณะ\" ในà¸à¸²à¸£à¸™à¸³à¹€à¸ªà¸™à¸­à¸ à¸²à¸žà¸™à¸´à¹ˆà¸‡" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "เล่นตัวอย่างหนังในหน้าต่าง [COLOR=grey3](à¸à¸¥à¹ˆà¸­à¸‡à¹‚ต้ตอบ ข้อมูลวิดีโอเท่านั้น)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "ตัวเลือภอื่นๆ" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "ซ่อนป้ายà¸à¸³à¸à¸±à¸š ที่อ่านได้จาà¸à¸Šà¸·à¹ˆà¸­à¹„ฟล์วิดีโอ [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "ซ่อนปุ่มของเมนูหลัà¸" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "เปิดใช้พิ้นหลังที่à¸à¸³à¸«à¸™à¸”เอง" + +msgctxt "#31110" +msgid "Background path:" +msgstr "เส้นทางของพื้นหลัง:" + +msgctxt "#31111" +msgid "Hide" +msgstr "ซ่อน" + +msgctxt "#31112" +msgid "Options" +msgstr "ตัวเลือà¸" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "à¹à¸ªà¸”งอัลบัม ที่เพิ่งเพิ่ม" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "à¹à¸ªà¸”งวิดีโอ ที่เพิ่งเพิ่ม" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "หน้าหลัà¸à¸‚องเมนูย่อย โปรà¹à¸à¸£à¸¡" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "ซ่อน à¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸•ในพื้นหลัง" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "หน้าà¹à¸ªà¸”ง สภาพอาà¸à¸²à¸¨" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "à¹à¸ªà¸”งพื้นหลังด้วยวิดีโอ \"ที่à¸à¸³à¸¥à¸±à¸‡à¹€à¸¥à¹ˆà¸™\"" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "à¹à¸ªà¸”งพื้นหลังด้วยà¹à¸ªà¸‡à¸ªà¸µà¸›à¸£à¸°à¸à¸­à¸šà¹€à¸žà¸¥à¸‡ \"ที่à¸à¸³à¸¥à¸±à¸‡à¹€à¸¥à¹ˆà¸™\"" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "เล่นเพลงธีมรายà¸à¸²à¸£à¸—ีวีในคลังข้อมูลวิดีโอ (ส่วนเสริม TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "เนื้อเพลง" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "ซ่อนà¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸• ในà¸à¸²à¸£à¹à¸ªà¸”งà¹à¸ªà¸‡à¸ªà¸µà¹à¸šà¸šà¹€à¸•็มจอ" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "ส่วนเสริม เนื้อเพลง" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "ส่วนเสริม คำบรรยาย" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "หน้าหลัà¸à¸‚องเมนูย่อย วิดีโอ" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "หน้าหลัà¸à¸‚องเมนูย่อย เพลง" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "หน้าหลัà¸à¸‚องเมนูย่อย รูปภาพ" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD เพลง" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD วิดีโอ" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "ปุ่มลัด" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "เลือà¸à¹€à¸žà¸¥à¸‡à¸‚องคุณ" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "à¹à¸«à¸¥à¹ˆà¸‡à¸‚องเนื้อเพลง" + +msgctxt "#31206" +msgid "Found" +msgstr "ค้นพบ" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "ค้นหารายà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•ิม" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "ตอนที่à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸­à¸­à¸" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "อุณภูมิปัจจุบัน" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "ปรับปรุงล่าสุด" + +msgctxt "#31303" +msgid "Data provider" +msgstr "ผู้ให้บริà¸à¸²à¸£à¸‚้อมูล" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "ซ่อน à¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸•" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "รายละเอียดของภาพยนตร์" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "หน่วยความจำที่ใช้" + +msgctxt "#31310" +msgid "Track Number" +msgstr "หมายเลข à¹à¸—รค" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "รูปภาพà¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸•[CR][CR]ไม่มี[CR][CR] คลิà¸à¸›à¸¸à¹ˆà¸¡à¹€à¸žà¸·à¹ˆà¸­à¸•ั้งค่า" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "ตัวดึงข้อมูลปัจจุบัน" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "เลือภตัวดึงข้อมูล" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "ตัวเลือà¸à¸à¸²à¸£à¸ªà¸·à¸šà¸„้นเนื้อหา" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "ตั้งค่าเส้นทางของà¹à¸Ÿà¸™à¸­à¸²à¸£à¹Œà¸•" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "เลือภโปรไฟล์" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "ที่เข้าใช้ ล่าสุด" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "ตัวเลือà¸à¹€à¸žà¸¥à¸‡à¸„าราโอเà¸à¸°" + +msgctxt "#31322" +msgid "Aired" +msgstr "ออà¸à¸­à¸²à¸à¸²à¸¨" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "ตัวเลือà¸à¸‚องรายà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™" + +msgctxt "#31326" +msgid "Created" +msgstr "สร้างเมื่อ" + +msgctxt "#31327" +msgid "Resolution" +msgstr "ความละเอียดจอ" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "ที่เพิ่งเพิ่ม" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]ตั้งค่า ตัวจับเวลา![/B] [COLOR=grey2] - ระบบจะปิดอัตโนมัติ ใน[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "คลิà¸à¸›à¸¸à¹ˆà¸¡ เพื่อเล่น[CR][CR]ตัวอย่างภาพยนตร์" + +msgctxt "#31331" +msgid "Album Details" +msgstr "รายละเอียด อัลบั้ม" + +msgctxt "#31351" +msgid "Pause" +msgstr "หยุดชั่วขณะ" + +msgctxt "#31352" +msgid "Stop" +msgstr "หยุด" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "ไปหน้าà¹à¸šà¸šà¹€à¸£à¹‡à¸§" + +msgctxt "#31354" +msgid "Rewind" +msgstr "ย้อนà¸à¸¥à¸±à¸šà¹€à¸£à¹‡à¸§" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "เมนู ภาพยนต์" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "ดาวน์โหลด คำบรรยาย" + +msgctxt "#31390" +msgid "Skin default" +msgstr "หน้าตาพื้นà¸à¸²à¸™" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "ค่าเริ่มต้นของสà¸à¸´à¸™ โดยไม่มีตัวพิมพ์ใหà¸à¹ˆ" + +msgctxt "#31392" +msgid "Arial based" +msgstr "ใช้ฟ้อนท์ Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]ปรับเปลี่ยนค่าà¸à¸²à¸£à¹à¸ªà¸”งผล[/B][CR][CR]เปลี่ยนสà¸à¸´à¸™ · ตั้งค่าภูมิภาคà¹à¸¥à¸°à¸ à¸²à¸©à¸² · เปลี่ยนตัวเลือà¸à¸à¸²à¸£à¹€à¸£à¸µà¸¢à¸‡à¸Šà¸·à¹ˆà¸­à¹„ฟล์ [CR] ตั้งค่าถนอมหน้าจอ" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]ปรับเปลี่ยนà¸à¸²à¸£à¸•ั้งค่าวิดีโอ[/B][CR][CR]จัดà¸à¸²à¸£à¸„ลังข้อมูลวิดีโอของคุณ · ตั้งค่าตัวเลือà¸à¸à¸²à¸£à¹€à¸¥à¹ˆà¸™à¸§à¸´à¸”ีโอ · เปลี่ยนตัวเลือà¸à¸ˆà¸±à¸”เรียงรายà¸à¸²à¸£à¸§à¸´à¸”ีโอ[CR]ตั้งค่าà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£à¸„ำบรรยาย" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ปรับเปลี่ยนà¸à¸²à¸£à¸•ั้งค่าเพลง[/B][CR][CR]จัดà¸à¸²à¸£à¸„ลังข้อมูลเพลงของคุณ · ตั้งค่าตัวเลือà¸à¸à¸²à¸£à¹€à¸¥à¹ˆà¸™à¹€à¸žà¸¥à¸‡ · เปลี่ยนตัวเลือà¸à¸ˆà¸±à¸”เรียงรายà¸à¸²à¸£à¹€à¸žà¸¥à¸‡[CR]ตั้งค่าà¸à¸²à¸£à¸ªà¹ˆà¸‡à¹€à¸žà¸¥à¸‡ · ตั้งค่าตัวเลือà¸à¸„าราโอเà¸à¸°" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]à¸à¸³à¸«à¸™à¸”à¸à¸²à¸£à¸•ั้งค่ารูปภาพ[/B][CR][CR]ตั้งค่าตัวเลือà¸à¸ˆà¸±à¸”เรียงรายà¸à¸²à¸£à¸£à¸¹à¸›à¸ à¸²à¸ž · à¸à¸³à¸«à¸™à¸”ค่าà¹à¸ªà¸”งภาพสไลด์" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]ตั้งค่าสภาพอาà¸à¸²à¸¨[/B][CR][CR]à¸à¸³à¸«à¸™à¸”สามเมืองในà¸à¸²à¸£à¹€à¸à¹‡à¸šà¸£à¸§à¸šà¸£à¸§à¸¡à¸‚้อมูลสภาพอาà¸à¸²à¸¨" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]ปรับเปลี่ยนà¸à¸²à¸£à¸•ั้งค่าระบบ[/B][CR][CR]à¸à¸²à¸£à¸•ิดตั้งà¹à¸¥à¸°à¸›à¸£à¸±à¸šà¹€à¸—ียบà¸à¸²à¸£à¹à¸ªà¸”งผล · à¸à¸³à¸«à¸™à¸”ค่าà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸­à¸­à¸à¸ªà¸±à¸à¸à¸²à¸“เสียง · à¸à¸²à¸£à¸•ิดตั้งรีโมทคอนโทรล[CR]ตั้งค่าตัวเลือà¸à¸à¸²à¸£à¸›à¸£à¸°à¸«à¸¢à¸±à¸”พลังงาน · เปิดใช้งานà¸à¸²à¸£à¹à¸à¹‰à¸ˆà¸¸à¸”บà¸à¸žà¸£à¹ˆà¸­à¸‡ · ติดตั้ง à¸à¸¸à¸à¹à¸ˆà¸«à¸¥à¸±à¸" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]ปรับเปลี่ยน ส่วนเสริม[/B][CR][CR]จัดà¸à¸²à¸£à¸ªà¹ˆà¸§à¸™à¹€à¸ªà¸£à¸´à¸¡à¸—ี่ติดตั้งไว้ของคุณ · เรียà¸à¸”ูà¹à¸¥à¸°à¸•ิดตั้งส่วนเสริม จาภxbmc.org[CR]ปรับเปลี่ยน à¸à¸²à¸£à¸•ั้งค่าส่วนเสริม" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B] ตั้งค่าทีวี [/B] [CR] [CR]เปลี่ยน ข้อมูลบนหน้าจอ·จัดà¸à¸²à¸£à¸à¸²à¸£à¸•ั้งค่าข้อมูล EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]ปรับเปลี่ยนà¸à¸²à¸£à¸•ั้งค่าบริà¸à¸²à¸£[/B][CR][CR]à¸à¸²à¸£à¸•ั้งค่าของ à¸à¸²à¸£à¸„วบคุม XBMC ผ่าน UPnP à¹à¸¥à¸° HTTP · à¸à¸³à¸«à¸™à¸”ค่าใช้ไฟล์ร่วมà¸à¸±à¸™[CR]เปิดใช้ Zeroconf · à¸à¸³à¸«à¸™à¸”ค่า AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "ตัวช่วยในà¸à¸²à¸£à¹€à¸£à¸´à¹ˆà¸¡à¹ƒà¸Šà¹‰à¸‡à¸²à¸™" + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "à¹à¸—็บนี้มีเครื่องหมายที่à¹à¸ªà¸”งว่า มีเมนูในด้านข้างของหน้าต่าง ซึ่งมีเมนูà¸à¸²à¸£à¸›à¸£à¸±à¸šà¹à¸•่งพิเศษสำหรับส่วนนี้ ในà¸à¸²à¸£à¹€à¸‚้าถึงเมนูนี้, ให้เลื่อนลูà¸à¸¨à¸£à¸‹à¹‰à¸²à¸¢à¸”้วยรีโมทหรือคีย์บอร์ด หรือวางตัวชี้ของเมาท์เหนือà¹à¸—็บนี้. [CR][CR]à¸à¸” \"ตà¸à¸¥à¸‡\" เพื่อปิดà¸à¸¥à¹ˆà¸­à¸‡à¹‚ต้ตอบนี้. ซึ่งจะไม่à¹à¸ªà¸”งขึ้นมาอีà¸." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "เลือà¸à¹‚ปรไฟล์ ผู้ใช้ XBMC ของคุณ[CR]เพื่อเข้าสู่ระบบà¹à¸¥à¸°à¸”ำเนินà¸à¸²à¸£à¸•่อไป" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "ตัวตั้งเวลาà¸à¸²à¸£à¸šà¸±à¸™à¸—ึà¸" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "ระยะเวลาที่à¸à¸³à¸«à¸™à¸”" + +msgctxt "#31502" +msgid "Live TV" +msgstr "ทีวี สด" + +msgctxt "#31503" +msgid "Add Group" +msgstr "เพิ่มà¸à¸¥à¸¸à¹ˆà¸¡" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "เปลี่ยนชื่อà¸à¸¥à¸¸à¹ˆà¸¡" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "ลบà¸à¸¥à¸¸à¹ˆà¸¡" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "à¸à¸¥à¸¸à¹ˆà¸¡à¸—ีมีอยู่" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "à¸à¸¥à¸¸à¹ˆà¸¡à¸Šà¹ˆà¸­à¸‡à¸ªà¸±à¸à¸à¸²à¸“" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "ตัวตั้งเวลา" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "ตัวเลือà¸à¸‚องช่องสัà¸à¸à¸²à¸“" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "พยาà¸à¸£à¸“์ ใน 36 ชั่วโมง" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "พยาà¸à¸£à¸“์รายชั่วโมง" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "พยาà¸à¸£à¸“์สุดสัปดาห์" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "พยาà¸à¸£à¸“์ ใน 10 วัน" + +msgctxt "#31905" +msgid "Forecast" +msgstr "พยาà¸à¸£à¸“์" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "โอà¸à¸²à¸ªà¹€à¸à¸´à¸”à¸à¸™" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸£à¸µà¸¢à¸à¸‚้อมูลà¸à¸²à¸£à¸žà¸¢à¸²à¸à¸£à¸“์ ..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "à¹à¸œà¸™à¸—ี่à¹à¸¥à¸°à¸à¸²à¸£à¹€à¸•ือน" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Turkish/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Turkish/strings.po new file mode 100644 index 000000000..ca95c796b --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Turkish/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "DeÄŸiÅŸtir" + +msgctxt "#31003" +msgid "Power Options" +msgstr "Güç Seçenekleri" + +msgctxt "#31004" +msgid "Working..." +msgstr "Çalışıyor..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Bilgiyi Gizle" + +msgctxt "#31006" +msgid "View Options" +msgstr "Görünüm Seçenekleri" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Tam ekran" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Toplam Süre" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Müzik - Dosyalar" + +msgctxt "#31023" +msgid "Playing" +msgstr "Oynatılıyor" + +msgctxt "#31024" +msgid "Page" +msgstr "Sayfa" + +msgctxt "#31025" +msgid "Items" +msgstr "Öğe" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "ÇeÅŸitli Seçenekler" + +msgctxt "#31027" +msgid "Location" +msgstr "Konum" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "Kayan Poster" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Fanart" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Küçük Resimler" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "Kayan Resim" + +msgctxt "#31033" +msgid "Info" +msgstr "Bilgi" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Åžimdi Çalınıyor" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "OYNATILIYOR" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "DURAKLATILDI" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "İLERİ SAR" + +msgctxt "#31045" +msgid "REWIND" +msgstr "GERİ SAR" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "Görsel Öğe Önayarları" + +msgctxt "#31049" +msgid "End Time" +msgstr "BitiÅŸ Zamanı" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "Sırala: Artan" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Sırala: Azalan" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Çalma listesini aç" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Çalma listesini kaydet" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Çalma listesini kapat" + +msgctxt "#31058" +msgid "System music files" +msgstr "Sistem müzik dosyaları" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Geçerli çalma listesi" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Bu dosya yığınlandı, oynatmak istediÄŸiniz bölümü seçin." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Seçilen Geçerli Parça" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "GiriÅŸ ekranı seçenekleri" + +msgctxt "#31102" +msgid "Background" +msgstr "Arka Plan" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Resim slayt gösterisinde \"Duraklatıldı\"yı göster" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Fragmanları pencere içinde oynat [COLOR=grey3](Sadece Video Bilgisi İletiÅŸim Kutusu İçin)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "ÇeÅŸitli seçenekler" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Video dosya adlarında etiket okumayı gizle [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ana Menü Düğmelerini Gizle" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Özel Akra Planları EtkinleÅŸtir" + +msgctxt "#31110" +msgid "Background path:" +msgstr "Arka plan yolu:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Gizle" + +msgctxt "#31112" +msgid "Options" +msgstr "Seçenekler" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Son Eklenen Albümleri Göster" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Son Eklenen Videoları Göster" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Ana Sayfa Programlar Alt Menüsü" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Arkaplan Fanartını Gizle" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Hava Durumu Sayfası" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Arkaplanda Oynatılan Videoyu Göster" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Arkaplanda Görsel Ögeyi Göster" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "TV tema ÅŸarkılarını video kitaplığında çal (TvTunes eklentisi)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Åžarkı Sözleri" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Tam ekran görsel öğede Fanart'ı gizle" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Åžarkı Sözleri Eklentisi" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Altyazı Eklentisi" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Ana Sayfa Videolar Alt Menüsü" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Ana Sayfa Müzik Alt Menüsü" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Ana Sayfa Resimler Alt Menüsü" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "Müzik OSD" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "Video OSD" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Kısayollar" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Åžarkını Seç" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Åžarkı Sözleri Kaynağı" + +msgctxt "#31206" +msgid "Found" +msgstr "Bulundu" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Daha Fazla Öğe Bul" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "Gelecek Bölümler" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Mevcut Sıcaklık" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "Son Güncelleme" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Veri saÄŸlayıcı" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Fanart'ı gizle" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "Film Detayları" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "Kullanılan Bellek:" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Parça Numarası" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Fanart resmi[CR][CR]Mevcut DeÄŸil[CR][CR] Ayarlamak için düğmeye basın" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Geçerli Scraper" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Scraper Seç" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "İçerik Tarama Seçenekleri" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Fanart Yolunu Ayarla" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Seçilen Profil" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "Son GiriÅŸ Yapan" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Karaoke Åžarkı Seçici" + +msgctxt "#31322" +msgid "Aired" +msgstr "Gösterim" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Çalma Listesi Seçenekleri" + +msgctxt "#31326" +msgid "Created" +msgstr "OluÅŸturma" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Çözünürlük" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Son Eklenenler" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Zamanlayıcı ayarlandı![/B] [COLOR=grey2] - Sistem'in otomatik kapanma süresi[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "Oynatmak için düğmeye basın[CR][CR]Film fragmanı" + +msgctxt "#31331" +msgid "Album Details" +msgstr "Albüm Ayrıntıları" + +msgctxt "#31351" +msgid "Pause" +msgstr "Duraklat" + +msgctxt "#31352" +msgid "Stop" +msgstr "Durdur" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "İleri Sar" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Geri Sar" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Film menüsü" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Altyazıları İndir" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Dış görünüm varsayılanı" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "B. Harfsiz dış görünüm varsayılanı" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Arial tabanlı" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]GÖRÜNÜM AYARLARINI YAPILANDIR[/B][CR][CR]Dış görünümü deÄŸiÅŸtir · Dil ve bölgesel ayarları deÄŸiÅŸtir · Dosya listeleme seçeneklerini deÄŸiÅŸtir · Ekran koruyucuyu ayarla" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]VİDEO AYARLARINI YAPILANDIR[/B][CR][CR]Video kitaplığını yönet · Video oynatma seçeneklerini ayarla · Video listeleme seçeneklerini deÄŸiÅŸtir · Altyazı karakterlerini ayarla" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]MÜZİK AYARLARINI YAPILANDIR[/B][CR][CR]Müzik kitaplığını yönet · Müzik çalma seçeneklerini ayarla · Müzik listeleme seçeneklerini deÄŸiÅŸtir · Åžarkı sunumu ayarları · Karaoke seçeneklerini ayarla" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]RESİM AYARLARINI YAPILANDIR[/B][CR][CR]Resim listeleme seçeneklerini ayarla · Slayt gösterisi ayarlarını yapılandır" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]HAVA DURUMU AYARLARINI YAPILANDIR[/B][CR][CR]Hava Durumu bilgilerini almak için üç ÅŸehir seçin" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]SİSTEM AYARLARINI YAPILANDIR[/B][CR][CR]Görünüm ayarları · Ses çıkış ayarlarını yapılandır · Uzaktan kumandaları ayarla[CR]Güç tasarrufu seçeneklerini ayarla · Hata ayıklamayı etkinleÅŸtir · Sistem kilit ayarları" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]EKLENTİLERİ YAPILANDIR[/B][CR][CR]YüklenmiÅŸ eklentileri yönet · Eklentilere gözat ve yenilerini yükle[CR]Eklenti ayarlarını deÄŸiÅŸtir" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]TV AYARLARINI YAPILANDIR[/B][CR][CR]Tam ekran bilgisini deÄŸiÅŸtir · EPG veri ayarlarını yönet" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]HİZMET AYARLARINI YAPILANDIR[/B][CR][CR]UPnP ve HTTP üzerinden XBMC kontrolü ayarları · Dosya paylaşımını yapılandır[CR]Zeroconf'u etkinleÅŸtir · AirPlay'i yapılandır" + +msgctxt "#31411" +msgid "First run help...." +msgstr "İlk çalıştırma yardımı...." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Bu sekme bu bölüm için ekstra özellikleri içeren bir menüye, bu pencerenin kenarından ulaşılabileceÄŸini belirtir. Menüye ulaÅŸmak için, uzaktan kumanda, klavye yada fare imlecini sekmenin sol tarafına götürünüz. [CR][CR]Pencereyi kapatmak için \"Ok\" tuÅŸuna basınız. Bu bildiri bir daha çıkmayacaktır." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Oturum açıp devam etmek için[CR]XBMC kullanıcı profilinizi seçin" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Kayıt Zamanlayıcıları" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Planlanan Saat" + +msgctxt "#31502" +msgid "Live TV" +msgstr "Canlı TV" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Grup Ekle" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Grubu Yeniden Adlandır" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Grubu Sil" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "Mevcut[CR]Gruplar" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Kanal Grubu" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Zamanlayıcı Ayarlandı" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Kanal Seçenekleri" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "36 Saatlik Hava Tahmini" + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Saatlik Hava Tahmini" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Hafta Sonu Hava Tahmini" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "10 Günlük Hava Tahmini" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Hava Tahmini" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Yağış Olasılığı" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "Hava tahmini bilgisi getiriliyor..." + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Harita ve Uyarılar" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Ukrainian/strings.po new file mode 100644 index 000000000..4528d0269 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Ukrainian/strings.po @@ -0,0 +1,542 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Змініть" + +msgctxt "#31003" +msgid "Power Options" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ" + +msgctxt "#31004" +msgid "Working..." +msgstr "Зачекайте…" + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Без відомоÑтей" + +msgctxt "#31006" +msgid "View Options" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Повний екран" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Загальна триваліÑть" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Музика - файли" + +msgctxt "#31023" +msgid "Playing" +msgstr "ВідтвореннÑ" + +msgctxt "#31024" +msgid "Page" +msgstr "Ñторінка" + +msgctxt "#31025" +msgid "Items" +msgstr "у ÑпиÑку" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Інші параметри" + +msgctxt "#31027" +msgid "Location" +msgstr "РозташуваннÑ" + +msgctxt "#31028" +msgid "Poster Wrap" +msgstr "КаруÑель поÑтерів" + +msgctxt "#31029" +msgid "Fanart" +msgstr "Фанарт" + +msgctxt "#31031" +msgid "Pic Thumbs" +msgstr "Мініатюри" + +msgctxt "#31032" +msgid "Image Wrap" +msgstr "КаруÑель картинок" + +msgctxt "#31033" +msgid "Info" +msgstr "ІнформаціÑ" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Зараз відтворюєтьÑÑ:" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ВІДТВОРЕÐÐЯ" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "ПÐУЗÐ" + +msgctxt "#31044" +msgid "FAST FORWARD" +msgstr "ПЕРЕМОТКРВПЕРЕД" + +msgctxt "#31045" +msgid "REWIND" +msgstr "ПЕРЕМОТКРÐÐЗÐД" + +msgctxt "#31048" +msgid "Visualization Presets" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ—" + +msgctxt "#31049" +msgid "End Time" +msgstr "Ð§Ð°Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ" + +msgctxt "#31050" +msgid "Sort: Ascending" +msgstr "ВиÑхідний" + +msgctxt "#31051" +msgid "Sort: Descending" +msgstr "Ðизхідний" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Відкрити ÑпиÑок відтвореннÑ" + +msgctxt "#31056" +msgid "Save playlist" +msgstr "Зберегти ÑпиÑок відтвореннÑ" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Закрити ÑпиÑок відтвореннÑ" + +msgctxt "#31058" +msgid "System music files" +msgstr "СиÑтемні аудіофайли" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Поточний ÑпиÑок відтвореннÑ" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Складений файл; виберіть чаÑтину Ð´Ð»Ñ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Поточне виділеннÑ" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ð¾Ð»Ð¾Ð²Ð½Ð¾Ð³Ð¾ екрану" + +msgctxt "#31102" +msgid "Background" +msgstr "Тло" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Показувати \"Пауза\" в режими Ñлайдшоу" + +msgctxt "#31104" +msgid "Play Trailers in a window [COLOR=grey3](Video Information Dialog Only)[/COLOR]" +msgstr "Відтворювати трейлери у вікні [COLOR=grey3](лише Ð´Ð»Ñ Ð²Ñ–ÐºÐ½Ð° відомоÑтей)[/COLOR]" + +msgctxt "#31106" +msgid "Miscellaneous options" +msgstr "Різні параметри" + +msgctxt "#31107" +msgid "Hide Flagging read from video filenames [COLOR=grey3](Blu-ray, HD-DVD)[/COLOR]" +msgstr "Приховати піктограми, отримані з імені відеофайлу [COLOR=grey3](BluRray, HDTV)[/COLOR]" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Приховати кнопки головного меню" + +msgctxt "#31109" +msgid "Enable Custom Background" +msgstr "Дозволити влаÑне тло" + +msgctxt "#31110" +msgid "Background path:" +msgstr "ШлÑÑ… до тла:" + +msgctxt "#31111" +msgid "Hide" +msgstr "Приховати" + +msgctxt "#31112" +msgid "Options" +msgstr "Параметри" + +msgctxt "#31116" +msgid "Show Recently added Albums" +msgstr "Показувати оÑтанні додані альбоми" + +msgctxt "#31117" +msgid "Show Recently added Videos" +msgstr "Показувати оÑтаннє додане відео" + +msgctxt "#31118" +msgid "Home Page Programs Submenu" +msgstr "Підменю програм головного екрану" + +msgctxt "#31119" +msgid "Hide Background Fanart" +msgstr "Приховувати фанарт на тлі" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Сторінка кнопки" + +msgctxt "#31124" +msgid "Show Background \"Now Playing\" Video" +msgstr "Відтворюване відео на тлі" + +msgctxt "#31125" +msgid "Show Background \"Now Playing\" Visualization" +msgstr "Музична Ð²Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð½Ð° тлі" + +msgctxt "#31126" +msgid "Play TV theme songs in video library (TvTunes add-on)" +msgstr "Грати мелодію Ñеріалу в медіатеці (надбудова TvTunes)" + +msgctxt "#31127" +msgid "TvTunes" +msgstr "TvTunes" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "ТекÑти" + +msgctxt "#31129" +msgid "Hide Fanart in full screen visualization" +msgstr "Приховувати фанарт у повноекранній візуалізації" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Ðадбудова текÑтів піÑень" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Ðадбудова Ñубтитрів" + +msgctxt "#31134" +msgid "Home Page Videos Submenu" +msgstr "Підменю відео головного екрану" + +msgctxt "#31135" +msgid "Home Page Music Submenu" +msgstr "Підменю музики головного екрану" + +msgctxt "#31136" +msgid "Home Page Pictures Submenu" +msgstr "Підменю фото головного екрану" + +msgctxt "#31140" +msgid "Music OSD" +msgstr "OSD музики" + +msgctxt "#31141" +msgid "Video OSD" +msgstr "OSD відео" + +msgctxt "#31200" +msgid "Shortcuts" +msgstr "Ярлики" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Виберіть піÑню" + +msgctxt "#31205" +msgid "Lyrics Source" +msgstr "Джерело текÑтів піÑень" + +msgctxt "#31206" +msgid "Found" +msgstr "Знайдено" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Знайти більше об'єктів" + +msgctxt "#31208" +msgid "Upcoming Episodes" +msgstr "ÐаÑтупні Ñерії" + +msgctxt "#31300" +msgid "Current Temp" +msgstr "Поточна температура" + +msgctxt "#31301" +msgid "Last Updated" +msgstr "ОÑтаннє оновленнÑ" + +msgctxt "#31303" +msgid "Data provider" +msgstr "Джерело даних" + +msgctxt "#31307" +msgid "Hide Fanart" +msgstr "Приховати фанарт" + +msgctxt "#31308" +msgid "Movie Details" +msgstr "ВідомоÑті про фільм" + +msgctxt "#31309" +msgid "Memory Used:" +msgstr "ВикориÑтано пам'Ñті" + +msgctxt "#31310" +msgid "Track Number" +msgstr "Ðомер треку" + +msgctxt "#31311" +msgid "Fanart image[CR][CR]Unavailable[CR][CR] Click button to set" +msgstr "Фанарт[CR][CR]недоÑтупний,[CR][CR]натиÑніть кнопку, щоб вибрати" + +msgctxt "#31312" +msgid "Current Scraper" +msgstr "Поточний інфореÑурÑ" + +msgctxt "#31313" +msgid "Choose a Scraper" +msgstr "Вибрати інфореÑурÑ" + +msgctxt "#31314" +msgid "Content Scanning Options" +msgstr "Параметри ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¼Ñ–Ñту" + +msgctxt "#31317" +msgid "Set Fanart Path" +msgstr "Вибрати Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð½Ð°Ñ€Ñ‚Ñƒ" + +msgctxt "#31319" +msgid "Selected Profile" +msgstr "Обраний профіль" + +msgctxt "#31320" +msgid "Last Logged In" +msgstr "ОÑтанній вхід" + +msgctxt "#31321" +msgid "Karaoke Song Selector" +msgstr "Вибір піÑень Ð´Ð»Ñ ÐºÐ°Ñ€Ð°Ð¾ÐºÐµ" + +msgctxt "#31322" +msgid "Aired" +msgstr "Прем'єра" + +msgctxt "#31325" +msgid "Playlist Options" +msgstr "Параметри ÑпиÑку відтвореннÑ" + +msgctxt "#31326" +msgid "Created" +msgstr "Створений" + +msgctxt "#31327" +msgid "Resolution" +msgstr "Розмір" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "ОÑтанні" + +msgctxt "#31329" +msgid "[B]Timer set![/B] [COLOR=grey2] - System auto shutdown in[/COLOR]" +msgstr "[B]Ð’Ñтановлено таймер![/B] [COLOR=grey2] - Ðвтоматичне Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ·[/COLOR]" + +msgctxt "#31330" +msgid "Click button to play[CR][CR]Movie trailer" +msgstr "ÐатиÑніть кнопку,[CR][CR]щоб переглÑнути кино-трейлер" + +msgctxt "#31331" +msgid "Album Details" +msgstr "ВідомоÑті про альбом" + +msgctxt "#31351" +msgid "Pause" +msgstr "Пауза" + +msgctxt "#31352" +msgid "Stop" +msgstr "Стоп" + +msgctxt "#31353" +msgid "Fast Forward" +msgstr "Перемотка вперед" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Перемотка назад" + +msgctxt "#31355" +msgid "Movie menu" +msgstr "Меню фільму" + +msgctxt "#31356" +msgid "Download Subtitles" +msgstr "Завантажити Ñубтитри" + +msgctxt "#31390" +msgid "Skin default" +msgstr "Стандартні" + +msgctxt "#31391" +msgid "Skin default with no Caps" +msgstr "Стандартні без ВЕЛИКИХ" + +msgctxt "#31392" +msgid "Arial based" +msgstr "Стиль Arial" + +msgctxt "#31400" +msgid "[B]CONFIGURE APPEARANCE SETTINGS[/B][CR][CR]Change the skin · Set language and region · Change file listing options[CR]Set up a screensaver" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ЗОВÐІШÐЬОГО ВИГЛЯДУ[/B][CR][CR]Ð—Ð¼Ñ–Ð½ÐµÐ½Ð½Ñ Ð¾Ð±ÐºÐ»Ð°Ð´Ð¸Ð½ÐºÐ¸ • Вибір мови та регіону • ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑпиÑку файлів[CR]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ñтавки" + +msgctxt "#31401" +msgid "[B]CONFIGURE VIDEO SETTINGS[/B][CR][CR]Manage your video library · Set video playback options · Change video listing options[CR]Set subtitle fonts" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ПÐРÐМЕТРІВ ВІДЕО[/B][CR][CR]ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÐ´Ñ–Ð°Ñ‚ÐµÐºÐ¾ÑŽ відео • Параметри Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ÐµÐ¾[CR]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑпиÑку відео • ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ñƒ Ñубтитрів" + +msgctxt "#31402" +msgid "[B]CONFIGURE MUSIC SETTINGS[/B][CR][CR]Manage your music library · Set music playback options · Change music listing options[CR]Setup song submission · Set karaoke options" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ПÐРÐМЕТРІВ МУЗИКИ[/B][CR][CR]ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÐ´Ð¸Ð°Ñ‚ÐµÐºÐ¾ÑŽ аудіо • Параметри Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°ÑƒÐ´Ñ–Ð¾[CR]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑпиÑку аудіо • ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð¿Ñ–Ñень[CR]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ°Ñ€Ð°Ð¾ÐºÐµ" + +msgctxt "#31403" +msgid "[B]CONFIGURE PICTURE SETTINGS[/B][CR][CR]Set picture listing options · Configure slideshows" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ПÐРÐМЕТРІВ ФОТО[/B][CR][CR]Параметри ÑпиÑку фото • ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñлайд-шоу" + +msgctxt "#31404" +msgid "[B]CONFIGURE WEATHER SETTINGS[/B][CR][CR]Set three cities to collect weather information" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ПÐРÐМЕТРІВ ПОГОДИ[/B][CR][CR]Вибір трьох міÑÑ‚ Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— про погоду" + +msgctxt "#31406" +msgid "[B]CONFIGURE SYSTEM SETTINGS[/B][CR][CR]Setup and calibrate displays · Configure audio output · Setup remote controls[CR]Set power saving options · Enable debugging · Setup master lock" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ПÐРÐМЕТРІВ СИСТЕМИ[/B][CR][CR]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° ÐºÐ°Ð»Ñ–Ð±Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¸Ñплеїв • ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð°ÑƒÐ´Ñ–Ð¾[CR]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¸Ñтанційного ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ â€¢ ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² енергозбереженнÑ[CR]Ð£Ð²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ â€¢ ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ" + +msgctxt "#31408" +msgid "[B]CONFIGURE ADD-ONS[/B][CR][CR]Manage your installed Add-ons · Browse for and install Add-ons from xbmc.org[CR]Modify Add-on settings" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ÐÐДБУДОВ[/B][CR][CR]ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñтановленими надбудовами • Ð’ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð°Ð´Ð±ÑƒÐ´Ð¾Ð² з xbmc.org[CR]Зміна налаштувань надбудов" + +msgctxt "#31409" +msgid "[B]CONFIGURE TV SETTINGS[/B][CR][CR]Change fullscreen info · Manage EPG data settings" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ТБ[/B][CR][CR]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ð½Ð¾ÐµÐºÑ€Ð°Ð½Ð½Ð¸Ñ… відомоÑтей · ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ EPG" + +msgctxt "#31410" +msgid "[B]CONFIGURE SERVICE SETTINGS[/B][CR][CR]Setup control of XBMC via UPnP and HTTP · Configure file sharing[CR]Enable Zeroconf · Configure AirPlay" +msgstr "[B]ÐÐЛÐШТУВÐÐÐЯ ПÐРÐМЕТРІВ СЛУЖБ[/B][CR][CR]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ XBMC за UPnP Ñ– HTTP • ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу до файлів[CR]Ð£Ð²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Zeroconf • ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ AirPlay" + +msgctxt "#31411" +msgid "First run help...." +msgstr "Довідка при першому запуÑку." + +msgctxt "#31412" +msgid "This tab signifies that there is a menu off to the side of this window that contains extra options for this section. To access the menu, navigate to the left with your remote control or keyboard or place your mouse pointer over the tab. [CR][CR]Click \"Ok\" to close this dialog. It will not appear again." +msgstr "Ð¦Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° означає, що збоку Ñ” меню із додатковими налаштуваннÑми розділу. Ð”Ð»Ñ Ð´Ð¾Ñтупу до меню перейдіть вліво за допомогою пульта ДУ чи клавіатури або поміÑтіть курÑор миші над вкладкою. [CR][CR] ОК — закрити цей діалог. Він більше не з'ÑвитьÑÑ." + +msgctxt "#31421" +msgid "Select your XBMC user Profile[CR]to login and continue" +msgstr "Виберіть профіль кориÑтувача XBMC,[CR]щоб увійти до ÑиÑтеми" + +msgctxt "#31500" +msgid "Recording Timers" +msgstr "Таймери запиÑу" + +msgctxt "#31501" +msgid "Scheduled Time" +msgstr "Запланований чаÑ" + +msgctxt "#31502" +msgid "Live TV" +msgstr "ТБ" + +msgctxt "#31503" +msgid "Add Group" +msgstr "Додати групу" + +msgctxt "#31504" +msgid "Rename Group" +msgstr "Перейменувати групу" + +msgctxt "#31505" +msgid "Delete Group" +msgstr "Видалити групу" + +msgctxt "#31506" +msgid "Available[CR]Groups" +msgstr "ДоÑтупні[CR]групи" + +msgctxt "#31509" +msgid "Channel Group" +msgstr "Група каналів" + +msgctxt "#31510" +msgid "Timer Set" +msgstr "Таймер вÑтановлено" + +msgctxt "#31511" +msgid "Channel Options" +msgstr "Параметри каналів" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Прогноз на 36 г." + +msgctxt "#31902" +msgid "Hourly Forecast" +msgstr "Щогодинний прогноз" + +msgctxt "#31903" +msgid "Weekend Forecast" +msgstr "Прогноз на вихідні" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Прогноз на 10 днів" + +msgctxt "#31905" +msgid "Forecast" +msgstr "Прогноз" + +msgctxt "#31908" +msgid "Chance of Precipitation" +msgstr "Можливі опади" + +msgctxt "#31909" +msgid "Fetching forecast info..." +msgstr "ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ð½Ð¾Ð·Ñƒâ€¦" + +msgctxt "#31910" +msgid "Map & Alerts" +msgstr "Мапи та попередженнÑ" diff --git a/usr/local/share/xbmc/addons/skin.confluence/language/Vietnamese/strings.po b/usr/local/share/xbmc/addons/skin.confluence/language/Vietnamese/strings.po new file mode 100644 index 000000000..2501dccfb --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/language/Vietnamese/strings.po @@ -0,0 +1,178 @@ +# XBMC Media Center language file +# Addon Name: Confluence +# Addon id: skin.confluence +# Addon version: 2.1.3 +# Addon Provider: Jezz_X, Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Vietnamese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#31000" +msgid "Change Your" +msgstr "Thay Dổi" + +msgctxt "#31003" +msgid "Power Options" +msgstr "??? lá»±a chá»n" + +msgctxt "#31004" +msgid "Working..." +msgstr "Dang /làm..." + +msgctxt "#31005" +msgid "Hide Information" +msgstr "Trốn Thông Tin" + +msgctxt "#31006" +msgid "View Options" +msgstr "Xem ???" + +msgctxt "#31008" +msgid "Fullscreen" +msgstr "Toàn Màn Hình" + +msgctxt "#31009" +msgid "Total Duration" +msgstr "Tổng Số Thá»i Gian" + +msgctxt "#31022" +msgid "Music - Files" +msgstr "Nhạc - Files" + +msgctxt "#31023" +msgid "Playing" +msgstr "Äang chÆ¡i" + +msgctxt "#31024" +msgid "Page" +msgstr "Trang" + +msgctxt "#31026" +msgid "Misc Options" +msgstr "Lá»±a chá»n khác" + +msgctxt "#31033" +msgid "Info" +msgstr "Thông Tin" + +msgctxt "#31040" +msgid "Now Playing" +msgstr "Äang chÆ¡i" + +msgctxt "#31042" +msgid "PLAYING" +msgstr "ÄANG CHÆ I" + +msgctxt "#31043" +msgid "PAUSED" +msgstr "Äà DỪNG" + +msgctxt "#31045" +msgid "REWIND" +msgstr "Quay Lại" + +msgctxt "#31049" +msgid "End Time" +msgstr "Giá» Hết" + +msgctxt "#31055" +msgid "Open playlist" +msgstr "Mở Playlist" + +msgctxt "#31057" +msgid "Close playlist" +msgstr "Dóng Playlist" + +msgctxt "#31058" +msgid "System music files" +msgstr "Tệp nhạc hệ thống" + +msgctxt "#31059" +msgid "Current playlist" +msgstr "Danh sách hiện tại" + +msgctxt "#31060" +msgid "This file is stacked, select the part you want to play from." +msgstr "Tệp này đã bị chia cắt, chá»n phần bạn muốn chÆ¡i." + +msgctxt "#31061" +msgid "Current Selected" +msgstr "Chá»n lá»±a hiện tại" + +msgctxt "#31101" +msgid "Home screen options" +msgstr "Lá»±a chá»n màn hình chính" + +msgctxt "#31102" +msgid "Background" +msgstr "Hình ná»n" + +msgctxt "#31103" +msgid "Show \"Paused\" in picture slide show" +msgstr "Hiển thị \"Äã dừng\" ở trình diá»…n ảnh" + +msgctxt "#31108" +msgid "Hide Main Menu Buttons" +msgstr "Ẩn nút Màn Hình Chính" + +msgctxt "#31111" +msgid "Hide" +msgstr "Giấu" + +msgctxt "#31122" +msgid "Weather Page" +msgstr "Thá»i Tiết" + +msgctxt "#31128" +msgid "Lyrics" +msgstr "Lá»i Bài Hát" + +msgctxt "#31132" +msgid "Lyrics Add-on" +msgstr "Lá»i Bài Hát (Addon?)" + +msgctxt "#31133" +msgid "Subtitle Add-on" +msgstr "Phụ Dá» (Addon?)" + +msgctxt "#31203" +msgid "Choose Your Song" +msgstr "Chá»n Bài Hát" + +msgctxt "#31206" +msgid "Found" +msgstr "Tìm Rồi" + +msgctxt "#31207" +msgid "Find More Items" +msgstr "Tìm Thêm" + +msgctxt "#31328" +msgid "Recently Added" +msgstr "Má»›i Bá» Vào" + +msgctxt "#31352" +msgid "Stop" +msgstr "Ngừng" + +msgctxt "#31354" +msgid "Rewind" +msgstr "Quay Lại" + +msgctxt "#31901" +msgid "36 Hour Forecast" +msgstr "Thá»i Tiết - 36 Tiếng" + +msgctxt "#31904" +msgid "10 Day Forecast" +msgstr "Thá»i Tiết - 10 Ngày" diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateBottomRight.png b/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateBottomRight.png new file mode 100644 index 000000000..50ca1a8ea Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateBottomRight.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CalibratePixelRatio.png b/usr/local/share/xbmc/addons/skin.confluence/media/CalibratePixelRatio.png new file mode 100644 index 000000000..32ec9d1ca Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CalibratePixelRatio.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateSubtitles.png b/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateSubtitles.png new file mode 100644 index 000000000..93ddf1324 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateSubtitles.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateTopLeft.png b/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateTopLeft.png new file mode 100644 index 000000000..6417af222 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CalibrateTopLeft.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating0.png b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating0.png new file mode 100644 index 000000000..67938dc29 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating0.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating1.png b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating1.png new file mode 100644 index 000000000..548e6e923 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating1.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating2.png b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating2.png new file mode 100644 index 000000000..bdc49d923 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating3.png b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating3.png new file mode 100644 index 000000000..84bb96151 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating3.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating4.png b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating4.png new file mode 100644 index 000000000..7cd988f47 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating4.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating5.png b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating5.png new file mode 100644 index 000000000..2f58909fd Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/CenterRating/rating5.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/Confluence_Logo.png b/usr/local/share/xbmc/addons/skin.confluence/media/Confluence_Logo.png new file mode 100644 index 000000000..845f001df Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/Confluence_Logo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ContentPanel.png b/usr/local/share/xbmc/addons/skin.confluence/media/ContentPanel.png new file mode 100644 index 000000000..eb022d62f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ContentPanel.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ContentPanelMirror.png b/usr/local/share/xbmc/addons/skin.confluence/media/ContentPanelMirror.png new file mode 100644 index 000000000..54149f42f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ContentPanelMirror.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultActor.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultActor.png new file mode 100644 index 000000000..2438f3372 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultActor.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddSource.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddSource.png new file mode 100644 index 000000000..a1ec36484 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddSource.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddon.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddon.png new file mode 100644 index 000000000..f8a6b0824 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddon.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonAlbumInfo.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonAlbumInfo.png new file mode 100644 index 000000000..68cadcc9e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonAlbumInfo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonArtistInfo.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonArtistInfo.png new file mode 100644 index 000000000..9b3a1feb0 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonArtistInfo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonLyrics.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonLyrics.png new file mode 100644 index 000000000..f0ea36aad Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonLyrics.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMovieInfo.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMovieInfo.png new file mode 100644 index 000000000..ff25c832d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMovieInfo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMusic.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMusic.png new file mode 100644 index 000000000..e1e8afc32 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMusic.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMusicVideoInfo.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMusicVideoInfo.png new file mode 100644 index 000000000..aef881e56 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonMusicVideoInfo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonNone.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonNone.png new file mode 100644 index 000000000..3f4815c6c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonNone.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonPVRClient.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonPVRClient.png new file mode 100644 index 000000000..b6ded67ec Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonPVRClient.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonPicture.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonPicture.png new file mode 100644 index 000000000..8a704636b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonPicture.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonProgram.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonProgram.png new file mode 100644 index 000000000..d522aa545 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonProgram.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonRepository.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonRepository.png new file mode 100644 index 000000000..854f2d53d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonRepository.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonScreensaver.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonScreensaver.png new file mode 100644 index 000000000..ef6bb54f2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonScreensaver.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonService.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonService.png new file mode 100644 index 000000000..a4ba67617 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonService.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonSkin.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonSkin.png new file mode 100644 index 000000000..9fe9d8c4e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonSkin.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonSubtitles.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonSubtitles.png new file mode 100644 index 000000000..03af484cb Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonSubtitles.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonTvInfo.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonTvInfo.png new file mode 100644 index 000000000..0b6fdac26 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonTvInfo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonVideo.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonVideo.png new file mode 100644 index 000000000..ec69c30a6 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonVideo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonVisualization.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonVisualization.png new file mode 100644 index 000000000..dfbc34659 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonVisualization.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonWeather.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonWeather.png new file mode 100644 index 000000000..f5e462c0e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonWeather.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonWebSkin.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonWebSkin.png new file mode 100644 index 000000000..61937d527 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAddonWebSkin.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAlbumCover.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAlbumCover.png new file mode 100644 index 000000000..ef73da903 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAlbumCover.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultArtist.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultArtist.png new file mode 100644 index 000000000..2438f3372 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultArtist.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAudio.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAudio.png new file mode 100644 index 000000000..ae1df5c9e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultAudio.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultCDDA.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultCDDA.png new file mode 100644 index 000000000..3f16e3675 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultCDDA.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultDVDEmpty.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultDVDEmpty.png new file mode 100644 index 000000000..4a3028964 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultDVDEmpty.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultDVDRom.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultDVDRom.png new file mode 100644 index 000000000..e29b51792 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultDVDRom.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFile.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFile.png new file mode 100644 index 000000000..db213c0b3 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFile.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFolder.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFolder.png new file mode 100644 index 000000000..9636df089 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFolder.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFolderBack.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFolderBack.png new file mode 100644 index 000000000..bbc30129c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultFolderBack.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultHardDisk.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultHardDisk.png new file mode 100644 index 000000000..f6b4d29cb Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultHardDisk.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconError.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconError.png new file mode 100644 index 000000000..ecee3c1fd Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconError.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconInfo.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconInfo.png new file mode 100644 index 000000000..e093d42b6 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconInfo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconWarning.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconWarning.png new file mode 100644 index 000000000..baf34c423 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultIconWarning.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultInProgressShows.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultInProgressShows.png new file mode 100644 index 000000000..b7847845e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultInProgressShows.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMovies.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMovies.png new file mode 100644 index 000000000..f5489bb84 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMovies.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicAlbums.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicAlbums.png new file mode 100644 index 000000000..7fcb956b1 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicAlbums.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicArtists.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicArtists.png new file mode 100644 index 000000000..6cc21b753 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicArtists.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicCompilations.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicCompilations.png new file mode 100644 index 000000000..381332694 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicCompilations.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicGenres.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicGenres.png new file mode 100644 index 000000000..eb69ada01 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicGenres.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicPlaylists.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicPlaylists.png new file mode 100644 index 000000000..8cbae5cbb Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicPlaylists.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicPlugins.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicPlugins.png new file mode 100644 index 000000000..cfd6a8260 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicPlugins.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicRecentlyAdded.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicRecentlyAdded.png new file mode 100644 index 000000000..e967a2c66 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicRecentlyAdded.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicRecentlyPlayed.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicRecentlyPlayed.png new file mode 100644 index 000000000..930aa0ada Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicRecentlyPlayed.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicSongs.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicSongs.png new file mode 100644 index 000000000..e19ee098d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicSongs.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicTop100.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicTop100.png new file mode 100644 index 000000000..219011af9 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicTop100.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicVideos.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicVideos.png new file mode 100644 index 000000000..f27ed7ba9 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicVideos.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicYears.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicYears.png new file mode 100644 index 000000000..1cf1cab4f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultMusicYears.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultNetwork.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultNetwork.png new file mode 100644 index 000000000..388c870f1 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultNetwork.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultPicture.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultPicture.png new file mode 100644 index 000000000..9c44397b1 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultPicture.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultPlaylist.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultPlaylist.png new file mode 100644 index 000000000..5ef89ce7d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultPlaylist.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultProgram.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultProgram.png new file mode 100644 index 000000000..8f276c229 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultProgram.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedEpisodes.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedEpisodes.png new file mode 100644 index 000000000..9883c7203 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedEpisodes.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedMovies.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedMovies.png new file mode 100644 index 000000000..8e46eba7b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedMovies.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedMusicVideos.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedMusicVideos.png new file mode 100644 index 000000000..275f923aa Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultRecentlyAddedMusicVideos.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultTVShows.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultTVShows.png new file mode 100644 index 000000000..4fd936dea Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultTVShows.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideo.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideo.png new file mode 100644 index 000000000..ce13c2a00 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoCover.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoCover.png new file mode 100644 index 000000000..487b945df Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoCover.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoPlaylists.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoPlaylists.png new file mode 100644 index 000000000..91e17b393 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoPlaylists.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoPlugins.png b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoPlugins.png new file mode 100644 index 000000000..dade2606e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DefaultVideoPlugins.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DialogBack.png b/usr/local/share/xbmc/addons/skin.confluence/media/DialogBack.png new file mode 100644 index 000000000..812801af5 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DialogBack.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DialogBack2.png b/usr/local/share/xbmc/addons/skin.confluence/media/DialogBack2.png new file mode 100644 index 000000000..8f599269b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DialogBack2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DialogCloseButton-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/DialogCloseButton-focus.png new file mode 100644 index 000000000..fdde65cdf Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DialogCloseButton-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DialogCloseButton.png b/usr/local/share/xbmc/addons/skin.confluence/media/DialogCloseButton.png new file mode 100644 index 000000000..7f5d105ae Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DialogCloseButton.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextBottom.png b/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextBottom.png new file mode 100644 index 000000000..bde25d3d3 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextBottom.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextMiddle.png b/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextMiddle.png new file mode 100644 index 000000000..b2bf0ca53 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextMiddle.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextTop.png b/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextTop.png new file mode 100644 index 000000000..e7f764a5a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/DialogContextTop.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Diffuse.png b/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Diffuse.png new file mode 100644 index 000000000..b6aad8664 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Diffuse.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Fallback_Music_Small.jpg b/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Fallback_Music_Small.jpg new file mode 100644 index 000000000..ffb6254a6 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Fallback_Music_Small.jpg differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Fallback_Small.jpg b/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Fallback_Small.jpg new file mode 100644 index 000000000..39d0e38ad Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/Fanart_Fallback_Small.jpg differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/GlassOverlay.png b/usr/local/share/xbmc/addons/skin.confluence/media/GlassOverlay.png new file mode 100644 index 000000000..f2918b663 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/GlassOverlay.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/GlassTitleBar.png b/usr/local/share/xbmc/addons/skin.confluence/media/GlassTitleBar.png new file mode 100644 index 000000000..80781fd99 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/GlassTitleBar.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/GoFullscreen.png b/usr/local/share/xbmc/addons/skin.confluence/media/GoFullscreen.png new file mode 100644 index 000000000..7ef4c9b7b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/GoFullscreen.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HasSub.png b/usr/local/share/xbmc/addons/skin.confluence/media/HasSub.png new file mode 100644 index 000000000..d8183deb0 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HasSub.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HomeBack.png b/usr/local/share/xbmc/addons/skin.confluence/media/HomeBack.png new file mode 100644 index 000000000..8491df52c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HomeBack.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HomeBladeSub.png b/usr/local/share/xbmc/addons/skin.confluence/media/HomeBladeSub.png new file mode 100644 index 000000000..f50783a15 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HomeBladeSub.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HomeNowPlayingBack.png b/usr/local/share/xbmc/addons/skin.confluence/media/HomeNowPlayingBack.png new file mode 100644 index 000000000..865bed23c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HomeNowPlayingBack.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HomeOverlay1.png b/usr/local/share/xbmc/addons/skin.confluence/media/HomeOverlay1.png new file mode 100644 index 000000000..c0a102e42 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HomeOverlay1.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HomeSeperator.png b/usr/local/share/xbmc/addons/skin.confluence/media/HomeSeperator.png new file mode 100644 index 000000000..551d16064 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HomeSeperator.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubEnd.png b/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubEnd.png new file mode 100644 index 000000000..85a6177b1 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubEnd.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubFO.png new file mode 100644 index 000000000..99b5442e8 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubNF.png new file mode 100644 index 000000000..727d4c7d7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/HomeSubNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/InfoMessagePanel.png b/usr/local/share/xbmc/addons/skin.confluence/media/InfoMessagePanel.png new file mode 100644 index 000000000..0595112e4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/InfoMessagePanel.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerBottom.png b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerBottom.png new file mode 100644 index 000000000..c80697395 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerBottom.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerBottomNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerBottomNF.png new file mode 100644 index 000000000..3f803b20e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerBottomNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerTop.png b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerTop.png new file mode 100644 index 000000000..07d5ab70b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerTop.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerTopNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerTopNF.png new file mode 100644 index 000000000..376492fc4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardCornerTopNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardEditArea.png b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardEditArea.png new file mode 100644 index 000000000..a18de6111 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardEditArea.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardKey.png b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardKey.png new file mode 100644 index 000000000..5c8b2bf94 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardKey.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardKeyNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardKeyNF.png new file mode 100644 index 000000000..077777fdb Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/KeyboardKeyNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating0.png b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating0.png new file mode 100644 index 000000000..7bb693ef3 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating0.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating1.png b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating1.png new file mode 100644 index 000000000..0d1583f75 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating1.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating2.png b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating2.png new file mode 100644 index 000000000..ec0a55b8e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating3.png b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating3.png new file mode 100644 index 000000000..48a1214f7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating3.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating4.png b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating4.png new file mode 100644 index 000000000..70b89c9aa Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating4.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating5.png b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating5.png new file mode 100644 index 000000000..6daffffe2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/LeftRating/rating5.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/Makefile b/usr/local/share/xbmc/addons/skin.confluence/media/Makefile new file mode 100644 index 000000000..27c458ba9 --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/media/Makefile @@ -0,0 +1,25 @@ +TARGET=Textures.xbt +XBMCTEX=/opt/xbmc/tools/TexturePacker/TexturePacker + +IMAGES := $(shell find . -name "*jpg") +IMAGES += $(shell find . -name "*png") +IMAGES += $(shell find . -name "*gif") + +all: $(TARGET) + +.PHONY: force + +$(TARGET): $(XBMCTEX) $(IMAGES) +ifeq (,1) + $(XBMCTEX) -use_none -input . -output $(TARGET) +else + $(XBMCTEX) -input . -output $(TARGET) + +endif +$(XBMCTEX): force + $(MAKE) -C /opt/xbmc/tools/TexturePacker + +clean: + rm -f $(TARGET) +distclean: clean + diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/Makefile.in b/usr/local/share/xbmc/addons/skin.confluence/media/Makefile.in new file mode 100644 index 000000000..3cf7d1bcd --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/media/Makefile.in @@ -0,0 +1,25 @@ +TARGET=Textures.xbt +XBMCTEX=@abs_top_srcdir@/tools/TexturePacker/TexturePacker + +IMAGES := $(shell find . -name "*jpg") +IMAGES += $(shell find . -name "*png") +IMAGES += $(shell find . -name "*gif") + +all: $(TARGET) + +.PHONY: force + +$(TARGET): $(XBMCTEX) $(IMAGES) +ifeq (@USE_ANDROID@,1) + $(XBMCTEX) -use_none -input . -output $(TARGET) +else + $(XBMCTEX) -input . -output $(TARGET) + +endif +$(XBMCTEX): force + $(MAKE) -C @abs_top_srcdir@/tools/TexturePacker + +clean: + rm -f $(TARGET) +distclean: clean + diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/MediaBladeSub.png b/usr/local/share/xbmc/addons/skin.confluence/media/MediaBladeSub.png new file mode 100644 index 000000000..672061795 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/MediaBladeSub.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/MediaItemDetailBG.png b/usr/local/share/xbmc/addons/skin.confluence/media/MediaItemDetailBG.png new file mode 100644 index 000000000..cb8b8a5be Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/MediaItemDetailBG.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/MenuItemFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/MenuItemFO.png new file mode 100644 index 000000000..14230c064 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/MenuItemFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/MenuItemNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/MenuItemNF.png new file mode 100644 index 000000000..ecbf84f9f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/MenuItemNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSD16x.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSD16x.png new file mode 100644 index 000000000..5bd226552 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSD16x.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSD2x.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSD2x.png new file mode 100644 index 000000000..3375ee380 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSD2x.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSD32x.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSD32x.png new file mode 100644 index 000000000..7819abec8 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSD32x.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSD4x.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSD4x.png new file mode 100644 index 000000000..aa6783259 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSD4x.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSD8x.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSD8x.png new file mode 100644 index 000000000..08a2c3430 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSD8x.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDAudioFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDAudioFO.png new file mode 100644 index 000000000..8c2e27cc8 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDAudioFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDAudioNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDAudioNF.png new file mode 100644 index 000000000..7e24d06ef Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDAudioNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDBookmarksFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDBookmarksFO.png new file mode 100644 index 000000000..1fdf41342 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDBookmarksFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDBookmarksNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDBookmarksNF.png new file mode 100644 index 000000000..83b2ebb68 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDBookmarksNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelDownFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelDownFO.png new file mode 100644 index 000000000..5116c327b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelDownFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelDownNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelDownNF.png new file mode 100644 index 000000000..6795c4332 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelDownNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelListFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelListFO.png new file mode 100644 index 000000000..a08bc13a7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelListFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelListNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelListNF.png new file mode 100644 index 000000000..8339fdced Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelListNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelUPFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelUPFO.png new file mode 100644 index 000000000..a3e6dbad5 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelUPFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelUPNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelUPNF.png new file mode 100644 index 000000000..47e6e331b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDChannelUPNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDDvdFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDDvdFO.png new file mode 100644 index 000000000..cc7a0d9fa Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDDvdFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDDvdNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDDvdNF.png new file mode 100644 index 000000000..5a69c5f1a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDDvdNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDForwardFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDForwardFO.png new file mode 100644 index 000000000..54b59a67e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDForwardFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDForwardNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDForwardNF.png new file mode 100644 index 000000000..8d2a20aab Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDForwardNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDLyricsFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDLyricsFO.png new file mode 100644 index 000000000..c8a9d9419 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDLyricsFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDLyricsNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDLyricsNF.png new file mode 100644 index 000000000..691e7020e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDLyricsNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDNextTrackFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDNextTrackFO.png new file mode 100644 index 000000000..6632183a5 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDNextTrackFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDNextTrackNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDNextTrackNF.png new file mode 100644 index 000000000..d436c1b19 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDNextTrackNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPause.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPause.png new file mode 100644 index 000000000..8a39bcc39 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPause.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPauseFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPauseFO.png new file mode 100644 index 000000000..b8a2e6ce5 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPauseFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPauseNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPauseNF.png new file mode 100644 index 000000000..d08965380 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPauseNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlay.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlay.png new file mode 100644 index 000000000..27fb128ef Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlay.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlayFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlayFO.png new file mode 100644 index 000000000..2709f6a52 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlayFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlayNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlayNF.png new file mode 100644 index 000000000..59f4047c7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlayNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlaylistFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlaylistFO.png new file mode 100644 index 000000000..50ebab4bc Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlaylistFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlaylistNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlaylistNF.png new file mode 100644 index 000000000..af8485519 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPlaylistNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPreFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPreFO.png new file mode 100644 index 000000000..1087b98c2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPreFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPreNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPreNF.png new file mode 100644 index 000000000..2483f000f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPreNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPresetSettingsFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPresetSettingsFO.png new file mode 100644 index 000000000..836dd8997 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPresetSettingsFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPresetSettingsNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPresetSettingsNF.png new file mode 100644 index 000000000..039c954e8 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPresetSettingsNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPrevTrackFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPrevTrackFO.png new file mode 100644 index 000000000..58765c20c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPrevTrackFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDPrevTrackNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPrevTrackNF.png new file mode 100644 index 000000000..cb2671502 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDPrevTrackNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressBack.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressBack.png new file mode 100644 index 000000000..376cb9b42 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressBack.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressMid.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressMid.png new file mode 100644 index 000000000..dacfae0c7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressMid.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressMidLight.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressMidLight.png new file mode 100644 index 000000000..e3a9c32f8 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDProgressMidLight.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOffFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOffFO.png new file mode 100644 index 000000000..48f3e46ee Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOffFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOffNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOffNF.png new file mode 100644 index 000000000..b8cad8fb2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOffNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOnFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOnFO.png new file mode 100644 index 000000000..8544d8319 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOnFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOnNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOnNF.png new file mode 100644 index 000000000..401e515e7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRandomOnNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOffFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOffFO.png new file mode 100644 index 000000000..fd2bb18fa Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOffFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOffNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOffNF.png new file mode 100644 index 000000000..db3d5753e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOffNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOnFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOnFO.png new file mode 100644 index 000000000..cb4fcf9ed Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOnFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOnNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOnNF.png new file mode 100644 index 000000000..b3358180d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRecordOnNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatAllFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatAllFO.png new file mode 100644 index 000000000..42e623827 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatAllFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatAllNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatAllNF.png new file mode 100644 index 000000000..708ddad4f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatAllNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatFO.png new file mode 100644 index 000000000..a034beb5c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatNF.png new file mode 100644 index 000000000..7c6754472 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatOneFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatOneFO.png new file mode 100644 index 000000000..fc4c1885b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatOneFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatOneNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatOneNF.png new file mode 100644 index 000000000..4783e99a9 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRepeatOneNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRewindFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRewindFO.png new file mode 100644 index 000000000..2c86471fd Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRewindFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDRewindNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRewindNF.png new file mode 100644 index 000000000..65430eefd Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDRewindNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekForward.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekForward.png new file mode 100644 index 000000000..54b16bb5f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekForward.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekFrame.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekFrame.png new file mode 100644 index 000000000..d1cdc073f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekFrame.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekRewind.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekRewind.png new file mode 100644 index 000000000..a74f17126 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSeekRewind.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDStopFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDStopFO.png new file mode 100644 index 000000000..aacfa6b74 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDStopFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDStopNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDStopNF.png new file mode 100644 index 000000000..dcc6ed696 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDStopNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDSubtitlesFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSubtitlesFO.png new file mode 100644 index 000000000..93107c1fd Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSubtitlesFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDSubtitlesNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSubtitlesNF.png new file mode 100644 index 000000000..5141178db Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDSubtitlesNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDTeleTextFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDTeleTextFO.png new file mode 100644 index 000000000..53eb5762f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDTeleTextFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDTeleTextNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDTeleTextNF.png new file mode 100644 index 000000000..111c0685b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDTeleTextNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDVideoFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDVideoFO.png new file mode 100644 index 000000000..ab21d66cd Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDVideoFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDVideoNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDVideoNF.png new file mode 100644 index 000000000..5a1b6ea93 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDVideoNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDVizFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDVizFO.png new file mode 100644 index 000000000..845eb5452 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDVizFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDVizNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDVizNF.png new file mode 100644 index 000000000..3ac008cbd Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDVizNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDepgFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDepgFO.png new file mode 100644 index 000000000..141f7adfc Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDepgFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OSDepgNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/OSDepgNF.png new file mode 100644 index 000000000..cf9a86b65 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OSDepgNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OverlayDialogBackground.png b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayDialogBackground.png new file mode 100644 index 000000000..d6a403acb Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayDialogBackground.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OverlayLocked.png b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayLocked.png new file mode 100644 index 000000000..ab87e8b48 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayLocked.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OverlayRAR.png b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayRAR.png new file mode 100644 index 000000000..2554d1c4b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayRAR.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OverlayWatched.png b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayWatched.png new file mode 100644 index 000000000..7be547707 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayWatched.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/OverlayWatching.png b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayWatching.png new file mode 100644 index 000000000..7dfd72c5b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/OverlayWatching.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/PVR-HasTimer.png b/usr/local/share/xbmc/addons/skin.confluence/media/PVR-HasTimer.png new file mode 100644 index 000000000..99c2ee9b4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/PVR-HasTimer.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/PVR-IsRecording.png b/usr/local/share/xbmc/addons/skin.confluence/media/PVR-IsRecording.png new file mode 100644 index 000000000..e64b34632 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/PVR-IsRecording.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/RecentAddedBack.png b/usr/local/share/xbmc/addons/skin.confluence/media/RecentAddedBack.png new file mode 100644 index 000000000..7d34ba8df Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/RecentAddedBack.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH.png b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH.png new file mode 100644 index 000000000..8dc1e29ad Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH_bar.png b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH_bar.png new file mode 100644 index 000000000..a56d8f94e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH_bar.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH_bar_focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH_bar_focus.png new file mode 100644 index 000000000..1f03e8e8a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarH_bar_focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarNib.png b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarNib.png new file mode 100644 index 000000000..54b25d764 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarNib.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV.png b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV.png new file mode 100644 index 000000000..845902b9b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV_bar.png b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV_bar.png new file mode 100644 index 000000000..7cc1391a4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV_bar.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV_bar_focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV_bar_focus.png new file mode 100644 index 000000000..c7cfa1965 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ScrollBarV_bar_focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ShutdownButtonFocus.png b/usr/local/share/xbmc/addons/skin.confluence/media/ShutdownButtonFocus.png new file mode 100644 index 000000000..942a163e1 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ShutdownButtonFocus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ShutdownButtonNoFocus.png b/usr/local/share/xbmc/addons/skin.confluence/media/ShutdownButtonNoFocus.png new file mode 100644 index 000000000..ae39bbb7b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ShutdownButtonNoFocus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/SideFade.png b/usr/local/share/xbmc/addons/skin.confluence/media/SideFade.png new file mode 100644 index 000000000..cd95a1bdc Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/SideFade.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/StackFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/StackFO.png new file mode 100644 index 000000000..06cfe4e5d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/StackFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/StackNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/StackNF.png new file mode 100644 index 000000000..0cbcd832f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/StackNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/Textures.xbt b/usr/local/share/xbmc/addons/skin.confluence/media/Textures.xbt new file mode 100644 index 000000000..7c454408a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/Textures.xbt differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ThumbBG.png b/usr/local/share/xbmc/addons/skin.confluence/media/ThumbBG.png new file mode 100644 index 000000000..d09d89e0f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ThumbBG.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ThumbBorder.png b/usr/local/share/xbmc/addons/skin.confluence/media/ThumbBorder.png new file mode 100644 index 000000000..427b95e00 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ThumbBorder.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/ThumbShadow.png b/usr/local/share/xbmc/addons/skin.confluence/media/ThumbShadow.png new file mode 100644 index 000000000..e541f3104 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/ThumbShadow.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/VolumeIcon.png b/usr/local/share/xbmc/addons/skin.confluence/media/VolumeIcon.png new file mode 100644 index 000000000..30d0f20d1 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/VolumeIcon.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/arrow-big-left.png b/usr/local/share/xbmc/addons/skin.confluence/media/arrow-big-left.png new file mode 100644 index 000000000..d3d5da274 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/arrow-big-left.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/arrow-big-right.png b/usr/local/share/xbmc/addons/skin.confluence/media/arrow-big-right.png new file mode 100644 index 000000000..f6d92820c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/arrow-big-right.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/black-back.png b/usr/local/share/xbmc/addons/skin.confluence/media/black-back.png new file mode 100644 index 000000000..7d6179062 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/black-back.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/black-back2.png b/usr/local/share/xbmc/addons/skin.confluence/media/black-back2.png new file mode 100644 index 000000000..399e2d04c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/black-back2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/busy.png b/usr/local/share/xbmc/addons/skin.confluence/media/busy.png new file mode 100644 index 000000000..4d544a66f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/busy.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/button-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/button-focus.png new file mode 100644 index 000000000..831dd4538 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/button-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/button-focus2.png b/usr/local/share/xbmc/addons/skin.confluence/media/button-focus2.png new file mode 100644 index 000000000..9d692ced2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/button-focus2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/button-nofocus.png b/usr/local/share/xbmc/addons/skin.confluence/media/button-nofocus.png new file mode 100644 index 000000000..a9747b7e5 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/button-nofocus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/defaultDVDFull.png b/usr/local/share/xbmc/addons/skin.confluence/media/defaultDVDFull.png new file mode 100644 index 000000000..e29b51792 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/defaultDVDFull.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/dialogheader.png b/usr/local/share/xbmc/addons/skin.confluence/media/dialogheader.png new file mode 100644 index 000000000..af7ba85be Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/dialogheader.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/diffuse_mirror2.png b/usr/local/share/xbmc/addons/skin.confluence/media/diffuse_mirror2.png new file mode 100644 index 000000000..b81bff416 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/diffuse_mirror2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/diffuse_mirror3.png b/usr/local/share/xbmc/addons/skin.confluence/media/diffuse_mirror3.png new file mode 100644 index 000000000..276887ab1 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/diffuse_mirror3.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/0.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/0.png new file mode 100644 index 000000000..80c619288 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/0.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/112.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/112.png new file mode 100644 index 000000000..7701fc6fb Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/112.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/128.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/128.png new file mode 100644 index 000000000..3071d4e6a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/128.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/144.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/144.png new file mode 100644 index 000000000..a9325a699 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/144.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/16.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/16.png new file mode 100644 index 000000000..ffaae9eff Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/16.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/160.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/160.png new file mode 100644 index 000000000..8d825ab34 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/160.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/176.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/176.png new file mode 100644 index 000000000..7ae6320ab Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/176.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/192.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/192.png new file mode 100644 index 000000000..80c619288 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/192.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/208.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/208.png new file mode 100644 index 000000000..80c619288 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/208.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/224.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/224.png new file mode 100644 index 000000000..80c619288 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/224.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/240.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/240.png new file mode 100644 index 000000000..80c619288 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/240.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/32.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/32.png new file mode 100644 index 000000000..be2bc8ee5 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/32.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/48.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/48.png new file mode 100644 index 000000000..57b4dee63 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/48.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/64.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/64.png new file mode 100644 index 000000000..d85eb051b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/64.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/80.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/80.png new file mode 100644 index 000000000..cdd6da3b1 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/80.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/96.png b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/96.png new file mode 100644 index 000000000..ba92ae36d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/96.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/genre-numbers.txt b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/genre-numbers.txt new file mode 100644 index 000000000..031732b9d --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/media/epg-genres/genre-numbers.txt @@ -0,0 +1,18 @@ +Genre Numbers set internally by XBMC + +0 = other/unknown +16 = moviedrama +32 = news +48 = show +64 = sports +80 = child +96 = music +112 = arts +128 = social +144 = science +160 = hobby +176 = special +192 = other/unknown +208 = other/unknown +224 = other/unknown +240 = other/unknown diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.33.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.33.png new file mode 100644 index 000000000..a3bb89395 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.33.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.66.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.66.png new file mode 100644 index 000000000..fff841c28 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.66.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.78.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.78.png new file mode 100644 index 000000000..fff841c28 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.78.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.85.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.85.png new file mode 100644 index 000000000..fff841c28 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/1.85.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/2.20.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/2.20.png new file mode 100644 index 000000000..fafd45bb7 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/2.20.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/2.35.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/2.35.png new file mode 100644 index 000000000..2ce0799d2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/aspectratio/2.35.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/0.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/0.png new file mode 100644 index 000000000..52bdc69cf Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/0.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/1.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/1.png new file mode 100644 index 000000000..96467002a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/1.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/10.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/10.png new file mode 100644 index 000000000..79ab01210 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/10.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/2.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/2.png new file mode 100644 index 000000000..ed066c560 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/3.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/3.png new file mode 100644 index 000000000..87a4df3a0 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/3.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/4.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/4.png new file mode 100644 index 000000000..231855a78 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/4.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/5.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/5.png new file mode 100644 index 000000000..2a3e3b15b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/5.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/6.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/6.png new file mode 100644 index 000000000..d10eb1572 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/6.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/7.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/7.png new file mode 100644 index 000000000..b7678b30f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/7.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/8.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/8.png new file mode 100644 index 000000000..fa2b2bfef Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/8.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aac.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aac.png new file mode 100644 index 000000000..65eefb60a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aac.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ac3.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ac3.png new file mode 100644 index 000000000..1ef90fa91 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ac3.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aif.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aif.png new file mode 100644 index 000000000..72411cd0f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aif.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aifc.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aifc.png new file mode 100644 index 000000000..d492ad7d2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aifc.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aiff.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aiff.png new file mode 100644 index 000000000..72411cd0f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/aiff.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/alac.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/alac.png new file mode 100644 index 000000000..06b5eedfc Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/alac.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ape.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ape.png new file mode 100644 index 000000000..1958d1ac4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ape.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/avc.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/avc.png new file mode 100644 index 000000000..35d93b7a0 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/avc.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/cdda.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/cdda.png new file mode 100644 index 000000000..260b4064e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/cdda.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dca.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dca.png new file mode 100644 index 000000000..6e65809aa Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dca.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dts.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dts.png new file mode 100644 index 000000000..6e65809aa Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dts.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dtshd_hra.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dtshd_hra.png new file mode 100644 index 000000000..8506d2809 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dtshd_hra.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dtshd_ma.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dtshd_ma.png new file mode 100644 index 000000000..55e1c799a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/dtshd_ma.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/eac3.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/eac3.png new file mode 100644 index 000000000..be6da3459 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/eac3.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/flac.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/flac.png new file mode 100644 index 000000000..f61115435 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/flac.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp1.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp1.png new file mode 100644 index 000000000..94997e954 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp1.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp2.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp2.png new file mode 100644 index 000000000..414bf556c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp3.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp3.png new file mode 100644 index 000000000..75c054325 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/mp3.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ogg.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ogg.png new file mode 100644 index 000000000..8b047cd7b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/ogg.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/pcm_bluray.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/pcm_bluray.png new file mode 100644 index 000000000..752a9a44b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/pcm_bluray.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/truehd.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/truehd.png new file mode 100644 index 000000000..fb4571af0 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/truehd.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/vorbis.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/vorbis.png new file mode 100644 index 000000000..8b047cd7b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/vorbis.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wav.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wav.png new file mode 100644 index 000000000..a64b29547 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wav.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wavpack.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wavpack.png new file mode 100644 index 000000000..37cb6543e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wavpack.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wma.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wma.png new file mode 100644 index 000000000..8e695c966 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wma.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wmapro.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wmapro.png new file mode 100644 index 000000000..395493067 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wmapro.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wmav2.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wmav2.png new file mode 100644 index 000000000..8e695c966 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/audio/wmav2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/blank.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/blank.png new file mode 100644 index 000000000..f469715d3 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/blank.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/1080.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/1080.png new file mode 100644 index 000000000..dbfb91b02 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/1080.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/480.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/480.png new file mode 100644 index 000000000..fa9aef606 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/480.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/540.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/540.png new file mode 100644 index 000000000..fa9aef606 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/540.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/576.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/576.png new file mode 100644 index 000000000..fa9aef606 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/576.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/720.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/720.png new file mode 100644 index 000000000..dbfb91b02 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/lists/720.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_general.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_general.png new file mode 100644 index 000000000..a3c78bb5e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_general.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_nc17.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_nc17.png new file mode 100644 index 000000000..cfda0328c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_nc17.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_notrated.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_notrated.png new file mode 100644 index 000000000..b42eb6572 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_notrated.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_pg.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_pg.png new file mode 100644 index 000000000..584167426 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_pg.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_pg13.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_pg13.png new file mode 100644 index 000000000..a346c4ef0 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_pg13.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_restricted.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_restricted.png new file mode 100644 index 000000000..a0f0d4709 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/ratings/mpaa_restricted.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/1080.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/1080.png new file mode 100644 index 000000000..35a00468a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/1080.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/480.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/480.png new file mode 100644 index 000000000..9b3dd7b83 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/480.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/540.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/540.png new file mode 100644 index 000000000..9b3dd7b83 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/540.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/576.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/576.png new file mode 100644 index 000000000..9b3dd7b83 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/576.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/720.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/720.png new file mode 100644 index 000000000..8af8ec942 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/720.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/avc1.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/avc1.png new file mode 100644 index 000000000..1187607b0 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/avc1.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/bluray.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/bluray.png new file mode 100644 index 000000000..f19d4f2fc Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/bluray.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/divx.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/divx.png new file mode 100644 index 000000000..d0171ae22 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/divx.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/dvd.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/dvd.png new file mode 100644 index 000000000..917d8290c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/dvd.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/flv.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/flv.png new file mode 100644 index 000000000..31bb4542b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/flv.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/h264.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/h264.png new file mode 100644 index 000000000..ef6c24916 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/h264.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/hddvd.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/hddvd.png new file mode 100644 index 000000000..66260c5a6 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/hddvd.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/hdmv.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/hdmv.png new file mode 100644 index 000000000..f19d4f2fc Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/hdmv.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/mpeg1video.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/mpeg1video.png new file mode 100644 index 000000000..7287423cc Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/mpeg1video.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/mpeg2video.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/mpeg2video.png new file mode 100644 index 000000000..3a22d20e2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/mpeg2video.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/tv.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/tv.png new file mode 100644 index 000000000..a17bd69ff Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/tv.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vc-1.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vc-1.png new file mode 100644 index 000000000..7ff819268 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vc-1.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vhs.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vhs.png new file mode 100644 index 000000000..9f5cc45de Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vhs.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vp8.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vp8.png new file mode 100644 index 000000000..f993ceda4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/vp8.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/wvc1.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/wvc1.png new file mode 100644 index 000000000..7ff819268 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/wvc1.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/xvid.png b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/xvid.png new file mode 100644 index 000000000..a46f6bd57 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/flagging/video/xvid.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/floor.png b/usr/local/share/xbmc/addons/skin.confluence/media/floor.png new file mode 100644 index 000000000..f8927669d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/floor.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/floor_button.png b/usr/local/share/xbmc/addons/skin.confluence/media/floor_button.png new file mode 100644 index 000000000..a8d78883f Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/floor_button.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/floor_buttonFO.png b/usr/local/share/xbmc/addons/skin.confluence/media/floor_buttonFO.png new file mode 100644 index 000000000..38a82f359 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/floor_buttonFO.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/folder-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/folder-focus.png new file mode 100644 index 000000000..99868a0e2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/folder-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/gradient.png b/usr/local/share/xbmc/addons/skin.confluence/media/gradient.png new file mode 100644 index 000000000..7db158f2e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/gradient.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/hint-overlay.png b/usr/local/share/xbmc/addons/skin.confluence/media/hint-overlay.png new file mode 100644 index 000000000..9927ef558 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/hint-overlay.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon-mute.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon-mute.png new file mode 100644 index 000000000..9ba342837 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon-mute.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon-rss.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon-rss.png new file mode 100644 index 000000000..12d0b8bd9 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon-rss.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon-video.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon-video.png new file mode 100644 index 000000000..a59a3b5b4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon-video.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon-weather.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon-weather.png new file mode 100644 index 000000000..18f61f5a3 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon-weather.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_addons.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_addons.png new file mode 100644 index 000000000..bb10a80ee Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_addons.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_back.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_back.png new file mode 100644 index 000000000..a4ee4fa87 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_back.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_favourites.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_favourites.png new file mode 100644 index 000000000..aa61b1f7c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_favourites.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_home.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_home.png new file mode 100644 index 000000000..807e140fe Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_home.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_music.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_music.png new file mode 100644 index 000000000..38797c630 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_music.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_pictures.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_pictures.png new file mode 100644 index 000000000..fa4d2c382 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_pictures.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_player.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_player.png new file mode 100644 index 000000000..68a3f91ce Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_player.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_power.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_power.png new file mode 100644 index 000000000..916529191 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_power.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_search.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_search.png new file mode 100644 index 000000000..2b6cc2b5d Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_search.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_system.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_system.png new file mode 100644 index 000000000..2ea1afdd4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_system.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_video.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_video.png new file mode 100644 index 000000000..a59a3b5b4 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_video.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_volume.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_volume.png new file mode 100644 index 000000000..12d90016c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_volume.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/icon_weather.png b/usr/local/share/xbmc/addons/skin.confluence/media/icon_weather.png new file mode 100644 index 000000000..18f61f5a3 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/icon_weather.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_bg.png b/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_bg.png new file mode 100644 index 000000000..4b5160b0e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_bg.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_bg_2.png b/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_bg_2.png new file mode 100644 index 000000000..37dc2495e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_bg_2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_nib.png b/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_nib.png new file mode 100644 index 000000000..4e57eb1ae Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_nib.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_nibNF.png b/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_nibNF.png new file mode 100644 index 000000000..638d4f8a9 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/osd_slider_nibNF.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus-click.png b/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus-click.png new file mode 100644 index 000000000..9b7013177 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus-click.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus-drag.png b/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus-drag.png new file mode 100644 index 000000000..eedbba40e Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus-drag.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus.png new file mode 100644 index 000000000..ca2aab419 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/pointer-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/pointer-nofocus.png b/usr/local/share/xbmc/addons/skin.confluence/media/pointer-nofocus.png new file mode 100644 index 000000000..8c2478540 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/pointer-nofocus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/radiobutton-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/radiobutton-focus.png new file mode 100644 index 000000000..bcb4cb5ab Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/radiobutton-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/radiobutton-nofocus.png b/usr/local/share/xbmc/addons/skin.confluence/media/radiobutton-nofocus.png new file mode 100644 index 000000000..282396db6 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/radiobutton-nofocus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-2.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-2.png new file mode 100644 index 000000000..8cbf98cc6 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-focus-2.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-focus-2.png new file mode 100644 index 000000000..7c1c83ded Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-focus-2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-focus.png new file mode 100644 index 000000000..0647fac10 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down.png new file mode 100644 index 000000000..0cb3eb379 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-down.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-left-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-left-focus.png new file mode 100644 index 000000000..ea9252af2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-left-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-left.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-left.png new file mode 100644 index 000000000..89c5c113c Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-left.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-right-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-right-focus.png new file mode 100644 index 000000000..3546715bf Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-right-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-right.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-right.png new file mode 100644 index 000000000..2b57dcc9a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-right.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-2.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-2.png new file mode 100644 index 000000000..07c061d58 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-focus-2.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-focus-2.png new file mode 100644 index 000000000..ee5524ddc Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-focus-2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-focus.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-focus.png new file mode 100644 index 000000000..2bc4bd183 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up-focus.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up.png b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up.png new file mode 100644 index 000000000..853c9357b Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/scroll-up.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/seekslider.png b/usr/local/share/xbmc/addons/skin.confluence/media/seekslider.png new file mode 100644 index 000000000..f96c9a978 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/seekslider.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/seekslider2.png b/usr/local/share/xbmc/addons/skin.confluence/media/seekslider2.png new file mode 100644 index 000000000..b2c6afcb2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/seekslider2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/separator.png b/usr/local/share/xbmc/addons/skin.confluence/media/separator.png new file mode 100644 index 000000000..994539807 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/separator.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/separator2.png b/usr/local/share/xbmc/addons/skin.confluence/media/separator2.png new file mode 100644 index 000000000..d8fbd3c8a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/separator2.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/separator_vertical.png b/usr/local/share/xbmc/addons/skin.confluence/media/separator_vertical.png new file mode 100644 index 000000000..16131096a Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/separator_vertical.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/unknown-user.png b/usr/local/share/xbmc/addons/skin.confluence/media/unknown-user.png new file mode 100644 index 000000000..e4107e5a6 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/unknown-user.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/media/xbmc-logo.png b/usr/local/share/xbmc/addons/skin.confluence/media/xbmc-logo.png new file mode 100644 index 000000000..90fef70df Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/media/xbmc-logo.png differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/sounds/back.wav b/usr/local/share/xbmc/addons/skin.confluence/sounds/back.wav new file mode 100644 index 000000000..75839ff60 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/sounds/back.wav differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/sounds/click.wav b/usr/local/share/xbmc/addons/skin.confluence/sounds/click.wav new file mode 100644 index 000000000..3151deecf Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/sounds/click.wav differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/sounds/cursor.wav b/usr/local/share/xbmc/addons/skin.confluence/sounds/cursor.wav new file mode 100644 index 000000000..105a57ed8 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/sounds/cursor.wav differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/sounds/notify.wav b/usr/local/share/xbmc/addons/skin.confluence/sounds/notify.wav new file mode 100644 index 000000000..b8670b0b2 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/sounds/notify.wav differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/sounds/out.wav b/usr/local/share/xbmc/addons/skin.confluence/sounds/out.wav new file mode 100644 index 000000000..af089a775 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/sounds/out.wav differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/sounds/shutter.wav b/usr/local/share/xbmc/addons/skin.confluence/sounds/shutter.wav new file mode 100644 index 000000000..d5ac1e2d8 Binary files /dev/null and b/usr/local/share/xbmc/addons/skin.confluence/sounds/shutter.wav differ diff --git a/usr/local/share/xbmc/addons/skin.confluence/sounds/sounds.xml b/usr/local/share/xbmc/addons/skin.confluence/sounds/sounds.xml new file mode 100644 index 000000000..2613a578d --- /dev/null +++ b/usr/local/share/xbmc/addons/skin.confluence/sounds/sounds.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + left + cursor.wav + + + right + cursor.wav + + + up + cursor.wav + + + down + cursor.wav + + + select + click.wav + + + parentdir + back.wav + + + previousmenu + back.wav + + + screenshot + shutter.wav + + + + + + infodialog + notify.wav + out.wav + + + startup + + + + diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/addon.xml b/usr/local/share/xbmc/addons/visualization.dxspectrum/addon.xml new file mode 100644 index 000000000..725191f05 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/addon.xml @@ -0,0 +1,91 @@ + + + + + Visualisering wat 'n roterende 3D Spektrum Analiseerder vertoon + تصور عرض محلل طي٠دوار 3 الأبعاد + Visualisation showing a rotating 3D Spectrum Analyzer + Ð’Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑтавÑща ротиращ Ñе 3D Ñпектрален анализатор + Efecte visual que mostra un analitzador d'espectre en 3D rotant + Vizualizace zobrazující rotující 3D spektrální analyzátor + Visualisering der viser en roterende 3D-spektrumanalyse + Diese Visualisierung zeigt eine rotierende Spektrumanalyse in 3D + Οπτικοποίηση που εμφανίζει έναν πεÏιστÏεφόμενο Ï„Ïισδιάστατο Αναλυτή Φάσματος + Visualisation showing a rotating 3D Spectrum Analyzer + Visualización que muestra un analizador de espectro en 3D girando + Visualización que muestra un analizador de espectro en 3D girando + Visualización mostrando un Analizador de Espectro en 3D + Pöörlevat 3D spektraalanalüüsi näitav visuaal + Pyörivä 3D-spektrianalysaattori + Visualisation affichant un analyseur de spectre 3D en rotation + Visualización que amosa un analizador de espe + DirectX Spectrum זהו חיזוי ×שר מציג סיבובי 3D Spectrum Analyzer + Vizualizacija koja prikazuje rotirajući 3D spektralni analizator + Vizualizáció 3D spektrum analizátorral + Myndskreyting sem sýnir þrívíddar rófgreini + Visualizzazione che mostra un analizzatore di spettro 3D ruotante + 回転ã™ã‚‹ 3D スペクトラムアナライザーを表示ã™ã‚‹ DirectX ビジュアライザー + 회전하는 3D 스펙트럼 ë¶„ì„기를 보여지는 ìŒì•…시ê°í™” + Vizualizacija rodo rotacinis 3D spektro analizatorių + Оваа визуализација покажува ротирачки 3Д анализатор на Ñпектар + DirectX-visualisatie die een roterende 3D-spectrumanalyse weergeeft + Visualisering som viser en roterende 3D spektrumanalysator + Wizualizacja pokazujÄ…ca obracajÄ…cy siÄ™ analizator widma w 3D (DirectX) + Visualização que mostra um analisador espectral rotativo em 3D + Visualização que mostra um analisador espectral rotativo em 3D + Vizualizare care afiÈ™ează un analizor de spectre 3D rotativ + ВизуализациÑ, Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð¸Ð¹ÑÑ Ñ‚Ñ€Ñ‘Ñ…Ð¼ÐµÑ€Ð½Ñ‹Ð¹ анализатор Ñпектра + Vizualizácia zobrazujúca rotujúci 3D Spektrálny analyzér + Vizualizacija, ki prikazuje vrteÄo 3D spektralno analizo + Visualisering som visar en roterande 3D-spektrumanalysator + à¸à¸²à¸£à¹à¸ªà¸”งà¹à¸ªà¸‡à¸ªà¸µ ทำให้เห็นà¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¹à¸šà¸š 3 มิติ ของà¸à¸²à¸£à¸§à¸´à¹€à¸„ราะห์คลื่นความถี่เสียง + Ð’Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ñ‰Ð¾ показує обертаючийÑÑ 3D Ñпектроаналізатор. + 显示旋转三维频谱分æžå›¾åƒçš„å¯è§†åŒ–效果 + DirectX Spectrum is 'n Visualisering wat 'n roterende 3D Spektrum Analiseerder, verbeeld met DirectX, vertoon wat op die maat van die musiek beweeg en 'n golf effek oor die spektrum rooster skep. Dit het ook verstellings vir die aanpas van spektrum staaf hoogte, sy spoed, en hoe die stawe verbeeld word (solied, punte, draad raamwerk) en is 'n lekker ligte, lae cpu verbruik visualisering wat fantasties lyk + طي٠دايركت اكس هو عرض تخيل دوار 3 الأبعاد مقدم بدايركت اكس الذي يتحرك مع وقع الموسيقى Ù…ÙÙ†Ø´ÙØ£ÙŽ Ù…ÙˆØ¬Ø© تأثير عبر شبكة الطيÙ. وله أيضا إعدادات لتعديل شريط Ø§Ø±ØªÙØ§Ø¹ الطيÙ, Ùˆ كي٠الأشرطة تعرض (صلبة, نقط, سلكية) Ùˆ Ù„Ø·ÙŠÙØ© Ø®ÙÙŠÙØ© الوزن, تصور بيدو رائع استخدام Ù…Ù†Ø®ÙØ¶ لوحدة المعالجة المركزية. + DirectX Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in DirectX that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great + DirectX Spectrum е Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð·Ñваща ротиращ Ñе 3D Ñпектрален анализатор (рендването Ñе извършва Ñ DirectX). РотациÑта е Ñпоред ритъма на музиката и предизвиква вълнови ефект по Ñпектрална решетка. Можете да наÑтройвате виÑочината на Ñпектралните Ñтълбове, ÑкороÑтта и рендването - solid, points, wire frame. Характеризира Ñе Ñ Ð¾Ñ‚Ð»Ð¸Ñ‡ÐµÐ½ вид, като Ñъщевременно почти не натоварва процеÑора. + El DirectX Spectrum és una visualització que mostra un analitzador d'espectre rotant en 3D renderitzat en DirectX que es mou al ritme de la música i crea un efecte d'ona a través de la graella de l'espectre. També té ajustos per defniri l'alçada de la barra de l'espectre, la seva velocitat i la manera de renderitzar les barres (sòlid, punts, fil de ferro) i és una visualització lleugera, de poc ús de CPU que llueix be + DirectX Spectrum je vizualizace zobrazující rotující 3D spektrální analyzátor rendrovaný v DirectX, který se pohybuje v rytmu hudby a vytváří vlnový efekt napÅ™Ã­Ä spektrální mřížkou. Obsahuje také nastavení pro pÅ™izpůsobení výšky sloupců spektra, rychlosti a způsobu vykreslení (vyplnÄ›ný, body, drátový model). Je to velmi lehká vizualizace s nízkou zatíží CPU, která vypadá skvÄ›le. + DirectX Spektrum er en visualisering, der viser en roterende 3D-spektrumanalysator renderet i DirectX, som bevæger sig i takt til musikken og skaber en bølgeeffekt pÃ¥ tværs af spektrumfeltet. Den har ogsÃ¥ indstillinger til at justere spektrumliniens højde, fart og hvordan den bliver renderet (fast, punkter, trÃ¥dramme). Det er en letvægtsvisualisering med lavt CPU-forbrug, som ser godt ud. + DirectX Spectrum ist eine Visualisierung, die eine rotierende Spektrum Analyse in 3D zeigt. Die Visualisierung wird so gerendert, dass sie sich zum Takt der Musik bewegt und eine Welle über das Spektrum Grid legt. Es lässt sich neben der Höhe, die Geschwindigkeit als auch die Art der Balken (durchgehend, Punkte, Drahtgeflecht) einstellen. Eine schöne Visualisierung, die nur eine geringe CPU-Last erzeugt + Το DirectX Spectrum είναι μία Οπτικοποίηση που εμφανίζει έναν πεÏιστÏεφόμενο Ï„Ïισδιάστατο Αναλυτή Φάσματος που αποδίδεται μέσω DirectX και κινείται στο Ïυθμό της μουσικής δημιουÏγώντας ένα κυματικό εφέ κατά μήκος του Ï†Î±ÏƒÎ¼Î±Ï„Î¹ÎºÎ¿Ï Ï€Î»Î­Î³Î¼Î±Ï„Î¿Ï‚. Διαθέτει Ïυθμίσεις για τον οÏισμό του Ïψους των στηλών του φάσματος, του Ï„Ïόπου απόδοσης των στηλών (συμπαγείς, σημειακές, συÏματόπλεγμα), και είναι μία ελαφÏιά, εμφανίσιμη και χαμηλής υπολογιστικής ισχÏος οπτικοποίηση + DirectX Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in DirectX that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great + DirectX Spectrum es una visualización que muestra un analizador de espectro en 3D girando renderizado con DirectX que se mueve al ritmo de la música creando un efecto de onda en la rejilla del espectro. Se puede ajustar la altura de las barras, su velocidad, y como son renderizadas (sólido, puntos, malla). Es una visualización que utiliza poca CPU y muy agradable. + DirectX Spectrum es una visualización que muestra un analizador de espectro en 3D girando, renderizado con DirectX, que se mueve al ritmo de la música creando un efecto de onda en la rejilla del espectro. Se puede ajustar la altura de las barras, su velocidad, y como son renderizadas (sólido, puntos, malla). Es una visualización que utiliza poca CPU y muy agradable. + Espectro DirectX es una Visualización que muestra un Analizador de Especto en 3D rotando renderizado en DirectX que se mueve al ritmo de la música creando un efecto de onda a través del espectro de la red. También tiene configuraciones para ajustar la altura de la barra de espectro, su velocidad, y cómo las barras son renderizadas (sólidas, puntos, malla de alambre) y es una buena visualización liviana, de poco uso de cpu que se ve genial. + DirectX Spectrum on visuaal, mis näitab pöörlevat 3D spektraalanalüüsi, mis on renderdatud DirectC keskkonnas ja mis liigub muusika rütmis luues laineefekti üle spektraalvõrgu. Lisaks on sellel võimalus muuta spektri kõrgust, selle kiirust ja kuidas ribasid renderdatakse (tahkis, punktid, sõrestik). DirectX Spectrum on ilusa väljanägemisega kerge ja väikese protsessorikasutusega visuaal. + Näyttää pyörivän 3D-spektrianalysaattorin, joka liikkuu musiikin tahdissa tuottaen aaltotehosteen spektrikuvaajaan. Spektripalkin korkeuden, nopeuden, ja piirtotavan (täytetyt, pisteet, ääriviivat) voi asettaa asetuksista. Spectrum on kevyt visualisointi joka näyttää hyvältä. + DirectX Spectrum est une visualisation affichant un analyseur de spectre 3D en rotation, sous DirectX. Il réagit au rythme de la musique, créant un effet d'onde sur la grille du spectre. Il propose divers paramètres pour ajuster la hauteur des barres du spectre, la vitesse, et le rendu des barres (plein, en points, en fil de fer). Une visualisation légère, peu gourmande en CPU et agréable à regarder. + DirectX Spectrum é unha Visualización que amosa un analizador de espectro rederizdo en DirectX que se move ó ritmo da música creando un efecto onda sobre a grella do espectro. Tamén ten configuracións para axustar a altura da barra do espectro, a súa velocidade e como as barras son renderizadas (sólidas, puntos, malla) e é unha visualización bonita, lixeira e de escaso consumo de CPU. + DirectX Spectrum זהו חיזוי ×שר מציג סיבובי 3D Spectrum Analyzer עובד דרך DirectX ×שר ×–×– לצלילי המוזיקה שיוצר ×פקט ×’×œ×™× ×œ×¨×•×—×‘ רשת הספקטרו×. יש ×פשרות ×’× ×œ×”×’×“×™×¨ ×ת גובה פס הספקטרו×, ×ת המהירות, ו×ת התנהגות ×”×¤×¡×™× (filled, points, wire frame) וזהו חיזוי נחמד קל משקל ×œ× ×ž×¢×ž×™×¡ על המעבד ונר××” נהדר. + DirectX Spectrum je vizualizacija koja prikazuje rotirajući 3D spektralni analizator renderiran u DirectX-u koji se pokreće u ritmu muzike stvarajući efekt valova u spektralnoj mreži. TakoÄ‘er sadrži i postavke za namjeÅ¡tanje visine sprektralnih traka, njihove brzine, i naÄina na koji su prikazane (popunjeno, toÄke, žiÄani okvir). Vizualizacija izgleda sjajno te je malih memorijskih i CPU zahtjeva. + A DirectX Spectrum egy olyan vizualizáció ami egy 3D hang spektrum analizátort mutat DirectX segítségével megjelenítve, ami a zene ritmusára mozog egy hullám-effektust képezve a teljes spektrumhálón. Beállítható a spektrum oszlopok magassága, mozgási sebessége és hogy az oszlopok hogyan jelenjenek meg (teli, pontok, drótváz). Ez egy kis erÅ‘forrásigényű vizualizáció ami nagyon jól mutat. + DirectX Spectrum er myndskreyting sem sýnir þrívíddar rófgreini sem snýst sem er teiknaður í DirectX og hreyfist í takt við tónlistina sem myndar bylgjuhreyfingu yfir rófið. Það er líka hægt að stilla hæð mælingana, hraða og hvernig þær eru teiknaðar (fyllt, punktar, útlínur) myndskrytingin setur lítið álag á örgjörva og lítur vel út + DirectX Spectrum è una visualizzazione che mostra un analizzatore di spettro 3D ruotante renderizzato in DirectX che si muove a tempo di musica creando un effetto onda tramite la griglia di spettro. Ha anche varie impostazioni: altezza delle barra dello spettro, la sua velocità e come le barre sono renderizzate (solidi, punti, reticolato). E' una visualizzazione leggera, che richiede poche risorse cpu e dall'aspetto fantastico + DirectX Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in DirectX that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great + DirectX ìŠ¤íŽ™íŠ¸ëŸ¼ì€ íšŒì „í•˜ëŠ” 3D 스펙트럼 ë¶„ì„기를 통해 ìŒì•…시ê°í™”를 보여주며 ìŒì•…ì˜ ë¹„íŠ¸ê°€ 만들어내는 웨ì´ë¸Œ 효과를 스펙트럼 ê·¸ë¦¬ë“œì— ë³´ì—¬ì¤ë‹ˆë‹¤. 설정ì—서 스펙트럼 ë°”ì˜ ë†’ì´, ì†ë„, ë°”ì˜ ê°¯ìˆ˜ (채워ì§, ì , 와ì´ì–´ 프레임)를 지정할수 있습니다. ê°€ë³ê³  CPU를 ë§Žì´ ì‚¬ìš©í•˜ì§€ 않습니다. + DirectX spektro vizualizacija, kurioje besisukantį 3D spektro analizatorių, paimta iÅ¡ DirectX, katras juda į muzikos ritmÄ…, įteigianÄio bangų poveikį visame spektro tinklelyje. Turi nustatymuose nureguliuoti spektro juostos aukÅ¡tį, jo greitį, teikiamas kraÅ¡tines (kieta, taÅ¡kai, tinklelio rÄ—mas),vizualizacijai naudoja mažai CPU + DirectX Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in DirectX that moves to the beat of the music creating a wave effect across the spectrum grid.⎠It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great + DirectX-spectrum toont een roterende 3D-spectrumanalyse via DirectX. Het beweegt mee op de maat van de muziek, waarbij een golfeffect ontstaat over het spectrumraster. U kunt de hoogte, snelheid en weergave (vol, stippen, ...) van de spectrumbalk zelf instellen. Deze visualisatie vereist weinig geheugen en belast de processor nauwelijks. + DirectX Spectrum er en visualisering som viser en 3D spektrumanalysator rendret i DirectX som beveger seg i takt med musikken Ã¥ skaper en bølge effekt. Du kan ogsÃ¥ stille in spektrums bar høyden, hastigheten og hvordan barene blir rendret (solid, punkt, trÃ¥dramme) og er veldig letvekt, bruker lite cpu og ser flott ut + Wizualizacja pokazuje obracajÄ…cy siÄ™, trójwymiarowy analizator widma, renderowany przy użyciu DirectX. Możesz ustawić wysokość sÅ‚upków, ich prÄ™dkość i wyglÄ…d. + O DirectX Spectrum é uma visualização que mostra um analisador espectral rotativo em 3D, renderizado em DirectX, que se sincroniza com o ritmo da música, criando assim um efeito de ondas na grelha espectral. Pode definir-se a altura das barras, a sua velocidade e como são renderizadas (sólido, pontos ou contorno). É uma visualização que não utiliza muito CPU e tem um aspecto fantástico. + O DirectX Spectrum é uma visualização que mostra um analisador espectral rotacional 3d, renderizado em DirectX, que se sincroniza com a batida, criando assim um efeito de ondas na grelha espectral. Pode-se definir a altura das barras, a sua velocidade e como são renderizadas (sólido, pontos ou contorno). É uma visualização que utiliza pouco o CPU e com um visual fantástico + Spectrul DirectX este o vizualizare care afiÈ™ează un analizor de spectre 3D rotativ randat în DirectX care se miÈ™că după bătăile muzicii creând un val dea-lungul grilei spectrale. De asemenea, are setări pentru ajustarea înălÈ›imii bărilor spectrale, a vitezei, È™i a modului în care bările sunt randate (umplere, puncte, contur). Este o vizualizare cu consum redus al procesorului care arată fantastic de bine. + Эта Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° оÑнове DirectX показывает вращающийÑÑ Ñ‚Ñ€Ñ‘Ñ…Ð¼ÐµÑ€Ð½Ñ‹Ð¹ анализатор Ñпектра, который движетÑÑ Ð² такт музыке, ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ Ñффект волны по вÑему Ñпектру Ñетки.[C] Ð’Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ наÑтройки Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€Ð¾Ð²ÐºÐ¸ выÑоты Ð¿Ð¾Ð»Ð¾Ñ Ñпектра, ÑкороÑти Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸ ÑпоÑоба Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¾Ñ (Ñплошной, точки, каркаÑ), а также обладает небольшим размером и малой нагрузкой на процеÑÑор + DirectX Spectrum je vizualizácia zobrazujúca rotujúci 3D Spektrálny analyzér renderovaný v DirectX, ktorý sa pohybuje do rytmu hudby a vytvára vlnový efekt. Môžte si tiež nastaviÅ¥ jeho výšku, rýchlosÅ¥ a metódu renderovania(pevné, body, wireframe) a je to veľmi jednoduchá, málo procesor zaÅ¥ažujúca vizualizácia, ktorá vyzerá skvelo + DirectX Spectrum je vizualizacija, ki prikazuje vrteÄo 3D spektralno analizo, generirano v DirectX, ki se premika v ritmu glasbe in ustvarja uÄinek valovanja v celotnem spektru. Vsebuje tudi nastavitve za prilagoditev viÅ¡ine spektra, hitrosti in oblike (polno, toÄke, okvir) ter je varÄna vizualizacija, z nizko porabo CPU-ja, ki izgleda super + DirectX-spektrum är en visualisering som visar en roterande 3D-spektrumanalysator renderad i DirectX. Den rör sig till musikens takt och skapar en vÃ¥geffekt över spektrat. Den har ocksÃ¥ inställningar för att justera staplarnas höjd, deras hastighet, hur de ska visas (solida, punkter, ramverk) och är en visualisering med lÃ¥g cpu-användning samtidigt som den ser bra ut + DirectX Spectrum เป็น à¸à¸²à¸£à¹à¸ªà¸”งà¹à¸ªà¸‡à¸ªà¸µ ทำให้เห็นà¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¸à¸£à¸²à¸Ÿà¸§à¸´à¹€à¸„ราะห์คลื่นความถี่เสียง à¹à¸šà¸š 3 มิติ ที่สร้างขึ้นโดย DirectX ที่ขยับไปตามจังหวะของเพลงที่สร้างผลà¸à¸£à¸°à¸—บเป็นคลื่นไปทั่วตารางความถี่. นอà¸à¸ˆà¸²à¸à¸™à¸µà¹‰à¸¢à¸±à¸‡à¸¡à¸µà¸à¸²à¸£à¸•ั้งค่าเพื่อปรับความสูงของà¹à¸—่งคลื่นความถี่,ความเร็วà¹à¸¥à¸°à¸à¸£à¸°à¸šà¸§à¸™à¸à¸²à¸£à¸—ี่à¹à¸—่งà¹à¸ªà¸”งผล (ของà¹à¸‚็ง, จุด, โครงลวด) ทั้งยังใช้ทรัพยาà¸à¸£à¸™à¹‰à¸­à¸¢à¹„ด้ดี, à¸à¸²à¸£à¹à¸ªà¸”งà¹à¸ªà¸‡à¸ªà¸µ ที่ใช้ซีพียูต่ำนั่นà¸à¹‡à¸”ูยอดเยี่ยมทีเดียว + DirectX Spectrum Ñ” візалізаціє що показує обертаючийÑÑ 3D Ñпектроаналізатор що промальовуєтьÑÑ Ð· викориÑтаннÑм технології DirectX. Спектроаналізатор показує Ñтовпчики змінної виÑоти що рухаютьÑÑ Ð² такт з музикою Ñ– Ñтворюють ефект подібний до хвилі. Ви маєте можливіÑть налаштувати виÑоту Ñтовпчиків, Ñ—Ñ… швидкіÑть Ñ– те Ñк вони намальовані (Заповнені, контури, крапки). Це доÑить проÑта, Ñ– невимоглива до процеÑора візуалізаціÑ, але Ñка має чудовий виглÑд. + DirectX Spectrumå¯è§†åŒ–效果是DirectX渲染的一个旋转的三维频谱分æžå›¾åƒï¼Œé¢‘谱矩阵éšç€éŸ³ä¹èŠ‚æ‹è€Œè±¡æ³¢æµªèµ·ä¼ã€‚ 你还å¯ä»¥è®¾ç½®é¢‘谱棒的高度ã€å˜æ¢é€Ÿåº¦ã€ä»¥åŠå‘ˆçŽ°æ•ˆæžœï¼ˆå›ºä½“ã€ç‚¹ã€æ¡†æž¶ï¼‰ã€‚这是一个ä¸é”™çš„è½»é‡çº§ï¼Œä½ŽCPU使用率的å¯è§†åŒ–效果。 + windx + + diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/icon.png b/usr/local/share/xbmc/addons/visualization.dxspectrum/icon.png new file mode 100644 index 000000000..3ff916851 Binary files /dev/null and b/usr/local/share/xbmc/addons/visualization.dxspectrum/icon.png differ diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..f5ad21403 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Afrikaans/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modus" + +msgctxt "#30001" +msgid "Filled" +msgstr "Gevul" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Draad Raamwerk" + +msgctxt "#30003" +msgid "Points" +msgstr "Punte" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Staaf Hoogte" + +msgctxt "#30005" +msgid "Small" +msgstr "Klein" + +msgctxt "#30006" +msgid "Default" +msgstr "Verstek" + +msgctxt "#30007" +msgid "Big" +msgstr "Groot" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Baie Groot" + +msgctxt "#30009" +msgid "Speed" +msgstr "Spoed" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Baie Stadig" + +msgctxt "#30011" +msgid "Slow" +msgstr "Stadig" + +msgctxt "#30012" +msgid "Default" +msgstr "Verstek" + +msgctxt "#30013" +msgid "Fast" +msgstr "Vinnig" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Baie Vinnig" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Amharic/strings.po new file mode 100644 index 000000000..c1823b12b --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Amharic/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "ዘዴ " + +msgctxt "#30001" +msgid "Filled" +msgstr "ተሞáˆá‰·áˆ" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "የሽቦ ክáˆá " + +msgctxt "#30003" +msgid "Points" +msgstr "áŠáŒ¥á‰¦á‰½ " + +msgctxt "#30004" +msgid "Bar Height" +msgstr "የባሩ እርá‹áˆ˜á‰µ" + +msgctxt "#30005" +msgid "Small" +msgstr "ትንሽ " + +msgctxt "#30006" +msgid "Default" +msgstr "áŠá‰£áˆ­ " + +msgctxt "#30007" +msgid "Big" +msgstr "ትáˆá‰… " + +msgctxt "#30008" +msgid "Very Big" +msgstr "በጣሠትáˆá‰… " + +msgctxt "#30009" +msgid "Speed" +msgstr "áጥáŠá‰µ" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "በጣሠበá‹áŒá‰³ " + +msgctxt "#30011" +msgid "Slow" +msgstr "በá‹áŒá‰³ " + +msgctxt "#30012" +msgid "Default" +msgstr "áŠá‰£áˆ­ " + +msgctxt "#30013" +msgid "Fast" +msgstr "በáጥáŠá‰µ " + +msgctxt "#30014" +msgid "Very Fast" +msgstr "በጣሠበáጥáŠá‰µ " diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Arabic/strings.po new file mode 100644 index 000000000..3df4512d7 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Arabic/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "الوضع" + +msgctxt "#30001" +msgid "Filled" +msgstr "ممتلء" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "سلكي" + +msgctxt "#30003" +msgid "Points" +msgstr "نقاط" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "شريط Ø§Ù„Ø§Ø±ØªÙØ§Ø¹" + +msgctxt "#30005" +msgid "Small" +msgstr "صغير" + +msgctxt "#30006" +msgid "Default" +msgstr "Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ©" + +msgctxt "#30007" +msgid "Big" +msgstr "كبير" + +msgctxt "#30008" +msgid "Very Big" +msgstr "كبير جدا" + +msgctxt "#30009" +msgid "Speed" +msgstr "سرعة" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "بطيء جدا" + +msgctxt "#30011" +msgid "Slow" +msgstr "بطيء" + +msgctxt "#30012" +msgid "Default" +msgstr "Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ©" + +msgctxt "#30013" +msgid "Fast" +msgstr "سريع" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "سريع جدا" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Basque/strings.po new file mode 100644 index 000000000..b7de937dc --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Basque/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modua" + +msgctxt "#30006" +msgid "Default" +msgstr "Lehenetsia" + +msgctxt "#30009" +msgid "Speed" +msgstr "Abiadura" + +msgctxt "#30012" +msgid "Default" +msgstr "Lehenetsia" + +msgctxt "#30013" +msgid "Fast" +msgstr "Azkarra" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..06235ef30 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Belarusian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30001" +msgid "Filled" +msgstr "Filled" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Points" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Bar Height" + +msgctxt "#30005" +msgid "Small" +msgstr "Small" + +msgctxt "#30006" +msgid "Default" +msgstr "Default" + +msgctxt "#30007" +msgid "Big" +msgstr "Ð’Ñлікі" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Very Big" + +msgctxt "#30009" +msgid "Speed" +msgstr "Speed" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Very Slow" + +msgctxt "#30011" +msgid "Slow" +msgstr "Slow" + +msgctxt "#30012" +msgid "Default" +msgstr "Default" + +msgctxt "#30013" +msgid "Fast" +msgstr "Fast" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Very Fast" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..54864bf78 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Bosnian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režim" + +msgctxt "#30006" +msgid "Default" +msgstr "Podrazumjevano" + +msgctxt "#30009" +msgid "Speed" +msgstr "Brzina" + +msgctxt "#30012" +msgid "Default" +msgstr "Podrazumjevano" + +msgctxt "#30013" +msgid "Fast" +msgstr "Brzo" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..20241d960 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Bulgarian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30001" +msgid "Filled" +msgstr "Запълнен" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Точков" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ВиÑочина на Ñтълбовете" + +msgctxt "#30005" +msgid "Small" +msgstr "Малка" + +msgctxt "#30006" +msgid "Default" +msgstr "Стандартна" + +msgctxt "#30007" +msgid "Big" +msgstr "ГолÑма" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Много голÑма" + +msgctxt "#30009" +msgid "Speed" +msgstr "СкороÑÑ‚" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Много бавна" + +msgctxt "#30011" +msgid "Slow" +msgstr "Бавна" + +msgctxt "#30012" +msgid "Default" +msgstr "Стандартна" + +msgctxt "#30013" +msgid "Fast" +msgstr "Бърза" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Много бърза" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Catalan/strings.po new file mode 100644 index 000000000..ed3d83bca --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Catalan/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30001" +msgid "Filled" +msgstr "Emplenat" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Fil de ferro" + +msgctxt "#30003" +msgid "Points" +msgstr "Punts" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Alçada de la barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Petit" + +msgctxt "#30006" +msgid "Default" +msgstr "Per defecte" + +msgctxt "#30007" +msgid "Big" +msgstr "Gran" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Molt Gran" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocitat" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Molt lent" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lent" + +msgctxt "#30012" +msgid "Default" +msgstr "Per defecte" + +msgctxt "#30013" +msgid "Fast" +msgstr "Ràpid" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Molt ràpid" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..6f5d375bf --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "模å¼" + +msgctxt "#30001" +msgid "Filled" +msgstr "å¡«å……" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "线框" + +msgctxt "#30003" +msgid "Points" +msgstr "点" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "柱高" + +msgctxt "#30005" +msgid "Small" +msgstr "å°" + +msgctxt "#30006" +msgid "Default" +msgstr "默认" + +msgctxt "#30007" +msgid "Big" +msgstr "大" + +msgctxt "#30008" +msgid "Very Big" +msgstr "很大" + +msgctxt "#30009" +msgid "Speed" +msgstr "速度" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "很慢" + +msgctxt "#30011" +msgid "Slow" +msgstr "æ…¢" + +msgctxt "#30012" +msgid "Default" +msgstr "默认" + +msgctxt "#30013" +msgid "Fast" +msgstr "å¿«" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "很快" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..7bf1da2b3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30006" +msgid "Default" +msgstr "é è¨­" + +msgctxt "#30012" +msgid "Default" +msgstr "é è¨­" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Croatian/strings.po new file mode 100644 index 000000000..9fc7f77b4 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Croatian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "NaÄin" + +msgctxt "#30001" +msgid "Filled" +msgstr "Popunjeno" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "ŽiÄani okvir" + +msgctxt "#30003" +msgid "Points" +msgstr "ToÄke" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Visina trake" + +msgctxt "#30005" +msgid "Small" +msgstr "Malo" + +msgctxt "#30006" +msgid "Default" +msgstr "Zadano" + +msgctxt "#30007" +msgid "Big" +msgstr "Veliko" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Veoma veliko" + +msgctxt "#30009" +msgid "Speed" +msgstr "Brzina" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Veoma sporo" + +msgctxt "#30011" +msgid "Slow" +msgstr "Sporo" + +msgctxt "#30012" +msgid "Default" +msgstr "Zadano" + +msgctxt "#30013" +msgid "Fast" +msgstr "Brzo" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Veoma brzo" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Czech/strings.po new file mode 100644 index 000000000..c85866f52 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Czech/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režim" + +msgctxt "#30001" +msgid "Filled" +msgstr "VypnÄ›ný" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Drátový model" + +msgctxt "#30003" +msgid "Points" +msgstr "Body" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Výška sloupce" + +msgctxt "#30005" +msgid "Small" +msgstr "Malá" + +msgctxt "#30006" +msgid "Default" +msgstr "Výchozí" + +msgctxt "#30007" +msgid "Big" +msgstr "Velká" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Velmi velká" + +msgctxt "#30009" +msgid "Speed" +msgstr "Rychlost" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Velmi pomalá" + +msgctxt "#30011" +msgid "Slow" +msgstr "Pomalá" + +msgctxt "#30012" +msgid "Default" +msgstr "Výchozí" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rychlá" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Velmi rychlá" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Danish/strings.po new file mode 100644 index 000000000..3f4a4b384 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Danish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Tilstand" + +msgctxt "#30001" +msgid "Filled" +msgstr "Fyldt" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkter" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Bokshøjde" + +msgctxt "#30005" +msgid "Small" +msgstr "Lille" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Stor" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Meget stor" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hastighed" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Meget langsom" + +msgctxt "#30011" +msgid "Slow" +msgstr "Langsom" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Hurtig" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Meget hurtig" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Dutch/strings.po new file mode 100644 index 000000000..9d9700b36 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Dutch/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modus" + +msgctxt "#30001" +msgid "Filled" +msgstr "Gevuld" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Draden" + +msgctxt "#30003" +msgid "Points" +msgstr "Punten" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Balkhoogte" + +msgctxt "#30005" +msgid "Small" +msgstr "Klein" + +msgctxt "#30006" +msgid "Default" +msgstr "Standaard" + +msgctxt "#30007" +msgid "Big" +msgstr "Groot" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Heel groot" + +msgctxt "#30009" +msgid "Speed" +msgstr "Snelheid" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Zeer traag" + +msgctxt "#30011" +msgid "Slow" +msgstr "Traag" + +msgctxt "#30012" +msgid "Default" +msgstr "Standaard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Snel" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Zeer snel" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/English (US)/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/English (US)/strings.po new file mode 100644 index 000000000..52183f9f6 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/English (US)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.0 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: 2012-05-28 15:17+0000\n" +"PO-Revision-Date: 2012-05-28 23:32+0000\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (United States) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en_US/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "" + +msgctxt "#30001" +msgid "Filled" +msgstr "" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "" + +msgctxt "#30003" +msgid "Points" +msgstr "" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "" + +msgctxt "#30005" +msgid "Small" +msgstr "" + +msgctxt "#30006" +msgid "Default" +msgstr "" + +msgctxt "#30007" +msgid "Big" +msgstr "" + +msgctxt "#30008" +msgid "Very Big" +msgstr "" + +msgctxt "#30009" +msgid "Speed" +msgstr "" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "" + +msgctxt "#30011" +msgid "Slow" +msgstr "" + +msgctxt "#30012" +msgid "Default" +msgstr "" + +msgctxt "#30013" +msgid "Fast" +msgstr "" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/English/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/English/strings.po new file mode 100644 index 000000000..b3d87a376 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/English/strings.po @@ -0,0 +1,80 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "Mode" +msgstr "" + +msgctxt "#30001" +msgid "Filled" +msgstr "" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "" + +msgctxt "#30003" +msgid "Points" +msgstr "" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "" + +msgctxt "#30005" +msgid "Small" +msgstr "" + +msgctxt "#30006" +msgid "Default" +msgstr "" + +msgctxt "#30007" +msgid "Big" +msgstr "" + +msgctxt "#30008" +msgid "Very Big" +msgstr "" + +msgctxt "#30009" +msgid "Speed" +msgstr "" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "" + +msgctxt "#30011" +msgid "Slow" +msgstr "" + +msgctxt "#30012" +msgid "Default" +msgstr "" + +msgctxt "#30013" +msgid "Fast" +msgstr "" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Esperanto/strings.po new file mode 100644 index 000000000..78dd7ba04 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Esperanto/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30006" +msgid "Default" +msgstr "Default" + +msgctxt "#30009" +msgid "Speed" +msgstr "Rapideco" + +msgctxt "#30012" +msgid "Default" +msgstr "Default" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Estonian/strings.po new file mode 100644 index 000000000..edd959f16 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Estonian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režiim" + +msgctxt "#30001" +msgid "Filled" +msgstr "Täidetud" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Sõrestik" + +msgctxt "#30003" +msgid "Points" +msgstr "Punktid" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Riba kõrgus" + +msgctxt "#30005" +msgid "Small" +msgstr "Väike" + +msgctxt "#30006" +msgid "Default" +msgstr "Vaikimisi" + +msgctxt "#30007" +msgid "Big" +msgstr "Suur" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Väga suur" + +msgctxt "#30009" +msgid "Speed" +msgstr "Kiirus" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Väga aeglane" + +msgctxt "#30011" +msgid "Slow" +msgstr "Aeglane" + +msgctxt "#30012" +msgid "Default" +msgstr "Vaikimisi" + +msgctxt "#30013" +msgid "Fast" +msgstr "Kiire" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Väga kiire" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Finnish/strings.po new file mode 100644 index 000000000..b8d7a33a2 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Finnish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Muoto" + +msgctxt "#30001" +msgid "Filled" +msgstr "Täytetty" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Rautalanka" + +msgctxt "#30003" +msgid "Points" +msgstr "Pisteet" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Palkin korkeus" + +msgctxt "#30005" +msgid "Small" +msgstr "Pieni" + +msgctxt "#30006" +msgid "Default" +msgstr "Oletus" + +msgctxt "#30007" +msgid "Big" +msgstr "Suuri" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Erittäin suuri" + +msgctxt "#30009" +msgid "Speed" +msgstr "Nopeus" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Erittäin hidas" + +msgctxt "#30011" +msgid "Slow" +msgstr "Hidas" + +msgctxt "#30012" +msgid "Default" +msgstr "Oletus" + +msgctxt "#30013" +msgid "Fast" +msgstr "Nopea" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Erittäin nopea" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/French/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/French/strings.po new file mode 100644 index 000000000..c5f12e76c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/French/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30001" +msgid "Filled" +msgstr "Plein" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Fil de fer" + +msgctxt "#30003" +msgid "Points" +msgstr "Points" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Hauteur de barre" + +msgctxt "#30005" +msgid "Small" +msgstr "Petit" + +msgctxt "#30006" +msgid "Default" +msgstr "Défaut" + +msgctxt "#30007" +msgid "Big" +msgstr "Grand" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Très Grand" + +msgctxt "#30009" +msgid "Speed" +msgstr "Vitesse" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Très Lent" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lent" + +msgctxt "#30012" +msgid "Default" +msgstr "Défaut" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rapide" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Très Rapide" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Galician/strings.po new file mode 100644 index 000000000..68f712953 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Galician/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Cheo" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Malla" + +msgctxt "#30003" +msgid "Points" +msgstr "Puntos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura da barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequeno" + +msgctxt "#30006" +msgid "Default" +msgstr "Predeterminado" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Moi Grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidade" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Moi Lento" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lento" + +msgctxt "#30012" +msgid "Default" +msgstr "Predeterminado" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Moi rápido" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/German/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/German/strings.po new file mode 100644 index 000000000..23b4656d7 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/German/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modus" + +msgctxt "#30001" +msgid "Filled" +msgstr "Ausgefüllt" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Drahtgeflecht" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkte" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Balkenhöhe" + +msgctxt "#30005" +msgid "Small" +msgstr "Klein" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Groß" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Sehr groß" + +msgctxt "#30009" +msgid "Speed" +msgstr "Geschwindigkeit" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Sehr langsam" + +msgctxt "#30011" +msgid "Slow" +msgstr "Langsam" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Schnell" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Sehr schnell" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Greek/strings.po new file mode 100644 index 000000000..91be5b168 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Greek/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Μέθοδος" + +msgctxt "#30001" +msgid "Filled" +msgstr "Γέμισαν" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "ΣυÏματόπλεγμα" + +msgctxt "#30003" +msgid "Points" +msgstr "Σημεία" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Ύψος Στηλών" + +msgctxt "#30005" +msgid "Small" +msgstr "ΜικÏÏŒ" + +msgctxt "#30006" +msgid "Default" +msgstr "ΠÏοεπιλογή" + +msgctxt "#30007" +msgid "Big" +msgstr "Μεγάλο" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Î Î¿Î»Ï ÎœÎµÎ³Î¬Î»Î¿" + +msgctxt "#30009" +msgid "Speed" +msgstr "ΤαχÏτητα" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Î Î¿Î»Ï Î‘Ïγά" + +msgctxt "#30011" +msgid "Slow" +msgstr "ΑÏγά" + +msgctxt "#30012" +msgid "Default" +msgstr "ΠÏοεπιλογή" + +msgctxt "#30013" +msgid "Fast" +msgstr "ΓÏήγοÏα" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Î Î¿Î»Ï Î“ÏήγοÏα" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..3ebbaed99 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hebrew/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "מצב" + +msgctxt "#30001" +msgid "Filled" +msgstr "Filled" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Points" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "גובה פס" + +msgctxt "#30005" +msgid "Small" +msgstr "קטן" + +msgctxt "#30006" +msgid "Default" +msgstr "ברירת מחדל" + +msgctxt "#30007" +msgid "Big" +msgstr "גדול" + +msgctxt "#30008" +msgid "Very Big" +msgstr "גדול מ×וד" + +msgctxt "#30009" +msgid "Speed" +msgstr "מהירות" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "×יטי מ×וד" + +msgctxt "#30011" +msgid "Slow" +msgstr "×יטי" + +msgctxt "#30012" +msgid "Default" +msgstr "ברירת מחדל" + +msgctxt "#30013" +msgid "Fast" +msgstr "מהר" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "מהר מ×וד" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..543c6d02b --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "विधि" + +msgctxt "#30006" +msgid "Default" +msgstr "डिफ़ॉलà¥à¤Ÿ" + +msgctxt "#30009" +msgid "Speed" +msgstr "गति" + +msgctxt "#30012" +msgid "Default" +msgstr "डिफ़ॉलà¥à¤Ÿ" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..5ae28984d --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Hungarian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mód" + +msgctxt "#30001" +msgid "Filled" +msgstr "Kitöltött" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Drótváz" + +msgctxt "#30003" +msgid "Points" +msgstr "Pontok" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Oszlopmagasság" + +msgctxt "#30005" +msgid "Small" +msgstr "Alacsony" + +msgctxt "#30006" +msgid "Default" +msgstr "Alapérték" + +msgctxt "#30007" +msgid "Big" +msgstr "Nagy" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Nagyon nagy" + +msgctxt "#30009" +msgid "Speed" +msgstr "Sebesség" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Nagyon lassú" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lassú" + +msgctxt "#30012" +msgid "Default" +msgstr "Alapérték" + +msgctxt "#30013" +msgid "Fast" +msgstr "Gyors" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Nagyon gyors" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..2767983ce --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Icelandic/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Hamur" + +msgctxt "#30001" +msgid "Filled" +msgstr "Fyllt" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Útlínur" + +msgctxt "#30003" +msgid "Points" +msgstr "Punktar" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Hæð" + +msgctxt "#30005" +msgid "Small" +msgstr "Lítið" + +msgctxt "#30006" +msgid "Default" +msgstr "Sjálfgefið" + +msgctxt "#30007" +msgid "Big" +msgstr "Stórt" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Mjög stórt" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hraði" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Mjög hægt" + +msgctxt "#30011" +msgid "Slow" +msgstr "Hægt" + +msgctxt "#30012" +msgid "Default" +msgstr "Sjálfgefið" + +msgctxt "#30013" +msgid "Fast" +msgstr "Hratt" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Mjög hratt" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Indonesian/strings.po new file mode 100644 index 000000000..1d0e53e10 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Indonesian/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30006" +msgid "Default" +msgstr "Standar" + +msgctxt "#30009" +msgid "Speed" +msgstr "Kecepatan" + +msgctxt "#30012" +msgid "Default" +msgstr "Standar" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Italian/strings.po new file mode 100644 index 000000000..2e1e20719 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Italian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modalità" + +msgctxt "#30001" +msgid "Filled" +msgstr "Piena" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "A righe" + +msgctxt "#30003" +msgid "Points" +msgstr "A punti" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altezza barre" + +msgctxt "#30005" +msgid "Small" +msgstr "Piccolo" + +msgctxt "#30006" +msgid "Default" +msgstr "Default" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Molto Grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocità" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Molto Lento" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lento" + +msgctxt "#30012" +msgid "Default" +msgstr "Default" + +msgctxt "#30013" +msgid "Fast" +msgstr "Veloce" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Molto Veloce" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Japanese/strings.po new file mode 100644 index 000000000..fb22641dd --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Japanese/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "モード" + +msgctxt "#30001" +msgid "Filled" +msgstr "フィル" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "ワイヤーフレーム" + +msgctxt "#30003" +msgid "Points" +msgstr "ãƒã‚¤ãƒ³ãƒˆ" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ãƒãƒ¼ã®é«˜ã•" + +msgctxt "#30005" +msgid "Small" +msgstr "å°ã•ã" + +msgctxt "#30006" +msgid "Default" +msgstr "デフォルト" + +msgctxt "#30007" +msgid "Big" +msgstr "大ãã" + +msgctxt "#30008" +msgid "Very Big" +msgstr "ã¨ã¦ã‚‚大ãã" + +msgctxt "#30009" +msgid "Speed" +msgstr "表示時間" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "ã¨ã¦ã‚‚ゆã£ãり" + +msgctxt "#30011" +msgid "Slow" +msgstr "ゆã£ãり" + +msgctxt "#30012" +msgid "Default" +msgstr "デフォルト" + +msgctxt "#30013" +msgid "Fast" +msgstr "速ã" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "ã¨ã¦ã‚‚速ã" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Korean/strings.po new file mode 100644 index 000000000..50a051768 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Korean/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "모드" + +msgctxt "#30001" +msgid "Filled" +msgstr "채워ì§" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "와ì´ì–´ 프레임" + +msgctxt "#30003" +msgid "Points" +msgstr "ì " + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ë°” 높ì´" + +msgctxt "#30005" +msgid "Small" +msgstr "ë‚®ìŒ" + +msgctxt "#30006" +msgid "Default" +msgstr "보통" + +msgctxt "#30007" +msgid "Big" +msgstr "높ìŒ" + +msgctxt "#30008" +msgid "Very Big" +msgstr "매우 높ìŒ" + +msgctxt "#30009" +msgid "Speed" +msgstr "ì†ë„" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "매우 ëŠë¦¼" + +msgctxt "#30011" +msgid "Slow" +msgstr "ëŠë¦¼" + +msgctxt "#30012" +msgid "Default" +msgstr "보통" + +msgctxt "#30013" +msgid "Fast" +msgstr "빠름" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "매우 빠름" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..9ed632ab7 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Lithuanian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režimas" + +msgctxt "#30001" +msgid "Filled" +msgstr "Pripildytas" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Tinklelio modelis" + +msgctxt "#30003" +msgid "Points" +msgstr "TaÅ¡kai" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Juosta aukÅ¡tai" + +msgctxt "#30005" +msgid "Small" +msgstr "Mažas" + +msgctxt "#30006" +msgid "Default" +msgstr "Numatytas" + +msgctxt "#30007" +msgid "Big" +msgstr "Didelis" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Labai didelis" + +msgctxt "#30009" +msgid "Speed" +msgstr "Prezentacijos rodymo laikas" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Labai lÄ—tas" + +msgctxt "#30011" +msgid "Slow" +msgstr "LÄ—tas" + +msgctxt "#30012" +msgid "Default" +msgstr "Numatytas" + +msgctxt "#30013" +msgid "Fast" +msgstr "Greitas" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Labai greitas" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..d0d78e249 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Macedonian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30001" +msgid "Filled" +msgstr "ИÑполнето" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "МрежеÑто" + +msgctxt "#30003" +msgid "Points" +msgstr "Поени" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ВиÑина на бар" + +msgctxt "#30005" +msgid "Small" +msgstr "Мало" + +msgctxt "#30006" +msgid "Default" +msgstr "Подразбирачко" + +msgctxt "#30007" +msgid "Big" +msgstr "Големо" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Многу големо" + +msgctxt "#30009" +msgid "Speed" +msgstr "Брзина" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Многу Ñпоро" + +msgctxt "#30011" +msgid "Slow" +msgstr "Споро" + +msgctxt "#30012" +msgid "Default" +msgstr "Подразбирачко" + +msgctxt "#30013" +msgid "Fast" +msgstr "Брзо" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Многу брзо" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..b6ac9813f --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Norwegian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modus" + +msgctxt "#30001" +msgid "Filled" +msgstr "Fylt" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "TrÃ¥dramme" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkt" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Bar Høyde" + +msgctxt "#30005" +msgid "Small" +msgstr "Liten" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Stor" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Veldig Stor" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hastighet" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Veldig Sakte" + +msgctxt "#30011" +msgid "Slow" +msgstr "Sakte" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rask" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Veldig Raskt" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Persian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Persian/strings.po new file mode 100644 index 000000000..d534afe2b --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Persian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30006" +msgid "Default" +msgstr "پیش ÙØ±Ø¶" + +msgctxt "#30012" +msgid "Default" +msgstr "پیش ÙØ±Ø¶" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Polish/strings.po new file mode 100644 index 000000000..489416abf --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Polish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Tryb" + +msgctxt "#30001" +msgid "Filled" +msgstr "WypeÅ‚nione" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Siatka" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkty" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Wysokość sÅ‚upków" + +msgctxt "#30005" +msgid "Small" +msgstr "MaÅ‚e" + +msgctxt "#30006" +msgid "Default" +msgstr "DomyÅ›lne" + +msgctxt "#30007" +msgid "Big" +msgstr "Duże" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Bardzo duże" + +msgctxt "#30009" +msgid "Speed" +msgstr "Szybkość" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Bardzo wolne" + +msgctxt "#30011" +msgid "Slow" +msgstr "Wolne" + +msgctxt "#30012" +msgid "Default" +msgstr "DomyÅ›lne" + +msgctxt "#30013" +msgid "Fast" +msgstr "Szybkie" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Bardzo szybkie" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..5fc007a23 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Total" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Contornos" + +msgctxt "#30003" +msgid "Points" +msgstr "Pontos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura da Barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequena" + +msgctxt "#30006" +msgid "Default" +msgstr "Padrão" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muito Grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidade" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Lentamente" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lento" + +msgctxt "#30012" +msgid "Default" +msgstr "Padrão" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Velozmente" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..55106b336 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Portuguese/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Preenchido" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Contorno" + +msgctxt "#30003" +msgid "Points" +msgstr "Pontos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura das barras" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequena" + +msgctxt "#30006" +msgid "Default" +msgstr "Padrão" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muito grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidade" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Muito lento" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lento" + +msgctxt "#30012" +msgid "Default" +msgstr "Padrão" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muito rápido" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Romanian/strings.po new file mode 100644 index 000000000..6bcf6fe00 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Romanian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mod" + +msgctxt "#30001" +msgid "Filled" +msgstr "Umplere" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Contur" + +msgctxt "#30003" +msgid "Points" +msgstr "Puncte" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ÃŽnălÈ›ime bară" + +msgctxt "#30005" +msgid "Small" +msgstr "Mică" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Mare" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Foarte mare" + +msgctxt "#30009" +msgid "Speed" +msgstr "Viteză" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Foarte încet" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lent" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rapid" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Foarte rapid" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Russian/strings.po new file mode 100644 index 000000000..ba4687dca --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Russian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30001" +msgid "Filled" +msgstr "Сплошной" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "КаркаÑ" + +msgctxt "#30003" +msgid "Points" +msgstr "Точки" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Ð’Ñ‹Ñота полоÑ" + +msgctxt "#30005" +msgid "Small" +msgstr "Ðебольшие" + +msgctxt "#30006" +msgid "Default" +msgstr "По-умолчанию" + +msgctxt "#30007" +msgid "Big" +msgstr "Крупные" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Огромные" + +msgctxt "#30009" +msgid "Speed" +msgstr "СкороÑть" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Очень медленно" + +msgctxt "#30011" +msgid "Slow" +msgstr "Медленно" + +msgctxt "#30012" +msgid "Default" +msgstr "По умолчанию" + +msgctxt "#30013" +msgid "Fast" +msgstr "БыÑтро" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Очень быÑтро" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..1a1c7503c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30006" +msgid "Default" +msgstr "Подразумевано" + +msgctxt "#30009" +msgid "Speed" +msgstr "Брзина" + +msgctxt "#30012" +msgid "Default" +msgstr "Подразумевано" + +msgctxt "#30013" +msgid "Fast" +msgstr "Брзо" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Serbian/strings.po new file mode 100644 index 000000000..4414d74ca --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Serbian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režim" + +msgctxt "#30006" +msgid "Default" +msgstr "Podrazumevano" + +msgctxt "#30009" +msgid "Speed" +msgstr "Brzina" + +msgctxt "#30012" +msgid "Default" +msgstr "Podrazumevano" + +msgctxt "#30013" +msgid "Fast" +msgstr "Brzo" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Slovak/strings.po new file mode 100644 index 000000000..879a662f9 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Slovak/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "režim" + +msgctxt "#30001" +msgid "Filled" +msgstr "Vyplnený" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Body" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Výška stĺpcov" + +msgctxt "#30005" +msgid "Small" +msgstr "Malý" + +msgctxt "#30006" +msgid "Default" +msgstr "Predvolené" + +msgctxt "#30007" +msgid "Big" +msgstr "Veľký" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Veľmi veľký" + +msgctxt "#30009" +msgid "Speed" +msgstr "RýchlosÅ¥" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Veľmi pomalý" + +msgctxt "#30011" +msgid "Slow" +msgstr "Pomalý" + +msgctxt "#30012" +msgid "Default" +msgstr "Predvolené" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rýchly" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Veľmi rýchly" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..658c26e8e --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Slovenian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "NaÄin" + +msgctxt "#30001" +msgid "Filled" +msgstr "Polno" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Shema" + +msgctxt "#30003" +msgid "Points" +msgstr "ToÄke" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ViÅ¡ina stolpcev" + +msgctxt "#30005" +msgid "Small" +msgstr "Majhna" + +msgctxt "#30006" +msgid "Default" +msgstr "Privzeto" + +msgctxt "#30007" +msgid "Big" +msgstr "Velika" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Zelo velika" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hitrost" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Zelo poÄasno" + +msgctxt "#30011" +msgid "Slow" +msgstr "PoÄasno" + +msgctxt "#30012" +msgid "Default" +msgstr "Privzeto" + +msgctxt "#30013" +msgid "Fast" +msgstr "Hitro" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Zelo hitro" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..e5ec32619 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Sólido" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Malla" + +msgctxt "#30003" +msgid "Points" +msgstr "Puntos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura de la barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequeña" + +msgctxt "#30006" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muy grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidad" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Muy lenta" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lenta" + +msgctxt "#30012" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápida" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muy rápida" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..7a6c7bfb3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Lleno" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Malla de alambre" + +msgctxt "#30003" +msgid "Points" +msgstr "Puntos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura de Barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Chico" + +msgctxt "#30006" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muy Grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidad" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Muy Lento" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lento" + +msgctxt "#30012" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muy Rápido" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish/strings.po new file mode 100644 index 000000000..872f64bdb --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Spanish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Sólido" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Malla" + +msgctxt "#30003" +msgid "Points" +msgstr "Puntos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura de la barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequeña" + +msgctxt "#30006" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muy grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidad" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Muy despacio" + +msgctxt "#30011" +msgid "Slow" +msgstr "Despacio" + +msgctxt "#30012" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muy rápido" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Swedish/strings.po new file mode 100644 index 000000000..3ea1b3894 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Swedish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Läge" + +msgctxt "#30001" +msgid "Filled" +msgstr "Fylld" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkter" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Stapelhöjd" + +msgctxt "#30005" +msgid "Small" +msgstr "Liten" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Stor" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Väldigt stor" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hastighet" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Väldigt lÃ¥ngsam" + +msgctxt "#30011" +msgid "Slow" +msgstr "LÃ¥ngsam" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Snabb" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Väldigt snabb" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Thai/strings.po new file mode 100644 index 000000000..cb44ea367 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Thai/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "โหมด" + +msgctxt "#30001" +msgid "Filled" +msgstr "เติมพื้นผิว" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "โครงลวด" + +msgctxt "#30003" +msgid "Points" +msgstr "à¹à¸šà¸šà¸ˆà¸¸à¸”" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ความสูงของà¹à¸—่ง" + +msgctxt "#30005" +msgid "Small" +msgstr "เล็à¸" + +msgctxt "#30006" +msgid "Default" +msgstr "ค่าพื้นà¸à¸²à¸™" + +msgctxt "#30007" +msgid "Big" +msgstr "ใหà¸à¹ˆ" + +msgctxt "#30008" +msgid "Very Big" +msgstr "ใหà¸à¹ˆà¸¡à¸²à¸" + +msgctxt "#30009" +msgid "Speed" +msgstr "ความเร็ว" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "ช้ามาà¸" + +msgctxt "#30011" +msgid "Slow" +msgstr "ช้า" + +msgctxt "#30012" +msgid "Default" +msgstr "ค่าพื้นà¸à¸²à¸™" + +msgctxt "#30013" +msgid "Fast" +msgstr "เร็ว" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "เร็วมาà¸" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Turkish/strings.po new file mode 100644 index 000000000..5464009a6 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Turkish/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mod" + +msgctxt "#30005" +msgid "Small" +msgstr "Küçük" + +msgctxt "#30006" +msgid "Default" +msgstr "Varsayılan" + +msgctxt "#30007" +msgid "Big" +msgstr "Büyük" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Çok Büyük" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hız" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Çok YavaÅŸ" + +msgctxt "#30011" +msgid "Slow" +msgstr "YavaÅŸ" + +msgctxt "#30012" +msgid "Default" +msgstr "Varsayılan" + +msgctxt "#30013" +msgid "Fast" +msgstr "Hızlı" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Çok Hızlı" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..faf79d398 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/language/Ukrainian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: DirectX Spectrum +# Addon id: visualization.dxspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30001" +msgid "Filled" +msgstr "Заповнений" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Контури" + +msgctxt "#30003" +msgid "Points" +msgstr "Крапки" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ВиÑота Ñтовпчика" + +msgctxt "#30005" +msgid "Small" +msgstr "Мала" + +msgctxt "#30006" +msgid "Default" +msgstr "За промовчаннÑм" + +msgctxt "#30007" +msgid "Big" +msgstr "Велика" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Дуже велика" + +msgctxt "#30009" +msgid "Speed" +msgstr "ШвидкіÑть" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Дуже повільно" + +msgctxt "#30011" +msgid "Slow" +msgstr "Повільно" + +msgctxt "#30012" +msgid "Default" +msgstr "За промовчаннÑм" + +msgctxt "#30013" +msgid "Fast" +msgstr "ШвидкіÑть" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Дуже швидко" diff --git a/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/settings.xml b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/settings.xml new file mode 100644 index 000000000..a2c2cf7d6 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.dxspectrum/resources/settings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/addon.xml b/usr/local/share/xbmc/addons/visualization.glspectrum/addon.xml new file mode 100644 index 000000000..036ff035b --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/addon.xml @@ -0,0 +1,95 @@ + + + + + Visualisering wys a roterende 3D Spektrum Analiseerder + عارض يظهر طي٠محلل دوري ثلاثي الأبعاد + Visualisation showing a rotating 3D Spectrum Analyzer + Ð’Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑтавÑща ротиращ Ñе 3D Ñпектрален анализатор + Visualització mostrant un analitzador d'espectre giratori 3D + Vizualizace zobrazující rotující 3D spektrální analyzátor + Visualisering der viser en roterende 3D-spektrumanalyse + Diese Visualisierung zeigt eine rotierende Spektrum Analyse in 3D + Οπτικοποίηση που εμφανίζει έναν πεÏιστÏεφόμενο Ï„Ïισδιάστατο Αναλυτή Φάσματος + Visualisation showing a rotating 3D Spectrum Analyzer + Visualización que muestra un analizador de espectro en 3D girando + Visualización que muestra un analizador de espectro en 3D girando + Visualización que muestra un Analizador de Espectro giratorio 3D + Visuaal, mis näitab pöörlevat 3D spektraalanalüüsi + Pyörivä 3D-spektrianalysaattori + Visualisation affichant un analyseur de spectre 3D en rotation + Visualización que amosa un analizador de espectro virando en 3D + DirectX Spectrum זהו חיזוי ×שר מציג סיבובי 3D Spectrum Analyzer + Vizualizacija koja prikazuje rotirajući 3D spektralni analizator + Vizualizáció 3D spektrum analizátorral + Myndskreyting sem sýnir þrívíddar rófgreini + La visualizzazione mostra un analizzatore di spettro 3D rotante + 回転ã™ã‚‹ 3D スペクトラムアナライザーを表示ã™ã‚‹ OpenGL ビジュアライザー + 회전하는 3D 스펙트럼 ë¶„ì„기를 보여지는 ìŒì•…시ê°í™” + Vizualizacija rodo rotacinis 3D spektro analizatorių + Визуализација која покажува ротирачки 3Д анализатор на Ñпектар + DirectX-visualisatie die een roterende 3D-spectrumanalyse weergeeft + Visualisering som viser en roterende 3D ​​Spectrum Analyzer + Wizualizacja pokazujÄ…ca obracajÄ…cy siÄ™ analizator widma w 3D + Visualização que mostra um analisador espectral rotativo em 3D + Visualização que mostra um analisador espectral rotativo em 3D + Vizualizare cu afiÈ™area unui analizor de spectru 3D rotativ + ВизуализациÑ, Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð¸Ð¹ÑÑ Ñ‚Ñ€Ñ‘Ñ…Ð¼ÐµÑ€Ð½Ñ‹Ð¹ анализатор Ñпектра + Vizualizácia zobrazujúca rotujúci 3D spektrálny analyzátor + Vizualizacija, ki prikatuje vrteÄo 3D spektralno analizo + Visualisering som visar en roterande 3D-spektrumanalysator + à¸à¸²à¸£à¹à¸ªà¸”งà¹à¸ªà¸‡à¸ªà¸µ ทำให้เห็นà¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¹à¸šà¸š 3 มิติ ของà¸à¸²à¸£à¸§à¸´à¹€à¸„ราะห์คลื่นความถี่เสียง + Ð’Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ñ‰Ð¾ показує обертаючийÑÑ 3D Ñпектроаналізатор. + 显示旋转三维频谱分æžå›¾åƒçš„å¯è§†åŒ–效果 + 顯示旋轉的3D頻譜分æžè¦–覺效果 + Opengl Spectrum is 'n Visualisering wat 'n roterende 3D Spektrum Analiseerder, verbeeld met Opengl, vertoon wat op die maat van die musiek beweeg en 'n golf effek oor die spektrum rooster skep. Dit het ook verstellings vir die aanpas van spektrum staaf hoogte, sy spoed, en hoe die stawe verbeeld word (solied, punte, draad raamwerk) en is 'n lekker ligte, lae cpu verbruik visualisering wat fantasties lyk + طي٠Opengl هو تحليل بصري متحرك ثلاثي الابعاد للموسيقى! يتحرك بواسطة يرنامج Opengl على وزن الموسيقى ÙÙŠ شكل موجة. توجد ايضا اعدادات لتعديل شبكة الطي٠من حيث طول الاعمدة, سرعتها, وحتى شكلها (صلبة, نقاط, اسلاك) تعمل هذة بحمل Ø®ÙÙŠÙ, ومعالجة cpu ضئيلة لكنها تبدو رائعة + Opengl Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in Opengl that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great + Opengl Spectrum е Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð·Ñваща ротиращ Ñе 3D Ñпектрален анализатор (рендването Ñе извършва Ñ Opengl). РотациÑта е Ñпоред ритъма на музиката и предизвиква вълнови ефект по Ñпектрална решетка. Можете да наÑтройвате виÑочината на Ñпектралните Ñтълбове, ÑкороÑтта и рендването - solid, points, wire frame. Характеризира Ñе Ñ Ð¾Ñ‚Ð»Ð¸Ñ‡ÐµÐ½ вид, като Ñъщевременно почти не натоварва процеÑора. + OpenGL Spectrum és una visualització que mostra un analitzador d'espectre giratori en 3D renderitzat amb OpenGL que es mou al ritme de la música creant un efecte d'ona al llarg de la graella de l'espectre.⎠També té opcions per ajustar l'alçada de la barra de l'espectre, la seva velocitat, i com es renderitzen les barres (sòlid, punts, malla de filferro). Una visualització que utilitza poca CPU i que és veu molt bé. + Opengl Spectrum je vizualizace zobrazující rotující 3D spektrální analyzátor rendrovaný v OpenGL, který se pohybuje v rytmu hudby a vytváří vlnový efekt napÅ™Ã­Ä spektrální mřížkou. Obsahuje také nastavení pro pÅ™izpůsobení výšky sloupců spektra, rychlosti a způsobu vykreslení (vyplnÄ›ný, body, drátový model). Je to velmi lehká vizualizace s nízkou zatíží CPU, která vypadá skvÄ›le. + OpenGL-spektrum er en visualisering, der viser en roterende 3D-spektrumanalysator renderet i DirectX, som bevæger sig i takt til musikken og skaber en bølgeeffekt pÃ¥ tværs af spektrumfeltet. Den har ogsÃ¥ indstillinger til at justere spektrumliniens højde, fart og hvordan den bliver renderet (fast, punkter, trÃ¥dramme). Det er en letvægtsvisualisering med lavt CPU-forbrug, som ser godt ud. + Opengl Spectrum ist eine Visualisierung, die eine rotierende Spektrum Analyse in 3D zeigt. Die Visualisierung wird so gerendert, dass sie sich zum Takt der Musik bewegt und eine Welle über das Spektrum Grid legt. Es lässt sich neben der Höhe, die Geschwindigkeit als auch die Art der Balken (durchgehend, Punkte, Drahtgeflecht) einstellen. Eine schöne Visualisierung, die nur eine geringe CPU-Last erzeugt + Το Opengl Spectrum είναι μία Οπτικοποίηση που εμφανίζει έναν πεÏιστÏεφόμενο Ï„Ïισδιάστατο Αναλυτή Φάσματος που αποδίδεται μέσω Opengl και κινείται στο Ïυθμό της μουσικής δημιουÏγώντας ένα κυματικό εφέ κατά μήκος του Ï†Î±ÏƒÎ¼Î±Ï„Î¹ÎºÎ¿Ï Ï€Î»Î­Î³Î¼Î±Ï„Î¿Ï‚. Διαθέτει Ïυθμίσεις για τον οÏισμό του Ïψους των στηλών του φάσματος, του Ï„Ïόπου απόδοσης των στηλών (συμπαγείς, σημειακές, συÏματόπλεγμα), και είναι μία ελαφÏιά, εμφανίσιμη και χαμηλής υπολογιστικής ισχÏος οπτικοποίηση + Opengl Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in Opengl that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great + OpenGL Spectrum es una visualización que muestra un analizador de espectro en 3D girando renderizado con OpenGL que se mueve al ritmo de la música creando un efecto de onda en la rejilla del espectro. Se puede ajustar la altura de las barras, su velocidad, y como son renderizadas (sólido, puntos, malla). Es una visualización que utiliza poca CPU y muy agradable. + OpenGL Spectrum es una visualización que muestra un analizador de espectro en 3D girando, renderizado con OpenGL, que se mueve al ritmo de la música creando un efecto de onda en la rejilla del espectro. Se puede ajustar la altura de las barras, su velocidad, y como son renderizadas (sólido, puntos, malla). Es una visualización que utiliza poca CPU y muy agradable. + Espectro Opengl es una Visualización que muestra un Analizador de Especto en 3D rotando renderizado en Opengl que se mueve al ritmo de la música creando un efecto de onda a través del espectro de la red. También tiene configuraciones para ajustar la altura de la barra de espectro, su velocidad, y cómo las barras son renderizadas (sólidas, puntos, malla de alambre) y es una buena visualización liviana, de poco uso de cpu que se ve genial. + Opengl Spectrum on visuaal, mis näitab 3D spektraalanalüüsi renderdatud Opengl'is, mis liigub liigub muusika rütmis luues laineefekti üle spektraalvõrgustiku. Lisaks on olemas ka võimalus seadistada spektri kõrgust, selle kiirust ja kuidas ribasid renderdatakse (tahkis, punktid, sõrestik). Opengl Spectrum on hea väljanägemisega kerge ja vähese protsessorikasutusega visuaal. + Näyttää pyörivän 3D-spektrianalysaattorin, joka liikkuu musiikin tahdissa tuottaen aaltotehosteen spektrikuvaajaan. Spektripalkin korkeuden, nopeuden, ja piirtotavan (täytetyt, pisteet, ääriviivat) voi asettaa asetuksista. Spectrum on kevyt visualisointi joka näyttää hyvältä. + Opengl Spectrum est une visualisation affichant un analyseur de spectre 3D en rotation, sous Opengl. Il réagit au rythme de la musique, créant un effet d'onde sur la grille du spectre. Il propose divers paramètres pour ajuster la hauteur, la vitesse, et le rendu des barres du spectre (plein, points, fil de fer). Une visualisation légère, peu gourmande en CPU et agréable à regarder. + Opengl Spectrum é unha Visualización que amosa un analizador de espectro virando en 3D renderizado con OpenGL que se move ó ritmo da música creando un efecto de onde ó longo da grella do espectro. Tamén ten opcións para axustar a altura da barra, a velocidade e como se renderizan as barras (sólidas, puntos, malla) do espectro. É bonito, lixeiro, de baixo custo en CPU. + Opengl Spectrum זהו חיזוי ×שר מציג סיבובי 3D Spectrum Analyzer ×שר ×–×– לצלילי המוזיקה שיוצר ×פקט ×’×œ×™× ×œ×¨×•×—×‘ רשת הספקטרו×. יש ×פשרות ×’× ×œ×”×’×“×™×¨ ×ת גובה פס הספקטרו×, ×ת המהירות, ו×ת התנהגות ×”×¤×¡×™× (filled, points, wire frame) וזהו חיזוי נחמד קל משקל ×œ× ×ž×¢×ž×™×¡ על המעבד ונר××” נהדר. + Opengl Spectrum je vizualizacija koja prikazuje rotirajući 3D spektralni analizator renderiran u Opengl-u koji se pokreće u ritmu muzike stvarajući efekt valova u spektralnoj mreži. TakoÄ‘er sadrži i postavke za namjeÅ¡tanje visine sprektralnih traka, njihove brzine, i naÄina na koji su prikazane (popunjeno, toÄke, žiÄani okvir). Vizualizacija izgleda sjajno te je malih memorijskih i CPU zahtjeva. + Az Opengl Spectrum egy olyan vizualizáció ami egy 3D hang spektrum analizátort mutat Opengl segítségével megjelenítve, ami a zene ritmusára mozog egy hullám-effektust képezve a teljes spektrumhálón. Beállítható a spektrum oszlopok magassága, mozgási sebessége és hogy az oszlopok hogyan jelenjenek meg (teli, pontok, drótváz). Ez egy kis erÅ‘forrásigényű vizualizáció ami nagyon jól mutat. + Opengl Spectrum er myndskreyting sem sýnir þrívíddar rófgreini sem snýst sem er teiknaður í Opengl og hreyfist í takt við tónlistina sem myndar bylgjuhreyfingu yfir rófið. Það er líka hægt að stilla hæð mælingana, hraða og hvernig þær eru teiknaðar (fyllt, punktar, útlínur) myndskrytingin setur lítið álag á örgjörva og lítur vel út + Opengl Spectrum è una visualizzazione che mostra un analizzatore di spettro renderizzato in Opengl che si muove a tempo di musica creando un effetto onda attraverso la griglia. E' possibile regolare varie impostazioni: l'altezza delle barre, la velocità di risposta e come le barre sono renderizzate (piene, con punti o con righe). E' una visualizzazione rilassante e con basso uso del processore. + Opengl Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in Opengl that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great + Opengl ìŠ¤íŽ™íŠ¸ëŸ¼ì€ íšŒì „í•˜ëŠ” 3D 스펙트럼 ë¶„ì„기를 통해 ìŒì•…시ê°í™”를 보여주며 ìŒì•…ì˜ ë¹„íŠ¸ê°€ 만들어내는 웨ì´ë¸Œ 효과를 스펙트럼 ê·¸ë¦¬ë“œì— ë³´ì—¬ì¤ë‹ˆë‹¤. 설정ì—서 스펙트럼 ë°”ì˜ ë†’ì´, ì†ë„, ë°”ì˜ ê°¯ìˆ˜ (채워ì§, ì , 와ì´ì–´ 프레임)를 지정할수 있습니다. ê°€ë³ê³  CPU를 ë§Žì´ ì‚¬ìš©í•˜ì§€ 않습니다. + Opengl spektro vizualizacija, kurioje besisukantį 3D spektro analizatorių, priimtÄ… OpenGL, katras juda į muzikos ritmÄ…, įsteigiantis bangų poveikį visame spektro tinklelyje. Taip pat turi nustatymus nureguliuoti spektro juostos aukÅ¡tį, jos greitį, ir teikiamas kraÅ¡tines (kieta, taÅ¡kai, tinklelio rÄ—mas) ir yra gražus bei lengvas, mažai naudoja CPU vizualizacijai, ir atrodo puikiai + Opengl Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in Opengl that moves to the beat of the music creating a wave effect across the spectrum grid.⎠It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great + Opengl Spectrum is een visualisatie met een draaiende 3D ​​Spectrum Analyzer gerenderd in OpenGL. Deze visualisatie beweegt op het ritme van de muziek en creëert een golf effect over het hele spectrum. ⎠Het heeft instellingen om de barhoogte en de snelheid aan te passen, en hoe de staven worden weergegeven (vast, punten, draad frame) en is een mooie lichtgewicht visualisatie die weinig van de cpu vraagt en er geweldig uit ziet. + OpenGL Spectrum er en visualisering som viser et roterende 3D ​​Spectrum Analyzer gjengitt i OpenGL som flytter til rytmen i musikken skaper en bølge effekt over hele spekteret rutenettet.⎠Det har ogsÃ¥ innstillinger for Ã¥ justere spekterets bar høyde, hastighet, og hvordan barene gjengis (solid, punkt, wireframe) og er en fin lett vekt, lav cpu brukende visualisering som ser flott ut + Wizualizacja pokazuje obracajÄ…cy siÄ™, trójwymiarowy analizator widma, renderowany przy użyciu OpenGL. Możesz ustawić wysokość sÅ‚upków, ich prÄ™dkość i wyglÄ…d. + Opengl Spectrum é uma visualização que mostra um analisador espectral 3D rotativo, renderizado em Opengl, que se sincroniza com o ritmo da música, criando assim um efeito de ondas na grelha espectral. Pode-se definir a altura das barras, a sua velocidade e como são renderizadas (sólido, pontos ou contorno). É uma visualização que não utiliza muito CPU e tem um aspecto fantástico. + O OpenGL Spectrum é uma visualização que mostra um analisador espectral rotativo 3D, renderizado em OpenGL, que se sincroniza com a batida, criando assim um efeito de ondas na grelha espectral. Pode-se definir a altura das barras, a sua velocidade e como são renderizadas (sólido, pontos ou contorno). É uma visualização que utiliza pouco o CPU e com um visual fantástico. + Spectrul OpenGL este o vizualizare care afiÈ™ează un analizor de spectre 3D rotativ randat în OpenGL care se miÈ™că după bătăile muzicii creând un val dea-lungul grilei spectrale. De asemenea, are setări pentru ajustarea înălÈ›imii bărilor spectrale, a vitezei, È™i a modului în care bările sunt randate (umplere, puncte, contur). Este o vizualizare cu consum redus al procesorului care arată fantastic de bine. + Эта Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° оÑнове OpenGL показывает вращающийÑÑ Ñ‚Ñ€Ñ‘Ñ…Ð¼ÐµÑ€Ð½Ñ‹Ð¹ анализатор Ñпектра, который движетÑÑ Ð² такт музыке, ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ Ñффект волны по вÑему Ñпектру Ñетки.âŽ Ð’Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ наÑтройки Ð´Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€Ð¾Ð²ÐºÐ¸ выÑоты Ð¿Ð¾Ð»Ð¾Ñ Ñпектра, ÑкороÑти Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸ ÑпоÑоба Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¾Ñ (Ñплошной, точки, каркаÑ), а также обладает небольшим размером и малой нагрузкой на процеÑÑор. + Opengl Spectrum je vizualizácia zobrazujúca rotujúci 3D spektrálny analyzátor vykresľovaný pomocou OpenGL, ktorý sa hýbe v rytme hudby a tak vytvára vlny naprieÄ mriežkou spektra.[CR] Zároveň má nastavenia upravujúce výšku stĺpcov spektra, ich rýchlosÅ¥ a ako sú vykresľované (vyplnené, body, drôtový model). Je to jednoduchá vizualizácia s nízkou záťažou CPU, ktorá výborne vyzerá. + OpenGL Spectrum je vizualizacija, ki prikazuje vrteÄo 3D spektralno analizato, generirano v OpenGL, ki se premika v ritmu glasbe in ustvarja uÄinek valovanja v celotnem spektru. Vsebuje tudi nastavitve za prilagoditev viÅ¡ine spektra, hitrosti in oblike (polno, toÄke, okvir) ter je varÄna vizualizacija z nizka porabo CPU-ja, ki izgleda super. + OpenGL-spektrum är en visualisering som visar en roterande 3D-spektrumanalysator renderad i OpenGL. Den rör sig till musikens takt och skapar en vÃ¥geffekt över spektrat. OpenGL-spektrum har inställningar för att justera staplarnas höjd, deras hastighet, hur de ska visas (solida, punkter, ramverk) och är en visualisering med lÃ¥g cpu-användning samtidigt som den ser bra ut + Opengl Spectrum เป็น à¸à¸²à¸£à¹à¸ªà¸”งà¹à¸ªà¸‡à¸ªà¸µ ทำให้เห็นà¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¸à¸£à¸²à¸Ÿà¸§à¸´à¹€à¸„ราะห์คลื่นความถี่เสียง à¹à¸šà¸š 3 มิติ ที่สร้างขึ้นโดย Opengl ที่ขยับไปตามจังหวะของเพลงที่สร้างผลà¸à¸£à¸°à¸—บเป็นคลื่นไปทั่วตารางความถี่. นอà¸à¸ˆà¸²à¸à¸™à¸µà¹‰à¸¢à¸±à¸‡à¸¡à¸µà¸à¸²à¸£à¸•ั้งค่าเพื่อปรับความสูงของà¹à¸—่งคลื่นความถี่,ความเร็วà¹à¸¥à¸°à¸à¸£à¸°à¸šà¸§à¸™à¸à¸²à¸£à¸—ี่à¹à¸—่งà¹à¸ªà¸”งผล (ของà¹à¸‚็ง, จุด, โครงลวด) ทั้งยังใช้ทรัพยาà¸à¸£à¸™à¹‰à¸­à¸¢à¹„ด้ดี, à¸à¸²à¸£à¹à¸ªà¸”งà¹à¸ªà¸‡à¸ªà¸µ ที่ใช้ซีพียูต่ำนั่นà¸à¹‡à¸”ูยอดเยี่ยมทีเดียว + OpenGL Spectrum Ñ” візалізаціє що показує обертаючийÑÑ 3D Ñпектроаналізатор що промальовуєтьÑÑ Ð· викориÑтаннÑм технології OpenGL. Спектроаналізатор показує Ñтовпчики змінної виÑоти що рухаютьÑÑ Ð² такт з музикою Ñ– Ñтворюють ефект подібний до хвилі. Ви маєте можливіÑть налаштувати виÑоту Ñтовпчиків, Ñ—Ñ… швидкіÑть Ñ– те Ñк вони намальовані (Заповнені, контури, крапки). Це доÑить проÑта, Ñ– невимоглива до процеÑора візуалізаціÑ, але Ñка має чудовий виглÑд. + Opengl Spectrumå¯è§†åŒ–效果是Opengl渲染的一个旋转的三维频谱分æžå›¾åƒï¼Œé¢‘谱矩阵éšç€éŸ³ä¹èŠ‚æ‹è€Œè±¡æ³¢æµªèµ·ä¼ã€‚ 你还å¯ä»¥è®¾ç½®é¢‘谱棒的高度ã€å˜æ¢é€Ÿåº¦ã€ä»¥åŠå‘ˆçŽ°æ•ˆæžœï¼ˆå›ºä½“ã€ç‚¹ã€æ¡†æž¶ï¼‰ã€‚这是一个ä¸é”™çš„è½»é‡çº§ï¼Œä½ŽCPU使用率的å¯è§†åŒ–效果。 + OpenGL Spectrum 是使用 OpenGL æç¹ªé¡¯ç¤ºæ—‹è½‰çš„3D頻譜分æžè¦–覺效果,頻譜格線隨著音樂節æ‹è€Œåƒæ³¢æµªèµ·ä¼ã€‚ 它還å¯ä»¥èª¿æ•´é »è­œé•·æ¢çš„高度ã€é€Ÿåº¦ä»¥åŠå‘ˆç¾æ•ˆæžœï¼ˆå¯¦å¿ƒã€é»žç‹€ã€ç·šæ¡†ï¼‰ã€‚它是個很好的輕é‡ç´šã€ä½Ž CPU 使用率的視覺化效果。 + linux osx ios android + + diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/icon.png b/usr/local/share/xbmc/addons/visualization.glspectrum/icon.png new file mode 100644 index 000000000..3ff916851 Binary files /dev/null and b/usr/local/share/xbmc/addons/visualization.glspectrum/icon.png differ diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..6bc711843 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Afrikaans/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modus" + +msgctxt "#30001" +msgid "Filled" +msgstr "Gevul" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Draad Raamwerk" + +msgctxt "#30003" +msgid "Points" +msgstr "Punte" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Staaf Hoogte" + +msgctxt "#30005" +msgid "Small" +msgstr "Klein" + +msgctxt "#30006" +msgid "Default" +msgstr "Verstek" + +msgctxt "#30007" +msgid "Big" +msgstr "Groot" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Baie Groot" + +msgctxt "#30009" +msgid "Speed" +msgstr "Spoed" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Baie Stadig" + +msgctxt "#30011" +msgid "Slow" +msgstr "Stadig" + +msgctxt "#30012" +msgid "Default" +msgstr "Verstek" + +msgctxt "#30013" +msgid "Fast" +msgstr "Vinnig" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Baie Vinnig" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Amharic/strings.po new file mode 100644 index 000000000..6aa640d72 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Amharic/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "ዘዴ " + +msgctxt "#30001" +msgid "Filled" +msgstr "ተሞáˆá‰·áˆ" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "የሽቦ ክáˆá " + +msgctxt "#30003" +msgid "Points" +msgstr "áŠáŒ¥á‰¦á‰½ " + +msgctxt "#30004" +msgid "Bar Height" +msgstr "የባሩ እርá‹áˆ˜á‰µ" + +msgctxt "#30005" +msgid "Small" +msgstr "ትንሽ " + +msgctxt "#30006" +msgid "Default" +msgstr "áŠá‰£áˆ­ " + +msgctxt "#30007" +msgid "Big" +msgstr "ትáˆá‰… " + +msgctxt "#30008" +msgid "Very Big" +msgstr "በጣሠትáˆá‰… " + +msgctxt "#30009" +msgid "Speed" +msgstr "áጥáŠá‰µ" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "በጣሠበá‹áŒá‰³ " + +msgctxt "#30011" +msgid "Slow" +msgstr "በá‹áŒá‰³ " + +msgctxt "#30012" +msgid "Default" +msgstr "áŠá‰£áˆ­ " + +msgctxt "#30013" +msgid "Fast" +msgstr "በáጥáŠá‰µ " + +msgctxt "#30014" +msgid "Very Fast" +msgstr "በጣሠበáጥáŠá‰µ " diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Arabic/strings.po new file mode 100644 index 000000000..ab85dca2d --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Arabic/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "الوضع" + +msgctxt "#30001" +msgid "Filled" +msgstr "ممتلء" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "سلكي" + +msgctxt "#30003" +msgid "Points" +msgstr "نقط" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "شريط Ø§Ù„Ø§Ø±ØªÙØ§Ø¹" + +msgctxt "#30005" +msgid "Small" +msgstr "صغير" + +msgctxt "#30006" +msgid "Default" +msgstr "Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ©" + +msgctxt "#30007" +msgid "Big" +msgstr "كبير" + +msgctxt "#30008" +msgid "Very Big" +msgstr "كبير جدا" + +msgctxt "#30009" +msgid "Speed" +msgstr "سرعة" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "ب\\يء جدا" + +msgctxt "#30011" +msgid "Slow" +msgstr "بطيء" + +msgctxt "#30012" +msgid "Default" +msgstr "Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ÙŠØ©" + +msgctxt "#30013" +msgid "Fast" +msgstr "سريع" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "سريع جدا" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Basque/strings.po new file mode 100644 index 000000000..5ab98d684 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Basque/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modua" + +msgctxt "#30006" +msgid "Default" +msgstr "Lehenetsia" + +msgctxt "#30009" +msgid "Speed" +msgstr "Abiadura" + +msgctxt "#30012" +msgid "Default" +msgstr "Lehenetsia" + +msgctxt "#30013" +msgid "Fast" +msgstr "Azkarra" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..4aa1fdf36 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Belarusian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30001" +msgid "Filled" +msgstr "Filled" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Points" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Bar Height" + +msgctxt "#30005" +msgid "Small" +msgstr "Small" + +msgctxt "#30006" +msgid "Default" +msgstr "Default" + +msgctxt "#30007" +msgid "Big" +msgstr "Ð’Ñлікі" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Very Big" + +msgctxt "#30009" +msgid "Speed" +msgstr "Speed" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Very Slow" + +msgctxt "#30011" +msgid "Slow" +msgstr "Slow" + +msgctxt "#30012" +msgid "Default" +msgstr "Default" + +msgctxt "#30013" +msgid "Fast" +msgstr "Fast" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Very Fast" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..5eb0012ff --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Bosnian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režim" + +msgctxt "#30006" +msgid "Default" +msgstr "Podrazumjevano" + +msgctxt "#30009" +msgid "Speed" +msgstr "Brzina" + +msgctxt "#30012" +msgid "Default" +msgstr "Podrazumjevano" + +msgctxt "#30013" +msgid "Fast" +msgstr "Brzo" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..33c63573a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Bulgarian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30001" +msgid "Filled" +msgstr "Запълнен" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Точков" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ВиÑочина на Ñтълбовете" + +msgctxt "#30005" +msgid "Small" +msgstr "Малка" + +msgctxt "#30006" +msgid "Default" +msgstr "Стандартна" + +msgctxt "#30007" +msgid "Big" +msgstr "ГолÑма" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Много голÑма" + +msgctxt "#30009" +msgid "Speed" +msgstr "СкороÑÑ‚" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Много бавна" + +msgctxt "#30011" +msgid "Slow" +msgstr "Бавна" + +msgctxt "#30012" +msgid "Default" +msgstr "Стандартна" + +msgctxt "#30013" +msgid "Fast" +msgstr "Бърза" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Много бърза" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Catalan/strings.po new file mode 100644 index 000000000..93454a49a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Catalan/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30001" +msgid "Filled" +msgstr "Ple" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Filferro" + +msgctxt "#30003" +msgid "Points" +msgstr "Punts" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura de la barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Petit" + +msgctxt "#30006" +msgid "Default" +msgstr "Per defecte" + +msgctxt "#30007" +msgid "Big" +msgstr "Gran" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Molt gran" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocitat" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Molt lent" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lent" + +msgctxt "#30012" +msgid "Default" +msgstr "Per defecte" + +msgctxt "#30013" +msgid "Fast" +msgstr "Ràpid" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Molt ràpid" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..11e64ad83 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "模å¼" + +msgctxt "#30001" +msgid "Filled" +msgstr "å¡«å……" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "线框" + +msgctxt "#30003" +msgid "Points" +msgstr "点" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "柱高" + +msgctxt "#30005" +msgid "Small" +msgstr "å°" + +msgctxt "#30006" +msgid "Default" +msgstr "默认" + +msgctxt "#30007" +msgid "Big" +msgstr "大" + +msgctxt "#30008" +msgid "Very Big" +msgstr "很大" + +msgctxt "#30009" +msgid "Speed" +msgstr "速度" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "很慢" + +msgctxt "#30011" +msgid "Slow" +msgstr "æ…¢" + +msgctxt "#30012" +msgid "Default" +msgstr "默认" + +msgctxt "#30013" +msgid "Fast" +msgstr "å¿«" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "很快" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..35e28901c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "模å¼" + +msgctxt "#30001" +msgid "Filled" +msgstr "填滿" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "線框" + +msgctxt "#30003" +msgid "Points" +msgstr "點狀" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "頻譜長æ¢é«˜åº¦" + +msgctxt "#30005" +msgid "Small" +msgstr "å°" + +msgctxt "#30006" +msgid "Default" +msgstr "é è¨­" + +msgctxt "#30007" +msgid "Big" +msgstr "大" + +msgctxt "#30008" +msgid "Very Big" +msgstr "éžå¸¸å¤§" + +msgctxt "#30009" +msgid "Speed" +msgstr "速度" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "éžå¸¸æ…¢" + +msgctxt "#30011" +msgid "Slow" +msgstr "縵" + +msgctxt "#30012" +msgid "Default" +msgstr "é è¨­" + +msgctxt "#30013" +msgid "Fast" +msgstr "å¿«" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "éžå¸¸å¿«" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Croatian/strings.po new file mode 100644 index 000000000..a48067002 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Croatian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "NaÄin" + +msgctxt "#30001" +msgid "Filled" +msgstr "Popunjeno" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "ŽiÄani okvir" + +msgctxt "#30003" +msgid "Points" +msgstr "ToÄke" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Visina trake" + +msgctxt "#30005" +msgid "Small" +msgstr "Malo" + +msgctxt "#30006" +msgid "Default" +msgstr "Zadano" + +msgctxt "#30007" +msgid "Big" +msgstr "Veliko" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Veoma veliko" + +msgctxt "#30009" +msgid "Speed" +msgstr "Brzina" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Veoma sporo" + +msgctxt "#30011" +msgid "Slow" +msgstr "Sporo" + +msgctxt "#30012" +msgid "Default" +msgstr "Zadano" + +msgctxt "#30013" +msgid "Fast" +msgstr "Brzo" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Veoma brzo" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Czech/strings.po new file mode 100644 index 000000000..af2732355 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Czech/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režim" + +msgctxt "#30001" +msgid "Filled" +msgstr "VypnÄ›ný" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Drátový model" + +msgctxt "#30003" +msgid "Points" +msgstr "Body" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Výška sloupce" + +msgctxt "#30005" +msgid "Small" +msgstr "Malá" + +msgctxt "#30006" +msgid "Default" +msgstr "Výchozí" + +msgctxt "#30007" +msgid "Big" +msgstr "Velká" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Velmi velká" + +msgctxt "#30009" +msgid "Speed" +msgstr "Rychlost" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Velmi pomalá" + +msgctxt "#30011" +msgid "Slow" +msgstr "Pomalá" + +msgctxt "#30012" +msgid "Default" +msgstr "Výchozí" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rychlá" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Velmi rychlá" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Danish/strings.po new file mode 100644 index 000000000..0e7dd5f41 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Danish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Tilstand" + +msgctxt "#30001" +msgid "Filled" +msgstr "Fyldt" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkter" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Bokshøjde" + +msgctxt "#30005" +msgid "Small" +msgstr "Lille" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Stor" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Meget stor" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hastighed" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Meget langsom" + +msgctxt "#30011" +msgid "Slow" +msgstr "Langsom" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Hurtig" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Meget hurtig" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Dutch/strings.po new file mode 100644 index 000000000..d704d96e3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Dutch/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modus" + +msgctxt "#30001" +msgid "Filled" +msgstr "Gevuld" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Draden" + +msgctxt "#30003" +msgid "Points" +msgstr "Punten" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Balkhoogte" + +msgctxt "#30005" +msgid "Small" +msgstr "Klein" + +msgctxt "#30006" +msgid "Default" +msgstr "Standaard" + +msgctxt "#30007" +msgid "Big" +msgstr "Groot" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Heel groot" + +msgctxt "#30009" +msgid "Speed" +msgstr "Snelheid" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Zeer traag" + +msgctxt "#30011" +msgid "Slow" +msgstr "Traag" + +msgctxt "#30012" +msgid "Default" +msgstr "Standaard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Snel" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Zeer snel" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/English (US)/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/English (US)/strings.po new file mode 100644 index 000000000..579911f18 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/English (US)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.0 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: 2012-05-28 15:29+0000\n" +"PO-Revision-Date: 2012-05-28 23:35+0000\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (United States) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en_US/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "" + +msgctxt "#30001" +msgid "Filled" +msgstr "" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "" + +msgctxt "#30003" +msgid "Points" +msgstr "" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "" + +msgctxt "#30005" +msgid "Small" +msgstr "" + +msgctxt "#30006" +msgid "Default" +msgstr "" + +msgctxt "#30007" +msgid "Big" +msgstr "" + +msgctxt "#30008" +msgid "Very Big" +msgstr "" + +msgctxt "#30009" +msgid "Speed" +msgstr "" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "" + +msgctxt "#30011" +msgid "Slow" +msgstr "" + +msgctxt "#30012" +msgid "Default" +msgstr "" + +msgctxt "#30013" +msgid "Fast" +msgstr "" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/English/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/English/strings.po new file mode 100644 index 000000000..272a504dc --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/English/strings.po @@ -0,0 +1,80 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "Mode" +msgstr "" + +msgctxt "#30001" +msgid "Filled" +msgstr "" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "" + +msgctxt "#30003" +msgid "Points" +msgstr "" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "" + +msgctxt "#30005" +msgid "Small" +msgstr "" + +msgctxt "#30006" +msgid "Default" +msgstr "" + +msgctxt "#30007" +msgid "Big" +msgstr "" + +msgctxt "#30008" +msgid "Very Big" +msgstr "" + +msgctxt "#30009" +msgid "Speed" +msgstr "" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "" + +msgctxt "#30011" +msgid "Slow" +msgstr "" + +msgctxt "#30012" +msgid "Default" +msgstr "" + +msgctxt "#30013" +msgid "Fast" +msgstr "" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Esperanto/strings.po new file mode 100644 index 000000000..946341e6c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Esperanto/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30006" +msgid "Default" +msgstr "Default" + +msgctxt "#30009" +msgid "Speed" +msgstr "Rapideco" + +msgctxt "#30012" +msgid "Default" +msgstr "Default" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Estonian/strings.po new file mode 100644 index 000000000..b62449fd1 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Estonian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režiim" + +msgctxt "#30001" +msgid "Filled" +msgstr "Täidetud" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Sõrestik" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkte" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Riba kõrgus" + +msgctxt "#30005" +msgid "Small" +msgstr "Väike" + +msgctxt "#30006" +msgid "Default" +msgstr "Vaikimisi" + +msgctxt "#30007" +msgid "Big" +msgstr "Suur" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Väga suur" + +msgctxt "#30009" +msgid "Speed" +msgstr "Kiirus" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Väga aeglane" + +msgctxt "#30011" +msgid "Slow" +msgstr "Aeglane" + +msgctxt "#30012" +msgid "Default" +msgstr "Vaikimisi" + +msgctxt "#30013" +msgid "Fast" +msgstr "Kiire" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Väga kiire" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Finnish/strings.po new file mode 100644 index 000000000..ad843afc6 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Finnish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Muoto" + +msgctxt "#30001" +msgid "Filled" +msgstr "Täytetty" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Rautalanka" + +msgctxt "#30003" +msgid "Points" +msgstr "Pisteet" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Palkin korkeus" + +msgctxt "#30005" +msgid "Small" +msgstr "Pieni" + +msgctxt "#30006" +msgid "Default" +msgstr "Oletus" + +msgctxt "#30007" +msgid "Big" +msgstr "Suuri" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Erittäin suuri" + +msgctxt "#30009" +msgid "Speed" +msgstr "Nopeus" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Erittäin hidas" + +msgctxt "#30011" +msgid "Slow" +msgstr "Hidas" + +msgctxt "#30012" +msgid "Default" +msgstr "Oletus" + +msgctxt "#30013" +msgid "Fast" +msgstr "Nopea" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Erittäin nopea" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/French/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/French/strings.po new file mode 100644 index 000000000..7a01496fe --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/French/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30001" +msgid "Filled" +msgstr "Plein" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Fil de fer" + +msgctxt "#30003" +msgid "Points" +msgstr "Points" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Hauteur de barre" + +msgctxt "#30005" +msgid "Small" +msgstr "Petit" + +msgctxt "#30006" +msgid "Default" +msgstr "Défaut" + +msgctxt "#30007" +msgid "Big" +msgstr "Grand" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Très Grand" + +msgctxt "#30009" +msgid "Speed" +msgstr "Vitesse" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Très Lent" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lent" + +msgctxt "#30012" +msgid "Default" +msgstr "Défaut" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rapide" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Très Rapide" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Galician/strings.po new file mode 100644 index 000000000..62d7af548 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Galician/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Cheo" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Malla" + +msgctxt "#30003" +msgid "Points" +msgstr "Puntos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura da barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequeno" + +msgctxt "#30006" +msgid "Default" +msgstr "Predeterminado" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Moi grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidade" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Moi lenta" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lenta" + +msgctxt "#30012" +msgid "Default" +msgstr "Predeterminada" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápida" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Moi rápida" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/German/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/German/strings.po new file mode 100644 index 000000000..d97afb856 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/German/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modus" + +msgctxt "#30001" +msgid "Filled" +msgstr "Ausgefüllt" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Drahtgeflecht" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkte" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Balkenhöhe" + +msgctxt "#30005" +msgid "Small" +msgstr "Klein" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Groß" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Sehr groß" + +msgctxt "#30009" +msgid "Speed" +msgstr "Geschwindigkeit" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Sehr langsam" + +msgctxt "#30011" +msgid "Slow" +msgstr "Langsam" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Schnell" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Sehr schnell" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Greek/strings.po new file mode 100644 index 000000000..e45ffece5 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Greek/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Μέθοδος" + +msgctxt "#30001" +msgid "Filled" +msgstr "Γέμισαν" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "ΣυÏματόπλεγμα" + +msgctxt "#30003" +msgid "Points" +msgstr "Σημεία" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Ύψος Στηλών" + +msgctxt "#30005" +msgid "Small" +msgstr "ΜικÏÏŒ" + +msgctxt "#30006" +msgid "Default" +msgstr "ΠÏοεπιλογή" + +msgctxt "#30007" +msgid "Big" +msgstr "Μεγάλο" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Î Î¿Î»Ï ÎœÎµÎ³Î¬Î»Î¿" + +msgctxt "#30009" +msgid "Speed" +msgstr "ΤαχÏτητα" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Î Î¿Î»Ï Î‘Ïγά" + +msgctxt "#30011" +msgid "Slow" +msgstr "ΑÏγά" + +msgctxt "#30012" +msgid "Default" +msgstr "ΠÏοεπιλογή" + +msgctxt "#30013" +msgid "Fast" +msgstr "ΓÏήγοÏα" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Î Î¿Î»Ï Î“ÏήγοÏα" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..48dcfc83e --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hebrew/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "מצב" + +msgctxt "#30001" +msgid "Filled" +msgstr "Filled" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Points" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "גובה פס" + +msgctxt "#30005" +msgid "Small" +msgstr "קטן" + +msgctxt "#30006" +msgid "Default" +msgstr "ברירת מחדל" + +msgctxt "#30007" +msgid "Big" +msgstr "גדול" + +msgctxt "#30008" +msgid "Very Big" +msgstr "גדול מ×וד" + +msgctxt "#30009" +msgid "Speed" +msgstr "מהירות" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "×יטי מ×וד" + +msgctxt "#30011" +msgid "Slow" +msgstr "×יטי" + +msgctxt "#30012" +msgid "Default" +msgstr "ברירת מחדל" + +msgctxt "#30013" +msgid "Fast" +msgstr "מהר" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "מהיר מ×וד" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..122a6fad2 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "विधि" + +msgctxt "#30006" +msgid "Default" +msgstr "डिफ़ॉलà¥à¤Ÿ" + +msgctxt "#30009" +msgid "Speed" +msgstr "गति" + +msgctxt "#30012" +msgid "Default" +msgstr "डिफ़ॉलà¥à¤Ÿ" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..f7787ed5b --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Hungarian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mód" + +msgctxt "#30001" +msgid "Filled" +msgstr "Kitöltött" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Drótváz" + +msgctxt "#30003" +msgid "Points" +msgstr "Pontok" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Oszlopmagasság" + +msgctxt "#30005" +msgid "Small" +msgstr "Alacsony" + +msgctxt "#30006" +msgid "Default" +msgstr "Alapérték" + +msgctxt "#30007" +msgid "Big" +msgstr "Nagy" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Nagyon nagy" + +msgctxt "#30009" +msgid "Speed" +msgstr "Sebesség" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Nagyon lassú" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lassú" + +msgctxt "#30012" +msgid "Default" +msgstr "Alapérték" + +msgctxt "#30013" +msgid "Fast" +msgstr "Gyors" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Nagyon gyors" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..162a7962e --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Icelandic/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Hamur" + +msgctxt "#30001" +msgid "Filled" +msgstr "Fyllt" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Útlínur" + +msgctxt "#30003" +msgid "Points" +msgstr "Punktar" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Hæð" + +msgctxt "#30005" +msgid "Small" +msgstr "Lítið" + +msgctxt "#30006" +msgid "Default" +msgstr "Sjálfgefið" + +msgctxt "#30007" +msgid "Big" +msgstr "Stórt" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Mjög stórt" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hraði" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Mjög hægt" + +msgctxt "#30011" +msgid "Slow" +msgstr "Hægt" + +msgctxt "#30012" +msgid "Default" +msgstr "Sjálfgefið" + +msgctxt "#30013" +msgid "Fast" +msgstr "Hratt" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Mjög hratt" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Indonesian/strings.po new file mode 100644 index 000000000..7337edc24 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Indonesian/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mode" + +msgctxt "#30006" +msgid "Default" +msgstr "Standar" + +msgctxt "#30009" +msgid "Speed" +msgstr "Kecepatan" + +msgctxt "#30012" +msgid "Default" +msgstr "Standar" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Italian/strings.po new file mode 100644 index 000000000..010bc2560 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Italian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modalità" + +msgctxt "#30001" +msgid "Filled" +msgstr "Piene" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "A righe" + +msgctxt "#30003" +msgid "Points" +msgstr "A punti" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altezza barre" + +msgctxt "#30005" +msgid "Small" +msgstr "Piccolo" + +msgctxt "#30006" +msgid "Default" +msgstr "Predefinito" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Molto grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocità" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Molto lento" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lento" + +msgctxt "#30012" +msgid "Default" +msgstr "Predefinito" + +msgctxt "#30013" +msgid "Fast" +msgstr "Veloce" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Molto veloce" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Japanese/strings.po new file mode 100644 index 000000000..525cbbca3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Japanese/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "モード" + +msgctxt "#30001" +msgid "Filled" +msgstr "フィル" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "ワイヤーフレーム" + +msgctxt "#30003" +msgid "Points" +msgstr "ãƒã‚¤ãƒ³ãƒˆ" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ãƒãƒ¼ã®é«˜ã•" + +msgctxt "#30005" +msgid "Small" +msgstr "å°ã•ã„" + +msgctxt "#30006" +msgid "Default" +msgstr "デフォルト" + +msgctxt "#30007" +msgid "Big" +msgstr "大ãã„" + +msgctxt "#30008" +msgid "Very Big" +msgstr "ã¨ã¦ã‚‚大ãã„" + +msgctxt "#30009" +msgid "Speed" +msgstr "表示時間" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "ã¨ã¦ã‚‚ゆã£ãり" + +msgctxt "#30011" +msgid "Slow" +msgstr "ゆã£ãり" + +msgctxt "#30012" +msgid "Default" +msgstr "デフォルト" + +msgctxt "#30013" +msgid "Fast" +msgstr "速ã" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "ã¨ã¦ã‚‚速ã" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Korean/strings.po new file mode 100644 index 000000000..f873c62f9 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Korean/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "모드" + +msgctxt "#30001" +msgid "Filled" +msgstr "채워ì§" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "와ì´ì–´ 프레임" + +msgctxt "#30003" +msgid "Points" +msgstr "ì " + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ë°” 높ì´" + +msgctxt "#30005" +msgid "Small" +msgstr "ë‚®ìŒ" + +msgctxt "#30006" +msgid "Default" +msgstr "보통" + +msgctxt "#30007" +msgid "Big" +msgstr "높ìŒ" + +msgctxt "#30008" +msgid "Very Big" +msgstr "매우 높ìŒ" + +msgctxt "#30009" +msgid "Speed" +msgstr "ì†ë„" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "매우 ëŠë¦¼" + +msgctxt "#30011" +msgid "Slow" +msgstr "ëŠë¦¼" + +msgctxt "#30012" +msgid "Default" +msgstr "보통" + +msgctxt "#30013" +msgid "Fast" +msgstr "빠름" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "매우 빠름" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..291efe0d8 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Lithuanian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režimas" + +msgctxt "#30001" +msgid "Filled" +msgstr "Pripildytas" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Tinklelio modelis" + +msgctxt "#30003" +msgid "Points" +msgstr "TaÅ¡kai" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Juosta aukÅ¡tai" + +msgctxt "#30005" +msgid "Small" +msgstr "Mažas" + +msgctxt "#30006" +msgid "Default" +msgstr "Numatytas" + +msgctxt "#30007" +msgid "Big" +msgstr "Didelis" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Labai didelis" + +msgctxt "#30009" +msgid "Speed" +msgstr "Prezentacijos rodymo laikas" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Labai lÄ—tas" + +msgctxt "#30011" +msgid "Slow" +msgstr "LÄ—tas" + +msgctxt "#30012" +msgid "Default" +msgstr "Numatytas" + +msgctxt "#30013" +msgid "Fast" +msgstr "Greitas" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Labai greitas" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..14fa35ad1 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Macedonian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30001" +msgid "Filled" +msgstr "ИÑполнето" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "МрежеÑто" + +msgctxt "#30003" +msgid "Points" +msgstr "Поени" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ВиÑина на бар" + +msgctxt "#30005" +msgid "Small" +msgstr "Мало" + +msgctxt "#30006" +msgid "Default" +msgstr "Подразбирачко" + +msgctxt "#30007" +msgid "Big" +msgstr "Големо" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Многу големо" + +msgctxt "#30009" +msgid "Speed" +msgstr "Брзина" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Многу Ñпоро" + +msgctxt "#30011" +msgid "Slow" +msgstr "Споро" + +msgctxt "#30012" +msgid "Default" +msgstr "Подразбирачко" + +msgctxt "#30013" +msgid "Fast" +msgstr "Брзо" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Многу брзо" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..163c679b6 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Norwegian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modus" + +msgctxt "#30001" +msgid "Filled" +msgstr "Fylt" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "TrÃ¥dramme" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkter" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Bar Høyde" + +msgctxt "#30005" +msgid "Small" +msgstr "Liten" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Stor" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Veldig Stor" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hastighet" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Veldig Sakte" + +msgctxt "#30011" +msgid "Slow" +msgstr "Sakte" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rask" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Veldig Raskt" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Persian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Persian/strings.po new file mode 100644 index 000000000..983cdef3a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Persian/strings.po @@ -0,0 +1,26 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30006" +msgid "Default" +msgstr "پیش ÙØ±Ø¶" + +msgctxt "#30012" +msgid "Default" +msgstr "پیش ÙØ±Ø¶" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Polish/strings.po new file mode 100644 index 000000000..a1fc67eb5 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Polish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Tryb" + +msgctxt "#30001" +msgid "Filled" +msgstr "WypeÅ‚nione" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Siatka" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkty" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Wysokość sÅ‚upków" + +msgctxt "#30005" +msgid "Small" +msgstr "MaÅ‚e" + +msgctxt "#30006" +msgid "Default" +msgstr "DomyÅ›lne" + +msgctxt "#30007" +msgid "Big" +msgstr "Duże" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Bardzo duże" + +msgctxt "#30009" +msgid "Speed" +msgstr "Szybkość" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Bardzo wolne" + +msgctxt "#30011" +msgid "Slow" +msgstr "Wolne" + +msgctxt "#30012" +msgid "Default" +msgstr "DomyÅ›lne" + +msgctxt "#30013" +msgid "Fast" +msgstr "Szybkie" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Bardzo szybkie" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..e8bd4a84d --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Total" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Contornos" + +msgctxt "#30003" +msgid "Points" +msgstr "Pontos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura da Barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequeno" + +msgctxt "#30006" +msgid "Default" +msgstr "Padrão" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muito Grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidade" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Bem devagar" + +msgctxt "#30011" +msgid "Slow" +msgstr "Devagar" + +msgctxt "#30012" +msgid "Default" +msgstr "Padrão" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muito Rápido" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..f34ea3ef4 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Portuguese/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Preenchido" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Contorno" + +msgctxt "#30003" +msgid "Points" +msgstr "Pontos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura das barras" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequena" + +msgctxt "#30006" +msgid "Default" +msgstr "Padrão" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muito grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidade" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Muito lento" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lento" + +msgctxt "#30012" +msgid "Default" +msgstr "Padrão" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muito rápido" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Romanian/strings.po new file mode 100644 index 000000000..b764d6966 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Romanian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mod" + +msgctxt "#30001" +msgid "Filled" +msgstr "Umplere" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Contur" + +msgctxt "#30003" +msgid "Points" +msgstr "Puncte" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ÃŽnălÈ›ime bară" + +msgctxt "#30005" +msgid "Small" +msgstr "Mică" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Mare" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Foarte mare" + +msgctxt "#30009" +msgid "Speed" +msgstr "Viteză" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Foarte încet" + +msgctxt "#30011" +msgid "Slow" +msgstr "ÃŽncet" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rapidă" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Foarte rapidă" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Russian/strings.po new file mode 100644 index 000000000..e733282b9 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Russian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30001" +msgid "Filled" +msgstr "Сплошной" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "КаркаÑ" + +msgctxt "#30003" +msgid "Points" +msgstr "Точки" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Ð’Ñ‹Ñота полоÑ" + +msgctxt "#30005" +msgid "Small" +msgstr "Ðебольшие" + +msgctxt "#30006" +msgid "Default" +msgstr "По-умолчанию" + +msgctxt "#30007" +msgid "Big" +msgstr "Крупные" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Огромные" + +msgctxt "#30009" +msgid "Speed" +msgstr "СкороÑть" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Очень медленно" + +msgctxt "#30011" +msgid "Slow" +msgstr "Медленно" + +msgctxt "#30012" +msgid "Default" +msgstr "По-умолчанию" + +msgctxt "#30013" +msgid "Fast" +msgstr "БыÑтро" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Очень быÑтро" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..b20aee3fe --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30006" +msgid "Default" +msgstr "Подразумевано" + +msgctxt "#30009" +msgid "Speed" +msgstr "Брзина" + +msgctxt "#30012" +msgid "Default" +msgstr "Подразумевано" + +msgctxt "#30013" +msgid "Fast" +msgstr "Брзо" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Serbian/strings.po new file mode 100644 index 000000000..664366666 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Serbian/strings.po @@ -0,0 +1,38 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režim" + +msgctxt "#30006" +msgid "Default" +msgstr "Podrazumevano" + +msgctxt "#30009" +msgid "Speed" +msgstr "Brzina" + +msgctxt "#30012" +msgid "Default" +msgstr "Podrazumevano" + +msgctxt "#30013" +msgid "Fast" +msgstr "Brzo" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Slovak/strings.po new file mode 100644 index 000000000..949af0c6c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Slovak/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Režim" + +msgctxt "#30001" +msgid "Filled" +msgstr "Vyplnený" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Drôtový model" + +msgctxt "#30003" +msgid "Points" +msgstr "Body" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Výška stĺpcov" + +msgctxt "#30005" +msgid "Small" +msgstr "Malý" + +msgctxt "#30006" +msgid "Default" +msgstr "Å tandardný" + +msgctxt "#30007" +msgid "Big" +msgstr "Veľký" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Veľmi veľký" + +msgctxt "#30009" +msgid "Speed" +msgstr "RýchlosÅ¥" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Veľmi pomalo" + +msgctxt "#30011" +msgid "Slow" +msgstr "Pomalo" + +msgctxt "#30012" +msgid "Default" +msgstr "Å tandardná" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rýchlo" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Veľmi rýchlo" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..c1c6a94ea --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Slovenian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "NaÄin" + +msgctxt "#30001" +msgid "Filled" +msgstr "Polno" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Shema" + +msgctxt "#30003" +msgid "Points" +msgstr "ToÄke" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ViÅ¡ina stolpcev" + +msgctxt "#30005" +msgid "Small" +msgstr "Majhna" + +msgctxt "#30006" +msgid "Default" +msgstr "Privzeto" + +msgctxt "#30007" +msgid "Big" +msgstr "Velika" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Zelo velika" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hitrost" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Zelo poÄasno" + +msgctxt "#30011" +msgid "Slow" +msgstr "PoÄasno" + +msgctxt "#30012" +msgid "Default" +msgstr "Privzeto" + +msgctxt "#30013" +msgid "Fast" +msgstr "Hitro" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Zelo hitro" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..61a7282c9 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Sólido" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Malla" + +msgctxt "#30003" +msgid "Points" +msgstr "Puntos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura de la barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequeña" + +msgctxt "#30006" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muy grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidad" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Muy lenta" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lenta" + +msgctxt "#30012" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápida" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muy rápida" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..ce93a57da --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Lleno" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Malla de alambre" + +msgctxt "#30003" +msgid "Points" +msgstr "Puntos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura de Barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Chico" + +msgctxt "#30006" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muy Grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidad" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Muy Lento" + +msgctxt "#30011" +msgid "Slow" +msgstr "Lento" + +msgctxt "#30012" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muy Rápido" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish/strings.po new file mode 100644 index 000000000..ae8be7342 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Spanish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Modo" + +msgctxt "#30001" +msgid "Filled" +msgstr "Sólido" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Malla" + +msgctxt "#30003" +msgid "Points" +msgstr "Puntos" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Altura de la barra" + +msgctxt "#30005" +msgid "Small" +msgstr "Pequeña" + +msgctxt "#30006" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30007" +msgid "Big" +msgstr "Grande" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Muy grande" + +msgctxt "#30009" +msgid "Speed" +msgstr "Velocidad" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Muy despacio" + +msgctxt "#30011" +msgid "Slow" +msgstr "Despacio" + +msgctxt "#30012" +msgid "Default" +msgstr "Por defecto" + +msgctxt "#30013" +msgid "Fast" +msgstr "Rápido" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Muy rápido" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Swedish/strings.po new file mode 100644 index 000000000..1aa334819 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Swedish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Läge" + +msgctxt "#30001" +msgid "Filled" +msgstr "Fylld" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Wireframe" + +msgctxt "#30003" +msgid "Points" +msgstr "Punkter" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "Stapelhöjd" + +msgctxt "#30005" +msgid "Small" +msgstr "Liten" + +msgctxt "#30006" +msgid "Default" +msgstr "Standard" + +msgctxt "#30007" +msgid "Big" +msgstr "Stor" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Väldigt stor" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hastighet" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Väldigt lÃ¥ngsam" + +msgctxt "#30011" +msgid "Slow" +msgstr "LÃ¥ngsam" + +msgctxt "#30012" +msgid "Default" +msgstr "Standard" + +msgctxt "#30013" +msgid "Fast" +msgstr "Snabb" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Väldigt snabb" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Thai/strings.po new file mode 100644 index 000000000..7bf250cf1 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Thai/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "โหมด" + +msgctxt "#30001" +msgid "Filled" +msgstr "เติมพื้นผิว" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "โครงลวด" + +msgctxt "#30003" +msgid "Points" +msgstr "จุด" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ความสูงของà¹à¸—่ง" + +msgctxt "#30005" +msgid "Small" +msgstr "เล็à¸" + +msgctxt "#30006" +msgid "Default" +msgstr "ค่าพื้นà¸à¸²à¸™" + +msgctxt "#30007" +msgid "Big" +msgstr "ใหà¸à¹ˆ" + +msgctxt "#30008" +msgid "Very Big" +msgstr "ใหà¸à¹ˆà¸¡à¸²à¸" + +msgctxt "#30009" +msgid "Speed" +msgstr "ความเร็ว" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "ช้ามาà¸" + +msgctxt "#30011" +msgid "Slow" +msgstr "ช้า" + +msgctxt "#30012" +msgid "Default" +msgstr "ค่าพื้นà¸à¸²à¸™" + +msgctxt "#30013" +msgid "Fast" +msgstr "เร็ว" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "เร็วมาà¸" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Turkish/strings.po new file mode 100644 index 000000000..b54fda122 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Turkish/strings.po @@ -0,0 +1,62 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Mod" + +msgctxt "#30005" +msgid "Small" +msgstr "Küçük" + +msgctxt "#30006" +msgid "Default" +msgstr "Varsayılan" + +msgctxt "#30007" +msgid "Big" +msgstr "Büyük" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Çok Büyük" + +msgctxt "#30009" +msgid "Speed" +msgstr "Hız" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Çok YavaÅŸ" + +msgctxt "#30011" +msgid "Slow" +msgstr "YavaÅŸ" + +msgctxt "#30012" +msgid "Default" +msgstr "Varsayılan" + +msgctxt "#30013" +msgid "Fast" +msgstr "Hızlı" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Çok Hızlı" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..7a07cbbd3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/language/Ukrainian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: OpenGL Spectrum +# Addon id: visualization.glspectrum +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Mode" +msgstr "Режим" + +msgctxt "#30001" +msgid "Filled" +msgstr "Заповнений" + +msgctxt "#30002" +msgid "Wireframe" +msgstr "Контури" + +msgctxt "#30003" +msgid "Points" +msgstr "Крапки" + +msgctxt "#30004" +msgid "Bar Height" +msgstr "ВиÑота Ñтовпчика" + +msgctxt "#30005" +msgid "Small" +msgstr "Мала" + +msgctxt "#30006" +msgid "Default" +msgstr "За промовчаннÑм" + +msgctxt "#30007" +msgid "Big" +msgstr "Велика" + +msgctxt "#30008" +msgid "Very Big" +msgstr "Дуже велика" + +msgctxt "#30009" +msgid "Speed" +msgstr "ШвидкіÑть" + +msgctxt "#30010" +msgid "Very Slow" +msgstr "Дуже повільно" + +msgctxt "#30011" +msgid "Slow" +msgstr "Повільно" + +msgctxt "#30012" +msgid "Default" +msgstr "За промовчаннÑм" + +msgctxt "#30013" +msgid "Fast" +msgstr "ШвидкіÑть" + +msgctxt "#30014" +msgid "Very Fast" +msgstr "Дуже швидко" diff --git a/usr/local/share/xbmc/addons/visualization.glspectrum/resources/settings.xml b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/settings.xml new file mode 100644 index 000000000..a2c2cf7d6 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.glspectrum/resources/settings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/addon.xml b/usr/local/share/xbmc/addons/visualization.milkdrop/addon.xml new file mode 100644 index 000000000..6110a8670 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/addon.xml @@ -0,0 +1,88 @@ + + + + + MilkDrop laat jou sweef deur die klankgolwe wat jy hoor + يحلق بك MilkDrop Ùوق الموجات الصوتية اللتي تسمع + MilkDrop takes you flying through the soundwaves you're hearing + "MilkDrop" ще Ви отведе на пътешеÑтвие между звуковите вълни, които чувате + MilkDrop et porta volant a través de les ones de so que escoltes + MilkDrop s Vámi proletí skrz zvukové vlny, které slyšíte + Milkdrop tager dig pÃ¥ en flyvetur gennem lydbølgerne, du lytter til + MilkDrop nimmt dich mit auf einen Flug durch deine Musik. + Το MilkDrop σας ταξιδεÏει μέσα στα ηχητικά κÏματα που ακοÏτε + MilkDrop takes you flying through the soundwaves you're hearing + MilkDrop te lleva volando a través de las ondas que estás escuchando + MilkDrop te lleva volando a través de las ondas que estás escuchando + MilkDrop the lleva volando a través de las ondas de sonido que estás escuchando + MilkDrop viib sind lennates läbi helilainete mida kuulad + MilkDrop lennättää sinut ääniaaltojen läpi + MilkDrop vous fait voyager dans les ondes sonores de votre musique + MilkDrop lévate voando a través da ondas de son que esta a ouvir + MilkDrop לוקח ×ותך לתעופה דרך גלי הס×ונד ש×תה שומע + MilkDrop vam omogućuje let kroz zvuk koji Äujete + A Milkdrop végigrepít a zene hullámain + Með MilkDrop flýgurðu í gegnum hljóðbylgjurnar sem þú heyrir + MilkDrop ti fa volare tra le onde sonore di ciò che stai ascoltando + MilkDrop - éŸ³æ¥½ã®æ³¢ã®ä¸Šã‚’飛㶠+ MilkDropì€ ì‚¬ìš´ë“œì›¨ì´ë¸Œ ì†ìœ¼ë¡œ 날아가는듯한 효과를 ë³´ì—¬ì¤ë‹ˆë‹¤. + MilkDrop nukelia Jus i nuostabu skrydi virs debesu, istiesu fantastisku garsu gausa + MilkDrop ве прелетува преку брановите на музиката која ја Ñлушате + Met MilkDrop vliegt u mee door de soundwaves die je hoort + MilkDrop tar deg med pÃ¥ en flyreise gjennom lydbølgene du hører + MilkDrop zabiera CiÄ™ w niesamowity lot w chmurach aktualnie sÅ‚uchanych dźwiÄ™ków + O MilkDrop leva-o num voo através das ondas sonoras que está a ouvir + O MilkDrop leva você para voar nas ondas sonoras que está ouvindo + MilkDrop vă face să zburaÈ›i printre undele audio pe care le auziÈ›i + Milkdrop отправит Ð²Ð°Ñ Ð² полёт через звуковые волны, которые вы Ñлышите + MilkDrop s Vami poletí zvukovými vlnami, ktoré poÄúvate + MilkDrop vas popelje skozi zvoÄne valove, ki jih posluÅ¡ate + Milkdrop för dig flygande genom de ljudvÃ¥gor du hör. + MilkDrop забере Ð²Ð°Ñ Ð² політ крізь хвилі музики Ñку ви Ñлухаєте + MilkDrop带你与声波一起飞翔 + MilkDrop was oorspronklik 'n musiek visualisering "plug-in" vir die Winamp musiek speler. Soos jy na jou musiek luister, laat MilkDrop jou deur die klankgolwe sweef wat jy hoor, en gebruik klop waarnemings om 'n magdom psigedeliese effekte te aktiveer, en 'n visuele reis deur klank te skep. + ميلك دروب كان أصلا عارض موسيقى لمشغل الموسيقى وين امب. عندما تستمع لموسيقاك, كيلك دروب يطير بك خلال موجات صوتية تسمعا حيقيةً, ,Ùˆ يستخدم كش٠الوقع الموسيقي ليؤدي إلى تأثيرات كثيرة, منشئاً رجلة صوت مرئية قيمة. + MilkDrop was originally a music visualizer "plug-in" to the Winamp music player. As you listen to your music, MilkDrop takes you flying through the actual soundwaves you're hearing, and uses beat detection to trigger myriad psychedelic effects, creating a rich visual journey through sound. + Първоначално "MilkDrop" е замиÑлена като приÑтавка за Ð¼ÑƒÐ·Ð¸ÐºÐ°Ð»Ð½Ð¸Ñ Ð¿Ð»ÐµÑŠÑ€ Winamp. Докато Ñлушате музикалната Ñи ÐºÐ¾Ð»ÐµÐºÑ†Ð¸Ñ "MilkDrop" ще Ви накара да "полетите", измежду звуковите вълни, които чувате. Ползва ритъма за да Ñъздаде безброй еуфорични ефекти. Така Ñъздава едно богато визуално пътешеÑтвие в звука. + El MilkDrop era originalment un afegitó de visualització musical pel reproductor Winamp. Mentre escoltes la música MilkDrop et porta volant a través de les ones de so que estàs escoltant al moment, i utilitza detecció de tempo per activar una munió d'efectes psicodèlics i crea un enriquidor viatge visual a través del so. + MikDrop bylo původnÄ› vizualizaÄní rozšíření pro pÅ™ehrávaÄ hudby Winamp. PÅ™i poslechu Vaší hudby s Vámi MikDrop prolétá skrze zvukové vlny, které slyšíte a používá detekci taktů, pro spuÅ¡tÄ›ní spousty psychedelických efektů, vytvářejíce tak zajímavou vizuální cestu skrze zvuk. + Milkdrop var oprindeligt et musikvisualisering "plug-in" til Winamp musikafspilleren. Mens du lytter til din musik, tager Milkdrop dig pÃ¥ en flyvetur gennem de faktiske lydbølger du hører og bruger beat-genkendelse til at udløse en myriade af psykedeliske effekter, der skaber en visuel rejse gennem lyd. + MilkDrop war ursprünglich ein Musik-Visualizer "Plug-in" für den Musik-Player Winamp.Wenn Sie Ihre Musik hören, fliegen Sie mit MilkDrop durch die aktuellen Klangwellen die Sie hören. Und die Beat-Erkennung wird genutzt um unzählige psychedelische Effekte auslösen, die Schaffung einer visuellen Reise durch den Klang. + Το MilkDrop ήταν αÏχικά ένα "plug-in" μουσικών οπτικοποιήσεων του Winamp. Καθώς παίζετε τη μουσική σας, το MilkDrop σας ταξιδεÏει μέσα στα Ï€Ïαγματικά ηχητικά κÏματα που ακοÏτε, και χÏησιμοποιεί ανίχνευση ÏÏ…Î¸Î¼Î¿Ï Î³Î¹Î± να ενεÏγοποιήσει ένα πλήθος ψυχεδελικών εφέ, δημιουÏγώντας ένα πλοÏσιο οπτικό ταξίδι μέσα στον ήχο. + MilkDrop was originally a music visualizer "plug-in" to the Winamp music player. As you listen to your music, MilkDrop takes you flying through the actual soundwaves you're hearing, and uses beat detection to trigger myriad psychedelic effects, creating a rich visual journey through sound. + MilkDrop era originalmente un plug-in visualizador de música para Winamp. Mientras escuchas música, MilkDrop te lleva volando a través de las ondas que estás escuchando, y utiliza la detección del ritmo para activar una gran cantidad de efectos psicodélicos, creando una rica experiencia visual a través del sonido. + MilkDrop era originalmente un plug-in visualizador de música para Winamp. Mientras escuchas música, MilkDrop te lleva volando a través de las ondas que estás escuchando, y utiliza la detección del ritmo para activar una gran cantidad de efectos psicodélicos, creando una rica experiencia visual a través del sonido. + MilkDrop originalmente fue un "plug-in" visualizador de música para el reproductor de música Winamp. Mientras escuchas tu músuca, MilkDrop te lleva volando a través de las ondas de sonido que estás escuchando en ese momento, y usa detección de ritmo para desencadenar múltiples efectos psicodélicos, creando un rico recorrido visual a través del sonido. + MilkDrop oli algselt muusika visuaal plugin Winamp'ile. Muusikat kuulates viib MilkDrop sind lennates läbi reaalsete helilainete mida kuulad. MilkDrop kasutab rütmituvastust, et päästa valla tohutu hulk psühhedeelseid efekte luues visuaalidest rikka teekonna läbi heli. + MilkDrop oli alunperin Winampin visualisaattorilisäosa. Kuunnellessasi musiikkia MilkDrop lennättää sinut kuulemiesi ääniaaltojen läpi ja käyttää tahdintunnistusta lukemattomien psykedeelisten tehosteiden toistamiseen, luoden visuaalisen matkan musiikin läpi. + MilkDrop était à l'origine une extension de visualisation musicale pour le lecteur audio Winamp. Pendant que vous écoutez votre musique, Milkdrop vous fait voyager à travers les ondes sonores que vous entendez, détectant le rythme pour déclencher une myriade d'effets psychédéliques, créant ainsi une riche expérience visuelle et sonore. + MilkDrop foi orixinalmente un plugin de Visualización para múica do reprodutor de música Winamp. Nametres vostede escoita a súa música, MilkDrop lévao voando a través das ondas de son que esta a ouvir, e emprega a detección de ritmo para activar milleiros de efectos psicodélicos, creando unha rica viaxe visual a través do son. + MilkDrop was originally a music visualizer "plug-in" to the Winamp music player. As you listen to your music, MilkDrop takes you flying through the actual soundwaves you're hearing, and uses beat detection to trigger myriad psychedelic effects, creating a rich visual journey through sound. + MilkDrop je orginalno bio zamiÅ¡ljen kao "dodatak", glazbeni vizualizator Winamp glazbenog programa. Dok sluÅ¡ate vaÅ¡u glazbu, MilkDrop vam omogućuje let kroz zvuk koji Äujete i koristi otkrivanje taktova da pokrenuo bezbroj psihodeliÄni efekata, tako stvarajući visualno bogato putovanje kroz zvuk. + A Milkdrop eredetileg egy beépülÅ‘modul volt a Winamp zenelejátszóhoz. Ahogy hallgatod a zenét, a Milkdrop keresztülrepít a hallható hanghullámokon, felhasználva a dobritmust pszihedelikus effektusok létrehozására gazdag látványvilág megteremtésével. + Milkdrop var upprunalega viðbót við Winamp tónlistarspilarann. Þegar þú hlustar á tónlistina, fer Milkdrop með þig á flug í gegnum hljóðbylgjurnar sem þú heyrir og notar taktskynjun til að setja af stað allskonar effekta sem skapa myndrænt ferðalag í gegnum tónlistarupplifunina + MilkDrop era, in origine, un "plug-in" di visualizzazione per Winamp. Mentre ascolti la musica, MilkDrop ti fa volare tra le onde sonore di ciò che stai ascoltando usando la rilevazione del ritmo per sincronizzare una miriade di effetti psichedelici, creando un ricco viaggio visuale attraverso il suono. + MilkDrop ã¯å…ƒã€… Winamp 音楽プレーヤーã®ãƒ“ジュアライザープラグインã§ã—ãŸã€‚音楽をå†ç”Ÿã™ã‚‹ã¨ã€éŸ³æ¥½ã«ã‚ã‚ã›ãŸæ³¢ã®ä¸Šã‚’飛んã§ã„るよã†ãªè¦–覚効果ãŒç¾ã‚Œã€ãƒ“ート検出ã«ã‚ˆã‚Šç„¡æ•°ã®ã‚µã‚¤ã‚±ãƒ‡ãƒªãƒƒã‚¯ãªåŠ¹æžœãŒç”Ÿã¾ã‚Œã€éŸ³ã«ã‚ˆã‚‹è¦–覚的体験を生ã¿å‡ºã—ã¾ã™ã€‚ + MilkDrop는 ì›ëž˜ ìœˆì•°í”„ì˜ ìŒì•… 시ê°í™” 플러그ì¸ìž…니다. ìŒì•…ì„ ë“¤ìœ¼ë©´ì„œ 사운드 웨ì´ë¸Œë¡œ 날아가는듯한 효과를 보여주며 비트 ê°ì§€ë¥¼ 해서 다양한 싸ì´í‚¤ë°ë¦­í•œ 효과를 만들어 í’부한 시ê°ì  ê²½í—˜ì„ í•˜ê²Œí•©ë‹ˆë‹¤. + MilkDrop vizualizacija, gauta is Winamp. Klausantis muzikos, MilkDrop nukelia jus i nuostabu skrydi virs debesu, naudojamas ritmo aptikimas, kuris sinchronizuoja muzikos vaizdo efektus. + MilkDrop беше визуализација допонување на Winamp music player. Како што ја Ñлушате музиката, MilkDrop ве прелетува преку актуелните музички бранови, и кориÑти детекција на битот за да покрене myriad пÑиходелични ефекти, креирајќи богато визуелно патување низ звукот. + Milkdrop was oorspronkelijk een muziekvisualisatieplug-in voor de Winamp-muziekspeler. Terwijl u uw muziek beluistert vliegt Milkdrop u door de soundwaves die u op dat moment hoort. Op basis van de beat produceert het een veelvoud aan psychedelische effecten. + MilkDrop var orginalt en musikk visualiserings "plug-in" til Winamp musikk spiller. Mens du lytter til musikk, tar MilkDrop deg med pÃ¥ en flytur gjennom de faktiske lydbølgene du hører og bruker (beat detection) for Ã¥ skape en hau med psykadeliske effekter som skaper en rik visuell ferd gjennom lyd. + MilkDrop jest wizualizacjÄ… pochodzÄ…cÄ… z odtwarzacza Winamp. W czasie sÅ‚uchania muzyki, MilkDrop zabiera użytkownika w niesamowity lot pomiÄ™dzy aktualnie odtwarzanymi falami dźwiÄ™kowymi, używajÄ…c detekcji beatu, która synchronizuje efekty wizualne z muzykÄ…. + Originalmente, o MilkDrop era uma visualização do leitor de música Winamp. Ao ouvir a sua música, o MilkDrop leva-o a voar pelas ondas sonoras que está a ouvir, detectando o ritmo da música e desencadeando uma variedade de efeitos psicadélicos. Cria, assim, uma viagem inesquecível pelo som. + MilkDrop era originalmente uma visualização do reprodutor de música Winamp. Ao ouvir a sua música, o MilkDrop leva-o a voar nas ondas sonoras que está a ouvir, usando detecção de batida para desencadear uma miríade de efeitos psicodélicos. Cria, assim, uma viagem visual inesquecível pelo som. + MilkDrop a fost original un „modul†de vizualizare pentru lectorul de muzică Winamp. ÃŽn timp ce ascultaÈ›i muzica, MilkDrop vă face să zburaÈ›i printre undele audio actuale pe care le auziÈ›i È™i foloseÈ™te detecÈ›ia bătăii pentru a activa miriada de efecte psihedelice, creând o călătorie vizuală bogată printre sunete. + MilkDrop изначально был модулем визуализации музыки Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð³Ñ€Ñ‹Ð²Ð°Ñ‚ÐµÐ»Ñ Winamp. Когда вы Ñлушаете музыку, MilkDrop Ñоздает визуальное ощущение полёта по звуковым волнам, а также иÑпользует обнаружение ритма Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸ множеÑтва пÑиходеличеÑких Ñффектов. + MilkDrop bol pôvodne hudobným vizualizaÄným rozšírením Winamp prehrávaÄa. Pri poÄúvaní hudby s Vami MilkDrop letí zvukovými vlnami, ktoré poÄúvate a použitím detekcie rytmu spúšťa nespoÄetné psychodelické efekty, a vytvára bohatú vizuálnu cestu zvukom. + MilkDrop je bila prvotno vizualizacija za predvajalnik Winamp. Ko posluÅ¡ate vaÅ¡o glasbo, vas MilkDrop popelje skozi dejansko valovanje, ki ga sliÅ¡ite, in uporablja zaznavanje ritma, kar omogoÄi psihedeliÄni efekt in bogato vizualno izkuÅ¡njo predvajanja glasbe. + Milkdrop var ursprungligen ett visualiserarande ljudplug-in till Winamp. Medan du lyssnar pÃ¥ din musik sÃ¥ för dig Milkdrop flygande genom de ljudvÃ¥gor du hör och använder rytmavkänning för att ge dig psykedeliska effekter som skapar en mäktig visuell resa via ljudet. + MilkDrop是æ¥è‡ªäºŽWinampéŸ³ä¹æ’­æ”¾å™¨çš„å¯è§†åŒ–æ’件。在你å¬éŸ³ä¹æ—¶ï¼ŒMilkDropé€šè¿‡èŠ‚æ‹æ£€æµ‹è§¦å‘的无数迷幻的效果,带你与声波一起飞翔,给你带æ¥ä¸°å¯Œçš„音ä¹å’Œè§†è§‰æ—…程。 + windx + + diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/icon.png b/usr/local/share/xbmc/addons/visualization.milkdrop/icon.png new file mode 100644 index 000000000..e98c10990 Binary files /dev/null and b/usr/local/share/xbmc/addons/visualization.milkdrop/icon.png differ diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/presets/WA51-presets(265).zip b/usr/local/share/xbmc/addons/visualization.milkdrop/presets/WA51-presets(265).zip new file mode 100644 index 000000000..725cafc03 Binary files /dev/null and b/usr/local/share/xbmc/addons/visualization.milkdrop/presets/WA51-presets(265).zip differ diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/presets/Winamp-presets(436).zip b/usr/local/share/xbmc/addons/visualization.milkdrop/presets/Winamp-presets(436).zip new file mode 100644 index 000000000..767028041 Binary files /dev/null and b/usr/local/share/xbmc/addons/visualization.milkdrop/presets/Winamp-presets(436).zip differ diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..a12ddb2b6 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Afrikaans/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Outomatiese Meng Tyd" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tyd Tussen Voorafinstellings" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Addisionele Lukraak Tyd" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Stel Anisotrope Filter in staat" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Stel Harde Snye in Staat" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Luidheid Drumpel vir Harde Snye" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Gemiddelde Tyd Tussen Harde Snye" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maksimum Verfris Tempo" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Aktiveer Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Voorafinstellings Pak" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Gebruiker Voorafinstellings Vouer " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Voorafinstellings Skommel Modus" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Voorafinstellings" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp Voorafinstellings" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Gebruiker Gedefinieerde Voorafinstellings Vouer" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek." + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f rps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Arabic/strings.po new file mode 100644 index 000000000..74d9b750c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Arabic/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "مزيج وقت تلقائي" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "الزمن بين الإعدادات المسبقة" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "وقت إضاÙÙŠ عشوائي" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "تمكين تنقية التباين" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "تمكين Ø§Ù„ØªÙˆÙ‚ÙØ§Øª القوية" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "عتبة الضجيج للتقطعات." + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "متوسط الزمن بين الانقطاعات القوية" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "أقصى معدل التحديث" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "تمكين Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "حزمة الإعدادات المسبقة" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "مجلد الإعدادات المسبقة للمستخدم" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "الوضع العشوائي للإعدادات المسبقة" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 نغمات" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr " تغمات وين امب" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "مستخدم مجلد نغمات معرÙ" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..fc7a33982 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Belarusian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatic Blend Time" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Time Between Presets" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Additional Random Time" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Enable Anisotropic Filtering" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Enable Hard Cuts" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Loudness Threshold For Hard Cuts" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Average Time Between Hard Cuts" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maximum Refresh Rate" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Enable Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pack" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "User Preset Folder " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Preset Shuffle Mode" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Presets" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp Presets" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "User Defined Preset Folder" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f ÑÑк." + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..d32007bc3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Bulgarian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Време за автоматично Ñливане" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Време между отделните шаблони" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Допълнително произволно време" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Включи анизотропното филтриране" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Включи Hard Cuts" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Прагове на уÑилване за Hard Cuts" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Средно време между Hard Cuts" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "МакÑимум за чеÑтотата на обновÑване" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Включи 3D Ñтерео режим" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Пакет шаблони" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Папка ÑÑŠÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸ " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Режим за ÑмÑна на шаблоните" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Шаблони" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Шаблони от Winamp " + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Папка за шаблоните на потребителÑ" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f Ñек" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Catalan/strings.po new file mode 100644 index 000000000..28c3668ce --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Catalan/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Temps de mescla automàtica" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Temps entre predefinits" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Temps aleatori addicional" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Activa el filtre anisotròpic" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Activa talls durs" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Llindar de potència pels talls durs" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Temps mig entre talls curts" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Temps de refresc màxim" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Activa l'estèreo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paquet de predefinits" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Directori de predefinits de l'usuari" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Mode de mescla de predefinits" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Predefinits WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Predefinits Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Directori de predefinits establert per l'usuari" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f seg" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..0cd62df25 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "è‡ªåŠ¨æ··åˆæ—¶é—´" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "é¢„ç½®åˆ‡æ¢æ—¶é—´" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "é™„åŠ éšæœºæ—¶é—´" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "å¯ç”¨å„å‘异性过滤" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "å¯ç”¨ç¡¬åˆ‡" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "硬切å“度门é™" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "硬切平å‡é—´éš”" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "最大刷新率" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "å¯ç”¨ç«‹ä½“声3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "预置包" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "用户预置文件夹" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "é¢„ç½®éšæœºæ¨¡å¼" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51预置" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp预置" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "用户定义的预置文件夹" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f ç§’" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Croatian/strings.po new file mode 100644 index 000000000..9c45a175c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Croatian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatsko vrijeme zatamljenja" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Vrijeme IzmeÄ‘u Prestavljanja" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Dodatna SluÄajno Vrijeme" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Omogućiti Anizotropno filtriranje" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Omogućiti Velike Rezove" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Glasnosni Prag za Velike Rezove" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "ProsjeÄno vrijeme izmeÄ‘u Veliki Rezova" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maksimalna stopa osvježavanja" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Omogućite Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Spakiraj" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Podesite korisniÄke mape" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Podesite mijeÅ¡ani mod" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Memoriran" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp Memoriran" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "KorisniÄki definirano Memoriranje mape" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Czech/strings.po new file mode 100644 index 000000000..6645658da --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Czech/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatický Äas slouÄení" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "ÄŒas mezi pÅ™edvolbami" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "DodateÄný náhodný Äas" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Povolit artroskopické filtrování" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Povolit ostrá utnutí" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Hrana hlasitosti pro ostré utnutí" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "PrůmÄ›rný Äas mezi ostrými utnutími" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maximální obnovovací frekvence" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Povolit Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "BalíÄek pÅ™edvoleb" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Složka uživatelských pÅ™edvoleb " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Režim náhodné pÅ™edvolby" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "PÅ™edvolby WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "PÅ™edvolby Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Uživatelem zadaná složka pÅ™edvoleb" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f s" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Danish/strings.po new file mode 100644 index 000000000..8c62608ec --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Danish/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatisk blandingstid" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tid mellem forudindstillinger" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Ekstra tilfældig tid" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Aktiver anisotropisk filtrering" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Muliggør hÃ¥rde skift" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Niveautærskel for hÃ¥rde skift" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Gennemsnitlig tid mellem hÃ¥rde skift" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maksimal opdateringshastighed" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Aktiver stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Forudindstillings-pakke" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Brugermappe med forudindstillinger" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Forudindstillet blandingstilstand" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 forudindstillinger" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp forudindstillinger" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Brugerdefineret mappe med forudindstillinger" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Dutch/strings.po new file mode 100644 index 000000000..ba46548fd --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Dutch/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatische overgangstijd" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tijd tussen presets" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Bijkomende willekeurige tijd" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Anisotropisch filter inschakelen" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Ruwe afkappingen inschakelen" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Geluidssterktedrempel voor een ruwe afkapping" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Gemiddelde tijd tussen ruwe afkappingen" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maximale verversingsfrequentie" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Stereo 3D inschakelen" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset pakket" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Gebruiker Preset Folder " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Preset Shuffle Mode" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Presets" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp Presets" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Gebruiker Gedefineerde Preset Folder" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.Van sec." + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.Van %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.Van fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/English (US)/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/English (US)/strings.po new file mode 100644 index 000000000..0d92c1999 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/English (US)/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.0 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: 2012-05-28 15:15+0000\n" +"PO-Revision-Date: 2012-05-28 23:38+0000\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (United States) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en_US/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/English/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/English/strings.po new file mode 100644 index 000000000..217ec4152 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/English/strings.po @@ -0,0 +1,97 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "" + +#empty strings from id 30012 to 30019 + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "" + +#empty strings from id 30023 to 30049 +#setting value formats + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Estonian/strings.po new file mode 100644 index 000000000..a01f6a16c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Estonian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automaatne sulanduse aeg" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Eelseadistustevaheline aeg" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Juhuslik lisaaeg" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Luba anisotroopne filtreerimine" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Tugevad kärped kasutusel" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "- Helitugevuse künnis" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "- Keskmine intervall" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Suurim värskendussagedus" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Stereo 3D kasutusel" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Eelseadete pakett" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Kasutaja eelseade kaust" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Eelseade segamise režiim" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 eelseaded" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp eelseaded" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Kasutaja määratud eelseade kaust" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f s" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Finnish/strings.po new file mode 100644 index 000000000..9042b77b8 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Finnish/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automaattinen pehmennysaika" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Esiasetusten välinen aika" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Satunnainen lisäaika" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Anisotrooppinen suodatus käytössä" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Voimakkaat leikkaukset käytössä" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr " - Äänenvoimakkuuden kynnys" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr " - Keskimääräinen väli" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Suurin ruudunpäivitysnopeus" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Stereo 3D käytössä" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Esiasetuspaketti" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Käyttäjän esiasetuskansio " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Esiasetuksen sekoitustila" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51-esiasetukset" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp-esiasetukset" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Käyttäjän määrittämä esiasetuskansio" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f s" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/French/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/French/strings.po new file mode 100644 index 000000000..9a4232538 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/French/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Durée des combinaisons" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Intervalle des présélections" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Ajout aléatoire de temps" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Activer le filtre anisotropique" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Permettre les changements brusques" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Seuil de volume pour les changements brusques" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Temps moyen entre les coupures" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Taux de rafraichissement maximum " + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Activer la Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Pack de présélections" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Dossier de présélections de l'utilisateur " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Mode de présélections aléatoires" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Présélections WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Présélections Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Dossier de présélections de l'utilisateur" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Galician/strings.po new file mode 100644 index 000000000..8e74680df --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Galician/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Tempo de mistura automática" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tempo entre preconfiguracións" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Tempo ó chou adicional" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Activar filtro anisotrópico" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Activar cortes abruptos" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Umbral de volume alto para cortes abruptos" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Tempo medio entre cortes abruptos" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Máximo ratio de refresco" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Activar 3D Stereo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Pack de preconfiguracións" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Cartafol de preconfiguracións do usuario" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Modo aleatorio de preconfiguracións" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Preconfiguracións de WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Preconfiguracións de Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Cartafol de preconfiguracións definido polo usuario" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f seg" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/German/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/German/strings.po new file mode 100644 index 000000000..15fb326a8 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/German/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatische Überblendezeit" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Zeit zwischen den Presets" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Zusätzliche zufällige Zeit" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Anisotropischen Filter aktivieren" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Hard Cuts aktivieren" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Lautstärken-Grenzwert für Hard Cuts" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Durchschnittszeit zwischen Hard Cuts" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maximale Wiederholrate" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Stereo 3D aktivieren" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pack" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Benutzer Vorlagen Ordner" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Zufallsvorlagen" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Vorlagen" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp Vorlagen" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "benutzerdefinierter Vorlagen Ordner" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sec" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Greek/strings.po new file mode 100644 index 000000000..381de38f4 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Greek/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "ΧÏόνος Αυτόματης Μίξης" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "ΧÏόνος ÎœÎµÏ„Î±Î¾Ï Î ÏοÏυθμίσεων" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Επιπλέον ΧÏόνος Τυχαίων" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "ΕνεÏγοποίηση ΑνισοτÏÎ¿Ï€Î¹ÎºÎ¿Ï Î¦Î¹Î»Ï„ÏαÏίσματος" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "ΕνεÏγοποίηση Απότομων Μεταβάσεων" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Κατώφλι Έντασης για τις Απότομες Μεταβάσεις" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Μέσος ΧÏόνος ÎœÎµÏ„Î±Î¾Ï Î‘Ï€ÏŒÏ„Î¿Î¼Ï‰Î½ Μεταβάσεων" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Μέγιστος Ρυθμός Ανανέωσης" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "ΕνεÏγοποίηση Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Πακέτο ΠÏοÏυθμίσεων" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Φάκελος ΠÏοÏυθμίσεων ΧÏήστη " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "ΛειτουÏγία Ανάμιξης ΠÏοÏυθμίσεων" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "ΠÏοÏυθμίσεις του WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "ΠÏοÏυθμίσεις του Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Φάκελος ΠÏοÏυθμίσεων Επιλογής ΧÏήστη" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f δευτεÏόλεπτα" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..78d8946bb --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Hebrew/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatic Blend Time" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Time Between Presets" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Additional Random Time" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Enable Anisotropic Filtering" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Enable Hard Cuts" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Loudness Threshold For Hard Cuts" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Average Time Between Hard Cuts" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "קצב רענון מקסימ×לי" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "הפעל סטרי×ו 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pack" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "User Preset Folder " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Preset Shuffle Mode" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Presets" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp Presets" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "User Defined Preset Folder" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f שניות" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..87150712a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Hungarian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatikus keverési idÅ‘" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "IdÅ‘ a beállításkészletek között" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Többlet véletlen idÅ‘" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Anisotropic szűrés bekapcsolása" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Éles váltások engedélyezése" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "HangerÅ‘küszöb az éles váltásokhoz" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Ãtlagos idÅ‘ az éles váltások között" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maximális frissítési frekvencia" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Sztereó 3D engedélyezése" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Beállításkészlet-csomag" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Saját-készlet mappa " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Keverési mód" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 beállításkészlet" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp beállításkészlet" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Felhasználói készlet" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f mp" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..93bebb679 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Icelandic/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Sjálfvirkur blöndunartími" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tími á milli forstillinga" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Aukalegur slembitími" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Virkja Anisotropic filter" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Virkja snöggar skiptingar" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Hljóðstyrks þröskuldur fyrir snöggar skiptingar" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Meðal tími á milli snöggra skiptinga" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Hámarks uppfærslu tími" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Virkja Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Forstillinga pakki" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Mappa fyrir forstillingar notenda" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Slembi hamur forstillinga" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 forstilling" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp forstillingar" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Mappa fyrir forstillingar skilgreindar af notanda" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sekúndur" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Italian/strings.po new file mode 100644 index 000000000..651e388ca --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Italian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Durata transizione automatica" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tempo tra i preset" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Tempo aggiuntivo casuale" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Abilita il filtro anisotropico" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Abilita tagli netti" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Soglia di rumorosità per i tagli netti" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Tempo medio tra i tagli netti" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Frequenza di aggiornamento massima" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Abilita effetto 3D anaglifo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Raccolta preset" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Cartella preset dell'utente " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Modalità preset casuale" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Preset WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Preset di Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Cartella personale dei preset" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secondi" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Japanese/strings.po new file mode 100644 index 000000000..42545ef16 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Japanese/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "自動ブレンド時間" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "å„プリセットã®é–“éš”" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "追加ランダム時間" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "異方性フィルタリングを有効" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "ãƒãƒ¼ãƒ‰ã‚«ãƒƒãƒˆã‚’有効" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "ãƒãƒ¼ãƒ‰ã‚«ãƒƒãƒˆã®ãƒ©ã‚¦ãƒ‰ãƒã‚¹é–¾å€¤" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "ãƒãƒ¼ãƒ‰ã‚«ãƒƒãƒˆé–“ã®å¹³å‡æ™‚é–“" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "最大リフレッシュレート" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "ステレオ3Dを有効ã«ã™ã‚‹" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "プリセットパック" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "ユーザープリセットフォルダ" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "プリセットシャッフルモード" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 プリセット" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp プリセット" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "ユーザー設定プリセットフォルダ" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f ç§’" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Korean/strings.po new file mode 100644 index 000000000..e044d843a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Korean/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "ìžë™ 블렌드 시간" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "í”„ë¦¬ì…‹ì‚¬ì´ ê°„ê²©" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "ì¶”ê°€ì  ëžœë¤ ê°„ê²©" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "비등방성 í•„í„°ë§ í™œì„±í™”" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "하드컷 활성화" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "í•˜ë“œì»·ì„ ìœ„í•œ ìŒëŸ‰ 임계치" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "하드컷 사ì´ì˜ í‰ê·  시간" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "최대 리프레쉬 ë ˆì´íЏ" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "스테레오 3D 활성화" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "프리셋 팩" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "ì‚¬ìš©ìž í”„ë¦¬ì…‹ í´ë”" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "무작위 프리셋 모드" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 프리셋" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp 프리셋" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "ì‚¬ìš©ìž ì •ì˜ í”„ë¦¬ì…‹ í´ë”" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f ì´ˆ" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..a01d3e011 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Lithuanian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatinio Perejimo Laikas" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Laikas Tarp Nustatymu" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Papildomas Atsitiktinis Laikas" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Ijungti Anizotropini Filtravima" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Ijungti Staigu Perejima" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Minimalus Garsas del Staigaus Perejimo" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Vidutinis Laikas tarp Staigiu Perejimu" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maksimalus Daznui Naujinimas" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Ijungti Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Nustatymu Komplektas" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Vartotojo Nustatymu Aplankas " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Isankstinis Atsitiktinis Rezimas" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Profiliai" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "WinAmp Profiliai" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Apibreztas Vartotojo Aplankas" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..139dede84 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Macedonian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "ÐвтоматÑко време на блендирање" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Време помеѓу подеÑувањата" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Дополнително Ñлучајно време" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Овозможи ÐниÑотропично филтрирање" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Овозможи јаки преÑеци" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Loudness Threshold For Hard Cuts" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Average Time Between Hard Cuts" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "МакÑимална рата на оÑвежување" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Овозможи Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pack" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "User Preset Folder " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Preset Shuffle Mode" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Presets" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp Presets" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "User Defined Preset Folder" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f Ñек." + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..b1b955392 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Norwegian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatisk Blend Tid" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tid Mellom Preset" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Tilleggs Tilfeldig Tid" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Skru pÃ¥ Anisotropic filtrering" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Skru pÃ¥ umiddelbare overganger" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Lydgrense for umiddelbare overganger" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Gjennomsnittlig tid mellom umiddelbare overganger" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maksimum oppdateringsfrekvens" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Skru pÃ¥ Sterio 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "ForhÃ¥ndsinnstillingspakke " + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Mappe for brukervalgte forhÃ¥ndsinstillinger" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Shuffel modus for forhÃ¥ndsinstillinger" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 forhÃ¥ndsinstillinger" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp forhÃ¥ndsinnstillinger" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Bruker definerte forhÃ¥ndsinstillingsmappe" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Polish/strings.po new file mode 100644 index 000000000..aa59fec0a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Polish/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "InterwaÅ‚ automatycznego mieszania" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "InterwaÅ‚ efektów" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Dodatkowy czas losowy" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Włącz filtrowanie anizotropowe" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Włącz \"ostre ciÄ™cia\"" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Próg gÅ‚oÅ›noÅ›ci dla \"ostrych cięć\"" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Åšredni czas pomiÄ™dzy \"ostrymi ciÄ™ciami\"" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maksymalna czÄ™stotliwość odÅ›wieżania" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Włącz tryb 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paczka efektów" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Folder ustawieÅ„ użytkownika" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Tryb ustawieÅ„ mieszania" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Ustawienia WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Ustawienia Winampa" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Zdefiniowany folder ustawieÅ„ użytkownika" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek." + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..6caeb186f --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Tempo de mistura automático" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tempo entre as predefinições" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Tempo aleatório adicional" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Ativar filtragem anisotrópica" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Habilitar cortes rígidos" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Limite de volume para cortes rígidos" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Tempo médio entre cortes rígidos" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Taxa máxima de atualização" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Ativar Estéreo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Pacote de predefinições" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Pasta de predefinições do usuário" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Modo Aleatório predefinido" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Predefinições WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Predefinições Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Pasta de predefinições definida pelo usuário" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f segundos" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..f609b8695 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Portuguese/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Mistura automática de tempo" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tempo entre Pré-Selecções" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Tempo aleatório adicional" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Ligar filtro Anisotrópico" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Ligar cortes" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Limiar de som para cortes" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Tempo médio entre cortes" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Taxa máxima de actualização" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Ligar Estéreo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Conjunto de Pré-Selecções" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Pasta de Pré-Selecções do utilizador" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Modo de Pré-Selecção aleatória" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Pré-Selecções WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Pré-Selecções do Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Pasta personalizada de Pré-Selecções do utilizador" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f segundos" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Romanian/strings.po new file mode 100644 index 000000000..dc123d2fe --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Romanian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Durată de contopire automată" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Durată între vizualizări predefinite" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Timp aleatoriu adiÈ›ional" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Activează filtrare anisotropică" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Activează schimbări rapide" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Prag de intensitate pentru schimbări rapide" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Durată medie între schimbări rapide" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Rată maximă de reîmprospătare" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Activează 3D stereo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Pachet vizualizări predefinite" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Folder Preferinte Utilizator" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Mod Amestec Preferinte " + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Preferinte WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Preferinte Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Dosar presetări definite de utilizator" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sec" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Russian/strings.po new file mode 100644 index 000000000..7b9ce2fca --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Russian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого перехода" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¼ÐµÐ¶Ð´Ñƒ наÑтройками" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Дополнительное Ñлучайное времÑ" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Включить анизотропную фильтрацию" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Включить жёÑткие переходы" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð³Ñ€Ð¾Ð¼ÐºÐ¾Ñть Ð´Ð»Ñ Ð¶Ñ‘Ñткого перехода" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Среднее Ð²Ñ€ÐµÐ¼Ñ Ð¼ÐµÐ¶Ð´Ñƒ жёÑткими переходами" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‡Ð°Ñтота обновлениÑ" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Включить Ñтерео 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Ðабор наÑтроек" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Папка наÑтроек Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ " + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Режим Ð¿ÐµÑ€ÐµÐ¼ÐµÑˆÐ¸Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ñтроек" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "ÐаÑтройки WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "ÐаÑтройки Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Папка Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких наÑтроек" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f Ñ" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f кадр/Ñ" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Slovak/strings.po new file mode 100644 index 000000000..97a4611ff --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Slovak/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatický Äas prelínania" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "ÄŒas medzi Predvoľbami" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Pridaný náhodná Äas" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "PovoliÅ¥ anizotropné filtrovanie" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "PovoliÅ¥ tvrdé useknutia" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Úroveň hlasitosti pre tvrdé useknutia" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Priemerný Äas medzi tvrdými useknutiami" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maximálna obnovovacia frekvencia" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "PovoliÅ¥ Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Balík Predvilieb" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Užívateľský adresár Predvolieb" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Náhodný výber Predvolieb" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 Predvoľby" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp Predvoľby" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Užívateľom nastavený adresár Predvolieb" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..2cdc29d91 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Slovenian/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Samodejen Äas prelivanja" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "ÄŒas med prednastavitvami" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Dodaten nakljuÄen Äas" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "VkljuÄi anizotropno filtriranje" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "VkljuÄi ostre prehode" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Glasnost za ostre prehode" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "PovpreÄen Äas med ostrimi prehodi" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "NajveÄja frekvenca osveževanja" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "VkljuÄi stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paket prednastavitev" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "UporabniÅ¡ka mapa s prednastavitvami" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "NaÄin meÅ¡anja prednastavitev" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Prednastavitve WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Prednastavitve Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "UporabniÅ¡ko doloÄena mapa s prednastavitvami" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sekund" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..3b41cf35a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Tiempo de mezcla automático" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tiempo entre presets" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Tiempo aleatorio adicional" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Activar el filtro Anisotrópico" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Habilitar cortes" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Umbral de volumen para cortes" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Tiempo medio entre cortes" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Frecuencia de actualización máxima" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Habilitar Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Conjunto de presets" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Carpeta de presets del usuario" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Modo aleatorio de presets" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Presets WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Presets Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Carpeta de presets definida por el usuario" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f seg" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..b77730e0a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Tiempo de Mezcla Automático" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tiempo Entre Preajustes" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Tiempo Aleatorio Adicional" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Habilitar Filtrado Anisotrópico" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Habilitar Cortes en Seco" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Umbral de Intensidad para Cortes en Seco" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Tiempo Promedio Entre Cortes en Seco" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Máxima Frecuencia de Actualización" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Habilitar Estéreo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paquete de Preajustes" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Carpeta de Usuario de Preajustes" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Modo Aleatorio de Preajustes" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Preajustes WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Preajustes de Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Carpeta de Preajustes Definidos por Usuario" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f segs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish/strings.po new file mode 100644 index 000000000..4989dec32 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Spanish/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Tiempo de mezcla automático" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tiempo entre presets" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Tiempo aleatorio adicional" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Activar el filtro Anisotrópico" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Habilitar cortes" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Umbral de volumen para cortes" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Tiempo medio entre cortes" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Frecuencia de actualización máxima" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Habilitar Stereo 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Conjunto de presets" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Carpeta de presets del usuario" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Modo aleatorio de presets" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "Presets WA51" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Presets Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Carpeta de presets definida por el usuario" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f seg" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Swedish/strings.po new file mode 100644 index 000000000..e51ffd985 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Swedish/strings.po @@ -0,0 +1,90 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "Automatisk bländningstid" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "Tid mellan förval" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Extra slumpmässig tid" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Aktivera anisotropicfilter" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Aktivera hÃ¥rda brytningar" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Loudnessgräns för hÃ¥rda beskärningar" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Medeltid mellan hÃ¥rda brytningar" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "Maximal uppdateringsfrekvens" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Aktivera stereo-3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Förvalspaket" + +msgctxt "#30010" +msgid "User Preset Folder " +msgstr "Användarförvalsmapp" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Förvalsslumpningsläge" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51-förval" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Winamp-förval" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "Användardefineradförvalsmapp" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f fps" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..67635df13 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/language/Ukrainian/strings.po @@ -0,0 +1,86 @@ +# XBMC Media Center language file +# Addon Name: MilkDrop +# Addon id: visualization.milkdrop +# Addon version: 1.0.2 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Automatic Blend Time" +msgstr "ТриваліÑть автоматичного змішуваннÑ" + +msgctxt "#30001" +msgid "Time Between Presets" +msgstr "ТриваліÑть показу одного ефекту" + +msgctxt "#30002" +msgid "Additional Random Time" +msgstr "Додатковий Ñ‡Ð°Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¾Ñ— тривалоÑті" + +msgctxt "#30003" +msgid "Enable Anisotropic Filtering" +msgstr "Увімкнути анізотропну фільтрацію" + +msgctxt "#30004" +msgid "Enable Hard Cuts" +msgstr "Ввімкнути різку зміну" + +msgctxt "#30005" +msgid "Loudness Threshold For Hard Cuts" +msgstr "Межа гучноÑті Ð´Ð»Ñ Ñ€Ñ–Ð·ÐºÐ¾Ñ— зміни" + +msgctxt "#30006" +msgid "Average Time Between Hard Cuts" +msgstr "Середній Ñ‡Ð°Ñ Ð¼Ñ–Ð¶ різкими змінами" + +msgctxt "#30007" +msgid "Maximum Refresh Rate" +msgstr "МакÑимальна чаÑтота кадрів" + +msgctxt "#30008" +msgid "Enable Stereo 3D" +msgstr "Увімкнути Ñтерео 3D" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Ðабір ефектів" + +msgctxt "#30011" +msgid "Preset Shuffle Mode" +msgstr "Перемішати ефекти" + +msgctxt "#30020" +msgid "WA51 Presets" +msgstr "WA51 ефекти" + +msgctxt "#30021" +msgid "Winamp Presets" +msgstr "Ефекти з Winamp" + +msgctxt "#30022" +msgid "User Defined Preset Folder" +msgstr "КориÑтувацька папка з ефектами" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f Ñек" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" + +msgctxt "#30052" +msgid "%2.0f fps" +msgstr "%2.0f кадр/Ñ" diff --git a/usr/local/share/xbmc/addons/visualization.milkdrop/resources/settings.xml b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/settings.xml new file mode 100644 index 000000000..b51a18af9 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.milkdrop/resources/settings.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/visualization.projectm/addon.xml b/usr/local/share/xbmc/addons/visualization.projectm/addon.xml new file mode 100644 index 000000000..db0532a62 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/addon.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + projectM vat jou op 'n vlug deur die klankgolwe wat jy hoor + مشروع M يجعلك تطير بين موحات الصوت التي تسمعها + projectM takes you flying through the soundwaves you're hearing + "projectM" ще Ви отведе на пътешеÑтвие между звуковите вълни, които чувате + projectM et porta volant a través de les ones que escoltes + projectM s Vámi proletí zvukovými vlnamy, které posloucháte + projectM tager dig pÃ¥ en flyvetur gennem lydbølgerne, du lytter til + projectM lässt euch durch den Sound fliegen, den Ihr gerade hört + Το projectM σας ταξιδεÏει μέσα στα ηχητικά κÏματα που ακοÏτε + projectM takes you flying through the soundwaves you're hearing + projectM te lleva volando a través de las ondas que estás escuchando + projectM te lleva volando a través de las ondas que estás escuchando + projectM te lleva volando a través de las ondas de sonido que estás escuchando + projectM viib sind lennates läbi helilainete mida kuulad + projectM lennättää sinut ääniaaltojen läpi + projectM vous entraine à travers les ondes sonores que vous écoutez + projectM lévao voando a través das ondas de son que está a ouvir + projectM לוקח ×ותך לתעופה דרך גלי הס×ונד ש×תה שומע + projectM vam omogućuje let kroz zvuk koji Äujete + A projectM végigrepít a zene hullámain + Með projectM flýgurðu í gegnum hljóðbylgjurnar sem þú heyrir + projectM ti fa volare tra le onde sonore di ciò che stai ascoltando + projectM - éŸ³æ¥½ã®æ³¢ã®ä¸Šã‚’飛㶠+ projectM ì€ ì‚¬ìš´ë“œì›¨ì´ë¸Œ ì†ìœ¼ë¡œ 날아가는듯한 효과를 ë³´ì—¬ì¤ë‹ˆë‹¤. + projectM nukelia Jus į nuostabų skrydį virÅ¡ debesų, iÅ¡tiesų fantastiÅ¡kų garsų gausÄ… + projectM ве води на летање низ звучните бранови на музиката што ја Ñлушате + projectM-visualisatie + projectM tar deg pÃ¥ en reise flygende gjenom lydbølgene du hører + projectM zabiera CiÄ™ w niesamowity lot w chmurach aktualnie sÅ‚uchanych dźwiÄ™ków + O projectM leva-o num voo através das ondas sonoras que está a ouvir + O projectM leva-o a voar nas ondas sonoras que está a ouvir + projectM îți oferă o senzaÈ›ie auditivă unică astfel încât simÈ›i că zbori printre undele sonore pe care le asculÈ›i + projectM отправит Ð²Ð°Ñ Ð² полёт через звуковые волны, которые вы Ñлышите + projektM s Vami poletí zvukovými vlnami, ktoré poÄúvate + projectM vas popelje Äez valovanje zvoka, kot ga sliÅ¡ite + projectM tar med dig pÃ¥ en flygtur genom ljudvÃ¥gorna du hör + projectM забирає Ð²Ð°Ñ Ð² політ крізь хвилі музики Ñку ви Ñлухаєте + projectM带你与声波一起飞翔 + projectM is 'n ontsagwekkende musiek visualiseerder. Daar is niks beter in die wêreld van Unix nie. projectM se grootheid kom van die harde werk van die gemeenskap. Gebruikers soos jy kan voorafinstellings skep wat musiek met ongelooflike visualiserings konnekteer. Probeer dit! projectM Visualisering is 'n geLGPL'de herimplementasie van Milkdrop onder OpenGL Al wat projectM benodig is 'n video kaart met 3D versnelling en jou gunsteling musiek. + مشروع M هو مصورللموسقى رائع. لا شي ÙÙŠ العالم Ø£ÙØ¶Ù„ من Unix. عظمة مشروع M تأتي من عمل المجتمع الجاد. يستطيع مستخدمون مثلك إنشاء مسبقات تتصل بالموسقى لصور رائعة. جربه تصوير مشروع M كل ما يتطلبه مشروع M هو كرت شاشة بتسارع 3D Ùˆ موسيقاك Ø§Ù„Ù…ÙØ¶Ù„Ø©. + projectM is an awesome music visualizer. There is nothing better in the world of Unix. projectM's greatness comes from the hard work of the community. Users like you can create presets that connect music with incredible visuals. Try it! projectM Visualization is an LGPL'ed reimplementation of Milkdrop under OpenGL All projectM requires is a video card with 3D acceleration and your favorite music. + "projectM" е Ñтрахотна визуализациÑ, плод на упорит труд от Ñтрана на общноÑтта. Ð’ Ñвета на Unix не ÑъщеÑтвува нищо по-добро. Потребители, като ВаÑ, Ñъздават предварително комбинации от наÑтройки, които Ñе ползват като модел за визуализациÑта и така Ñвързват звука Ñ Ð½ÐµÐ²ÐµÑ€Ð¾Ñтни визуални ефекти. Пробвайте! ВизуализациÑта "projectM" е преработка на Milkdrop под лиценза LGPL, оÑнована на OpenGL. "projectM" изиÑква видео карта Ñ 3D уÑкорение и любимата Ви музика. + El projectM és un visualitzador de música impressionant. No hi ha res millor al món Unix. La grandesa de projectM prové del dur treball de la comunitat. Els usuaris com tu poden crear predefinits que connecten la música amb visualitzacions increibles. Prova-ho! La Visualització projectM és una re-implementació en LGPL de Milkdrop baix OpenGL Tot el que projectM requereix és una tarja amb acceleració 3D i la teva música preferida. + projectM je úžasný hudební vizualizér. Ve svÄ›tÄ› Unixu neexistuje nic lepšího. Velikost projectuM pochází z tvrdé práce komunity. Uživatelé, jako jste vy, mohou vytvářet pÅ™edvolby, které spojují hudbu s fantastickými vizuálními zážitky. Zkuste to! projectM vizualizace je LGPL reimplementace Milkdropu pod OpenGL. VÅ¡e co projectM vyžaduje je grafická karta s 3D akcelerací a VaÅ¡e oblíbená hudba. + projectM er en fantastisk musikvisualisering. Der findes intet bedre i Unix-verdenen. projectMs storhed kommer fra brugerbasens hÃ¥rde arbejde. Brugere, som dig selv, kan skabe forudindstillinger, som forbinder musik med utrolige visualiseringer. Prøv det! projectM Visualization er en LGPLed reimplementation af Milkdrop under OpenGL. Alt hvad projectM kræver er et grafikkort med 3D-acceleration og din yndlingsmusik. + projectM ist eine unglaublicher Musik-Visualisierung. In der Unix-Welt gibt es nichts besseres. Die Einzigartigkeit kommt durch die harte Arbeit der Community. User wie du können "Presets" schreiben, welche sich mit der Musik verbinden. Versuche es selber! projectM ist die LGPL Reimplementierung von Milkdrop als OpenGL Variante Alles was prjectM benötigt ist eine Grafikkarte mit 3D Beschleunigung und deine Lieblingmusik + Το projectM είναι ένας φοβεÏός μουσικός οπτικοποιητής. Δεν υπάÏχει τίποτα καλÏτεÏο στον κόσμο του Unix. Το μεγαλείο του projectM πηγάζει από τη σκληÏή δουλειά της κοινότητας. ΧÏήστες όπως εσείς μποÏοÏν να δημιουÏγήσουν Ï€ÏοÏυθμίσεις συνδέοντας τη μουσική με απίστευτες απεικονίσεις. Δοκιμάστε το! Η Οπτικοποίηση projectM αποτελεί μία νέα LGPL υλοποίηση του Milkdrop υπό το OpenGL Το μόνο που απαιτείται από το projectM είναι μία κάÏτα γÏαφικών με Ï„Ïισδιάστατη (3D) επιτάχυνση, και την αγαπημένη σας μουσική. + projectM is an awesome music visualizer. There is nothing better in the world of Unix. projectM's greatness comes from the hard work of the community. Users like you can create presets that connect music with incredible visuals. Try it! projectM Visualization is an LGPL'ed reimplementation of Milkdrop under OpenGL All projectM requires is a video card with 3D acceleration and your favorite music. + projectM es un fantástico visualizador de música. No hay nada mejor en el universo Unix. La grandeza de projectM proviene del duro trabajo de la comunidad. Usuarios como usted pueden crear ajustes preestablecidos que conecten la música con visualizaciones increibles. ¡Pruébelo! projectM Visualization es una reimplantación de Milkdrop bajo licencia LGPL y renderizado en OpenGL. Todo lo que projectM necesita es una tarjeta de vídeo con aceleración 3D y su música favorita. + projectM es un fantástico visualizador de música. No hay nada mejor en el universo Unix. La grandeza de projectM proviene del duro trabajo de la comunidad. Usuarios como tu pueden crear ajustes preestablecidos que conecten la música con visualizaciones increíbles. ¡Pruebalo! projectM Visualization es una reimplantación de Milkdrop bajo licencia LGPL y renderizado en OpenGL. Todo lo que projectM necesita es una tarjeta de video con aceleración 3D y tu música favorita. + projectM es un visualizador de música sorprendente. No hay nada mejor en el mundo de Unix. La grandeza de projectM proviene del duro trabajo de la comunidad. Usuarios como tú pueden crear preaujstes que conectan la música con increíbles imágenes. Inténtalo! La visualización projectM es una reimplementación en LGPL de Milkdrop bajo OpenGL. Todo lo que projectM necesita es una tarjeta de video con aceleración 3D y tu música favorita. + projectM on äge muusika visuaal. Unixi maailmas pole midagi paremat. projectM'i suurus on saavutatud kogukonna ühise raske töö tulemusena. Kasutajad nagu sina saavad luua eelseadeid, mis ühendavad muusika imeliste visualidega. Proovi seda! projectM visualiseerimine on litsentseeritud (LGPL) uuskasutus Milkdrop'ist OpenGL keskkonnas. Ainus mida projectM vajab, on 3D kiirendusega videokaart ja sinu lemmikmuusika. + projectM on uskomaton musiikkivisualisointi, joka on yhteisön kovan työn tulos. Käyttäjät voivat luoda esiasetuksia, jotka yhdistävät musiikin kuviin. projectM -visualisointi on LGPL-lisensoitu Milkdropin uudelleenimplementointi OpenGL:llä. projectM tarvitsee vain 3D-kiihdyttävän näytönohjaimen ja lempimusiikkisi. + projectM est un fantastique visualiseur musical. Il n'y a rien de mieux dans l'univers Unix. L'ampleur de projectM vient du travail énorme de la communauté. Des utilisateurs comme vous peuvent créer des préréglages qui connecteront la musique avec des visuels incroyables. Essayez-le! La visualisation projectM est une réalisation sous LGPL de Milkdrop en OpenGL. Le seul pré-requis pour projectM est une carte graphique avec accélération 3D et votre musique favorite. + projectM é unha impresionante Visualización de música. Non hai nada mellor no mundo Unix. A grandeza de projectM ven da dura xeira da comunidade. Usuarios coma vostede poden crear preconfiguracións que conectan a música con incribles visualizacións. Próbeo! A Visualización projectM é unha reimplementación de Milkdrop empregando OpenGL e con licencia LGPL. Todo o que precisa projectM é unha tarxeta gráfica con aceleración 3D e a súa música favorita. + projectM is an awesome music visualizer. There is nothing better in the world of Unix. projectM's greatness comes from the hard work of the community. Users like you can create presets that connect music with incredible visuals. Try it! projectM Visualization is an LGPL'ed reimplementation of Milkdrop under OpenGL All projectM requires is a video card with 3D acceleration and your favorite music. + projectM je fenomenalan glazbeni visualizer. Ne postoji niÅ¡ta bolje u svijetu Unix-a. VeliÄina projectM-a dolazi zbog predanosti njegove zajednice. Korisnici kao Å¡to ste vi, mogu stvoriti zadane postavke koje povezuju muziku i nevjerovatne vizuale. Isprobajte! projectM Vizualizacija je LGPL reimplementacija Milkdrop-a pod OpenGL Sve Å¡to projectM zahtjeva je video kartica sa 3d ubrzanjem i vaÅ¡u omiljenu glazbu. + A projectM egy fantasztikus zenei vizualizáció. Nincs ennél jobb a Unix világban. A projectM különlegessége, hogy egy egész fejlesztÅ‘i közösség nehéz munkájából jött létre. A felhasználók, mint te egyedi beállításokat hozhatnak létre ami összekapcsolja a zenét a hihetetlen látványelemekkel. Próbáld ki! A projectM Vizualizáció a Milkdrop újrakódolása LGPL licenc alatt, OpenGL videókártya támogatást használva. Minden projectM látványbeállításhoz 3D gyorsításra képes videókártya és a kedvenc zenéd szükséges. + projectM er frábær myndskreyting. það er ekkert betra í Unix heiminum. Gæði projectM koma til vegna framlags samfélagsins.Notendur eins og þú geta búið til forstillingar sem tengja tónlist við ótrúlega myndræna upplifun. Prófaðu!⎠projectM myndskreyting er LGPL útgáfa af Milkdrop með OpenGL⎠Allt sem projectM þarfnast er skjákort með þrívíddar hraðli 3D og uppáhalds tónlistin þín. + projectM è un incredibile visualizzazione musicale. E' il meglio del mondo Unix. La grandezza di projectM proviene dal duro lavoro della comunità. Gli utenti come te possono creare preset che connetto la musica con incredibili grafiche. Provalo! projectM è una reimplementazione LGPL di Milkdrop sotto OpenGL Tutti i projectM richiedono una scheda video con accelerazione 3D e la tua musica preferita. + projectM is an awesome music visualizer. There is nothing better in the world of Unix. projectM's greatness comes from the hard work of the community. Users like you can create presets that connect music with incredible visuals. Try it! projectM Visualization is an LGPL'ed reimplementation of Milkdrop under OpenGL All projectM requires is a video card with 3D acceleration and your favorite music. + projectMì€ ë©‹ì§„ ìŒì•… 시ê°í™”입니다. Unixì—는 ì´ê²ƒë³´ë‹¤ 좋ì€ê²ƒì€ 없습니다. projectMì€ ë§Žì€ ì‚¬ëžŒë“¤ì— ì˜í•´ 개발ë˜ì—ˆìŠµë‹ˆë‹¤. 여러분과 ê°™ì€ ìœ ì €ë“¤ì´ ìŒì•…ì„ í‘œí˜„í•˜ëŠ” í”„ë¦¬ì…‹ì„ ë§Œë“¤ì—ˆìŠµë‹ˆë‹¤. projectM ìŒì•…시ê°í™”는 OpenGLì—서 ìž‘ë™í•˜ë„ë¡ Milkdrop를 새로 만든것입니다. 모든 projectMì€ 3D ê°€ì†ì´ ë˜ëŠ” 비디오카드와 ìŒì•…ì´ í•„ìš”í•©ë‹ˆë‹¤. + ProjectM yra iÅ¡skirtinÄ— muzikos vizualizacija. NÄ—ra nieko geriau, Unix pasaulyje. ProjectM spindesys tai sunkus darbas bendruomenÄ—je. Naudotojai, tokie kaip JÅ«s galite sukurti ir suderinti muzikÄ… su puikiais vizualizacijos efektais. Sužinokite! ProjectM yra įgyvendinimas iÅ¡ Milkdrop pagal LGPL licencijÄ…, ir naudoja OpenGL Viskas ko reikia projectM tai vaizdo plokÅ¡tÄ—s su 3D akceleracija (greitÄ—jimu) ir geros muzikos. + projectM is an awesome music visualizer. There is nothing better in the world of Unix. projectM's greatness comes from the hard work of the community. Users like you can create presets that connect music with incredible visuals. Try it!⎠projectM Visualization is an LGPL'ed reimplementation of Milkdrop under OpenGL⎠All projectM requires is a video card with 3D acceleration and your favorite music. + ProjectM is een geweldige muziekvisualisatie. Er bestaat niets beters in de UNIX-wereld. Het success van ProjectM is het resultaat van het harde werk van de XBMC-gemeenschap. U kunt hun eigen presets instellen die muziek linken aan verbluffende visualisaties. Probeer het uit! ProjectM-visualisatie is beschikbaar onder de LGPL-licentie en is een herimplementatie van Milkdrop (OpenGL). Alles wat projectM vereist is een videokaart met 3D-versnelling en jouw favoriete muziek. + projectM er en awesome musikk visualisering. Der er ingenting bedre i Unix verden. projectM er sÃ¥ flott takket være et hardt arbeidende felleskap. Brukere som deg kan lage forhÃ¥ndsinnstillinger som kobler musikk med utrolige visualiseringer. Prøv det! projectM visualiseringen er en LGPL reinplimentasjon av Milkdrop under OpenGL Alt projectM trenger er et grafikkort med 3D støtte og din favoritt musikk + projectM to rewelacyjna wizualizacjÄ… muzyki. Nie ma nic lepszego w Å›wiecie Unixa. WspaniaÅ‚ość projectM wywodzi siÄ™ ciężkiej pracy spoÅ‚ecznoÅ›ci. Użytkownicy tacy jak Ty, mogÄ… tworzyć efekty łączÄ…ce muzykÄ™ z niesamowitymi efektami wizualnymi. Przekonaj siÄ™! projectM jest reimplementacjÄ… Milkdropa na licencji LGPL i używa OpenGL Wszystko czego wymaga projectM, to karta graficzna wspierajÄ…ca akceleracjÄ™ 3D oraz zasoby Twojej muzyki. + O projectM é uma fantástica visualização de música. Não há melhor no mundo Unix. A grandeza do projectM advém do trabalho árduo da comunidade. Qualquer utilizador pode criar pré-selecções que combinam a música com visualizações incríveis. Experimente! O visualizador projectM é uma reimplementação do Milkdrop OpenGL sob uma licença LGPL. Tudo o que o projectM precisa é de uma placa gráfica com aceleração 3D e a sua música favorita. + O projectM é um fantástico visualizador de música. Não existe nenhum melhor no mundo Unix. A grandeza do projectM advém do trabalho árduo da comunidade. Utilizadores como você podem criar pré-definições que ligam a música a visualizações incríveis. Experimente! O visualizador projectM é uma reimplementação do Milkdrop OpenGL sob uma licença LGPL. Tudo o que o projectM necessita é de uma placa gráfica com aceleração 3D e a sua música favorita. + projectM este un plugin uimitor. Nu există nimic mai bun în lumea Unix. MăreÈ›ia projectM vine din munca întregii comunități. Utilizatori ca È™i tine pot crea presetări care conectează muzica cu vizualizări incredibile. ÃŽncearcă È™i tu! Vizualizarea projectM este o reimplementare LGPL a lui Milkdrop sub OpenGL. Tot ceea ce necesită projectM este o placă video cu accelerare 3D È™i muzica ta favorită. + projectM удивительным образом визуализирует музыку. Ð’ мире Unix нет ничего лучше. projectM ÑвлÑетÑÑ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ð¾Ð¼ напрÑжённой работы ÑообщеÑтва. Пользователи могут Ñоздавать наборы наÑтроек, которые объединÑÑŽÑ‚ музыку и невероÑтные визуальные Ñффекты. Попробуйте Ñами!âŽ Ð’Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ projectM предÑтавлÑет Ñобой LGPL-реализацию Milkdrop на оÑнове OpenGL⎠ВÑÑ‘, что требуетÑÑ Ð´Ð»Ñ Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ — Ñто видеокарта Ñ 3D-уÑкорением и Ð»ÑŽÐ±Ð¸Ð¼Ð°Ñ Ð¼ÑƒÐ·Ñ‹ÐºÐ°. + projektM je úžasný hudobný vizualizér. Vo svete Unixu neexistuje niÄ lepÅ¡ie. VeľkosÅ¥ projectM pramení z tvrdej práce komunity. Užívatelia ako ty vytvárajú Predvoľby, ktoré spájajú hudbu s fantastickými vizualizáciami. Vyskúšaj to![CR] projectM vizualizácie sú LGPL implementáciou vizualizácií Milkdrop s použitím OpenGL.[CR] Jediné Äo projectM potrebuje je grafickú kartu s 3D akceleráciou a VaÅ¡u obľúbenú hudbu. + projectM je glasbeni vizualizator. NiÄ ni boljÅ¡ega v svetu Unixa. VeliÄina ProjectM izhaja iz garanja skupnosti. Uporabniki, kot vi, si lahko ustvarite prednastavitve, ki povezujejo glasbo z neverjetno vizualizacijo. Poskusite! projectM Vizualizacija je LGPL reimplementacija Milkdropa v okviru OpenGL. projectM potrebuje le grafiÄno kartico s 3D pospeÅ¡evanjem in vaÅ¡o najljubÅ¡o glasbo. + projectM är en fantastisk musikvisualisering. Det finns inget bättre i Unixvärlden. projectM's storhet kommer frÃ¥n gemenskapens hÃ¥rda jobb. Användare som du kan skapa förval som förenar musiken med otroliga visualiseringar. Prova det! projectM visualisering är en LGPL-implementation av Milkdrop i OpenGL Alla projectM kräver ett grafikkort med 3D-acceleration och din favoritmusik. + projectM是一个音ä¹å¯è§†åŒ–效果。它是Unix世界中最好的。它的伟大æ¥è‡ªäºŽç¤¾åŒºçš„辛苦工作。使用者å¯ä»¥åˆ›å»ºé¢„è®¾å‚æ•°æŠŠéŸ³ä¹å’Œéš¾ä»¥ç½®ä¿¡çš„å¯è§†åŒ–效果连接起æ¥ã€‚试试å§ï¼ projectMå¯è§†åŒ–效果是用OpenGL按照LGPLå议对Milkdropçš„é‡æ–°å®žçް projectMæ‰€è¦æ±‚çš„ä»…æ˜¯ä¸€å—æœ‰3D加速功能的显å¡å’Œä½ å–œçˆ±çš„音ä¹ã€‚ + linux osx wingl + + diff --git a/usr/local/share/xbmc/addons/visualization.projectm/icon.png b/usr/local/share/xbmc/addons/visualization.projectm/icon.png new file mode 100644 index 000000000..b52376ffc Binary files /dev/null and b/usr/local/share/xbmc/addons/visualization.projectm/icon.png differ diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..cfc249e4f --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Afrikaans/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Verbeeld Kwaliteit" + +msgctxt "#30001" +msgid "Low" +msgstr "Laag" + +msgctxt "#30002" +msgid "Medium" +msgstr "Medium" + +msgctxt "#30003" +msgid "High" +msgstr "Hoog" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maksimum" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Skommel Modus" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Gladde Voorafinstelling Duur" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Voorafinstelling Duur" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Maatslag Sensitiwiteit" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Voorafinstelling Pak" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Bestek Pak" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Gebruiker Gedefinieerde Voorafinstelling Vouer" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Gebruiker Voorafinstelling Vouer" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek." + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Amharic/strings.po new file mode 100644 index 000000000..dc5fbeebd --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Amharic/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30001" +msgid "Low" +msgstr "á‹á‰…ተኛ " + +msgctxt "#30002" +msgid "Medium" +msgstr "መካከለኛ " + +msgctxt "#30003" +msgid "High" +msgstr "ከáተኛ " diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Arabic/strings.po new file mode 100644 index 000000000..3a4d8ac62 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Arabic/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "تقديم الجودة" + +msgctxt "#30001" +msgid "Low" +msgstr "الصغرى" + +msgctxt "#30002" +msgid "Medium" +msgstr "متوسط" + +msgctxt "#30003" +msgid "High" +msgstr "العظمى" + +msgctxt "#30004" +msgid "Maximum" +msgstr "أقصى حد" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "الوضع العشوائي" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "مدة ضبط مسبق سلس" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "مدة الضبط المسبق" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "حساسية الوقع الموسيقي" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "حزمة ضبط مسبق" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "حزمة Ø§ÙØªØ±Ø§Ø¶ÙŠØ©" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "مستخدم مجلد ضبط مسبق معدل" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "مستخدم مجلد الضبط المسبق" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f الثانية" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Basque/strings.po new file mode 100644 index 000000000..27ece103a --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Basque/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30001" +msgid "Low" +msgstr "Baxua" + +msgctxt "#30002" +msgid "Medium" +msgstr "Ertaina" + +msgctxt "#30003" +msgid "High" +msgstr "Handia" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..d77c1701b --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Belarusian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "ЯкаÑьць Ñ€ÑндÑрынгу" + +msgctxt "#30001" +msgid "Low" +msgstr "ÐізкаÑ" + +msgctxt "#30002" +msgid "Medium" +msgstr "СÑÑ€ÑднÑÑ" + +msgctxt "#30003" +msgid "High" +msgstr "Ð’Ñ‹ÑокаÑ" + +msgctxt "#30004" +msgid "Maximum" +msgstr "МакÑымальнаÑ" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Выпадковы парадак" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Smooth Preset Duration" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Preset Duration" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Beat Sensitivity" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pack" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Default Pack" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "User Defined Preset Folder" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "User Preset Folder" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..25b90fc11 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Bosnian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30001" +msgid "Low" +msgstr "nizak" + +msgctxt "#30002" +msgid "Medium" +msgstr "Srednje" + +msgctxt "#30003" +msgid "High" +msgstr "visok" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..f714dd199 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Bulgarian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "КачеÑтво на рендването" + +msgctxt "#30001" +msgid "Low" +msgstr "ÐиÑко" + +msgctxt "#30002" +msgid "Medium" +msgstr "Средно" + +msgctxt "#30003" +msgid "High" +msgstr "ВиÑоко" + +msgctxt "#30004" +msgid "Maximum" +msgstr "МакÑимално" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Режим за ÑмÑна" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Плавен преход между шаблоните" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Времетраене на шаблон" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "ЧувÑтвителноÑÑ‚ към ритъма" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Пакет шаблони" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Стандартен пакет" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Папка за шаблоните на потребителÑ" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Папка ÑÑŠÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¸" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f Ñек" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Catalan/strings.po new file mode 100644 index 000000000..57c17c2a4 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Catalan/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Qualitat del renderitzat" + +msgctxt "#30001" +msgid "Low" +msgstr "Baixa" + +msgctxt "#30002" +msgid "Medium" +msgstr "Mitjana" + +msgctxt "#30003" +msgid "High" +msgstr "Alta" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Màxima" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Mode aleatori" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Durada suau del predefinit" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Durada preestablerta" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibilitat del ritme" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paquet de predefinits" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Paquet per defecte" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Directori de predefinits configurat per l'usuari" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Directori de predefinits de l'usuari" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f seg" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..9aebcf7f3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "渲染质é‡" + +msgctxt "#30001" +msgid "Low" +msgstr "低" + +msgctxt "#30002" +msgid "Medium" +msgstr "中" + +msgctxt "#30003" +msgid "High" +msgstr "高" + +msgctxt "#30004" +msgid "Maximum" +msgstr "最大" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "éšæœºæ’­æ”¾æ¨¡å¼" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "平滑预置时间" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "预置时间" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "节æ‹çµæ•度" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "预置包" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "默认包" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "用户定义的预置文件夹" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "用户预置文件夹" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f ç§’" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Croatian/strings.po new file mode 100644 index 000000000..c87382cfe --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Croatian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Kvaliteta Renderiranja" + +msgctxt "#30001" +msgid "Low" +msgstr "Nizak" + +msgctxt "#30002" +msgid "Medium" +msgstr "Srednje" + +msgctxt "#30003" +msgid "High" +msgstr "Visok" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maksimalno" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "SluÄajni slijed" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Vrijeme glatkog prijelaza prezentacije" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Trajanje prezentacije" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Osjetljivost takta" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paket prezentacije" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Zadani Paket" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "KorisniÄki definirana mapa prezentacije" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "KorisniÄka mapa prezentacija" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Czech/strings.po new file mode 100644 index 000000000..fe5a16b86 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Czech/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Kvalita vykreslování" + +msgctxt "#30001" +msgid "Low" +msgstr "Nízká" + +msgctxt "#30002" +msgid "Medium" +msgstr "StÅ™ední" + +msgctxt "#30003" +msgid "High" +msgstr "Vysoká" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Nejvyšší" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Náhodný režim" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Trvání hladkého pÅ™ednastavení" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Trvání pÅ™ednastavení" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Citlivost taktu" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Balík pÅ™ednastavení" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Výchozí balík" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Uživatelem nastavená složka pÅ™ednastavení" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Uživatelská složka pÅ™ednastavení" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Danish/strings.po new file mode 100644 index 000000000..d784314e7 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Danish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Renderingskvalitet" + +msgctxt "#30001" +msgid "Low" +msgstr "Lav" + +msgctxt "#30002" +msgid "Medium" +msgstr "Medium" + +msgctxt "#30003" +msgid "High" +msgstr "Høj" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maximum" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Blandingstilstand" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Jævn varighed af forudindstilling" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Varighed af forudindstilling" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Beat-følsomhed" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Forudindstillings-pakke" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Standardpakke" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Brugerdefineret mappe med forudindstillinger " + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Brugermappe med forudindstillinger" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Dutch/strings.po new file mode 100644 index 000000000..84769126c --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Dutch/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Weergavekwaliteit" + +msgctxt "#30001" +msgid "Low" +msgstr "Laag" + +msgctxt "#30002" +msgid "Medium" +msgstr "Medium" + +msgctxt "#30003" +msgid "High" +msgstr "Hoog" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maximum" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Willekeurige modus" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Smooth-Presetduur" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Presetduur" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Beatgevoeligheid" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pakket" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Standaard Pakket" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Gebruiker Gedefineerde Preset Folder" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Gebruiker Preset Folder" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.Van sec." + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.Van %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/English (US)/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/English (US)/strings.po new file mode 100644 index 000000000..9572b9a62 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/English (US)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.1 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: 2012-05-28 15:15+0000\n" +"PO-Revision-Date: 2012-05-28 23:39+0000\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (United States) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en_US/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "" + +msgctxt "#30001" +msgid "Low" +msgstr "" + +msgctxt "#30002" +msgid "Medium" +msgstr "" + +msgctxt "#30003" +msgid "High" +msgstr "" + +msgctxt "#30004" +msgid "Maximum" +msgstr "" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/English/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/English/strings.po new file mode 100644 index 000000000..2725149d7 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/English/strings.po @@ -0,0 +1,83 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#settings labels + +msgctxt "#30000" +msgid "Render Quality" +msgstr "" + +msgctxt "#30001" +msgid "Low" +msgstr "" + +msgctxt "#30002" +msgid "Medium" +msgstr "" + +msgctxt "#30003" +msgid "High" +msgstr "" + +msgctxt "#30004" +msgid "Maximum" +msgstr "" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "" + +#empty strings from id 30013 to 30049 +#setting value formats + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Esperanto/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Esperanto/strings.po new file mode 100644 index 000000000..a518540eb --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Esperanto/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30001" +msgid "Low" +msgstr "Malnobla" + +msgctxt "#30002" +msgid "Medium" +msgstr "Medium" + +msgctxt "#30003" +msgid "High" +msgstr "Nobla" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Estonian/strings.po new file mode 100644 index 000000000..978c47618 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Estonian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Renderduse kvaliteet" + +msgctxt "#30001" +msgid "Low" +msgstr "Madal" + +msgctxt "#30002" +msgid "Medium" +msgstr "Keskmine" + +msgctxt "#30003" +msgid "High" +msgstr "Kõrge" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maksimaalne" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Segamise režiim" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Katkematu eelseade kestvus" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Eelseade kestvus" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Rütmitundlikkus" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Eelseade pakett" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Vaikepakett" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Kasutaja määratud eelseade kaust" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Kasutaja eelseade kaust" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f s" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Finnish/strings.po new file mode 100644 index 000000000..255e08153 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Finnish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Kuvanlaatu" + +msgctxt "#30001" +msgid "Low" +msgstr "Matala" + +msgctxt "#30002" +msgid "Medium" +msgstr "Keski" + +msgctxt "#30003" +msgid "High" +msgstr "Korkea" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maksimi" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Sekoitustila" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Pehmeä esiasetettu kesto" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Esiasetettu kesto" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Rytmiherkkyys" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Esiasetuspaketti" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Oletuspaketti" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Käyttäjän määrittämä esiasetuskansio" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Esiasetuskansio" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f s" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/French/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/French/strings.po new file mode 100644 index 000000000..aed5c19c3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/French/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Qualité de Rendu" + +msgctxt "#30001" +msgid "Low" +msgstr "Basse" + +msgctxt "#30002" +msgid "Medium" +msgstr "Moyenne" + +msgctxt "#30003" +msgid "High" +msgstr "Haute" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maximum" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Mode Aléatoire" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Lisser la durée de la présélection" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Durée de la présélection" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibilité au tempo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Pack de présélections" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Paquet par défaut" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Dossier de présélections de l'utilisateur" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Dossier de présélections de l'utilisateur" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Galician/strings.po new file mode 100644 index 000000000..4c0c18298 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Galician/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Calidade do renderizado" + +msgctxt "#30001" +msgid "Low" +msgstr "Baixa" + +msgctxt "#30002" +msgid "Medium" +msgstr "Media" + +msgctxt "#30003" +msgid "High" +msgstr "Alta" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Máxima" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Modo ó chou" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Duración da preconfiguración suave" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Duración da preconfiguración" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibilidade do ritmo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paquete de preconfiguracións" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Paquete por defecto" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Cartafol de preconfiguracións definido polo usuario" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Cartafol de preconfiguracións do usuario" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f seg" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/German/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/German/strings.po new file mode 100644 index 000000000..9262f65d5 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/German/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Render-Qualität" + +msgctxt "#30001" +msgid "Low" +msgstr "Niedrig" + +msgctxt "#30002" +msgid "Medium" +msgstr "Mittel" + +msgctxt "#30003" +msgid "High" +msgstr "Hoch" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maximal" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Zufallsmodus" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Dauer der Überblendung (s)" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Dauer für Einstellung (s)" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Takt Empfindlichkeit" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pack" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Standard-Pack" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Benutzerdefiniertes Verzeichnis für Presets" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Presets aus dem Userverzeichnis" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Greek/strings.po new file mode 100644 index 000000000..9141b6d52 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Greek/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Ποιότητα Απόδοσης" + +msgctxt "#30001" +msgid "Low" +msgstr "Ελαχ." + +msgctxt "#30002" +msgid "Medium" +msgstr "Μεσαία" + +msgctxt "#30003" +msgid "High" +msgstr "Υψηλά" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Μέγ." + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "ΛειτουÏγία Ανάμιξης" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "ΔιάÏκεια Ομαλής ΠÏοÏÏθμισης" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "ΔιάÏκεια ΠÏοÏÏθμισης" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Ευαισθησία ΡυθμοÏ" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Πακέτο ΠÏοÏυθμίσεων" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "ΠÏοεπιλεγμένο Πακέτο" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Φάκελος ΠÏοÏυθμίσεων Επιλογής ΧÏήστη" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Φάκελος ΠÏοÏυθμίσεων ΧÏήστη" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f δευτεÏόλεπτα" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..2eb6172f4 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hebrew/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Render Quality" + +msgctxt "#30001" +msgid "Low" +msgstr "נמוך" + +msgctxt "#30002" +msgid "Medium" +msgstr "בינוני" + +msgctxt "#30003" +msgid "High" +msgstr "גבוה" + +msgctxt "#30004" +msgid "Maximum" +msgstr "מקסימו×" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "מצב ×קר××™" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Smooth Preset Duration" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Preset Duration" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "רגישות קצב" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pack" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "ערכת ברירת מחדל" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "User Defined Preset Folder" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "User Preset Folder" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f שניות" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hindi (Devanagiri)/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hindi (Devanagiri)/strings.po new file mode 100644 index 000000000..273e8d920 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hindi (Devanagiri)/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30001" +msgid "Low" +msgstr "लो" + +msgctxt "#30002" +msgid "Medium" +msgstr "मधà¥à¤¯à¤®" + +msgctxt "#30003" +msgid "High" +msgstr "उचà¥à¤š" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..1172ae719 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Hungarian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Megjelenítés minÅ‘sége" + +msgctxt "#30001" +msgid "Low" +msgstr "Alacsony" + +msgctxt "#30002" +msgid "Medium" +msgstr "Közepes" + +msgctxt "#30003" +msgid "High" +msgstr "Magas" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maximum" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Altípus keverési mód" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Finom átmenet idÅ‘tartama" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Ãtmenet idÅ‘tartama" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Ritmus érzékenység" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Beállításkészlet" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Alapértelmezett készlet" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Felhasználói beállításkészlet" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Beállításkészlet mappája" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f mp" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..7123c87c1 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Icelandic/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Gæði birtingar" + +msgctxt "#30001" +msgid "Low" +msgstr "Lægst" + +msgctxt "#30002" +msgid "Medium" +msgstr "Meðal" + +msgctxt "#30003" +msgid "High" +msgstr "Hæst" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Hámark" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Slembi hamur" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Tímalengd mjúkra forstillinga" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Tímalengd forstillinga" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Taktnæmni" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Forstillinga pakki" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Sjálfgefinn pakki" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Mappa fyrir forstillingar skilgreindar af notanda" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Nota möppu" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sekúndur" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Indonesian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Indonesian/strings.po new file mode 100644 index 000000000..338651369 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Indonesian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30001" +msgid "Low" +msgstr "Rendah" + +msgctxt "#30002" +msgid "Medium" +msgstr "Medium" + +msgctxt "#30003" +msgid "High" +msgstr "Tinggi" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Italian/strings.po new file mode 100644 index 000000000..000d05eac --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Italian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Qualità di rendering" + +msgctxt "#30001" +msgid "Low" +msgstr "Bassa" + +msgctxt "#30002" +msgid "Medium" +msgstr "Media" + +msgctxt "#30003" +msgid "High" +msgstr "Alta" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Massima" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Modalità casuale" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Durata Preset 'Smooth'" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Durata preset" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibilità al ritmo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Raccolta preset" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Raccolta predefinita" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Cartella specifica per i preset" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Cartella preset dell'utente" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secondi" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Japanese/strings.po new file mode 100644 index 000000000..962397f4f --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Japanese/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "レンダリングå“質" + +msgctxt "#30001" +msgid "Low" +msgstr "低" + +msgctxt "#30002" +msgid "Medium" +msgstr "中" + +msgctxt "#30003" +msgid "High" +msgstr "高" + +msgctxt "#30004" +msgid "Maximum" +msgstr "最大" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "シャッフルモード" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "スムースプリセット間隔" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "プリセット間隔" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "ビート感度" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "プリセットパック" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "デフォルトパック" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "ユーザー設定プリセットフォルダ" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "ユーザープリセットフォルダ" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0fç§’" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f%%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Korean/strings.po new file mode 100644 index 000000000..29e7dc747 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Korean/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "ë Œë”ë§ í™”ì§ˆ" + +msgctxt "#30001" +msgid "Low" +msgstr "ë‚®ìŒ" + +msgctxt "#30002" +msgid "Medium" +msgstr "중간" + +msgctxt "#30003" +msgid "High" +msgstr "높ìŒ" + +msgctxt "#30004" +msgid "Maximum" +msgstr "최대" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "셔플 모드" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "부드러운 프리셋 시간" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "프리셋 시간" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "비트 ê°ì§€ë„" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "프리셋 팩" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "기본 팩" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "ì‚¬ìš©ìž ì •ì˜ í”„ë¦¬ì…‹ í´ë”" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "ì‚¬ìš©ìž í”„ë¦¬ì…‹ í´ë”" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f ì´ˆ" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..86777a0e7 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Lithuanian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Renderingo KokybÄ—" + +msgctxt "#30001" +msgid "Low" +msgstr "Žemas" + +msgctxt "#30002" +msgid "Medium" +msgstr "Vidutinis" + +msgctxt "#30003" +msgid "High" +msgstr "AukÅ¡tas" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maksimalus" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "MaiÅ¡imo Režimas" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "PerÄ—jimo Laikas" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Režimo Ilgumas" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Jautrumas Ritmui" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Nustatymų Paketas" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Numatytasis Paketas" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Apibrėžtas Vartotojo Aplankas" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Vartotojo Nustatymų Aplankas" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..906e6ad97 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Macedonian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Квалитет на рендерирање" + +msgctxt "#30001" +msgid "Low" +msgstr "низок" + +msgctxt "#30002" +msgid "Medium" +msgstr "Средно" + +msgctxt "#30003" +msgid "High" +msgstr "виÑок" + +msgctxt "#30004" +msgid "Maximum" +msgstr "МакÑимум" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Shuffle Mode" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Smooth Preset Duration" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Preset Duration" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Beat Sensitivity" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pack" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Default Pack" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "User Defined Preset Folder" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "User Preset Folder" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..ac97904d0 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Norwegian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Render Kvalitet" + +msgctxt "#30001" +msgid "Low" +msgstr "Lav" + +msgctxt "#30002" +msgid "Medium" +msgstr "Medium" + +msgctxt "#30003" +msgid "High" +msgstr "Høy" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maksimal" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Shuffle Modus" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Glatt Preset Varighet" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Preset Varighet" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Beat Følsomhet" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Preset Pakke" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Standard Pakke" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Brukerdefinert Preset Mappe" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Bruker Preset Mappe" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Polish/strings.po new file mode 100644 index 000000000..1f3acd9a8 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Polish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Jakość renderowania" + +msgctxt "#30001" +msgid "Low" +msgstr "Niska" + +msgctxt "#30002" +msgid "Medium" +msgstr "Åšrednia" + +msgctxt "#30003" +msgid "High" +msgstr "Wysoka" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maksymalna" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Tryb mieszania" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Smooth Preset Duration" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "DÅ‚ugość efektu" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "CzuÅ‚ość uderzeÅ„" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paczka efektów" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "DomyÅ›lny zestaw" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Folder z ustawieniami zdefiniowny przez użytkownika" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Folder z ustawieniami użytkownika" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek." + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..037547093 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Qualidade do Render" + +msgctxt "#30001" +msgid "Low" +msgstr "Mínima" + +msgctxt "#30002" +msgid "Medium" +msgstr "Médio" + +msgctxt "#30003" +msgid "High" +msgstr "Máxima" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Máximo" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Modo Shuffle" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Duração predefinida Suave" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Duração do Preset" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibilidade da batida" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Pacote de presets" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Pacote Padrão" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Diretório pré-definido pelo usuário" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Pasta Preset Usuário" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f segs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..65b264ab7 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Portuguese/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Qualidade da renderização" + +msgctxt "#30001" +msgid "Low" +msgstr "Baixa" + +msgctxt "#30002" +msgid "Medium" +msgstr "Média" + +msgctxt "#30003" +msgid "High" +msgstr "Alta" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Máxima" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Modo aleatório" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Duração de Pré-Selecção Suave" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Duração de pré-selecção" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibilidade ao ritmo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Conjunto de pré-selecções" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Conjunto padrão" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Pasta de Pré-Selecções Definida " + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Pasta de Pré-Selecções do Utilizador" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f segundos" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Romanian/strings.po new file mode 100644 index 000000000..e4993d38d --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Romanian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Calitatea randare" + +msgctxt "#30001" +msgid "Low" +msgstr "Mică" + +msgctxt "#30002" +msgid "Medium" +msgstr "Medie" + +msgctxt "#30003" +msgid "High" +msgstr "Mare" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maximă" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Mod amestecare" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Durată presetări fin" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Durată presetări" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Senzitivitate bătăi" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Pachet presetări" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Pachet implicit" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Dosar presetări definite de utilizator" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Dosar presetări utilizator" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sec" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Russian/strings.po new file mode 100644 index 000000000..1e068f8f9 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Russian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "КачеÑтво отриÑовки" + +msgctxt "#30001" +msgid "Low" +msgstr "Ðизкое" + +msgctxt "#30002" +msgid "Medium" +msgstr "Среднее" + +msgctxt "#30003" +msgid "High" +msgstr "Ð’Ñ‹Ñокое" + +msgctxt "#30004" +msgid "Maximum" +msgstr "МакÑимальное" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Режим перемешиваниÑ" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð°" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "ДлительноÑть режима" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "ЧувÑтвительноÑть к ритму" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Ðабор наÑтроек" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Пакет по умолчанию" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Папка Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑких наÑтроек" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Папка наÑтроек пользователÑ" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f Ñ" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..e24d74011 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30001" +msgid "Low" +msgstr "низак" + +msgctxt "#30002" +msgid "Medium" +msgstr "Средње" + +msgctxt "#30003" +msgid "High" +msgstr "виÑок" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Serbian/strings.po new file mode 100644 index 000000000..4f8112523 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Serbian/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30001" +msgid "Low" +msgstr "nizak" + +msgctxt "#30002" +msgid "Medium" +msgstr "Srednje" + +msgctxt "#30003" +msgid "High" +msgstr "Visok" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Slovak/strings.po new file mode 100644 index 000000000..a83e2aa6e --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Slovak/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Kvalita vykreslovania" + +msgctxt "#30001" +msgid "Low" +msgstr "Nízka" + +msgctxt "#30002" +msgid "Medium" +msgstr "Stredná" + +msgctxt "#30003" +msgid "High" +msgstr "Vysoká" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maximálny" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Náhodný režim" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Doba trvania prechodu" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Trvanie nastavenia" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "CitlivosÅ¥ na rytmus" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Balík predvolieb" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Východzí balík" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Užívateľom nastavený adresár Predvolieb" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Užívateľský adresár Predvolieb" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f secs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..64082f586 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Slovenian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Kakovost izrisa" + +msgctxt "#30001" +msgid "Low" +msgstr "Nizka" + +msgctxt "#30002" +msgid "Medium" +msgstr "Srednja" + +msgctxt "#30003" +msgid "High" +msgstr "Visoka" + +msgctxt "#30004" +msgid "Maximum" +msgstr "NajviÅ¡ja" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "NaÄin meÅ¡anja" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Trajanje prelivanja med prednastavitvami" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Trajanje prednastavitev" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "ObÄutljivost na ritem" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paket prednastavitev" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Privzet paket" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "UporabniÅ¡ko doloÄena mapa s prednastavitvami" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "UporabniÅ¡ko doloÄena mapa" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sekund" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..b2bc2a756 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Calidad del renderizado" + +msgctxt "#30001" +msgid "Low" +msgstr "Baja" + +msgctxt "#30002" +msgid "Medium" +msgstr "Media" + +msgctxt "#30003" +msgid "High" +msgstr "Alta" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Máxima" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Modo aleatorio" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Suavizar la duración del ajuste preestablecido" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Duración del ajuste preestablecido" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibillidad del ritmo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paquete de ajustes preestablecidos" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Paquete por defecto" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Carpeta de ajustes preestablecidos definida por el usuario" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Carpeta de ajustes preestablecidos del usuario" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f seg" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..732b4a4f5 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Calidad del Renderizado" + +msgctxt "#30001" +msgid "Low" +msgstr "Bajo" + +msgctxt "#30002" +msgid "Medium" +msgstr "Media" + +msgctxt "#30003" +msgid "High" +msgstr "Alto" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Máximo" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Modo Aleatorio" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Duración del Preaujste Suave" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Duración del Preaujste" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibilidad del Ritmo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paquete del Preaujste" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Paquete Default" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Carpeta de Preaujstes Definidos por el Usuario" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Carpeta de Preaujstes de Usuario" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f segs" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish/strings.po new file mode 100644 index 000000000..f31df7d53 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Spanish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Calidad del renderizado" + +msgctxt "#30001" +msgid "Low" +msgstr "Baja" + +msgctxt "#30002" +msgid "Medium" +msgstr "Media" + +msgctxt "#30003" +msgid "High" +msgstr "Alta" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Máxima" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Modo aleatorio" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Suavizar la duración del ajuste preestablecido" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Duración del ajuste preestablecido" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Sensibillidad del ritmo" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Paquete de ajustes preestablecidos" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Paquete por defecto" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Carpeta de ajustes preestablecidos definida por el usuario" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Carpeta de ajustes preestablecidos del usuario" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f seg" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Swedish/strings.po new file mode 100644 index 000000000..5ad4f3df6 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Swedish/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "Renderingskvalitet" + +msgctxt "#30001" +msgid "Low" +msgstr "LÃ¥g" + +msgctxt "#30002" +msgid "Medium" +msgstr "Mellan" + +msgctxt "#30003" +msgid "High" +msgstr "Hög" + +msgctxt "#30004" +msgid "Maximum" +msgstr "Maximal" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Blandningsläge" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "Mjukt förvalslängd" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "Förvalslängd" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "Taktkänslighet" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Förvalspaket" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Standardpaket" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Användardefineradförvalsmapp" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "Användarförvalsmapp" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f sek" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Thai/strings.po new file mode 100644 index 000000000..1622cc396 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Thai/strings.po @@ -0,0 +1,30 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30001" +msgid "Low" +msgstr "ต่ำ" + +msgctxt "#30002" +msgid "Medium" +msgstr "ปานà¸à¸¥à¸²à¸‡" + +msgctxt "#30003" +msgid "High" +msgstr "สูง" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Turkish/strings.po new file mode 100644 index 000000000..82b8dc942 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Turkish/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "İşleyici Kalitesi" + +msgctxt "#30001" +msgid "Low" +msgstr "Düşük" + +msgctxt "#30002" +msgid "Medium" +msgstr "Orta" + +msgctxt "#30003" +msgid "High" +msgstr "Yüksek" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..033a1afd1 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/language/Ukrainian/strings.po @@ -0,0 +1,78 @@ +# XBMC Media Center language file +# Addon Name: projectM +# Addon id: visualization.projectm +# Addon version: 1.0.3 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#30000" +msgid "Render Quality" +msgstr "ЯкіÑть відображеннÑ" + +msgctxt "#30001" +msgid "Low" +msgstr "Мін." + +msgctxt "#30002" +msgid "Medium" +msgstr "СереднÑ" + +msgctxt "#30003" +msgid "High" +msgstr "МакÑ." + +msgctxt "#30004" +msgid "Maximum" +msgstr "МакÑимальна" + +msgctxt "#30005" +msgid "Shuffle Mode" +msgstr "Довільний вибір ефекту" + +msgctxt "#30006" +msgid "Smooth Preset Duration" +msgstr "М'Ñка зміна ефектів" + +msgctxt "#30007" +msgid "Preset Duration" +msgstr "ТриваліÑть ефекту" + +msgctxt "#30008" +msgid "Beat Sensitivity" +msgstr "ЧутливіÑть до такту музики" + +msgctxt "#30009" +msgid "Preset Pack" +msgstr "Ðабір ефектів" + +msgctxt "#30010" +msgid "Default Pack" +msgstr "Ðабір за змовчаннÑм" + +msgctxt "#30011" +msgid "User Defined Preset Folder" +msgstr "Папка ефектів вказана кориÑтувачем" + +msgctxt "#30012" +msgid "User Preset Folder" +msgstr "КориÑтувацька папка ефектів" + +msgctxt "#30050" +msgid "%2.0f secs" +msgstr "%2.0f Ñек" + +msgctxt "#30051" +msgid "%2.0f %%" +msgstr "%2.0f %%" diff --git a/usr/local/share/xbmc/addons/visualization.projectm/resources/settings.xml b/usr/local/share/xbmc/addons/visualization.projectm/resources/settings.xml new file mode 100644 index 000000000..1a8f83c7b --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.projectm/resources/settings.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/visualization.waveform/addon.xml b/usr/local/share/xbmc/addons/visualization.waveform/addon.xml new file mode 100644 index 000000000..268a0dee3 --- /dev/null +++ b/usr/local/share/xbmc/addons/visualization.waveform/addon.xml @@ -0,0 +1,96 @@ + + + + + Visualisering wat 2 golfvorm grafieke op die skerm vertoon + التصوير يظهر2 رسم بياني موجي على الشاشة + Ð’Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ‹Ñ ÑˆÑ‚Ð¾ паказвае 2 графікі Ñыгналу на Ñкране + Ð’Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€ÐµÐ´ÑтавÑща две оÑцилиращи вълни + Visualització que mostra 2 gràfics en forma d'ona a la pantalla + Vizualizace zobrazující 2 grafy průbÄ›hu vlny na obrazovce + Visualisering der viser 2 bølgeagtige grafer pÃ¥ skærmen + Eine Visualisierung, welche 2 wellenförmige Grafiken auf dem Bildschirm zeigt + Οπτικοποίηση που εμφανίζει 2 ΚυματομοÏφές στην οθόνη + Visualization showing 2 Waveform Graphs on the screen + Visualización mostrando 2 gráficos de ondas en la pantalla + Visualización mostrando 2 gráficos de ondas en la pantalla + Visualización que muestra 2 Gráficos de Forma de onda + Visuaal, mis näitab ekraanil kahte signaalikujulist graafikut + Kaksi aaltomuotograafia + Visualisation affichant 2 graphiques de forme d'onde à l'écran + Visualización amosando 2 gráficos en forma de onde na pantalla + חיזוי ×שר מציג 2 ×’×¨×¤×™×™× ×‘×¦×•×¨×ª גל על המסך + Vizualizacija koja prikazuje 2 waveform grafikona. + Vizualizáció két hullámformával + Visualizzatore che mostra 2 grafici di forma d'onda sullo schermo + ç”»é¢ã«2波形グラフを表示ã™ã‚‹ãƒ“ジュアライザー + ë‘ê°œì˜ ì›¨ì´ë¸Œí¼ì„ 보여주는 ìŒì•…시ê°í™” + Vizualizacija kuri parodo dvi garso bangas + Визуализација која покажува 2 брана на екранот + Visualisatie die twee grafieken in golfvorm weergeeft + Visualisator som viser to bølgeformede grafer pÃ¥ skjermen + Wizualizacja pokazujÄ…ca dwie fale dźwiÄ™ku + Visualização que mostra 2 gráficos ondulantes no ecrã + Visualização que mostra 2 gráficos ondulantes + Vizualizare care arată 2 grafice Waveform pe ecran + ВизуализациÑ, Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð½Ð° Ñкране 2 волновых графика + Visualisering som visar 2 vÃ¥gformsgrafer pÃ¥ skärmen + Vizualizácia zobrazujúca 2 grafy priebehu signálu + Vizualizacija zvoka z dvema valovnima oblikama + Vizualizim që shfaq 2 Grafikë Valëzues në ekran + Visualisering som visar 2 vÃ¥gformgrafer pÃ¥ skärmen + à¸à¸³à¸¥à¸±à¸‡à¹à¸ªà¸”งผลภาพเวอร์ชวลไลเซชั่น 'Waveform' เป็น 2 à¸à¸£à¸²à¸Ÿà¸ªà¸±à¸à¸à¸²à¸“บนหน้าจอ + Ð’Ñ–Ð·ÑƒÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð¿Ð¾ÐºÐ°Ð·ÑƒÑ” на екрані 2 лінії, що змінюютьÑÑ Ð² такт з музикою. + 在å±å¹•上显示两个波形图的å¯è§†åŒ–效果 + Golfvorm is 'n eenvoudige visualisering wat 2 golfvorm grafieke op die skerm vertoon, een elk vir Linker en Regter kanale wat beweeg op die maat van die musiek. + التشكيل الموجي هو تصوير بسيط يظهر2 رسم بياني موجي على الشاشة, واحد لقنوات اليسار Ùˆ اليمين التر تتحرك على وقع الموسيقى + Waveform is a simple Visualization showing 2 Waveform Graphs on the screen, One each for Left and Right channels that move to the beat of the music + Waveform предÑÑ‚Ð°Ð²Ñ Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ° на две оÑцилиращи вълни на екрана, по една за вÑеки канал (лÑв и деÑен), който реагират на ритъма на музиката. + Waveform és una visualització molt simple que mostra 2 gràfics en forma d'ona a la pantalla, un per a cada un dels canals, esquerre i dret, que es mouen al ritme de la música. + PrůbÄ›h vlny je jednoduchá vizualizace zobrazující 2 grafy průbÄ›hu vlny na obrazovce, které znázorňují levý a pravý kanál a pohybují se v rytmu hudby + Waveform er en simpel visualisering, der viser 2 bølgeagtige grafer pÃ¥ skærmen. Én til den venstre og én til den højre kanal, der bevæger sig til musikkens rytme. + Waveform ist eine einfache Visualisierung, welche 2 wellenförmige Grafiken zeigt. Je eine Grafik für den linken und rechten Kanal, welche sich im Takt der Musik bewegen + Το Waveform είναι μία απλή Οπτικοποίηση του εμφανίζει 2 ΚυματομοÏφές στην οθόνη, μία για το ΑÏιστεÏÏŒ και μία για το Δεξί κανάλι οι οποίες κινοÏνται στο Ïυθμό της μουσικής + Waveform is a simple Visualization showing 2 Waveform Graphs on the screen, One each for Left and Right channels that move to the beat of the music + Waveform es un sencillo visualizador que muestra 2 gráficos de ondas en la pantalla, uno para cada canal, derecho e izquierdo, que se mueven al ritmo de la música. + Waveform es un sencillo visualizador que muestra 2 gráficos de ondas en la pantalla, uno para cada canal, derecho e izquierdo, que se mueven al ritmo de la música. + Waveform es una Visualización simple que muestra 2 Gráficos de Forma de onda en la pantalla, uno para cada canal Izquierdo y Derecho que se mueven al ritmo de la música + Waveform on lihte visuaal, mis näitab ekraanil kahte signaalikujulist graafikut - üks vasaku ja teine parema kanali jaoks, mis mõlemad liiguvad muusika rütmis. + Waveform on kaksi aaltomuotograafia näyttävä yksinkertainen visualisointi. Toinen on vasemmalle ja toinen oikealle kanavalla ja ne liikkuvat musiikin tahdissa. + Waveform est une visualisation simple affichant deux graphiques de forme d'onde à l'écran. Chaque forme d'onde représente une voie, gauche et droite, et réagit selon le rythme de la musique. + Waveform é unha Visualización simple que amosa 2 gráficos en forma de onde na súa pantalla, unha por cada lateral correspondente ás canles de audio da esquerda e da dereita que se move ó ritmo da música + Waveform ×”×•× ×—×™×–×•×™ פשוט ×שר מציג 2 ×’×¨×¤×™×™× ×‘×¦×•×¨×ª גל על המסך, ×חד לכל ערוץ שמ×לי וימני ×שר ×–×– לפי קצב המוזיקה + Waveform je jednostavna vizualizacija koja prikazuje 2 waveform grafikona, po jedan za lijevi i desni kanal koji se pokreću u ritmu muzike. + A Waveform egy egyszerű vizualizáció, amely 2db hullámot mutat reprezentálva a bal és a jobb hangcsatornákat, melyek a zene ritmusára mozognak. + Waveform è un semplice visualizzatore che mostra 2 grafici di forma d'onda sullo schermo, uno per il canale destro e uno per quello sinistro, che si muovono a ritmo di musica + Waveform ã¯ç”»é¢ã«2波形グラフを表示ã™ã‚‹ã‚·ãƒ³ãƒ—ルãªãƒ“ジュアライザーã§ã™ã€‚音楽ã«åˆã‚ã›ã¦ã€å³ãƒãƒ£ãƒ³ãƒãƒ«ã€å·¦ãƒãƒ£ãƒ³ãƒãƒ«ã®æ³¢å½¢ãŒè¡¨ç¤ºã•れã¾ã™ã€‚ + Waveformì€ ê°„ë‹¨ížˆ ë‘ê°œì˜ ì›¨ì´ë¸Œí¼ì„ í™”ë©´ì— ë³´ì—¬ì¤ë‹ˆë‹¤. ê°ê° 왼쪽, 오른쪽 채ë„ì´ê³  ìŒì•…ì˜ ë¹„íŠ¸ì— ë”°ë¼ ì›€ì§ìž…니다. + Waveform yra paprasta vizualizacija katra rodo dvi garso bangas ekrane. Viena banga vieno kanalo garsas. + Бранови е едноÑтавна визуализација која покажува 2 брановидни графови на екран, по еден за деÑниот и левиот канал од музиката + Waveform is een simpele muziekvisualisatie die twee golfvormen op het scherm toont, respectievelijk voor het linker- en rechtergeluidskanaal. De golfvormen bewegen mee met de beat van de muziek. + Waveform er en enkel visualiserer. Waveform viser to bølgeformede grafer pÃ¥ skjermen som beveger seg til musikkens rytme. En for venstre og en for høyre lydkanal. + Waveform jest prostÄ… wizualizacjÄ… pokazujÄ…cÄ… dwie fale dźwiÄ™kowe na ekranie. Każda na jeden kanaÅ‚ dźwiÄ™ku. + O Waveform é uma visualização simples que mostra 2 gráficos ondulantes no ecrã, um para cada canal estéreo. Estas ondas movem-se ao ritmo da música. + O Waveform é um visualizador simples que mostra 2 gráficos ondulantes na tela, um para cada canal estéreo + Waveform este o vizualizare simplă care arată 2 grafice în formă de undă pe ecran, câte unul pentru fiecare canal stâng È™i drept È™i care se miÈ™că după bătăile muzicii. + Ð’ Ñтой визуализации отображаютÑÑ 2 графика Ð´Ð»Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾ и правого каналов, которые движутÑÑ Ð² такт музыке + Waveform är en enkel visualisering som visar 2 vÃ¥gformsgrafer pÃ¥ skärmen, en för vänster och en för höger kanal som rör sig i takt med musiken + "Waveform" je jednoduchá vizualizácia zobrazujúca 2 grafy priebehu signálu pre pravý a ľavý kanál, pohybujúce sa v rytme hudby + Waveform je preprosta vizualizacija, ki prikazuje valovni obliki zvoka iz levega in desnega kanala, ki sledita ritmu glasbe + Valëzuesi është një Vizualizim i thjeshtë që shfaq 2 Grafikë Valëzues në ekran, nga Një për secilin kanal, të Majtë dhe të Djathtë, që lëvizin sipas ritmit të muzikës + Waveform är en enkel visualisering som visar 2 vÃ¥gformgrafer pÃ¥ skärmen, en vardera för vänster och höger kanal som rör sig i takt med musiken. + Waveform เป็นà¸à¸²à¸£à¹à¸ªà¸”งผลภาพเวอร์ชวลไลเซชั่นพื้นà¸à¸²à¸™à¸—ี่จะà¹à¸ªà¸”งà¸à¸£à¸²à¸Ÿà¸ªà¸±à¸à¸à¸²à¸“เสียง 2 à¸à¸£à¸²à¸Ÿà¸šà¸™à¸«à¸™à¹‰à¸²à¸ˆà¸­ โดยเป็นà¸à¸£à¸²à¸Ÿà¸ªà¸±à¸à¸à¸²à¸“เสียงซ้ายà¹à¸¥à¸°à¸‚วาตามจังหวะของเพลง + Waveform Ñ” проÑтою візуалізацією що показує 2 оÑцилограми на екрані. Кожна Ð»Ñ–Ð½Ñ–Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð°Ñ” Ñвоєму каналу Ñ– змінюєтьÑÑ Ð² такт з музикою. + Waveform是一个简å•çš„å¯è§†åŒ–效果,它在å±å¹•上显示两个波形图,分别与音ä¹å·¦å³å£°é“的节æ‹ç›¸å‘¼åº”。 + all + + diff --git a/usr/local/share/xbmc/addons/visualization.waveform/icon.png b/usr/local/share/xbmc/addons/visualization.waveform/icon.png new file mode 100644 index 000000000..4cd7bee67 Binary files /dev/null and b/usr/local/share/xbmc/addons/visualization.waveform/icon.png differ diff --git a/usr/local/share/xbmc/addons/weather.wunderground/LICENSE.txt b/usr/local/share/xbmc/addons/weather.wunderground/LICENSE.txt new file mode 100644 index 000000000..ab123ffca --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/LICENSE.txt @@ -0,0 +1,282 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS +------------------------------------------------------------------------- diff --git a/usr/local/share/xbmc/addons/weather.wunderground/README.txt b/usr/local/share/xbmc/addons/weather.wunderground/README.txt new file mode 100644 index 000000000..2b7b7423c --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/README.txt @@ -0,0 +1,187 @@ +--------------------------- +DEFAULT XBMC WEATHER LABELS +--------------------------- + + +CURRENT +------- +Current.Location +Current.Condition +Current.Temperature +Current.Wind +Current.WindDirection +Current.Humidity +Current.FeelsLike +Current.UVIndex +Current.DewPoint +Current.OutlookIcon +Current.FanartCode + + +DAY [0-6] +--------- +Day%i.Title +Day%i.HighTemp +Day%i.LowTemp +Day%i.Outlook +Day%i.OutlookIcon +Day%i.FanartCode + + +WEATHERPROVIDER +---------------- +WeatherProvider + + + + +------------------------- +ADDITIONAL WEATHER LABELS +------------------------- + + +FORECAST +-------- +Forecast.IsFetched +Forecast.City +Forecast.State +Forecast.Country +Forecast.Updated + + +CURRENT +------- +Current.IsFetched +Current.WindDegree +Current.SolarRadiation +Current.Pressure +Current.Precipitation +Current.HeatIndex +Current.WindChill +Current.Visibility +Current.WindGust + + +TODAY +----- +Today.IsFetched +Today.Sunrise +Today.Sunset +Today.MoonPhase +Today.AvgHighTemperature +Today.AvgLowTemperature +Today.RecordHighTemperature +Today.RecordLowTemperature +Today.RecordHighYear +Today.RecordLowYear + + +DAILY [1-10] +------------ +Daily.IsFetched +Daily.%i.LongDay +Daily.%i.ShortDay +Daily.%i.LongDate +Daily.%i.ShortDate +Daily.%i.Outlook +Daily.%i.OutlookIcon +Daily.%i.FanartCode +Daily.%i.WindSpeed +Daily.%i.MaxWind +Daily.%i.WindDirection +Daily.%i.ShortWindDirection +Daily.%i.WindDegree +Daily.%i.Humidity +Daily.%i.MinHumidity +Daily.%i.MaxHumidity +Daily.%i.HighTemperature +Daily.%i.LowTemperature +Daily.%i.LongOutlookDay +Daily.%i.LongOutlookNight +Daily.%i.Precipitation +Daily.%i.Snow +Daily.%i.ChancePrecipitation + + +WEEKEND [1-2] +------------- +Weekend.IsFetched +Weekend.%i.LongDay +Weekend.%i.ShortDay +Weekend.%i.LongDate +Weekend.%i.ShortDate +Weekend.%i.Outlook +Weekend.%i.OutlookIcon +Weekend.%i.FanartCode +Weekend.%i.WindSpeed +Weekend.%i.MaxWind +Weekend.%i.WindDirection +Weekend.%i.ShortWindDirection +Weekend.%i.WindDegree +Weekend.%i.Humidity +Weekend.%i.MinHumidity +Weekend.%i.MaxHumidity +Weekend.%i.HighTemperature +Weekend.%i.LowTemperature +Weekend.%i.LongOutlookDay +Weekend.%i.LongOutlookNight +Weekend.%i.Precipitation +Weekend.%i.Snow +Weekend.%i.ChancePrecipitation + + +36HOUR [1-3] +------------ +36Hour.IsFetched +36Hour.%i.Forecast +36Hour.%i.TemperatureHeading +36Hour.%i.Temperature +36Hour.%i.Heading +36Hour.%i.ChancePrecipitation +36Hour.%i.OutlookIcon +36Hour.%i.FanartCode + + +HOURLY [1-36] +------------- +Hourly.IsFetched +Hourly.%i.Time +Hourly.%i.ShortDate +Hourly.%i.LongDate +Hourly.%i.Temperature +Hourly.%i.DewPoint +Hourly.%i.FeelsLike +Hourly.%i.Precipitation +Hourly.%i.Snow +Hourly.%i.HeatIndex +Hourly.%i.WindChill +Hourly.%i.Mslp +Hourly.%i.WindSpeed +Hourly.%i.WindDirection +Hourly.%i.ShortWindDirection +Hourly.%i.WindDegree +Hourly.%i.Humidity +Hourly.%i.UVIndex +Hourly.%i.ChancePrecipitation +Hourly.%i.Outlook +Hourly.%i.OutlookIcon +Hourly.%i.FanartCode + + +ALERTS [1-] +----------------------------- +Alerts.IsFetched +Alerts.%i.Description +Alerts.%i.Message +Alerts.%i.StartDate +Alerts.%i.EndDate +Alerts.%i.Significance +Alerts.RSS +Alerts +Alerts.Count + + +[MAP] +Map.IsFetched +MapPath + diff --git a/usr/local/share/xbmc/addons/weather.wunderground/addon.xml b/usr/local/share/xbmc/addons/weather.wunderground/addon.xml new file mode 100644 index 000000000..4bdb7e249 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/addon.xml @@ -0,0 +1,136 @@ + + + + + + + + + + Weer voorspelling vanaf wunderground.com + توقعات الطقس من wunderground.com + Прагноз надвор'Ñ Ð· wunderground.com + Синоптична прогноза от wunderground.com + Previsió del temps des de wunderground.com + PÅ™edpovÄ›Ä poÄasí z wunderground.com + Vejrudsigt fra wunderground.com + Wettervorhersage von wunderground.com + ΠÏόγνωση καιÏÎ¿Ï Î±Ï€ÏŒ το wunderground.com + Weather forecast from wunderground.com + Predicción meteorológica de wunderground.com + Pronóstico meteorológico de wunderground.com + Pronóstico de wunderground.com + Ilmaennustus portaalist wunderground.com + Eguraldi iragarpena wunderground.com-etik + Sääennusteet wunderground.com-sivustolta + Prévisions météo fournies par wunderground.com + Predición meteorolóxica de wunderground.com + תחזית מזג ×”×ויר מ×ת wunderground.com + Prognoza vremena od wunderground.com + IdÅ‘járás elÅ‘rejelzés a wunderground.com-tól + Veðurspár frá wunderground.com + Meteo fornito da wunderground.com + wunderground.com 天気予報 + wunderground.com 날씨예보 + Orų prognozÄ— nuo/iÅ¡ wunderground.com + ВременÑка прогноза од wunderground.com + Weersvoorspelling van wunderground.com + Værvarsel fra wunderground.com + Prognoza pogody ze strony wunderground.com + Previsão meteorológica a partir de wunderground.com + Previsão do tempo por wunderground.com + Starea vremii de la wunderground.com + Прогноз погоды Ñ Ñайта wunderground.com + PredpoveÄ poÄasia z wunderground.com + Vremenska napoved, ki jo zagotavlja wunderground.com + Väderprognos frÃ¥n wunderground.com + พยาà¸à¸£à¸“์อาà¸à¸²à¸¨à¸ˆà¸²à¸ wunderground.com + Hava durumu wunderground.com sitesinden alınır + Прогноз погоди з wunderground.com + æ¥è‡ªwunderground.com的天气预报 + weatherground.com 上的天氣é å ± + Weer voorspelling verskaf deur Weather Underground (http://www.wunderground.com/) + توقعات الطقس من تقديم Weather Underground (http://www.wunderground.com/) + Прагноз надвор'Ñ Ñтвораны Weather Underground (http://www.wunderground.com/) + Синоптична прогноза Ñ Ð´Ð°Ð½Ð½Ð¸Ñ‚Ðµ от Weather Underground (http://www.wunderground.com/) + Previsió del temps proporcionada per Weather Underground (http://www.wunderground.com/) + PÅ™edpovÄ›Ä poÄasí poskytnuta stránkou Weather Underground (http://www.wunderground.com/) + Vejrudsigten leveres af Weather Underground (http://www.wunderground.com/) + Wettervorhersage bereitgestellt durch Weather Underground (http://www.wunderground.com/) + Η Ï€Ïόγνωση καιÏÎ¿Ï Ï€Î±Ïέχεται από το Weather Underground (http://www.wunderground.com/) + Weather forecast provided by Weather Underground (http://www.wunderground.com/) + Predicción meteorológica proporcionada por Weather Underground (http://www.wunderground.com/) + Pronóstico meteorológico proporcionado por Weather Underground (http://www.wunderground.com/) + Pronóstico del tiempo por Weather Underground (http://www.wunderground.com/) + Ilma ennustab Weather Underground (http://www.wunderground.com/) + Sääennusteet Weather Underground -sivuston tarjoamina (http://www.wunderground.com/) + Prévisions météo fournies par Weather Underground (http://www.wunderground.com/) + Predición meteorolóxica provista por Weather Underground (http://www.wunderground.com/) + תחזית מזג ×”×ויר ניתנת ×¢"×™ Weather Underground (http://www.wunderground.com + Prognozu vremena omogućava Weather Underground (http://www.wunderground.com/) + Az elÅ‘rejelzést a Weather Underground (http://www.wunderground.com/) szolgáltatja + Veðurspár frá Weather Underground (http://www.wunderground.com/) + Meteo fornito da Weather Underground (http://www.wunderground.com/) + Weather Underground (http://www.wunderground.com/) æä¾›ã®å¤©æ°—予報 + Weather Underground (http://www.wunderground.com/)ê°€ 제공하는 날씨예보 + Orų prognozÄ— teikiama (pateikiama) iÅ¡ Weather Underground (http://www.wunderground.com/) + ВременÑка прогноза обезбедена од Weather Underground (http://www.wunderground.com/) + Weersvoorspelling voorzien door Weather Underground (http://www.wunderground.com/) + Værvarsel fra Weather Underground (http://www.wunderground.com) + Prognoza pogody jest dostarczona dziÄ™ki uprzejmoÅ›ci serwisu: (http://www.wunderground.com/) + Previsão meteorológica fornecida por Weather Underground (http://www.wunderground.com/) + Previsão do tempo por Weather Underground (http://www.wunderground.com/) + Starea vremii furnizată de Weather Underground (http://www.wunderground.com/) + Прогноз погоды предоÑтавлен компанией Weather Underground (http://www.wunderground.com/) + PredpoveÄ poÄasia poskytovaná od Weather Underground (http://www.wunderground.com/) + Vremenska napoved, ki jo zagotavlja Weather Underground (http://www.wunderground.com/) + Väderprognos tillhandahÃ¥llen av Weather Underground (http://www.wunderground.com/) + พยาà¸à¸£à¸“์อาà¸à¸²à¸¨à¹‚ดย Weather Underground (http://www.wunderground.com/) + Hava Durumu Weather Underground tarafından saÄŸlanır (http://www.wunderground.com/) + Прогноз погоди надано Weather Underground (http://www.wunderground.com/) + ç”±Weather Underground(http://www.wunderground.com/)æä¾›çš„天气预报 + 天氣é å ±ç”± Weather Underground (http://www.wunderground.com/) 所æä¾› + Die gebruik van hierdie byvoegsel impliseer dat U saamstem met die Terme van Diens uiteengesit op http://www.wunderground.com/weather/api/d/terms.html + استعمالك لهذه Ø§Ù„Ø¥Ø¶Ø§ÙØ© يعني انك واÙقت على شروط الإستخدام الموجودة على الرابط http://www.wunderground.com/weather/api/d/terms.html + ВыкарыÑтаньне гÑтага дадатку пацьвÑрджае што вы згаджаецеÑÑ Ð· Умовамі ВыкарыÑÑ‚Ð°Ð½ÑŒÐ½Ñ ÑˆÑ‚Ð¾ знаходзÑцца на http://www.wunderground.com/weather/api/d/terms.html + УпотребÑвайки добавката Вие Ñе ÑъглаÑÑвате Ñ ÑƒÑловиÑта за ползване на уÑлугата, които Ñе намират на http://www.wunderground.com/weather/api/d/terms.html + L'ús d'aquest complement implica que vostè ha acceptat els termes de servei ubicats a http://www.wunderground.com/weather/api/d/terms.html + Používáním tohoto rozšíření schvalujete podmínky užívání umístÄ›né na http://www.wunderground.com/weather/api/d/terms.html + Brug af denne add-on indebærer, at du har erklæret dig enig i vilkÃ¥rene for tjenesten, der findes pÃ¥ http://www.wunderground.com/weather/api/d/terms.html + Mit Benutzung dieses Addons bestätigen Sie, dass Sie den Nutzungsbedingungen auf http://www.wunderground.com/weather/api/d/terms.html zustimmen. + ΧÏήση Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… Ï€Ïόσθετου συνεπάγεται την αποδοχή των ÎŒÏων ΧÏήσης της ΥπηÏεσίας (Terms of Service) οι οποίοι βÏίσκονται στο http://www.wunderground.com/weather/api/d/terms.html + Use of this add-on implies that you have agreed to the Terms of Service located at http://www.wunderground.com/weather/api/d/terms.html + Al usar este complemento, aceptas los términos de uso de http://www.wunderground.com/weather/api/d/terms.html + Al usar este complemento, aceptas los términos de uso de http://www.wunderground.com/weather/api/d/terms.html + El uso de este add-on implica que usted esta de acuerdo con los Términos de Servicio localizados en http://www.wunderground.com/weather/api/d/terms.html + Selle lisamooduli kasutamine viitab sellele, et te olete nõustunud kasutajatingimustega aadressil http://www.wunderground.com/weather/api/d/terms.html + Gehigarri hau erabiltzeak http://www.wunderground.com/weather/api/d/terms.html -en aurkitzen diren zerbitzu baldintzak onartzen inplikatzen du. + Tämän lisäosan käyttäminen tarkoittaa, että olet hyväksynyt osoitteessa http://www.wunderground.com/weather/api/d/terms.html sijaitsevat käyttöehdot + L'utilisation de cette extension implique votre acceptation des Conditions Générales d'Utilisation disponibles sur http://www.wunderground.com/weather/api/d/terms.html + Empregar este Engadido implica que vostede aceptou os termos de servizo localizados en http://www.wunderground.com/weather/api/d/terms.html + שימוש בתוסף ×–×” משתמע ש×ישרת ×ת תנ××™ השימוש ×שר ×ž×ž×•×§×ž×™× ×‘×›×ª×•×‘×ª הב××” http://www.wunderground.com/weather/api/d/terms.html + Upotreba ovog add-ona podrazumjeva da se slažete sa Pravilima koriÅ¡tenja koja se nalaze na http://www.wunderground.com/weather/api/d/terms.html + A kiegészítÅ‘ használatával elfogadod a következÅ‘ feltételeket: http://www.wunderground.com/weather/api/d/terms.html + Notkun á þessari viðbót gefur til kynna að þú hafir samþykkt skilmálana sem finna má á http://www.wunderground.com/weather/api/d/terms.html + Usando questo add-on accetti i Termini di Servizio consultabili su http://www.wunderground.com/weather/api/d/terms.html + ã“ã®ã‚¢ãƒ‰ã‚ªãƒ³ã‚’使ã†ã¨ã€http://www.wunderground.com/weather/api/d/terms.html ã«ã‚ã‚‹è¦ç´„ã«åˆæ„ã—ãŸã‚‚ã®ã¨è¦‹ãªã•れã¾ã™ + ì´ ì• ë“œì˜¨ì„ ì‚¬ìš©í•˜ëŠ” ê²ƒì€ http://www.wunderground.com/weather/api/d/terms.html ì— ìžˆëŠ” 서비스 ì•½ê´€ì— ë™ì˜í•¨ì„ ì˜ë¯¸í•©ë‹ˆë‹¤ + Naudodami šį priedÄ… jÅ«s sutinate(-kote) su paslaugų teikimo sÄ…lygomis esanÄiomis http://www.wunderground.com/weather/api/d/terms.html + КориÑтење на овој додаток имплицира дека Ñе ÑоглаÑувате Ñо уÑловите за кориÑтење кои Ñе наоѓаат на http://www.wunderground.com/weather/api/d/terms.html + Het gebruik van deze add-on impliceert dat je akkoord gaat met de service-voorwaarden op http://www.wunderground.com/weather/api/d/terms.html + Bruken av dette tillegget betinger at du har godkjent brukervilkÃ¥rene pÃ¥ http://www.wunderground.com/weather/api/d/terms.html + Korzystanie z tego dodatku jest równoważne z akceptacjÄ… regulaminu dostÄ™pnego pod adresem: http://www.wunderground.com/weather/api/d/terms.html + O uso deste Add-on implica o seu acordo com os Termos do Serviço. Pode encontrá-los em http://www.wunderground.com/weather/api/d/terms.html + Usar este add-on implica que você concorda com os termos de uso localizados em http://www.wunderground.com/weather/api/d/terms.html + Folosirea acestui plugin implică acceptarea Termenilor È™i Serviciilor aflate la adresa http://www.wunderground.com/weather/api/d/terms.html + ИÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñто дополнение, вы ÑоглашаетеÑÑŒ Ñ ÑƒÑловиÑми предоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑƒÑлуг, доÑтупными по адреÑу http://www.wunderground.com/weather/api/d/terms.html + Používaním tohto doplnku súhlasíte s podmienkami používania služby umiestnenými na http://www.wunderground.com/weather/api/d/terms.html + Z uporabo vtiÄnika se strinjate s Pogoji uporabe, ki se nahajajo na http://www.wunderground.com/weather/api/d/terms.html + Användning av detta tillägg innebär att ni har accepterat användarvillkoren som gÃ¥r att hitta pÃ¥ http://www.wunderground.com/weather/api/d/terms.html + ในà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸šà¸£à¸´à¸à¸²à¸£à¹‚ปรà¹à¸à¸£à¸¡à¹€à¸ªà¸£à¸´à¸¡à¸™à¸µà¹‰à¸«à¸¡à¸²à¸¢à¸„วามว่าคุณได้ยอมรับเงื่อนไขในà¸à¸²à¸£à¹ƒà¸«à¹‰à¸šà¸£à¸´à¸à¸²à¸£à¹‚ดย http://www.wunderground.com/weather/api/d/terms.html + СкориÑтавшиÑÑŒ цією надбудовою, ви тим Ñамим погоджуєтеÑÑ Ð· умовами викориÑтаннÑ: http://www.wunderground.com/weather/api/d/terms.html + 使用此扩展功能æ„味ç€ä½ åŒæ„此连接下的æœåŠ¡æ¡æ¬¾ï¼šhttp://www.wunderground.com/weather/api/d/terms.html + ä½¿ç”¨é€™å€‹é™„åŠ å…ƒä»¶ä»£è¡¨ä½ åŒæ„ http://www.wunderground.com/weather/api/d/terms.html æ‰€è¼‰ä¹‹ä½¿ç”¨è€…æ¢æ¬¾ + all + + diff --git a/usr/local/share/xbmc/addons/weather.wunderground/changelog.txt b/usr/local/share/xbmc/addons/weather.wunderground/changelog.txt new file mode 100644 index 000000000..a7193a782 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/changelog.txt @@ -0,0 +1,127 @@ +v1.0.9 +- updated language files from Transifex + +v1.0.8 +- language update + +v1.0.7 +- fixed failed to run when there's a special char in username +- switch to 2 day weekend forecast + +v1.0.6 +- updated language files from Transifex + +v1.0.5 +- fix incorrect icon for storm condition + +v1.0.4 +- replace some html chars in the api response + +v1.0.3 +- added fanart image +- mapping for new languages supported by xbmc + +v1.0.2 +- better error handling + +v1.0.1 +- fix encoding issues + +v1.0.0 +- bump version for frodo +- added .po language files + +v0.1.12 +- updated wunderground api module + +v0.1.11 +- added spanish translation +- avoid crashes on api error responses +- fix invalid humidity value + +v0.1.10 +- add 'L' weather alert severity +- filter invalid response code +- don't add beaufort unit to windspeeds +- fix default zoom level +- fixed windspeed for uk based locations in 36 hour and weekend forecast +- localize AM/PM strings +- made animated maps optional + +v0.1.9 +- fixed json error when no files are found +- fix 36 hour heading and temp (again) +- better detection of systems that use AM/PM time format +- provide windspeeds in beaufort for systems that use it + +v0.1.8 +- fixed escape slashes in path + +v0.1.7 +- clear alert properties when there are no alerts +- delete chached images when weather location is changed + +v0.1.6 +- fix 36 hour heading and temp for certain languages +- provide 3 day weekend forecast +- keep 4 hours worth of satellite images to create an animation + +v0.1.5 +- fixed weather icon location +- fixed temp unit for hourly feels like + +v0.1.4 +- fetch satellite image instead of radar + +v0.1.3 +- disabled yesterdays weather and animated radar images (we don't have free access to that data) +- added static radar image + +v0.1.2 +- bug fixes + +v0.1.1 +- beta release + +v0.1.0 +- wait for thread to finish before setting properties + +v0.0.9 +- implement threading +- added wundermap support + +v0.0.8 +- use ascii strings for location search +- added advanced configuration +- added debug logging +- added Current.Location window property +- moved api code to a separate module (other weather addons can use it fetch wunderground data) +- localize weather data + +v0.0.7 +- fix: import error on Windows with non/extended-ascii profile paths + +v0.0.6 +- ignore various n/a values in wu data +- use kph value for windspeed + +v0.0.5 +- add geoip support +- fetch 7 day forecast +- workaround: when user switches weather addon, xbmc may call the script with a location id that has not been setup. try to fallback to id 1 in this case. + +v0.0.4 +- don't fetch weather when no locations are set up +- fix incrementing values on each weather refresh when no locations are set up +- workaround: stop xbmc from running the script in a loop when no locations are set up + +v0.0.3 +- added Simplified Chinese translation + +v0.0.2 +- show dialog instead of empty list when no locations are found +- added german translation +- use 'location' string instead of 'area code' + +v0.0.1 +- initial beta diff --git a/usr/local/share/xbmc/addons/weather.wunderground/default.py b/usr/local/share/xbmc/addons/weather.wunderground/default.py new file mode 100644 index 000000000..c86590bad --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/default.py @@ -0,0 +1,621 @@ +# -*- coding: utf-8 -*- + +# * This Program is free software; you can redistribute it and/or modify +# * it under the terms of the GNU General Public License as published by +# * the Free Software Foundation; either version 2, or (at your option) +# * any later version. +# * +# * This Program is distributed in the hope that it will be useful, +# * but WITHOUT ANY WARRANTY; without even the implied warranty of +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# * GNU General Public License for more details. +# * +# * You should have received a copy of the GNU General Public License +# * along with XBMC; see the file COPYING. If not, write to +# * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# * http://www.gnu.org/copyleft/gpl.html + + +import os, sys, socket, unicodedata, urllib2, time, base64 +from datetime import date +import xbmc, xbmcgui, xbmcaddon, xbmcvfs +if sys.version_info < (2, 7): + import simplejson +else: + import json as simplejson + +__addon__ = xbmcaddon.Addon() +__addonname__ = __addon__.getAddonInfo('name') +__addonid__ = __addon__.getAddonInfo('id') +__cwd__ = __addon__.getAddonInfo('path').decode("utf-8") +__version__ = __addon__.getAddonInfo('version') +__language__ = __addon__.getLocalizedString +__resource__ = xbmc.translatePath( os.path.join( __cwd__, 'resources', 'lib' ).encode("utf-8") ).decode("utf-8") + +sys.path.append(__resource__) + +from utilities import * +from wunderground import wundergroundapi + +WUNDERGROUND_LOC = 'http://autocomplete.wunderground.com/aq?query=%s&format=JSON' +WEATHER_FEATURES = 'hourly/conditions/forecast10day/astronomy/almanac/alerts/satellite' +FORMAT = 'json' +DEBUG = __addon__.getSetting('Debug') +WEATHER_ICON = xbmc.translatePath('special://temp/weather/%s.png').decode("utf-8") +WEATHER_WINDOW = xbmcgui.Window(12600) +LANGUAGE = xbmc.getLanguage().lower() +SPEEDUNIT = xbmc.getRegion('speedunit') +TEMPUNIT = unicode(xbmc.getRegion('tempunit'),encoding='utf-8') +TIMEFORMAT = xbmc.getRegion('meridiem') +DATEFORMAT = xbmc.getRegion('dateshort') +MAXDAYS = 6 + +socket.setdefaulttimeout(10) + +def log(txt): + if DEBUG == 'true': + if isinstance (txt,str): + txt = txt.decode("utf-8") + message = u'%s: %s' % (__addonid__, txt) + xbmc.log(msg=message.encode("utf-8"), level=xbmc.LOGDEBUG) + +def set_property(name, value): + WEATHER_WINDOW.setProperty(name, value) + +def refresh_locations(): + locations = 0 + for count in range(1, 4): + loc_name = __addon__.getSetting('Location%s' % count) + if loc_name != '': + locations += 1 + else: + __addon__.setSetting('Location%sid' % count, '') + set_property('Location%s' % count, loc_name) + set_property('Locations', str(locations)) + log('available locations: %s' % str(locations)) + +def find_location(loc): + url = WUNDERGROUND_LOC % urllib2.quote(loc) + try: + req = urllib2.urlopen(url) + response = req.read() + req.close() + except: + response = '' + return response + +def location(string): + locs = [] + locids = [] + log('location: %s' % string) + loc = unicodedata.normalize('NFKD', unicode(string, 'utf-8')).encode('ascii','ignore') + log('searching for location: %s' % loc) + query = find_location(loc) + log('location data: %s' % query) + data = parse_data(query) + if data != '' and data.has_key('RESULTS'): + for item in data['RESULTS']: + location = item['name'] + locationid = item['l'][3:] + locs.append(location) + locids.append(locationid) + return locs, locids + +def geoip(): + retry = 0 + while (retry < 6) and (not xbmc.abortRequested): + query = wundergroundapi('geolookup', None, 'autoip', FORMAT) + if query != '': + retry = 6 + else: + retry += 1 + xbmc.sleep(10000) + log('geoip download failed') + log('geoip data: %s' % query) + data = parse_data(query) + if data != '' and data.has_key('location'): + location = data['location']['city'] + locationid = data['location']['l'][3:] + __addon__.setSetting('Location1', location) + __addon__.setSetting('Location1id', locationid) + log('geoip location: %s' % location) + else: + locationid = '' + return locationid + +def forecast(loc): + try: + lang = LANG[LANGUAGE] + except: + lang = 'EN' + opt = 'lang:' + lang + log('weather location: %s' % loc) + retry = 0 + while (retry < 6) and (not xbmc.abortRequested): + query = wundergroundapi(WEATHER_FEATURES, opt, loc, FORMAT) + if query != '': + retry = 6 + else: + retry += 1 + xbmc.sleep(10000) + log('weather download failed') + log('forecast data: %s' % query) + data = parse_data(query) + if data != '' and not data.has_key('error'): + properties(data,loc) + else: + clear() + +def clear(): + set_property('Current.Condition' , 'N/A') + set_property('Current.Temperature' , '0') + set_property('Current.Wind' , '0') + set_property('Current.WindDirection' , 'N/A') + set_property('Current.Humidity' , '0') + set_property('Current.FeelsLike' , '0') + set_property('Current.UVIndex' , '0') + set_property('Current.DewPoint' , '0') + set_property('Current.OutlookIcon' , 'na.png') + set_property('Current.FanartCode' , 'na') + for count in range (0, MAXDAYS+1): + set_property('Day%i.Title' % count, 'N/A') + set_property('Day%i.HighTemp' % count, '0') + set_property('Day%i.LowTemp' % count, '0') + set_property('Day%i.Outlook' % count, 'N/A') + set_property('Day%i.OutlookIcon' % count, 'na.png') + set_property('Day%i.FanartCode' % count, 'na') + +def parse_data(json): + try: + raw = json.replace('
',' ').replace('ä','ä') # wu api bugs + reply = raw.replace('"-999%"','""').replace('"-9999.00"','""').replace('"-9998"','""').replace('"NA"','""') # wu will change these to null responses in the future + data = simplejson.loads(reply) + except: + log('failed to parse weather data') + data = '' + return data + +def properties(data,loc): +# standard properties + weathercode = WEATHER_CODES[data['current_observation']['icon_url'][31:-4]] + location = __addon__.getSetting('Location%s' % sys.argv[1]) + if (location == '') and (sys.argv[1] != '1'): + location = __addon__.getSetting('Location1') + set_property('Current.Location' , location) + set_property('Current.Condition' , data['current_observation']['weather']) + set_property('Current.Temperature' , str(data['current_observation']['temp_c'])) + set_property('Current.Wind' , str(data['current_observation']['wind_kph'])) + set_property('Current.WindDirection' , data['current_observation']['wind_dir']) + set_property('Current.Humidity' , data['current_observation']['relative_humidity'].rstrip('%')) + set_property('Current.FeelsLike' , data['current_observation']['feelslike_c']) + set_property('Current.UVIndex' , data['current_observation']['UV']) + set_property('Current.DewPoint' , str(data['current_observation']['dewpoint_c'])) + set_property('Current.OutlookIcon' , '%s.png' % weathercode) + set_property('Current.FanartCode' , weathercode) + for count, item in enumerate(data['forecast']['simpleforecast']['forecastday']): + weathercode = WEATHER_CODES[item['icon_url'][31:-4]] + set_property('Day%i.Title' % count, item['date']['weekday']) + set_property('Day%i.HighTemp' % count, str(item['high']['celsius'])) + set_property('Day%i.LowTemp' % count, str(item['low']['celsius'])) + set_property('Day%i.Outlook' % count, item['conditions']) + set_property('Day%i.OutlookIcon' % count, '%s.png' % weathercode) + set_property('Day%i.FanartCode' % count, weathercode) + if count == MAXDAYS: + break +# forecast properties + set_property('Forecast.IsFetched' , 'true') + set_property('Forecast.City' , data['current_observation']['display_location']['city']) + set_property('Forecast.State' , data['current_observation']['display_location']['state_name']) + set_property('Forecast.Country' , data['current_observation']['display_location']['country']) + update = time.localtime(float(data['current_observation']['observation_epoch'])) + if DATEFORMAT[1] == 'm': + localdate = WEEKDAY[update[6]] + ' ' + MONTH[update[1]] + ' ' + str(update[2]) + ', ' + str(update[0]) + else: + localdate = WEEKDAY[update[6]] + ' ' + str(update[2]) + ' ' + MONTH[update[1]] + ' ' + str(update[0]) + if TIMEFORMAT != '/': + localtime = time.strftime('%I:%M%p', update) + else: + localtime = time.strftime('%H:%M', update) + set_property('Forecast.Updated' , localdate + ' - ' + localtime) +# current properties + set_property('Current.IsFetched' , 'true') + set_property('Current.WindDegree' , str(data['current_observation']['wind_degrees']) + u'°') + set_property('Current.SolarRadiation' , str(data['current_observation']['solarradiation'])) + if 'F' in TEMPUNIT: + set_property('Current.Pressure' , data['current_observation']['pressure_in'] + ' inHg') + set_property('Current.Precipitation' , data['current_observation']['precip_1hr_in'] + ' in') + set_property('Current.HeatIndex' , str(data['current_observation']['heat_index_f']) + TEMPUNIT) + set_property('Current.WindChill' , str(data['current_observation']['windchill_f']) + TEMPUNIT) + else: + set_property('Current.Pressure' , data['current_observation']['pressure_mb'] + ' mb') + set_property('Current.Precipitation' , data['current_observation']['precip_1hr_metric'] + ' mm') + set_property('Current.HeatIndex' , str(data['current_observation']['heat_index_c']) + TEMPUNIT) + set_property('Current.WindChill' , str(data['current_observation']['windchill_c']) + TEMPUNIT) + if SPEEDUNIT == 'mph': + set_property('Current.Visibility' , data['current_observation']['visibility_mi'] + ' mi') + set_property('Current.WindGust' , str(data['current_observation']['wind_gust_mph']) + ' ' + SPEEDUNIT) + elif SPEEDUNIT == 'Beaufort': + set_property('Current.Visibility' , data['current_observation']['visibility_km'] + ' km') + set_property('Current.WindGust' , KPHTOBFT(data['current_observation']['wind_gust_kph'])) + else: + set_property('Current.Visibility' , data['current_observation']['visibility_km'] + ' km') + set_property('Current.WindGust' , str(data['current_observation']['wind_gust_kph']) + ' ' + SPEEDUNIT) +# today properties + set_property('Today.IsFetched' , 'true') + if TIMEFORMAT != '/': + AM = unicode(TIMEFORMAT.split('/')[0],encoding='utf-8') + PM = unicode(TIMEFORMAT.split('/')[1],encoding='utf-8') + hour = int(data['moon_phase']['sunrise']['hour']) % 24 + isam = (hour >= 0) and (hour < 12) + if isam: + hour = ('12' if (hour == 0) else '%02d' % (hour)) + set_property('Today.Sunrise' , hour.lstrip('0') + ':' + data['moon_phase']['sunrise']['minute'] + ' ' + AM) + else: + hour = ('12' if (hour == 12) else '%02d' % (hour-12)) + set_property('Today.Sunrise' , hour.lstrip('0') + ':' + data['moon_phase']['sunrise']['minute'] + ' ' + PM) + hour = int(data['moon_phase']['sunset']['hour']) % 24 + isam = (hour >= 0) and (hour < 12) + if isam: + hour = ('12' if (hour == 0) else '%02d' % (hour)) + set_property('Today.Sunset' , hour.lstrip('0') + ':' + data['moon_phase']['sunset']['minute'] + ' ' + AM) + else: + hour = ('12' if (hour == 12) else '%02d' % (hour-12)) + set_property('Today.Sunset' , hour.lstrip('0') + ':' + data['moon_phase']['sunset']['minute'] + ' ' + PM) + else: + set_property('Today.Sunrise' , data['moon_phase']['sunrise']['hour'] + ':' + data['moon_phase']['sunrise']['minute']) + set_property('Today.Sunset' , data['moon_phase']['sunset']['hour'] + ':' + data['moon_phase']['sunset']['minute']) + set_property('Today.moonphase' , MOONPHASE(int(data['moon_phase']['ageOfMoon']), int(data['moon_phase']['percentIlluminated']))) + if 'F' in TEMPUNIT: + set_property('Today.AvgHighTemperature' , data['almanac']['temp_high']['normal']['F'] + TEMPUNIT) + set_property('Today.AvgLowTemperature' , data['almanac']['temp_low']['normal']['F'] + TEMPUNIT) + try: + set_property('Today.RecordHighTemperature' , data['almanac']['temp_high']['record']['F'] + TEMPUNIT) + set_property('Today.RecordLowTemperature' , data['almanac']['temp_low']['record']['F'] + TEMPUNIT) + except: + set_property('Today.RecordHighTemperature' , '') + set_property('Today.RecordLowTemperature' , '') + else: + set_property('Today.AvgHighTemperature' , data['almanac']['temp_high']['normal']['C'] + TEMPUNIT) + set_property('Today.AvgLowTemperature' , data['almanac']['temp_low']['normal']['C'] + TEMPUNIT) + try: + set_property('Today.RecordHighTemperature' , data['almanac']['temp_high']['record']['C'] + TEMPUNIT) + set_property('Today.RecordLowTemperature' , data['almanac']['temp_low']['record']['C'] + TEMPUNIT) + except: + set_property('Today.RecordHighTemperature' , '') + set_property('Today.RecordLowTemperature' , '') + try: + set_property('Today.RecordHighYear' , data['almanac']['temp_high']['recordyear']) + set_property('Today.RecordLowYear' , data['almanac']['temp_low']['recordyear']) + except: + set_property('Today.RecordHighYear' , '') + set_property('Today.RecordLowYear' , '') +# daily properties + set_property('Daily.IsFetched', 'true') + for count, item in enumerate(data['forecast']['simpleforecast']['forecastday']): + weathercode = WEATHER_CODES[item['icon_url'][31:-4]] + set_property('Daily.%i.LongDay' % (count+1), item['date']['weekday']) + set_property('Daily.%i.ShortDay' % (count+1), item['date']['weekday_short']) + if DATEFORMAT[1] == 'm': + set_property('Daily.%i.LongDate' % (count+1), item['date']['monthname'] + ' ' + str(item['date']['day'])) + set_property('Daily.%i.ShortDate' % (count+1), MONTH[item['date']['month']] + ' ' + str(item['date']['day'])) + else: + set_property('Daily.%i.LongDate' % (count+1), str(item['date']['day']) + ' ' + item['date']['monthname']) + set_property('Daily.%i.ShortDate' % (count+1), str(item['date']['day']) + ' ' + MONTH[item['date']['month']]) + set_property('Daily.%i.Outlook' % (count+1), item['conditions']) + set_property('Daily.%i.OutlookIcon' % (count+1), WEATHER_ICON % weathercode) + set_property('Daily.%i.FanartCode' % (count+1), weathercode) + if SPEEDUNIT == 'mph': + set_property('Daily.%i.WindSpeed' % (count+1), str(item['avewind']['mph']) + ' ' + SPEEDUNIT) + set_property('Daily.%i.MaxWind' % (count+1), str(item['maxwind']['mph']) + ' ' + SPEEDUNIT) + elif SPEEDUNIT == 'Beaufort': + set_property('Daily.%i.WindSpeed' % (count+1), KPHTOBFT(item['avewind']['kph'])) + set_property('Daily.%i.MaxWind' % (count+1), KPHTOBFT(item['maxwind']['kph'])) + else: + set_property('Daily.%i.WindSpeed' % (count+1), str(item['avewind']['kph']) + ' ' + SPEEDUNIT) + set_property('Daily.%i.MaxWind' % (count+1), str(item['maxwind']['kph']) + ' ' + SPEEDUNIT) + set_property('Daily.%i.WindDirection' % (count+1), item['avewind']['dir']) + set_property('Daily.%i.ShortWindDirection' % (count+1), item['avewind']['dir']) + set_property('Daily.%i.WindDegree' % (count+1), str(item['avewind']['degrees']) + u'°') + set_property('Daily.%i.Humidity' % (count+1), str(item['avehumidity']) + '%') + set_property('Daily.%i.MinHumidity' % (count+1), str(item['minhumidity']) + '%') + set_property('Daily.%i.MaxHumidity' % (count+1), str(item['maxhumidity']) + '%') + if 'F' in TEMPUNIT: + set_property('Daily.%i.HighTemperature' % (count+1), str(item['high']['fahrenheit']) + TEMPUNIT) + set_property('Daily.%i.LowTemperature' % (count+1), str(item['low']['fahrenheit']) + TEMPUNIT) + set_property('Daily.%i.LongOutlookDay' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count]['fcttext']) + set_property('Daily.%i.LongOutlookNight' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count+1]['fcttext']) + set_property('Daily.%i.Precipitation' % (count+1), str(item['qpf_day']['in']) + ' in') + set_property('Daily.%i.Snow' % (count+1), str(item['snow_day']['in']) + ' in') + else: + set_property('Daily.%i.HighTemperature' % (count+1), str(item['high']['celsius']) + TEMPUNIT) + set_property('Daily.%i.LowTemperature' % (count+1), str(item['low']['celsius']) + TEMPUNIT) + set_property('Daily.%i.LongOutlookDay' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count]['fcttext_metric']) + set_property('Daily.%i.LongOutlookNight' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count+1]['fcttext_metric']) + set_property('Daily.%i.Precipitation' % (count+1), str(item['qpf_day']['mm']) + ' mm') + set_property('Daily.%i.Snow' % (count+1), str(item['snow_day']['cm']) + ' mm') + set_property('Daily.%i.ChancePrecipitation' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count]['pop'] + '%') +# weekend properties + set_property('Weekend.IsFetched', 'true') + if __addon__.getSetting('Weekend') == '2': + weekend = [4,5] + elif __addon__.getSetting('Weekend') == '1': + weekend = [5,6] + else: + weekend = [6,7] + count = 0 + for item in data['forecast']['simpleforecast']['forecastday']: + if date(item['date']['year'], item['date']['month'], item['date']['day']).isoweekday() in weekend: + weathercode = WEATHER_CODES[item['icon_url'][31:-4]] + set_property('Weekend.%i.LongDay' % (count+1), item['date']['weekday']) + set_property('Weekend.%i.ShortDay' % (count+1), item['date']['weekday_short']) + if DATEFORMAT[1] == 'm': + set_property('Weekend.%i.LongDate' % (count+1), item['date']['monthname'] + ' ' + str(item['date']['day'])) + set_property('Weekend.%i.ShortDate' % (count+1), MONTH[item['date']['month']] + ' ' + str(item['date']['day'])) + else: + set_property('Weekend.%i.LongDate' % (count+1), str(item['date']['day']) + ' ' + item['date']['monthname']) + set_property('Weekend.%i.ShortDate' % (count+1), str(item['date']['day']) + ' ' + MONTH[item['date']['month']]) + set_property('Weekend.%i.Outlook' % (count+1), item['conditions']) + set_property('Weekend.%i.OutlookIcon' % (count+1), WEATHER_ICON % weathercode) + set_property('Weekend.%i.FanartCode' % (count+1), weathercode) + if SPEEDUNIT == 'mph': + set_property('Weekend.%i.WindSpeed' % (count+1), str(item['avewind']['mph']) + ' ' + SPEEDUNIT) + set_property('Weekend.%i.MaxWind' % (count+1), str(item['maxwind']['mph']) + ' ' + SPEEDUNIT) + elif SPEEDUNIT == 'Beaufort': + set_property('Weekend.%i.WindSpeed' % (count+1), KPHTOBFT(item['avewind']['kph'])) + set_property('Weekend.%i.MaxWind' % (count+1), KPHTOBFT(item['maxwind']['kph'])) + else: + set_property('Weekend.%i.WindSpeed' % (count+1), str(item['avewind']['kph']) + ' ' + SPEEDUNIT) + set_property('Weekend.%i.MaxWind' % (count+1), str(item['maxwind']['kph']) + ' ' + SPEEDUNIT) + set_property('Weekend.%i.WindDirection' % (count+1), item['avewind']['dir']) + set_property('Weekend.%i.ShortWindDirection' % (count+1), item['avewind']['dir']) + set_property('Weekend.%i.WindDegree' % (count+1), str(item['avewind']['degrees']) + u'°') + set_property('Weekend.%i.Humidity' % (count+1), str(item['avehumidity']) + '%') + set_property('Weekend.%i.MinHumidity' % (count+1), str(item['minhumidity']) + '%') + set_property('Weekend.%i.MaxHumidity' % (count+1), str(item['maxhumidity']) + '%') + set_property('Weekend.%i.ChancePrecipitation' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count]['pop'] + '%') + if 'F' in TEMPUNIT: + set_property('Weekend.%i.HighTemperature' % (count+1), str(item['high']['fahrenheit']) + TEMPUNIT) + set_property('Weekend.%i.LowTemperature' % (count+1), str(item['low']['fahrenheit']) + TEMPUNIT) + set_property('Weekend.%i.Precipitation' % (count+1), str(item['qpf_day']['in']) + ' in') + set_property('Weekend.%i.Snow' % (count+1), str(item['snow_day']['in']) + ' in') + set_property('Weekend.%i.LongOutlookDay' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count]['fcttext']) + set_property('Weekend.%i.LongOutlookNight' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count+1]['fcttext']) + else: + set_property('Weekend.%i.HighTemperature' % (count+1), str(item['high']['celsius']) + TEMPUNIT) + set_property('Weekend.%i.LowTemperature' % (count+1), str(item['low']['celsius']) + TEMPUNIT) + set_property('Weekend.%i.Precipitation' % (count+1), str(item['qpf_day']['mm']) + ' mm') + set_property('Weekend.%i.Snow' % (count+1), str(item['snow_day']['cm']) + ' mm') + if data['current_observation']['display_location']['country'] == 'UK': # for the brits + dfcast_e = data['forecast']['txt_forecast']['forecastday'][2*count]['fcttext'].split('.') + dfcast_m = data['forecast']['txt_forecast']['forecastday'][2*count]['fcttext_metric'].split('.') + nfcast_e = data['forecast']['txt_forecast']['forecastday'][2*count+1]['fcttext'].split('.') + nfcast_m = data['forecast']['txt_forecast']['forecastday'][2*count+1]['fcttext_metric'].split('.') + for field in dfcast_e: + if field.endswith('mph'): # find windspeed in mph + wind = field + break + for field in dfcast_m: + if field.endswith('km/h'): # find windspeed in km/h + dfcast_m[dfcast_m.index(field)] = wind # replace windspeed in km/h with windspeed in mph + break + for field in nfcast_e: + if field.endswith('mph'): # find windspeed in mph + wind = field + break + for field in nfcast_m: + if field.endswith('km/h'): # find windspeed in km/h + nfcast_m[nfcast_m.index(field)] = wind # replace windspeed in km/h with windspeed in mph + break + set_property('Weekend.%i.LongOutlookDay' % (count+1), '. '.join(dfcast_m)) + set_property('Weekend.%i.LongOutlookNight' % (count+1), '. '.join(nfcast_m)) + else: + set_property('Weekend.%i.LongOutlookDay' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count]['fcttext_metric']) + set_property('Weekend.%i.LongOutlookNight' % (count+1), data['forecast']['txt_forecast']['forecastday'][2*count+1]['fcttext_metric']) + count += 1 + if count == 2: + break +# 36 hour properties + set_property('36Hour.IsFetched', 'true') + for count, item in enumerate(data['forecast']['txt_forecast']['forecastday']): + weathercode = WEATHER_CODES[item['icon_url'][31:-4]] + if 'F' in TEMPUNIT: + try: + fcast = item['fcttext'].split('.') + for line in fcast: + if line.endswith('F'): + set_property('36Hour.%i.TemperatureHeading' % (count+1), line.rsplit(' ',1)[0]) + set_property('36Hour.%i.Temperature' % (count+1), line.rsplit(' ',1)[1].rstrip('F').strip() + TEMPUNIT) + break + except: + set_property('36Hour.%i.TemperatureHeading' % (count+1), '') + set_property('36Hour.%i.Temperature' % (count+1), '') + set_property('36Hour.%i.Forecast' % (count+1), item['fcttext']) + else: + try: + fcast = item['fcttext_metric'].split('.') + for line in fcast: + if line.endswith('C'): + set_property('36Hour.%i.TemperatureHeading' % (count+1), line.rsplit(' ',1)[0]) + set_property('36Hour.%i.Temperature' % (count+1), line.rsplit(' ',1)[1].rstrip('C').strip() + TEMPUNIT) + break + except: + set_property('36Hour.%i.TemperatureHeading' % (count+1), '') + set_property('36Hour.%i.Temperature' % (count+1), '') + if data['current_observation']['display_location']['country'] == 'UK': # for the brits + fcast_e = item['fcttext'].split('.') + for field in fcast_e: + if field.endswith('mph'): # find windspeed in mph + wind = field + break + for field in fcast: + if field.endswith('km/h'): # find windspeed in km/h + fcast[fcast.index(field)] = wind # replace windspeed in km/h with windspeed in mph + break + set_property('36Hour.%i.Forecast' % (count+1), '. '.join(fcast)) + else: + set_property('36Hour.%i.Forecast' % (count+1), item['fcttext_metric']) + set_property('36Hour.%i.Heading' % (count+1), item['title']) + set_property('36Hour.%i.ChancePrecipitation' % (count+1), item['pop'] + '%') + set_property('36Hour.%i.OutlookIcon' % (count+1), WEATHER_ICON % weathercode) + set_property('36Hour.%i.FanartCode' % (count+1), weathercode) + if count == 2: + break +# hourly properties + set_property('Hourly.IsFetched', 'true') + for count, item in enumerate(data['hourly_forecast']): + weathercode = WEATHER_CODES[item['icon_url'][31:-4]] + if TIMEFORMAT != '/': + set_property('Hourly.%i.Time' % (count+1), item['FCTTIME']['civil']) + else: + set_property('Hourly.%i.Time' % (count+1), item['FCTTIME']['hour_padded'] + ':' + item['FCTTIME']['min']) + if DATEFORMAT[1] == 'm': + set_property('Hourly.%i.ShortDate' % (count+1), item['FCTTIME']['month_name_abbrev'] + ' ' + item['FCTTIME']['mday_padded']) + set_property('Hourly.%i.LongDate' % (count+1), item['FCTTIME']['month_name'] + ' ' + item['FCTTIME']['mday_padded']) + else: + set_property('Hourly.%i.ShortDate' % (count+1), item['FCTTIME']['mday_padded'] + ' ' + item['FCTTIME']['month_name_abbrev']) + set_property('Hourly.%i.LongDate' % (count+1), item['FCTTIME']['mday_padded'] + ' ' + item['FCTTIME']['month_name']) + if 'F' in TEMPUNIT: + set_property('Hourly.%i.Temperature' % (count+1), item['temp']['english'] + TEMPUNIT) + set_property('Hourly.%i.DewPoint' % (count+1), item['dewpoint']['english'] + TEMPUNIT) + set_property('Hourly.%i.FeelsLike' % (count+1), item['feelslike']['english'] + TEMPUNIT) + set_property('Hourly.%i.Precipitation' % (count+1), item['qpf']['english'] + ' in') + set_property('Hourly.%i.Snow' % (count+1), item['snow']['english'] + ' in') + set_property('Hourly.%i.HeatIndex' % (count+1), item['heatindex']['english'] + TEMPUNIT) + set_property('Hourly.%i.WindChill' % (count+1), item['windchill']['english'] + TEMPUNIT) + set_property('Hourly.%i.Mslp' % (count+1), item['mslp']['english'] + ' inHg') + else: + set_property('Hourly.%i.Temperature' % (count+1), item['temp']['metric'] + TEMPUNIT) + set_property('Hourly.%i.DewPoint' % (count+1), item['dewpoint']['metric'] + TEMPUNIT) + set_property('Hourly.%i.FeelsLike' % (count+1), item['feelslike']['metric'] + TEMPUNIT) + set_property('Hourly.%i.Precipitation' % (count+1), item['qpf']['metric'] + ' mm') + set_property('Hourly.%i.Snow' % (count+1), item['snow']['metric'] + ' mm') + set_property('Hourly.%i.HeatIndex' % (count+1), item['heatindex']['metric'] + TEMPUNIT) + set_property('Hourly.%i.WindChill' % (count+1), item['windchill']['metric'] + TEMPUNIT) + set_property('Hourly.%i.Mslp' % (count+1), item['mslp']['metric'] + ' inHg') + if SPEEDUNIT == 'mph': + set_property('Hourly.%i.WindSpeed' % (count+1), item['wspd']['english'] + ' ' + SPEEDUNIT) + elif SPEEDUNIT == 'Beaufort': + set_property('Hourly.%i.WindSpeed' % (count+1), KPHTOBFT(int(item['wspd']['metric']))) + else: + set_property('Hourly.%i.WindSpeed' % (count+1), item['wspd']['metric'] + ' ' + SPEEDUNIT) + set_property('Hourly.%i.WindDirection' % (count+1), item['wdir']['dir']) + set_property('Hourly.%i.ShortWindDirection' % (count+1), item['wdir']['dir']) + set_property('Hourly.%i.WindDegree' % (count+1), item['wdir']['degrees'] + u'°') + set_property('Hourly.%i.Humidity' % (count+1), item['humidity'] + '%') + set_property('Hourly.%i.UVIndex' % (count+1), item['uvi']) + set_property('Hourly.%i.ChancePrecipitation' % (count+1), item['pop'] + '%') + set_property('Hourly.%i.Outlook' % (count+1), item['condition']) + set_property('Hourly.%i.OutlookIcon' % (count+1), WEATHER_ICON % weathercode) + set_property('Hourly.%i.FanartCode' % (count+1), weathercode) + if count == 35: # workaround: wunderground provides a 10day hourly forecast + break +# alert properties + set_property('Alerts.IsFetched', 'true') + if str(data['alerts']) != '[]': + rss = '' + alerts = '' + for count, item in enumerate(data['alerts']): + set_property('Alerts.%i.Description' % (count+1), item['description']) + set_property('Alerts.%i.Message' % (count+1), item['message']) + set_property('Alerts.%i.StartDate' % (count+1), item['date']) + set_property('Alerts.%i.EndDate' % (count+1), item['expires']) + set_property('Alerts.%i.Significance' % (count+1), SEVERITY[item['significance']]) + rss = rss + item['description'] + ' - ' + alerts = alerts + item['message'] + set_property('Alerts.RSS' , rss.rstrip(' - ')) + set_property('Alerts' , alerts) + set_property('Alerts.Count' , str(count+1)) + else: + set_property('Alerts.RSS' , '') + set_property('Alerts' , '') + set_property('Alerts.Count' , '0') +# map properties + set_property('Map.IsFetched', 'true') + filelist = [] + locid = base64.b16encode(loc) + addondir = os.path.join(__cwd__, 'resources', 'logo') + mapdir = xbmc.translatePath('special://profile/addon_data/%s/map' % __addonid__) + set_property('MapPath', addondir) + if not xbmcvfs.exists(mapdir): + xbmcvfs.mkdir(mapdir) + json_query = xbmc.executeJSONRPC('{ "jsonrpc" : "2.0" , "method" : "Files.GetDirectory" , "params" : { "directory" : "%s" , "sort" : { "method" : "file" } } , "id" : 1 }' % mapdir.replace('\\', '\\\\')) + json_query = unicode(json_query, 'utf-8', errors='ignore') + json_response = simplejson.loads(json_query) + if (json_response['result'] != None) and (json_response['result'].has_key('files')) and (json_response['result']['files'] != None): + for item in json_response['result']['files']: + if item['filetype'] == 'file': + filelist.append(item['file']) + animate = __addon__.getSetting('Animate') + for item in filelist: + if animate == 'true': + if (time.time() - os.path.getmtime(item) > 14400) or (not locid in item): + xbmcvfs.delete(item) + else: + xbmcvfs.delete(item) + zoom = __addon__.getSetting('Zoom') + if zoom == '10': # default setting does not return decimals, changed setting will + zoom = '10.0' + url = data['satellite']['image_url_ir4'].replace('width=300&height=300','width=640&height=360').replace('radius=75','radius=%i' % int(1000/int(zoom.rstrip('0').rstrip('.,')))) + log('map url: %s' % url) + try: + req = urllib2.urlopen(url) + response = req.read() + req.close() + log('satellite image downloaded') + except: + response = '' + log('satellite image downloaded failed') + if response != '': + timestamp = time.strftime('%Y%m%d%H%M%S') + mapfile = xbmc.translatePath('special://profile/addon_data/%s/map/%s-%s.png' % (__addonid__,locid,timestamp)).decode("utf-8") + try: + tmpmap = open(mapfile, 'wb') + tmpmap.write(response) + tmpmap.close() + set_property('MapPath', mapdir) + except: + log('failed to save satellite image') + +log('version %s started: %s' % (__version__, sys.argv)) +log('lang: %s' % LANGUAGE) +log('speed: %s' % SPEEDUNIT) +log('temp: %s' % TEMPUNIT[1]) +log('time: %s' % TIMEFORMAT) +log('date: %s' % DATEFORMAT) + +if sys.argv[1].startswith('Location'): + keyboard = xbmc.Keyboard('', xbmc.getLocalizedString(14024), False) + keyboard.doModal() + if (keyboard.isConfirmed() and keyboard.getText() != ''): + text = keyboard.getText() + locations, locationids = location(text) + dialog = xbmcgui.Dialog() + if locations != []: + selected = dialog.select(xbmc.getLocalizedString(396), locations) + if selected != -1: + __addon__.setSetting(sys.argv[1], locations[selected]) + __addon__.setSetting(sys.argv[1] + 'id', locationids[selected]) + log('selected location: %s' % locations[selected]) + log('selected location id: %s' % locationids[selected]) + else: + dialog.ok(__addonname__, xbmc.getLocalizedString(284)) + +else: + location = __addon__.getSetting('Location%sid' % sys.argv[1]) + if (location == '') and (sys.argv[1] != '1'): + location = __addon__.getSetting('Location1id') + log('trying location 1 instead') + if location == '': + log('fallback to geoip') + location = geoip() + if not location == '': + if location.startswith('/q/'): # backwards compatibility + location = location[3:] + forecast(location) + else: + log('no location found') + clear() + refresh_locations() + +set_property('WeatherProvider', __addonname__) +log('finished') diff --git a/usr/local/share/xbmc/addons/weather.wunderground/fanart.jpg b/usr/local/share/xbmc/addons/weather.wunderground/fanart.jpg new file mode 100644 index 000000000..c4320b246 Binary files /dev/null and b/usr/local/share/xbmc/addons/weather.wunderground/fanart.jpg differ diff --git a/usr/local/share/xbmc/addons/weather.wunderground/icon.png b/usr/local/share/xbmc/addons/weather.wunderground/icon.png new file mode 100644 index 000000000..4374af330 Binary files /dev/null and b/usr/local/share/xbmc/addons/weather.wunderground/icon.png differ diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Afrikaans/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Afrikaans/strings.po new file mode 100644 index 000000000..81510053a --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Afrikaans/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Afrikaans (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/af/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: af\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Ligging opstelling" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Gevorderde opsies" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Ligging 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Ligging 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Ligging 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Ligging 1 vertoon naam" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Ligging 2 vertoon naam" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Ligging 3 vertoon naam" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Ligging 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Ligging 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Ligging 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Stel loghouding in staat" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Naweek" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Saterdag/Sondag" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Vrydag/Saterdag" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Donderdag/Vrydag" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Kaart zoem vlak" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Geanimeerde kaart" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Nuwe Maan" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Groeiende Sekel" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Eerste Kwartier" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Groeiende Bolmaan" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Volmaan" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Afnemende Bolmaan" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Laaste Kwartier" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Afnemende Sekel" + +msgctxt "#32510" +msgid "Warning" +msgstr "Waarskuwing" + +msgctxt "#32511" +msgid "Watch" +msgstr "Hou dop" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Raadgewende" + +msgctxt "#32513" +msgid "Statement" +msgstr "Stelling" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Uitkyk" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Voorspelling" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinopsis" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Amharic/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Amharic/strings.po new file mode 100644 index 000000000..f3d7ee028 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Amharic/strings.po @@ -0,0 +1,93 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Amharic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "አካባቢ ማሰናጃ " + +msgctxt "#32102" +msgid "Advanced options" +msgstr "የረቀበáˆáˆ­áŒ«á‹Žá‰½" + +msgctxt "#32111" +msgid "Location 1" +msgstr "አካባቢ 1 " + +msgctxt "#32112" +msgid "Location 2" +msgstr "አካባቢ 2 " + +msgctxt "#32113" +msgid "Location 3" +msgstr "አካባቢ 3 " + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "አካባቢ 1 ስሠማሳያ " + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "አካባቢ 2 ስሠማሳያ" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "አካባቢ 3 ስሠማሳያ" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "አካባቢ 1 መለያ " + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "አካባቢ 2 መለያ" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "አካባቢ 3 መለያ" + +msgctxt "#32121" +msgid "Weekend" +msgstr "የሳáˆáŠ•á‰± መጨረሻ" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "ቅዳሜ / እሑድ " + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "አርብ / ቅዳሜ " + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "áˆáˆ™áˆµ / አርብ " + +msgctxt "#32501" +msgid "New Moon" +msgstr "አዲስ ጨረቃ " + +msgctxt "#32505" +msgid "Full Moon" +msgstr "ሙሉ ጨረቃ " + +msgctxt "#32510" +msgid "Warning" +msgstr "ማስጠንቀቂያ " + +msgctxt "#32515" +msgid "Forecast" +msgstr "áŒáˆá‰µ " diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Arabic/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Arabic/strings.po new file mode 100644 index 000000000..a9184a3bd --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Arabic/strings.po @@ -0,0 +1,33 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +msgctxt "#32121" +msgid "Weekend" +msgstr "نهاية الاسبوع" + +msgctxt "#32510" +msgid "Warning" +msgstr "تحذير" + +msgctxt "#32514" +msgid "Outlook" +msgstr "التوقعات" + +msgctxt "#32515" +msgid "Forecast" +msgstr "توقعات الطقس" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Basque/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Basque/strings.po new file mode 100644 index 000000000..0dc676fd3 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Basque/strings.po @@ -0,0 +1,125 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Basque (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Kokaleku konfigurazioa" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Aurreratutako aukerak" + +msgctxt "#32111" +msgid "Location 1" +msgstr "1 kokalekua" + +msgctxt "#32112" +msgid "Location 2" +msgstr "2 kokalekua" + +msgctxt "#32113" +msgid "Location 3" +msgstr "3 kokalekua" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "1 kokalekuaren bistaratze izena" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "2 kokalekuaren bistaratze izena" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "3 kokalekuaren bistaratze izena" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "1 kokalekuaren id-a" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "2 kokalekuaren id-a" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "3 kokalekuaren id-a" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Gaitu erregistroa" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Asteburua" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Larubat/Igandea" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Ostirala/Larunbata" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Osteguna/Ostirala" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Mapa zoom maila" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animatutako mapa" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Ilargi berria" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Ilargierdi Gorakorra" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Ilargi betea" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Ilargierdi beherakorra" + +msgctxt "#32510" +msgid "Warning" +msgstr "Adi" + +msgctxt "#32511" +msgid "Watch" +msgstr "Ikusi" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Outlook" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Iragarpena" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Laburpena" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Belarusian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Belarusian/strings.po new file mode 100644 index 000000000..8a3e954ac --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Belarusian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Belarusian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Вызначыць меÑца" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "ÐдмыÑловыÑ" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Першае меÑца" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Другое меÑца" + +msgctxt "#32113" +msgid "Location 3" +msgstr "ТрÑцÑе меÑца" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Ðазва першага меÑца" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Ðазва другога меÑца" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Ðазва трÑцÑга меÑца" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ІдÑнтыфікатар першага меÑца" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ІдÑнтыфікатар другога меÑца" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ІдÑнтыфікатар трÑцÑга меÑца" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Уключыць хроніку" + +msgctxt "#32121" +msgid "Weekend" +msgstr "ВыходныÑ" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Ñубота/нÑдзелÑ" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "пÑтніца/Ñубота" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "чацьвер/пÑтніца" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Узровень Ð¼Ð°ÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð½ÑŒÐ½Ñ Ð¼Ð°Ð¿Ñ‹" + +msgctxt "#32126" +msgid "Animated map" +msgstr "ÐÐ½Ñ–Ð¼Ð°Ð²Ð°Ð½Ð°Ñ Ð¼Ð°Ð¿Ð°" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Ðовы меÑÑц" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Waxing Crescent" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Маладзік" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Waxing Gibbous" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "ПоўнÑ" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Waning Gibbous" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Ð’Ñтох" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Waning Crescent" + +msgctxt "#32510" +msgid "Warning" +msgstr "Увага" + +msgctxt "#32511" +msgid "Watch" +msgstr "Watch" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Advisory" + +msgctxt "#32513" +msgid "Statement" +msgstr "Statement" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Чакаецца" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Прагноз" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Synopsis" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Bosnian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Bosnian/strings.po new file mode 100644 index 000000000..0e3f0adc2 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Bosnian/strings.po @@ -0,0 +1,25 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bosnian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bs\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Vikend" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Vidik" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Bulgarian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Bulgarian/strings.po new file mode 100644 index 000000000..95cf00f72 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Bulgarian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Bulgarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Локации" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Допълнителни" + +msgctxt "#32111" +msgid "Location 1" +msgstr "МÑÑто 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "МÑÑто 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "МÑÑто 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Име за мÑÑто 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Име за мÑÑто 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Име за мÑÑто 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Идентификато на мÑÑто 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Идентификато на мÑÑто 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Идентификато на мÑÑто 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Включи воденето на дневник" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Уикенд" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Ñъбота/неделÑ" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "петък/Ñъбота" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "четвъртък/петък" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Увеличение на картата (мащабиране)" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Ðнимиране на картата" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Ðоволуние" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "ÐараÑтващ полумеÑец" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Първа четвърт" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Ðаближаваща пълнолуние" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Пълнолуние" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "ÐамалÑваща луна" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "ПоÑледна четвърт" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "ÐамалÑващ полумеÑец" + +msgctxt "#32510" +msgid "Warning" +msgstr "Внимание" + +msgctxt "#32511" +msgid "Watch" +msgstr "Гледай" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Съвет" + +msgctxt "#32513" +msgid "Statement" +msgstr "Доклад" + +msgctxt "#32514" +msgid "Outlook" +msgstr "ПерÑпектива" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Прогноза" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Резюме" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Catalan/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Catalan/strings.po new file mode 100644 index 000000000..a42819c5a --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Catalan/strings.po @@ -0,0 +1,33 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Catalan (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Cap de setmana" + +msgctxt "#32510" +msgid "Warning" +msgstr "Advertència" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Outlook" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Predicció" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Chinese (Simple)/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Chinese (Simple)/strings.po new file mode 100644 index 000000000..dc37d9dbd --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Chinese (Simple)/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "地点设置" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "高级选项" + +msgctxt "#32111" +msgid "Location 1" +msgstr "地点1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "地点2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "地点3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "地点1显示åç§°" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "地点2显示åç§°" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "地点3显示åç§°" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "地点1 ID" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "地点2 ID" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "地点3 ID" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "å¯ç”¨æ—¥å¿—" + +msgctxt "#32121" +msgid "Weekend" +msgstr "周末" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "周六/周日" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "周五/周六" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "周四/周五" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "地图缩放等级" + +msgctxt "#32126" +msgid "Animated map" +msgstr "动æ€åœ°å›¾" + +msgctxt "#32501" +msgid "New Moon" +msgstr "新月" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "娥眉月" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "上弦月" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "盈凸月" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "满月" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "äºå‡¸æœˆ" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "下弦月" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "残月" + +msgctxt "#32510" +msgid "Warning" +msgstr "注æ„" + +msgctxt "#32511" +msgid "Watch" +msgstr "关注" + +msgctxt "#32512" +msgid "Advisory" +msgstr "建议" + +msgctxt "#32513" +msgid "Statement" +msgstr "声明" + +msgctxt "#32514" +msgid "Outlook" +msgstr "天气趋势" + +msgctxt "#32515" +msgid "Forecast" +msgstr "天气预报" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "概况" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Chinese (Traditional)/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Chinese (Traditional)/strings.po new file mode 100644 index 000000000..79a12d2f5 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Chinese (Traditional)/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "ä½ç½®è¨­å®š" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "進階é¸é …" + +msgctxt "#32111" +msgid "Location 1" +msgstr "ä½ç½®1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "ä½ç½®2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "ä½ç½®3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "ä½ç½®1顯示å稱" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "ä½ç½®2顯示å稱" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "ä½ç½®3顯示å稱" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ä½ç½®1 ID" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ä½ç½®2 ID" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ä½ç½®3 ID" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "啟用日誌" + +msgctxt "#32121" +msgid "Weekend" +msgstr "週末" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "星期六/星期日" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "星期五/星期六" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "星期四/星期五" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "地圖縮放等級" + +msgctxt "#32126" +msgid "Animated map" +msgstr "動畫地圖" + +msgctxt "#32501" +msgid "New Moon" +msgstr "新月" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "娥眉月" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "上弦月" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "盈凸月" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "滿月" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "虧凸月" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "下弦月" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "殘月" + +msgctxt "#32510" +msgid "Warning" +msgstr "警告" + +msgctxt "#32511" +msgid "Watch" +msgstr "觀看" + +msgctxt "#32512" +msgid "Advisory" +msgstr "諮詢" + +msgctxt "#32513" +msgid "Statement" +msgstr "è²æ˜Ž" + +msgctxt "#32514" +msgid "Outlook" +msgstr "氣象趨勢" + +msgctxt "#32515" +msgid "Forecast" +msgstr "é å ±" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "摘è¦" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Croatian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Croatian/strings.po new file mode 100644 index 000000000..48c9f8534 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Croatian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Croatian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Namjesti lokaciju" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Dodatne opcije" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Lokacija 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Lokacija 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Lokacija 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Lokacija 1 ime ekrana" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Lokacija 2 ime ekrana" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Lokacija 3 ime ekrana" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Lokacija 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Lokacija 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Lokacija 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Omogućiti prijave" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Vikend" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Subota/Nedjelja" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Petak/Subota" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "ÄŒetvrtak/Petak" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Razina zumiranja karte" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animirane mape" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Mladi Mjesec" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Prva Äetvrt" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Prva Äetvrtina" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Prva Äetvrt" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Puni Mjesec" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Zadnja Äetvrt" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Posljednja Äetvrtina" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "MlaÄ‘ak" + +msgctxt "#32510" +msgid "Warning" +msgstr "Obavjesti" + +msgctxt "#32511" +msgid "Watch" +msgstr "Bdjeti" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Savjetnik" + +msgctxt "#32513" +msgid "Statement" +msgstr "IzvjeÅ¡taj" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Izgledi" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Prognoza" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Kratki sadržaj" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Czech/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Czech/strings.po new file mode 100644 index 000000000..2cf2d7b73 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Czech/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Czech (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Nastavení umístÄ›ní" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "PokroÄilé možnosti" + +msgctxt "#32111" +msgid "Location 1" +msgstr "UmístÄ›ní 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "UmístÄ›ní 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "UmístÄ›ní 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Zobrazovaný název umístÄ›ní 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Zobrazovaný název umístÄ›ní 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Zobrazovaný název umístÄ›ní 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID umístÄ›ní 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID umístÄ›ní 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID umístÄ›ní 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Povolit záznam" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Víkend" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sobota/NedÄ›le" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Pátek/Sobota" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "ÄŒtvrtek/Pátek" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Uroveň pÅ™iblížení mapy" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animovaná mapa" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Novoluní" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Dorůstající srpek" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "První ÄtvrÅ¥" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Dorůstající mÄ›síc" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "ÚplnÄ›k" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Couvající mÄ›síc" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Poslední ÄtvrÅ¥" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Couvající srpek" + +msgctxt "#32510" +msgid "Warning" +msgstr "UpozornÄ›ní" + +msgctxt "#32511" +msgid "Watch" +msgstr "Sledovat" + +msgctxt "#32512" +msgid "Advisory" +msgstr "DoporuÄení" + +msgctxt "#32513" +msgid "Statement" +msgstr "Zpráva" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Výhled" + +msgctxt "#32515" +msgid "Forecast" +msgstr "PÅ™edpovÄ›Ä" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Synopse" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Danish/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Danish/strings.po new file mode 100644 index 000000000..03308267e --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Danish/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Opsætning af Lokaliteter" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Avancerede indstillinger" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Lokalitet 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Lokalitet 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Lokalitet 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Lokalitet 1 visningsnavn" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Lokalitet 2 visningsnavn" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Lokalitet 3 visningsnavn" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Lokalitet 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Lokalitet 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Lokalitet 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Aktiver logning" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Weekend" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Lørdag/Søndag" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Fredag/Lørdag" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Torsdag/Fredag" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Zoomniveau pÃ¥ kort" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animeret kort" + +msgctxt "#32501" +msgid "New Moon" +msgstr "NymÃ¥ne" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Tiltagende mod halvmÃ¥ne" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Første kvartal" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Tiltagende mod fuldmÃ¥ne" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "FuldmÃ¥ne" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Aftagende fra fuldmÃ¥ne" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Sidste kvartal" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Aftagende fra halvmÃ¥ne" + +msgctxt "#32510" +msgid "Warning" +msgstr "Advarsel" + +msgctxt "#32511" +msgid "Watch" +msgstr "Se" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Anbefaling" + +msgctxt "#32513" +msgid "Statement" +msgstr "Udmelding" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Udsigt" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Vejrudsigt" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Scenario" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Dutch/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Dutch/strings.po new file mode 100644 index 000000000..84046fb61 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Dutch/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Dutch (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Locatiesetup" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Geavanceerde opties" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Locatie 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Locatie 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Locatie 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Locatie 1 weergavenaam" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Locatie 2 weergavenaam" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Locatie 3 weergavenaam" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Locatie 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Locatie 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Locatie 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Zet log aan" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Weekend" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Zaterdag/Zondag" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Vrijdag/Zaterdag" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Donderdag/Vrijdag" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Zoomniveau kaart" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Geanimeerde kaart" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Nieuwe maan" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Jonge maansikkel" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Eerste kwartier" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Wassende maan" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Volle maan" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Afnemende maan" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Laatste kwartier" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Asgrauwe maan" + +msgctxt "#32510" +msgid "Warning" +msgstr "Waarschuwing" + +msgctxt "#32511" +msgid "Watch" +msgstr "Zicht" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Advies" + +msgctxt "#32513" +msgid "Statement" +msgstr "Mededeling" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Verwachting" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Voorspelling" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Overzicht" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/English (US)/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/English (US)/strings.po new file mode 100644 index 000000000..5e1684070 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/English (US)/strings.po @@ -0,0 +1,34 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon version: 0.0.9 +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: 2012-05-28 15:38+0000\n" +"PO-Revision-Date: 2012-05-28 23:42+0000\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (United States) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en_US/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_US\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#30101" +msgid "Location Setup" +msgstr "" + +msgctxt "#30111" +msgid "Change location 1" +msgstr "" + +msgctxt "#30112" +msgid "Change location 2" +msgstr "" + +msgctxt "#30113" +msgid "Change location 3" +msgstr "" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/English/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/English/strings.po new file mode 100644 index 000000000..3f243c8b0 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/English/strings.po @@ -0,0 +1,155 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: English (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "" + +#empty strings from id 32103 to 32110 + +msgctxt "#32111" +msgid "Location 1" +msgstr "" + +msgctxt "#32112" +msgid "Location 2" +msgstr "" + +msgctxt "#32113" +msgid "Location 3" +msgstr "" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "" + +msgctxt "#32121" +msgid "Weekend" +msgstr "" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "" + +msgctxt "#32126" +msgid "Animated map" +msgstr "" + +#empty strings from id 32127 to 32500 + +msgctxt "#32501" +msgid "New Moon" +msgstr "" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "" + +#empty string with id 32509 + +msgctxt "#32510" +msgid "Warning" +msgstr "" + +msgctxt "#32511" +msgid "Watch" +msgstr "" + +msgctxt "#32512" +msgid "Advisory" +msgstr "" + +msgctxt "#32513" +msgid "Statement" +msgstr "" + +msgctxt "#32514" +msgid "Outlook" +msgstr "" + +msgctxt "#32515" +msgid "Forecast" +msgstr "" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Estonian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Estonian/strings.po new file mode 100644 index 000000000..b3e87aeed --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Estonian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Estonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Asukoha sätted" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Täpsemad seaded" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Asukoht 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Asukoht 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Asukoht 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Asukoht 1 kuvatav nimi" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Asukoht 2 kuvatav nimi" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Asukoht 3 kuvatav nimi" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Asukoht 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Asukoht 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Asukoht 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Luba logimine" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Nädalavahetus" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Laupäev/Pühapäev" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Reede/Laupäev" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Neljapäev/Reede" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Kaardi suurenduse tase" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animeeritud kaart" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Noorkuu" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Viimane veerand" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Esimene veerand" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Kasvav kuu" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Täiskuu" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Kahanev kuu" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Viimane veerand" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Viimane veerand" + +msgctxt "#32510" +msgid "Warning" +msgstr "Hoiatus" + +msgctxt "#32511" +msgid "Watch" +msgstr "Vaata" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Nõuandev" + +msgctxt "#32513" +msgid "Statement" +msgstr "Avaldus" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Väljavaade" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Ilmateade" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Ülevaade" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Finnish/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Finnish/strings.po new file mode 100644 index 000000000..a43cb42e2 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Finnish/strings.po @@ -0,0 +1,81 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Sijaintiasetukset" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Lisäasetukset" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Sijainti 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Sijainti 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Sijainti 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Sijainti 1:n näyttönimi" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Sijainti 2:n näyttönimi" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Sijainti 3:n näyttönimi" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Viikonloppu" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Lauantai/sunnuntai" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Perjantai/lauantai" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Torstai/perjantai" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Täysikuu" + +msgctxt "#32510" +msgid "Warning" +msgstr "Varoitus" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Odotettavissa" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Ennuste" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/French/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/French/strings.po new file mode 100644 index 000000000..3faa1ca0c --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/French/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: French (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Emplacements" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Options avancées" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Emplacement 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Emplacement 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Emplacement 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Nom de l'emplacement 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Nom de l'emplacement 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Nom de l'emplacement 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Identifiant emplacement 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Identifiant emplacement 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Identifiant emplacement 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Activer le mode debug" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Week-end" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Samedi/Dimanche" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Vendredi/Samedi" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Jeudi/Vendredi" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Niveau de zoom de la carte" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Carte animée" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Nouvelle Lune" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Premier Croissant" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Premier Quartier" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Lune Gibbeuse Croissante" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Pleine Lune" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Lune Gibbeuse Décroissante" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Dernier Quartier" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Dernier Croissant" + +msgctxt "#32510" +msgid "Warning" +msgstr "Attention" + +msgctxt "#32511" +msgid "Watch" +msgstr "Regarder" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Avertissement" + +msgctxt "#32513" +msgid "Statement" +msgstr "Déclaration" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Perspective" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Prévisions" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Résumé" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Galician/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Galician/strings.po new file mode 100644 index 000000000..c2b0498b9 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Galician/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Galician (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Configuración da localización" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Opcións Avanzadas" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Localización 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Localización 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Localización 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Nome a mostrar da localización 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Nome a mostrar da localización 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Nome a mostrar da localización 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID da localización 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID da localización 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID da localización 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Habilitar o rexistro" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Fin de semana" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sábado/Domingo" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Venres/Sábado" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Xoves/Venres" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Nivel de aumento do mapa" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Mapa animado" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Lúa Nova" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Lúa Nova Visible" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Cuarto Crecente" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Gibosa Crecente" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Lúa Chea" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Gibosa Minguante" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Cuarto Minguante" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Lúa Minguante" + +msgctxt "#32510" +msgid "Warning" +msgstr "Atención" + +msgctxt "#32511" +msgid "Watch" +msgstr "Vixiar" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Consello" + +msgctxt "#32513" +msgid "Statement" +msgstr "Declaración" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Perspectiva" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Predición" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinopse" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/German/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/German/strings.po new file mode 100644 index 000000000..4ce0263c9 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/German/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: German (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Standort Setup" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Erweiterte Optionen" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Standort 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Standort 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Standort 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Standort 1 Anzeigename" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Standort 2 Anzeigename" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Standort 3 Anzeigename" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Standort 1 ID" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Standort 2 ID" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Standort 3 ID" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Aktiviere Protokollierung" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Wochenende" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Samstag/Sonntag" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Freitag/Samstag" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Donnerstag/Freitag" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Karten Zoomlevel" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animierte Karte" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Neumond" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Erstes Viertel" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Erstes Quartal" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Zweites Viertel" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Vollmond" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Drittes Viertel" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Letztes Quartal" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Letztes Viertel" + +msgctxt "#32510" +msgid "Warning" +msgstr "Achtung" + +msgctxt "#32511" +msgid "Watch" +msgstr "Beobachte" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Beratung" + +msgctxt "#32513" +msgid "Statement" +msgstr "Bericht" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Outlook" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Prognose" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Synopsis" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Greek/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Greek/strings.po new file mode 100644 index 000000000..04638a5b0 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Greek/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Greek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "ΡÏθμιση Τοποθεσίας" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Επιλογές για ΠÏοχωÏημένους" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Τοποθεσία 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Τοποθεσία 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Τοποθεσία 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Ονομασία Τοποθεσίας 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Ονομασία Τοποθεσίας 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Ονομασία Τοποθεσίας 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID Τοποθεσίας 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID Τοποθεσίας 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID Τοποθεσίας 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "ΕνεÏγοποίηση καταγÏαφής" + +msgctxt "#32121" +msgid "Weekend" +msgstr "ΣαββατοκÏÏιακο" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Σάββατο/ΚυÏιακή" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "ΠαÏασκευή/Σάββατο" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Πέμπτη/ΠαÏασκευή" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Επίπεδο μεγέθυνσης χάÏτη" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Εφέ χάÏτη" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Îέα Σελήνη" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "ΑÏξων Μηνίσκος" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "ΠÏώτο ΤέταÏτο" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "ΑÏξων ΑμφίκυÏτος" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Πανσέληνος" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Φθίνων ΑμφίκυÏτος" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Τελευταίο ΤέταÏτο" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Φθίνων Μηνίσκος" + +msgctxt "#32510" +msgid "Warning" +msgstr "ΠÏοειδοποίηση" + +msgctxt "#32511" +msgid "Watch" +msgstr "ΠÏοσοχή" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Συμβουλή" + +msgctxt "#32513" +msgid "Statement" +msgstr "Δήλωση" + +msgctxt "#32514" +msgid "Outlook" +msgstr "ΠÏόγνωση" + +msgctxt "#32515" +msgid "Forecast" +msgstr "ΠÏόγνωση" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "ΣÏνοψη" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Hebrew/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Hebrew/strings.po new file mode 100644 index 000000000..27bf7efce --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Hebrew/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hebrew (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "הגדרות מיקו×" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "×פשרויות מתקדמות" + +msgctxt "#32111" +msgid "Location 1" +msgstr "×ž×™×§×•× ×¨×שון" + +msgctxt "#32112" +msgid "Location 2" +msgstr "×ž×™×§×•× ×©× ×™" + +msgctxt "#32113" +msgid "Location 3" +msgstr "×ž×™×§×•× ×©×œ×™×©×™" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "×©× ×ª×¦×•×’×” ×ž×™×§×•× ×¨×שון" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "×©× ×ª×¦×•×’×” ×ž×™×§×•× ×©× ×™" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "×©× ×ª×¦×•×’×” ×ž×™×§×•× ×©×œ×™×©×™" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "מזהה ×ž×™×§×•× ×¨×שון" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "מזהה ×ž×™×§×•× ×©× ×™" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "מזהה ×ž×™×§×•× ×©×œ×™×©×™" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "×פשר יומן רישו×" + +msgctxt "#32121" +msgid "Weekend" +msgstr "סוף שבוע" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "שבת/ר×שון" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "שישי/שבת" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "חמישי/שישי" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "רמת תקריב של מפה" + +msgctxt "#32126" +msgid "Animated map" +msgstr "מפה מונפשת" + +msgctxt "#32501" +msgid "New Moon" +msgstr "ירח חדש" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "לקר×ת ירח ×ž×œ× " + +msgctxt "#32503" +msgid "First Quarter" +msgstr "רבעון ר×שון" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "ירח כמעט מל×" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "ירח מל×" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "ירח גורע" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "רבע ×חרון של ירח" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "ירח כמעט גורע לגמרי" + +msgctxt "#32510" +msgid "Warning" +msgstr "×זהרה" + +msgctxt "#32511" +msgid "Watch" +msgstr "שעון" + +msgctxt "#32512" +msgid "Advisory" +msgstr "מומלץ" + +msgctxt "#32513" +msgid "Statement" +msgstr "תחזית" + +msgctxt "#32514" +msgid "Outlook" +msgstr "השקפה" + +msgctxt "#32515" +msgid "Forecast" +msgstr "תחזית" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "תקציר מזג ×ויר" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Hungarian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Hungarian/strings.po new file mode 100644 index 000000000..bbf6cc6df --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Hungarian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Hungarian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Hely beállítása" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Haladó beállítások" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Hely 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Hely 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Hely 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Hely 1 megjelenítési neve" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Hely 2 megjelenítési neve" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Hely 3 megjelenítési neve" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Hely 1 azonosító" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Hely 2 azonosító" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Hely 3 azonosító" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Naplózás engedélyezése" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Hétvége" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Szombat/Vasárnap" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Péntek/Szombat" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Csütörtök/Péntek" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Térkép nagyítási erÅ‘sség" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Mozgó térkép" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Újhold" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "NövÅ‘hold újhold után" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "ElsÅ‘ holdnegyed" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "NövÅ‘hold telihold elÅ‘tt" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Telihold" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Fogyóhold telihold után" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Utolsó holdnegyed" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Fogyóhold újhold elÅ‘tt" + +msgctxt "#32510" +msgid "Warning" +msgstr "Figyelmeztetés" + +msgctxt "#32511" +msgid "Watch" +msgstr "Megfigyelés" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Ajánlás" + +msgctxt "#32513" +msgid "Statement" +msgstr "Nyílatkozat" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Összefoglaló" + +msgctxt "#32515" +msgid "Forecast" +msgstr "IdÅ‘járás" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Összegzés" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Icelandic/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Icelandic/strings.po new file mode 100644 index 000000000..4ae45b216 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Icelandic/strings.po @@ -0,0 +1,29 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Helgi" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Veðurspá" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Veðurspá" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Italian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Italian/strings.po new file mode 100644 index 000000000..4995483e6 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Italian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Italian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Configurazione locazione" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Opzioni avanzate" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Locazione 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Locazione 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Locazione 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Nome della locazione 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Nome della locazione 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Nome della locazione 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID locazione 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID locazione 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID locazione 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Abilita i log" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Fine Settimana" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sabato/Domenica" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Venerdì/Sabato" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Giovedì/Venerdì" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Livello zoom della mappa" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Mappa animata" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Novilunio" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Luna crescente" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Primo quarto" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Gibbosa crescente" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Luna piena" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Gibbosa calante" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Ultimo quarto" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Luna calante" + +msgctxt "#32510" +msgid "Warning" +msgstr "Attenzione" + +msgctxt "#32511" +msgid "Watch" +msgstr "Guarda" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Avviso" + +msgctxt "#32513" +msgid "Statement" +msgstr "Dichiarazione" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Vista" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Previsioni" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinossi" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Japanese/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Japanese/strings.po new file mode 100644 index 000000000..2bbbca233 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Japanese/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "地域ã®è¨­å®š" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "詳細設定" + +msgctxt "#32111" +msgid "Location 1" +msgstr "地域1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "地域2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "地域3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "地域1ã®è¡¨ç¤ºå" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "地域2ã®è¡¨ç¤ºå" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "地域3ã®è¡¨ç¤ºå" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "地域1ã®ID" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "地域2ã®ID" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "地域3ã®ID" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "ログを有効ã«" + +msgctxt "#32121" +msgid "Weekend" +msgstr "週末" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "土/æ—¥" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "金/土" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "木/金" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "マップã®ã‚ºãƒ¼ãƒ ãƒ¬ãƒ™ãƒ«" + +msgctxt "#32126" +msgid "Animated map" +msgstr "アニメーションマップ" + +msgctxt "#32501" +msgid "New Moon" +msgstr "新月" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "三日月" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "ä¸Šå¼¦ã®æœˆ" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "待宵月" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "満月" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "居待月" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "ä¸‹å¼¦ã®æœˆ" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "二å六夜月" + +msgctxt "#32510" +msgid "Warning" +msgstr "警報" + +msgctxt "#32511" +msgid "Watch" +msgstr "æ³¨æ„æƒ…å ±" + +msgctxt "#32512" +msgid "Advisory" +msgstr "注æ„å ±" + +msgctxt "#32513" +msgid "Statement" +msgstr "情報" + +msgctxt "#32514" +msgid "Outlook" +msgstr "見通ã—" + +msgctxt "#32515" +msgid "Forecast" +msgstr "予報" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "概æ³" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Korean/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Korean/strings.po new file mode 100644 index 000000000..74ca64b90 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Korean/strings.po @@ -0,0 +1,125 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Korean (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "위치 ì„ íƒ" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "고급 옵션" + +msgctxt "#32111" +msgid "Location 1" +msgstr "위치 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "위치 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "위치 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "위치 1 표시 ì´ë¦„" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "위치 2 표시 ì´ë¦„" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "위치 3 표시 ì´ë¦„" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "위치 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "위치 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "위치 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "로그 사용" + +msgctxt "#32121" +msgid "Weekend" +msgstr "주ë§" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "토요ì¼/ì¼ìš”ì¼" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "금요ì¼/토요ì¼" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "목요ì¼/금요ì¼" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "ì§€ë„ í™•ëŒ€ 레벨" + +msgctxt "#32126" +msgid "Animated map" +msgstr "움ì§ì´ëŠ” ì§€ë„" + +msgctxt "#32501" +msgid "New Moon" +msgstr "ì‚­" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "초승달" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "ìƒí˜„달" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "보름달" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "하현달" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "ê·¸ë¯ë‹¬" + +msgctxt "#32510" +msgid "Warning" +msgstr "경고" + +msgctxt "#32514" +msgid "Outlook" +msgstr "개황" + +msgctxt "#32515" +msgid "Forecast" +msgstr "예보" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Lithuanian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Lithuanian/strings.po new file mode 100644 index 000000000..bf26589b6 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Lithuanian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Lithuanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "VietovÄ—s nustatymas" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "IÅ¡plÄ—stinÄ—s parinktys" + +msgctxt "#32111" +msgid "Location 1" +msgstr "VietovÄ— 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "VietovÄ— 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "VietovÄ— 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "1 vietovÄ—s rodomas pavadinimas" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "2 vietovÄ—s rodomas pavadinimas" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "3 vietovÄ—s rodomas pavadinimas" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "1 vietovÄ—s ID" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "2 vietovÄ—s ID" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "3 vietovÄ—s ID" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Ä®jungti registravimÄ…" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Savaitgalio" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Å eÅ¡tadienis/Sekmadienis" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Penktadienis/Å eÅ¡tadienis" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Ketvirtadienis/Penktadienis" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "ŽemÄ—lapio mastelis" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animuotas žemÄ—lapis" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Jaunatis" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "PrieÅ¡pilnis" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Pilnatis" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "DelÄia" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Pilnatis" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "PrieÅ¡pilnis" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Ketvirtinis" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "PrieÅ¡pilnis" + +msgctxt "#32510" +msgid "Warning" +msgstr "Ä®spÄ—jimas" + +msgctxt "#32511" +msgid "Watch" +msgstr "ŽiÅ«rÄ—ti" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Konsultacinis" + +msgctxt "#32513" +msgid "Statement" +msgstr "FormuluotÄ—" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Numatoma" + +msgctxt "#32515" +msgid "Forecast" +msgstr "PrognozÄ—" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Trumpa apžvalga" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Macedonian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Macedonian/strings.po new file mode 100644 index 000000000..60297a5a8 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Macedonian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Macedonian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/mk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mk\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "ПодеÑување на локација" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Ðапредни опции" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Локација 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Локација 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Локација 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Име на Локација 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Име на Локација 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Име на Локација 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ИД на Локација 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ИД на Локација 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ИД на Локација 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Овозможи логови" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Викенд" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Сабота/Ðедела" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Петок/Сабота" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Четврток/Петок" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Ðиво на зум на мапа" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Ðнимирана мапа" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Млад меÑец" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Waxing Crescent" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Прв квартал" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Waxing Gibbous" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Полн меÑец" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Waning Gibbous" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "ПоÑледен квартал" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Waning Crescent" + +msgctxt "#32510" +msgid "Warning" +msgstr "Предупредување" + +msgctxt "#32511" +msgid "Watch" +msgstr "Поглед" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Совети" + +msgctxt "#32513" +msgid "Statement" +msgstr "Изјава" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Ðутлук" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Прогноза" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "СинопÑиÑ" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Norwegian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Norwegian/strings.po new file mode 100644 index 000000000..1511850c1 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Norwegian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Norwegian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/no/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Steder" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Avanserte alternativer" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Sted 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Sted 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Sted 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Visningsnavn for sted 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Visningsnavn for sted 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Visningsnavn for sted 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID for sted 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID for sted 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID for sted 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Aktiver logging" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Helg" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Lørdag/søndag" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Fredag/lørdag" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Torsdag/fredag" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "ZoomnivÃ¥ for kart" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animert kart" + +msgctxt "#32501" +msgid "New Moon" +msgstr "NymÃ¥ne" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Waxing Crescent" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "HalvmÃ¥ne ny" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Tiltagende mot fullmÃ¥ne" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "FullmÃ¥ne" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Minkende fra fullmÃ¥ne" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "HalvmÃ¥ne ne" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Minkende fra fullmÃ¥ne" + +msgctxt "#32510" +msgid "Warning" +msgstr "Advarsel" + +msgctxt "#32511" +msgid "Watch" +msgstr "Se" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Anbefaling" + +msgctxt "#32513" +msgid "Statement" +msgstr "Uttalelse" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Prognose" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Værvarsel" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sammendrag" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Persian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Persian/strings.po new file mode 100644 index 000000000..60b926894 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Persian/strings.po @@ -0,0 +1,45 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Persian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#32111" +msgid "Location 1" +msgstr "موقعیت 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "موقعیت 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "موقعیت 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "نام مستعار موقیت 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "نام مستعار موقعیت 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "نام مستعار موقعیت 3" + +msgctxt "#32121" +msgid "Weekend" +msgstr "آخر Ù‡ÙØªÙ‡" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Polish/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Polish/strings.po new file mode 100644 index 000000000..e9a94c564 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Polish/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Polish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Ustawienia lokalizacji" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Opcje zaawansowane" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Lokalizacja 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Lokalizacja 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Lokalizacja 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "WyÅ›wietlana nazwa lokalizacji 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "WyÅ›wietlana nazwa lokalizacji 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "WyÅ›wietlana nazwa lokalizacji 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Lokalizacja 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Lokalizacja 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Lokalizacja 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Włącz rejestrowanie" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Weekend" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sobota/Niedziela" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "PiÄ…tek/Sobota" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Czwartek / PiÄ…tek" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Poziom zoom mapy" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animowana mapa" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Księżyc w nowiu" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "PowiÄ™kszajÄ…cy siÄ™ sierp Księżyca" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Pierwsza kwadra" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "PowiÄ™kszajÄ…cy siÄ™ Księżyc" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "PeÅ‚nia" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "ZmniejszajÄ…cy siÄ™ Księżyc" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Ostatnia kwadra" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "ZmniejszajÄ…cy siÄ™ sierp Księżyca" + +msgctxt "#32510" +msgid "Warning" +msgstr "Uwaga" + +msgctxt "#32511" +msgid "Watch" +msgstr "Obserwuj" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Porady" + +msgctxt "#32513" +msgid "Statement" +msgstr "Komunikat" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Prognoza" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Prognoza" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Streszczenie" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Portuguese (Brazil)/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Portuguese (Brazil)/strings.po new file mode 100644 index 000000000..6faf71b34 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Portuguese (Brazil)/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Localização" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Opções Avançadas" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Local 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Local 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Local 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Nome de exibição do local 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Nome de exibição do local 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Nome de exibição do local 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID do local 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID do local 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID do local 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Ativar registro" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Final de semana" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sábado/Domingo" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Sexta/Sábado" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Quinta/Sexta" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Nível de zoom no mapa" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Mapa animado" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Lua Nova" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Lua Crescente" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Quarto Crescente" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Lua Gibosa" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Lua Cheia" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Lua Balsâmica" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Quarto Minguante" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Lua Minguante" + +msgctxt "#32510" +msgid "Warning" +msgstr "Aviso" + +msgctxt "#32511" +msgid "Watch" +msgstr "Assista" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Assessoria" + +msgctxt "#32513" +msgid "Statement" +msgstr "Declaração" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Perspectivas" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Previsão" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinopse" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Portuguese/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Portuguese/strings.po new file mode 100644 index 000000000..8ab99a9f0 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Portuguese/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Portuguese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Definir localização" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Opções avançadas" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Localização 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Localização 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Localização 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Nome para Localização 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Nome para Localização 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Nome para Localização 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID da Localização 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID da Localização 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID da Localização 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Activar log" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Fim-de-semana" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sábado/Domingo" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Sexta/Sábado" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Quinta/Sexta" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Nível de ampliação do mapa" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Mapa animado" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Lua Nova" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Crescente Côncava" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Quarto Crescente" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Crescente Convexa" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Lua Cheia" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Minguante Convexa" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Quarto Minguante" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Minguante Côncava" + +msgctxt "#32510" +msgid "Warning" +msgstr "Aviso" + +msgctxt "#32511" +msgid "Watch" +msgstr "Vigiar" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Aconselhamento" + +msgctxt "#32513" +msgid "Statement" +msgstr "Enunciado" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Panorama" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Previsão" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinopse" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Romanian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Romanian/strings.po new file mode 100644 index 000000000..d1cd0182a --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Romanian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Romanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Configurare locaÅ£ie" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "OpÅ£iuni avansate" + +msgctxt "#32111" +msgid "Location 1" +msgstr "LocaÅ£ie 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "LocaÅ£ie 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "LocaÅ£ie 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Nume pentru locaÅ£ia 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Nume pentru locaÅ£ia 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Nume pentru locaÅ£ia 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID locaÅ£ie 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID locaÅ£ie 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID locaÅ£ie 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Activează jurnal" + +msgctxt "#32121" +msgid "Weekend" +msgstr "SfârÈ™it de săptămână" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sâmbătă/Duminică" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Vineri/Sâmbătă" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Joi/Vineri" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Nivel apropiere hartă" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Hartă animată" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Lună nouă" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Waxing Crescent" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Primul pătrar" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Waxing Gibbous" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Lună plină" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Waning Gibbous" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Ultimul pătrar" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Waning Crescent" + +msgctxt "#32510" +msgid "Warning" +msgstr "Avertizare" + +msgctxt "#32511" +msgid "Watch" +msgstr "UrmăreÅŸte" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Buletin informativ" + +msgctxt "#32513" +msgid "Statement" +msgstr "DeclaraÅ£ie" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Perspectivă" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Previziune" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinopsis" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Russian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Russian/strings.po new file mode 100644 index 000000000..027739432 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Russian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Russian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "ÐаÑтройка меÑтоположениÑ" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Раширенные опции" + +msgctxt "#32111" +msgid "Location 1" +msgstr "МеÑтоположение 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "МеÑтоположение 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "МеÑтоположение 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Ðазвание меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Ðазвание меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Ðазвание меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Включить журнал" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Выходные" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Суббота/воÑкреÑенье" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "ПÑтница/Ñуббота" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Четверг/пÑтница" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Увеличение карты" + +msgctxt "#32126" +msgid "Animated map" +msgstr "ÐÐ½Ð¸Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð°" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Ðоволуние" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "ÐœÐ¾Ð»Ð¾Ð´Ð°Ñ Ð»ÑƒÐ½Ð°" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "ÐŸÐµÑ€Ð²Ð°Ñ Ñ‡ÐµÑ‚Ð²ÐµÑ€Ñ‚ÑŒ" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "РаÑÑ‚ÑƒÑ‰Ð°Ñ Ð»ÑƒÐ½Ð°" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Полнолуние" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Ð£Ð±Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð»ÑƒÐ½Ð°" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "ПоÑледнÑÑ Ñ‡ÐµÑ‚Ð²ÐµÑ€Ñ‚ÑŒ" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Ð¡Ñ‚Ð°Ñ€ÐµÑŽÑ‰Ð°Ñ Ð»ÑƒÐ½Ð°" + +msgctxt "#32510" +msgid "Warning" +msgstr "Предупреждение" + +msgctxt "#32511" +msgid "Watch" +msgstr "Ðаблюдение" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Предположение" + +msgctxt "#32513" +msgid "Statement" +msgstr "ЗаÑвление" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Ðаблюдение" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Прогноз" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Резюме" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Serbian (Cyrillic)/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Serbian (Cyrillic)/strings.po new file mode 100644 index 000000000..500dc838d --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Serbian (Cyrillic)/strings.po @@ -0,0 +1,25 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr_RS/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr_RS\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Викенд" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Видик" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Serbian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Serbian/strings.po new file mode 100644 index 000000000..42b04243c --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Serbian/strings.po @@ -0,0 +1,25 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Serbian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Vikend" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Vidik" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Slovak/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Slovak/strings.po new file mode 100644 index 000000000..67864caae --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Slovak/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovak (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Nastavenie Polohy" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "PokroÄilé nastavenia" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Poloha 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Poloha 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Poloha 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Pomenovanie Polohy 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Pomenovanie Polohy 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Pomenovanie Polohy 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ID Polohy 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ID Polohy 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ID Polohy 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "PovoliÅ¥ logovanie" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Víkend" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sobota/Nedeľa" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Piatok/Sobota" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Å tvrtok/Piatok" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Úroveň priblíženia mapy" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animovaná mapa" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Nov mesiaca" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Dorastajúci kosák" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Prvá Å¡tvrÅ¥" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Dorastajúci mesiac" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Spln mesiaca" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Cúvajúci mesiac" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Posledná Å¡tvrÅ¥" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Ubúdajúci kosák" + +msgctxt "#32510" +msgid "Warning" +msgstr "Upozornenie" + +msgctxt "#32511" +msgid "Watch" +msgstr "Výstraha" + +msgctxt "#32512" +msgid "Advisory" +msgstr "InformaÄné spravodajstvo" + +msgctxt "#32513" +msgid "Statement" +msgstr "Oznámenie" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Výhľad" + +msgctxt "#32515" +msgid "Forecast" +msgstr "PredpoveÄ" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Zhrnutie" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Slovenian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Slovenian/strings.po new file mode 100644 index 000000000..8845a0201 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Slovenian/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Slovenian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Nastavitev kraja" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Napredne nastavitve" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Kraj 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Kraj 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Kraj 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Prikaz kraja 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Prikaz kraja 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Prikaz kraja 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Id kraja 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Id kraja 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Id kraja 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "VkljuÄi zapisnik" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Vikend" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sobota/Nedelja" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Petek/Sobota" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "ÄŒetrtek/Petek" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "PoveÄava kart" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animirane karte" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Mlaj" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Prva Äetrtina" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Prvi krajec" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Prva polovica" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Polna luna" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Druga polovica" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Zadnji krajec" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Zadnja Äetrtina" + +msgctxt "#32510" +msgid "Warning" +msgstr "Opozorilo" + +msgctxt "#32511" +msgid "Watch" +msgstr "Pozor" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Nasvet" + +msgctxt "#32513" +msgid "Statement" +msgstr "Trditev" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Izgled" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Napoved" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Obnova" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish (Argentina)/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish (Argentina)/strings.po new file mode 100644 index 000000000..1243189b2 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish (Argentina)/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Configurar ubicación" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Opciones avanzadas" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Ubicación 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Ubicación 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Ubicación 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Nombre a mostrar para ubicación 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Nombre a mostrar para ubicación 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Nombre a mostrar para ubicación 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Id de ubicación 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Id de ubicación 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Id de ubicación 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Habilitar el registro" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Fin de semana" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sábado/Domingo" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Viernes/Sábado" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Jueves/Viernes" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Nivel de zoom del mapa" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Mapa animado" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Luna nueva" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Luna creciente" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Cuarto creciente" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Luna gibosa creciente" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Luna llena" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Luna gibosa menguante" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Cuarto menguante" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Luna menguante" + +msgctxt "#32510" +msgid "Warning" +msgstr "Advertencia" + +msgctxt "#32511" +msgid "Watch" +msgstr "Ver" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Asesor" + +msgctxt "#32513" +msgid "Statement" +msgstr "Declaración" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Pronóstico" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Pronóstico" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinopsis" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish (Mexico)/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish (Mexico)/strings.po new file mode 100644 index 000000000..a1cd15f5e --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish (Mexico)/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Configurar Ubicación" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Opciones Avanzadas" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Ubicación 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Ubicación 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Ubicación 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Ubicación 1 Mostrar Nombre" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Ubicación 2 Mostrar Nombre" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Ubicación 3 Mostrar Nombre" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Ubicación 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Ubicación 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Ubicación 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Habilitar logs" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Fin de semana" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sábado/Domingo" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Viernes/Sábado" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Jueves/Viernes" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Nivel de Acercamiento en Mapa" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Mapa Animado" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Luna nueva" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Luna Creciente" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Primer Cuarto" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Gibosa Iluminarte" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Luna Llena" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Luna Menguante" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Último cuarto" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Creciente Menguante" + +msgctxt "#32510" +msgid "Warning" +msgstr "Alerta" + +msgctxt "#32511" +msgid "Watch" +msgstr "Reloj" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Advertencia" + +msgctxt "#32513" +msgid "Statement" +msgstr "Sentencia" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Outlook" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Pronóstico" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinopsis" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish/strings.po new file mode 100644 index 000000000..692ec23a6 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Spanish/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Spanish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Configurar ubicación" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Opciones avanzadas" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Ubicación 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Ubicación 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Ubicación 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Nombre a mostrar para ubicación 1" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Nombre a mostrar para ubicación 2" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Nombre a mostrar para ubicación 3" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Id de ubicación 1" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Id de ubicación 2" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Id de ubicación 3" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Habilitar el registro" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Fin de Semana" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Sábado/Domingo" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Viernes/Sábado" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Jueves/Viernes" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Nivel de zoom del mapa" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Mapa animado" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Luna nueva" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Luna creciente" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Cuarto creciente" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Luna gibosa creciente" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Luna llena" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Luna gibosa menguante" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Cuarto menguante" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Luna menguante" + +msgctxt "#32510" +msgid "Warning" +msgstr "Advertencia" + +msgctxt "#32511" +msgid "Watch" +msgstr "Ver" + +msgctxt "#32512" +msgid "Advisory" +msgstr "Asesor" + +msgctxt "#32513" +msgid "Statement" +msgstr "Declaración" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Pronóstico" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Pronóstico" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sinopsis" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Swedish/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Swedish/strings.po new file mode 100644 index 000000000..866359c02 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Swedish/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Swedish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Platsinställningar" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "Avancerade val" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Plats 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Plats 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Plats 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Plats 1 visningsnamn" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Plats 2 visningsnamn" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Plats 3 visningsnamn" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Plats 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Plats 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Plats 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Aktivera loggning" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Helg" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Lördag/Söndag" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Fredag/Lördag" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "Torsdag/Fredag" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "KartzoomnivÃ¥" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animerad karta" + +msgctxt "#32501" +msgid "New Moon" +msgstr "NymÃ¥ne" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Tilltagande mÃ¥nskära" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "Första kvarteret" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Andra kvarteret" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "FullmÃ¥ne" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "Tredje kvarteret" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Sista kvarteret" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "Avtagande mÃ¥nskära" + +msgctxt "#32510" +msgid "Warning" +msgstr "Varning" + +msgctxt "#32511" +msgid "Watch" +msgstr "Betrakta" + +msgctxt "#32512" +msgid "Advisory" +msgstr "RÃ¥dgivande" + +msgctxt "#32513" +msgid "Statement" +msgstr "Uttalande" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Utsikt" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Prognos" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "Sammanfattning" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Thai/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Thai/strings.po new file mode 100644 index 000000000..57ca4552f --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Thai/strings.po @@ -0,0 +1,149 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Thai (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "ตั้งค่า ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "ตัวเลือภขั้นสูง" + +msgctxt "#32111" +msgid "Location 1" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 1 ชื่อที่à¹à¸ªà¸”ง" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 2 ชื่อที่à¹à¸ªà¸”ง" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 3 ชื่อที่à¹à¸ªà¸”ง" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "ตำà¹à¸«à¸™à¹ˆà¸‡à¸žà¸·à¹‰à¸™à¸—ี่ 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "เปิดใช้งาน logging" + +msgctxt "#32121" +msgid "Weekend" +msgstr "สุดสัปดาห์" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "วันเสาร์/วันอาทิตย์" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "วันศุà¸à¸£à¹Œ/วันเสาร์" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "วันพฤหัสบดี/วันศุà¸à¸£à¹Œ" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "ระดับà¸à¸²à¸£à¸‹à¸¹à¸¡à¹à¸œà¸™à¸—ี่" + +msgctxt "#32126" +msgid "Animated map" +msgstr "เคลื่อนไหว à¹à¸œà¸™à¸—ี่" + +msgctxt "#32501" +msgid "New Moon" +msgstr "ดวงจันทร์ใหม่" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "ข้างขึ้นเดือนเสี้ยว" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "ไตรมาสà¹à¸£à¸" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "ข้างขึ้นเดือนเต็ม" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "จันทร์เต็มดวง" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "ข้างà¹à¸£à¸¡à¹€à¸”ือนเต็ม" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "ไตรมาสสุดท้าย" + +msgctxt "#32508" +msgid "Waning Crescent" +msgstr "ข้างà¹à¸£à¸¡à¹€à¸”ือนเสี้ยว" + +msgctxt "#32510" +msgid "Warning" +msgstr "คำเตือน" + +msgctxt "#32511" +msgid "Watch" +msgstr " \nเà¸à¹‰à¸²à¸”ู" + +msgctxt "#32512" +msgid "Advisory" +msgstr "คำà¹à¸™à¸°à¸™à¸³" + +msgctxt "#32513" +msgid "Statement" +msgstr "รายงาน" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Outlook" + +msgctxt "#32515" +msgid "Forecast" +msgstr "พยาà¸à¸£à¸“์" + +msgctxt "#32516" +msgid "Synopsis" +msgstr "สรุป" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Turkish/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Turkish/strings.po new file mode 100644 index 000000000..4a26db564 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Turkish/strings.po @@ -0,0 +1,133 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Turkish (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgctxt "#32101" +msgid "Location setup" +msgstr "Konum ayarı" + +msgctxt "#32102" +msgid "Advanced options" +msgstr "GeliÅŸmiÅŸ seçenekler" + +msgctxt "#32111" +msgid "Location 1" +msgstr "Konum 1" + +msgctxt "#32112" +msgid "Location 2" +msgstr "Konum 2" + +msgctxt "#32113" +msgid "Location 3" +msgstr "Konum 3" + +msgctxt "#32114" +msgid "Location 1 display name" +msgstr "Konum 1 görünen adı" + +msgctxt "#32115" +msgid "Location 2 display name" +msgstr "Konum 2 görünen adı" + +msgctxt "#32116" +msgid "Location 3 display name" +msgstr "Konum 3 görünen adı" + +msgctxt "#32117" +msgid "Location 1 id" +msgstr "Konum 1 id" + +msgctxt "#32118" +msgid "Location 2 id" +msgstr "Konum 2 id" + +msgctxt "#32119" +msgid "Location 3 id" +msgstr "Konum 3 id" + +msgctxt "#32120" +msgid "Enable logging" +msgstr "Günlüğü etkinleÅŸtir" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Hafta sonu" + +msgctxt "#32122" +msgid "Saturday/Sunday" +msgstr "Cumartesi/Pazar" + +msgctxt "#32123" +msgid "Friday/Saturday" +msgstr "Cuma/Cumartesi" + +msgctxt "#32124" +msgid "Thursday/Friday" +msgstr "PerÅŸembe/Cuma" + +msgctxt "#32125" +msgid "Map zoom level" +msgstr "Harita yakınlaÅŸtırma düzeyi" + +msgctxt "#32126" +msgid "Animated map" +msgstr "Animasyonlu harita" + +msgctxt "#32501" +msgid "New Moon" +msgstr "Yeni Ay" + +msgctxt "#32502" +msgid "Waxing Crescent" +msgstr "Hilal" + +msgctxt "#32503" +msgid "First Quarter" +msgstr "İlk Dördün" + +msgctxt "#32504" +msgid "Waxing Gibbous" +msgstr "Üçüncü Dördün" + +msgctxt "#32505" +msgid "Full Moon" +msgstr "Dolunay" + +msgctxt "#32506" +msgid "Waning Gibbous" +msgstr "ÅžiÅŸkin Ay" + +msgctxt "#32507" +msgid "Last Quarter" +msgstr "Son Dördün" + +msgctxt "#32510" +msgid "Warning" +msgstr "Uyarı" + +msgctxt "#32511" +msgid "Watch" +msgstr "İzle" + +msgctxt "#32514" +msgid "Outlook" +msgstr "Outlook" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Hava Tahmini" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Ukrainian/strings.po b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Ukrainian/strings.po new file mode 100644 index 000000000..382b11188 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/language/Ukrainian/strings.po @@ -0,0 +1,33 @@ +# XBMC Media Center language file +# Addon Name: Weather Underground +# Addon id: weather.wunderground +# Addon Provider: Team XBMC +msgid "" +msgstr "" +"Project-Id-Version: XBMC Main Translation Project (Frodo)\n" +"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" +"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: XBMC Translation Team\n" +"Language-Team: Ukrainian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgctxt "#32121" +msgid "Weekend" +msgstr "Вихідні" + +msgctxt "#32510" +msgid "Warning" +msgstr "Увага" + +msgctxt "#32514" +msgid "Outlook" +msgstr "СпоÑтереженнÑ" + +msgctxt "#32515" +msgid "Forecast" +msgstr "Прогноз" diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/utilities.py b/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/utilities.py new file mode 100644 index 000000000..82a66bc04 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/utilities.py @@ -0,0 +1,185 @@ +# -*- coding: utf-8 -*- + +import sys +import xbmc + +__language__ = sys.modules[ "__main__" ].__language__ + +#http://www.wunderground.com/weather/api/d/docs?d=language-support + # xbmc lang name # wu code +LANG = { 'afrikaans' : 'AF', + 'arabic' : 'AR', + 'basque' : 'EU', + 'belarusian' : 'BY', + 'bosnian' : 'CR', # BS is n/a, use CR or SR? + 'bulgarian' : 'BU', + 'catalan' : 'CA', + 'chinese (simple)' : 'CN', + 'chinese (traditional)' : 'TW', + 'croatian' : 'CR', + 'czech' : 'CZ', + 'danish' : 'DK', + 'dutch' : 'NL', + 'english' : 'LI', + 'english (us)' : 'EN', + 'esperanto' : 'EO', + 'estonian' : 'ET', + 'finnish' : 'FI', + 'french' : 'FR', + 'galician' : 'GZ', + 'german' : 'DL', + 'greek' : 'GR', + 'hebrew' : 'IL', + 'hindi (devanagiri)' : 'HI', + 'hungarian' : 'HU', + 'icelandic' : 'IS', + 'indonesian' : 'ID', + 'italian' : 'IT', + 'japanese' : 'JP', + 'korean' : 'KR', + 'lithuanian' : 'LT', + 'macedonian' : 'MK', + 'maltese' : 'MT', + 'norwegian' : 'NO', + 'polish' : 'PL', + 'portuguese' : 'BR', + 'portuguese (brazil)' : 'BR', + 'romanian' : 'RO', + 'russian' : 'RU', + 'serbian' : 'SR', + 'serbian (cyrillic)' : 'SR', + 'slovak' : 'SK', + 'slovenian' : 'SL', + 'spanish' : 'SP', + 'spanish (argentina)' : 'SP', + 'spanish (mexico)' : 'SP', + 'swedish' : 'SW', + 'thai' : 'TH', + 'turkish' : 'TU', + 'ukrainian' : 'UA'} + +WEATHER_CODES = { 'chanceflurries' : '41', + 'chancerain' : '39', + 'chancesleet' : '6', + 'chancesnow' : '41', + 'chancetstorms' : '38', + 'clear' : '32', + 'cloudy' : '26', + 'flurries' : '13', + 'fog' : '20', + 'hazy' : '21', + 'mostlycloudy' : '28', + 'mostlysunny' : '34', + 'partlycloudy' : '30', + 'partlysunny' : '34', + 'sleet' : '18', + 'rain' : '11', + 'snow' : '42', + 'sunny' : '32', + 'tstorms' : '38', + 'unknown' : 'na', + '' : 'na', + 'nt_chanceflurries' : '46', + 'nt_chancerain' : '45', + 'nt_chancesleet' : '45', + 'nt_chancesnow' : '46', + 'nt_chancetstorms' : '47', + 'nt_clear' : '31', + 'nt_cloudy' : '27', + 'nt_flurries' : '46', + 'nt_fog' : '20', + 'nt_hazy' : '21', + 'nt_mostlycloudy' : '27', + 'nt_mostlysunny' : '33', + 'nt_partlycloudy' : '29', + 'nt_partlysunny' : '33', + 'nt_sleet' : '45', + 'nt_rain' : '45', + 'nt_snow' : '46', + 'nt_sunny' : '31', + 'nt_tstorms' : '47', + 'nt_unknown' : 'na', + 'nt_' : 'na'} + +MONTH = { 1 : xbmc.getLocalizedString(51), + 2 : xbmc.getLocalizedString(52), + 3 : xbmc.getLocalizedString(53), + 4 : xbmc.getLocalizedString(54), + 5 : xbmc.getLocalizedString(55), + 6 : xbmc.getLocalizedString(56), + 7 : xbmc.getLocalizedString(57), + 8 : xbmc.getLocalizedString(58), + 9 : xbmc.getLocalizedString(59), + 10 : xbmc.getLocalizedString(60), + 11 : xbmc.getLocalizedString(61), + 12 : xbmc.getLocalizedString(62)} + +WEEKDAY = { 0 : xbmc.getLocalizedString(41), + 1 : xbmc.getLocalizedString(42), + 2 : xbmc.getLocalizedString(43), + 3 : xbmc.getLocalizedString(44), + 4 : xbmc.getLocalizedString(45), + 5 : xbmc.getLocalizedString(46), + 6 : xbmc.getLocalizedString(47)} + +SEVERITY = { 'W' : __language__(32510), + 'A' : __language__(32511), + 'Y' : __language__(32512), + 'S' : __language__(32513), + 'O' : __language__(32514), + 'F' : __language__(32515), + 'N' : __language__(32516), + 'L' :'', # no idea + '' : ''} + +def MOONPHASE(age, percent): + if (percent == 0) and (age == 0): + phase = __language__(32501) + elif (age < 17) and (age > 0) and (percent > 0) and (percent < 50): + phase = __language__(32502) + elif (age < 17) and (age > 0) and (percent == 50): + phase = __language__(32503) + elif (age < 17) and (age > 0) and (percent > 50) and (percent < 100): + phase = __language__(32504) + elif (age > 0) and (percent == 100): + phase = __language__(32505) + elif (age > 15) and (percent < 100) and (percent > 50): + phase = __language__(32506) + elif (age > 15) and (percent == 50): + phase = __language__(32507) + elif (age > 15) and (percent < 50) and (percent > 0): + phase = __language__(32508) + else: + phase = '' + return phase + +def KPHTOBFT(spd): + if (spd < 1.0): + bft = '0' + elif (spd >= 1.0) and (spd < 5.6): + bft = '1' + elif (spd >= 5.6) and (spd < 12.0): + bft = '2' + elif (spd >= 12.0) and (spd < 20.0): + bft = '3' + elif (spd >= 20.0) and (spd < 29.0): + bft = '4' + elif (spd >= 29.0) and (spd < 39.0): + bft = '5' + elif (spd >= 39.0) and (spd < 50.0): + bft = '6' + elif (spd >= 50.0) and (spd < 62.0): + bft = '7' + elif (spd >= 62.0) and (spd < 75.0): + bft = '8' + elif (spd >= 75.0) and (spd < 89.0): + bft = '9' + elif (spd >= 89.0) and (spd < 103.0): + bft = '10' + elif (spd >= 103.0) and (spd < 118.0): + bft = '11' + elif (spd >= 118.0): + bft = '12' + else: + bft = '' + return bft diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/wunderground/__init__.py b/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/wunderground/__init__.py new file mode 100644 index 000000000..b93054b3e --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/wunderground/__init__.py @@ -0,0 +1 @@ +# Dummy file to make this directory a package. diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/wunderground/wunderground.py b/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/wunderground/wunderground.py new file mode 100644 index 000000000..809b583f0 --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/lib/wunderground/wunderground.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +import urllib2, base64 + +WAIK = 'NDEzNjBkMjFkZjFhMzczNg==' +WUNDERGROUND_URL = 'http://api.wunderground.com/api/KEY/%s/%s/q/%s.%s' +API_EXCLUDE = ['hourly10day', 'yesterday', 'planner', 'webcams', 'animatedradar', 'animatedsatellite', 'currenthurricane'] + +def wundergroundapi(features, settings, query, format): + + """ + wunderground api module + + How to use: + + 1) import the wunderground addon in your addon.xml: + + + + + 2) import the wunderground api module in your script: + from wunderground import wundergroundapi + + 3) to fetch weather data: + weatherdata = wundergroundapi(features, settings, query, format) + + see http://www.wunderground.com/weather/api/d/docs?d=data/index + for api features, optional settings, query examples and response formats. + """ + + for item in API_EXCLUDE: + if item in features: + return 'api access to %s restricted' % item + if not settings: + settings = 'lang:EN' + query = WUNDERGROUND_URL % (features, settings, query, format) + url = query.replace('KEY',(base64.b64decode(WAIK)[::-1]),1) + try: + req = urllib2.urlopen(url) + response = req.read() + req.close() + except: + response = '' + return response diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/logo/logo.jpg b/usr/local/share/xbmc/addons/weather.wunderground/resources/logo/logo.jpg new file mode 100644 index 000000000..cc08b54b5 Binary files /dev/null and b/usr/local/share/xbmc/addons/weather.wunderground/resources/logo/logo.jpg differ diff --git a/usr/local/share/xbmc/addons/weather.wunderground/resources/settings.xml b/usr/local/share/xbmc/addons/weather.wunderground/resources/settings.xml new file mode 100644 index 000000000..33dfdd55a --- /dev/null +++ b/usr/local/share/xbmc/addons/weather.wunderground/resources/settings.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/usr/local/share/xbmc/addons/webinterface.default/addon.xml b/usr/local/share/xbmc/addons/webinterface.default/addon.xml new file mode 100644 index 000000000..1b4ed89c6 --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/addon.xml @@ -0,0 +1,95 @@ + + + + + + + + + Span XBMC Web Koppelvlak. (XBMC se verstek web koppelvlak) + واجهة شبكة ÙØ±ÙŠÙ‚ XBMC. + Team XBMC Web Interface. (XBMC's default web interface) + Ð£ÐµÐ±Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð° Team XBMC. (ÑтандартниÑÑ‚ ÑƒÐµÐ±Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð° XBMC) + Interfície web de l'Equip XBMC. (Interficie web per defecte de l'XBMC) + Webové rozhraní týmu XBMC (Výchozí webové rozhraní XBMC). + Team XBMC Web-grænseflade. (XBMC's standard webgrænseflade) + Team XBMC Webinterface. (XBMC's standard Webinterface) + Διεπαφή Î™ÏƒÏ„Î¿Ï Ï„Î·Ï‚ Team XBMC. (ΠÏοεπιλεγμένη διεπαφή Î¹ÏƒÏ„Î¿Ï Ï„Î¿Ï… XBMC) + Team XBMC Web Interface. (XBMC's default web interface) + Interfaz web de XBMC. (Interfaz web por defecto de XBMC) + Interfaz Web del Equipo de XBMC. (Interfaz web por defecto de XBMC) + Interfaz Web del Equipo de XBMC (Interfaz Web por defecto de XBMC) + XBMC meeskonna veebikeskkond. (Vaikimisi keskkond) + XBMC taldean Web Interfazea. (XBMC-ren lehenetsiriko web interfazea) + نمایه وب تیم Xbmc.(رابط پیش ÙØ±Ø¶ Xbmc) + Team XBMC:n WWW-käyttöliittymä. (XBMC:n oletus WWW-käyttöliittymä) + Interface Web de l'équipe d'XBMC. (Interface Web par défaut d'XBMC) + Interface web da equipa de XBMC. (Interface web predefinida de XBMC) + צוות XBMC ממשק ×ינטרנט. (ממשק ×”×ינטרנט ברירת המחדל של XBMC) + Az XBMC csapat Webes kezelÅ‘felülete (XBMC alapértelmezett webes kezelÅ‘felülete) + Interfaccia Web del Team XBMC. (Interfaccia web di default per XBMC) + Team XBMC Web Interface. (XBMC's default web interface) + Team XBMC 웹 ì¸í„°íŽ˜ì´ìФ. (XBMC 기본 웹 ì¸í„°íŽ˜ì´ìФ) + Komandos XBMC Web sÄ…saja.(XBMC numatytoji žiniatinklio sÄ…saja) + Веб Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð½Ð° XBMC тимот. (XBMC's подразбирачки веб интерфејÑ) + Team XBMC Webinterface. (XBMC's standaard webinterface) + Team XBMC webgrensesnitt. (XBMC's standard webgrensesnitt) + Standardowy interfejs WWW XBMC. + Interface Web da Team XBMC. (Interface Web padrão do XBMC) + Interface Web da Equipe XBMC. (interface web padrão do XBMC) + Interfață web XBMC. (interfață web implicită pentru XBMC) + Веб-Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¾Ñ‚ разработчиков XBMC (веб-Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC по умолчанию). + Team XBMC webbgränssnitt. (XBMC's standardwebbgränssnitt) + Webové rozhranie tímu XBMC. (predvolené webové rozhranie pre XBMC) + Spletni vmesnik ekipe XBMC. (Privzet spletni vmesnik za XBMC) + Team XBMC webbgränsnitt. (XBMC's standardwebbgränssnitt) + ทีมส่วนประสานหน้าเว็บ XBMC (ส่วนประสานหน้าเว็บพื้นà¸à¸²à¸™à¸‚อง XBMC) + XBMC Takımı Web Arayüzü. (XBMC'nin varsayılan web arayüzü) + Team XBMC Web 界é¢ã€‚(XBMC 的默认 web 界é¢ï¼‰ + Verstek web koppelvlak vir XBMC; Ontwerp vir toestelle van alle resolusies + Стандартны вÑб-інтÑрфÑÐ¹Ñ Ð´Ð° XBMC; раÑпрацаваны Ð´Ð»Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð°Ñž зь любымі разрознаÑьцÑмі + Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ ÑƒÐµÐ±Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ð° XBMC; Ðаправен е за уÑтройÑтва Ñ Ð½Ð°Ð¹-различни резолюции + Interfície web per defecte de l'XBMC; Dissenyada per dispositius de totes les resol·lucions + Výchozí webové rozhraní XBMC navržené pro zařízení s libovolným rozliÅ¡ením + Standard webgrænseflade til XBMC; designet til enheder i alle opløsninger + Standard XBMC Webinterface; Für alle Geräte und Auflösungen geeignet + ΠÏοεπιλεγμένη διεπαφή Î¹ÏƒÏ„Î¿Ï Î³Î¹Î± το XBMC. Σχεδιασμένη για συσκευές όλων των αναλÏσεων. + Default web interface for XBMC; Designed for devices of all resolutions + Interfaz web por defecto de XBMC. Diseñada para dispositivos de cualquier resolución + Interfaz web por defecto de XBMC. Diseñada para dispositivos de cualquier resolución + Interfaz Web por defecto para XBMC; Diseñado para dispositivos de todas las resoluciones + XBMC vaikimisi veebikeskkond; Disainitud erinevate resulutsioonidega seadmetele. + XBMC-ren lehenetsiriko web interfazea. Erresoluzio guztietako gailentzat diseinatua + رابط پیش ÙØ±Ø¶ Xbmcوطراحی شده برای هر رزولیشن + Oletus WWW-käyttöliittymä XBMC:lle. Suunniteltu käytettäväksi kaiken kokoisilla laitteilla. + Interface Web par défaut d'XBMC; Adaptée aux dispositifs de toutes résolutions + Interface web predefinida para XBMC, deseñada para dispositivos de todas as resolucións + ממשק ×”×ינטרנט ברירת המחדל עבור XBMC; תוכנן עבור ×ž×›×©×™×¨×™× ×‘×›×œ הרזולוציות + Az XBMC alapértelmezett webes kezelÅ‘felülete; Minden felbontásra alkalmas + Interfaccia Web di default per XMBC; Realizzata per periferiche con qualunque risoluzione + Default web interface for XBMC; Designed for devices of all resolutions + XBMC 기본 웹 ì¸í„°íŽ˜ì´ìФ; 모든 í•´ìƒë„ì˜ ê¸°ê¸°ë¥¼ 위해 ë””ìžì¸ ë¨ + Numatytoji XBMC Web sÄ…saja skirta visų rezoliucijų prietaisams + Подразбирачки веб Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÑ˜Ñ Ð·Ð° XBMC; Дизајниран за уреди Ñо Ñите резолуции + Standaard XBMC-webinterface; geschikt voor alle resoluties + Standard webgrensesnitt for XBMC; Laget for alle oppløsninger + DomyÅ›lny interfejs WWW dla XBMC; Zaprojektowany dla urzÄ…dzeÅ„ z dowolnÄ… rozdzielczoÅ›ciÄ… + Interface Web padrão do XBMC. Pensada para dispositivos com qualquer resolução + Interface web padrão para XBMC; Concebida para dispositivos de todas as resoluções + Interfață web implicită pentru XBMC, realizată de echipa XBMC pentru dispozitive cu orice rezoluÈ›ie. + Веб-Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ XBMC по умолчанию. Разработан Ð´Ð»Ñ ÑƒÑтройÑтв Ñ Ð»ÑŽÐ±Ñ‹Ð¼Ð¸ разрешениÑми. + XBMC's standardwebbgränsnitt; Designat för alla upplösningar + Predvolené webové rozhranie pre XBMC; Navrhnuté pre zariadenia zobrazujúce v akomkoľvek rozlíšení + Privzet spletni vmesnik za XBMC; ustvarjen za naprave vseh loÄljivosti + Standardwebbgränssnitt för XBMC; Designat för enheter med alla upplösningar + ส่วนประสานหน้าเว็บพื้นà¸à¸²à¸™à¸ªà¸³à¸«à¸£à¸±à¸š XBMC ได้ออà¸à¹à¸šà¸šà¸£à¸­à¸‡à¸£à¸±à¸šà¸„วามละเอียดหน้าจอของอุปà¸à¸£à¸“์ทั้งหมด + XBMC için varsayılan web arayüzü; Bütün çözünürlüklerde tüm cihazlar için dizayn edilmiÅŸtir. + XBMC 的默认 web 界é¢ï¼›é€‚åº”æ‰€æœ‰åˆ†è¾¨çŽ‡æ¨¡å¼ + all + + diff --git a/usr/local/share/xbmc/addons/webinterface.default/css/core.css b/usr/local/share/xbmc/addons/webinterface.default/css/core.css new file mode 100644 index 000000000..627f85d5c --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/css/core.css @@ -0,0 +1,761 @@ +body { + font-family: Arial, Verdana, sans-serif; + margin: 0; + padding: 0; + } + +#header { + position: relative; + height: 50px; + border-bottom: 1px solid #000; + z-index: 200; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVIAAAAxCAYAAACIwiGvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZCRDgxQTQzQkFDMDExREY4ODlGRUQyRUNBMzRDRUJBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZCRDgxQTQ0QkFDMDExREY4ODlGRUQyRUNBMzRDRUJBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkJEODFBNDFCQUMwMTFERjg4OUZFRDJFQ0EzNENFQkEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkJEODFBNDJCQUMwMTFERjg4OUZFRDJFQ0EzNENFQkEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6eCPqDAAAey0lEQVR42uxdC7hfw7WfOTkn78dJlUiEQyTez1suihYlcbWCetUlHmnr0U/R4rv3aq9HtRdVr+IjVYQrxLOqiARFVBXhtuqdhzcJJyKJyDtzf2vv2Xuveez93/t//jkkmfnOnP/es2fPnudv1qy1Zk3zhuutK4qcUkJIaf6Sk/Qs+heHx3EVrmX0m8TKnjkpxzGSCCJLg7+bfk/685b3zHIT4f8V/jmkfxN+x8Ul8Ds7z3b6Tl1Is1TSKEfeN6SRFi87rxNeH/68qCytrFp1/vx1XFQGM9sq913/O8ooH0/LV0Zl5JXF1f/MuKyc3rqVZfvCF+LM/Of1Z5XbT8rE5eOt0Xk2W9e+sR/ItP+ZeCAKxrx0+oEPL4rTKYcHWb5MbCtTH3YdK/3hJrH6u17wm8G3wu+DCrwFlTFehwcXXHDBdditNkBaQP8Ryd3PmukOh788NH9wwQUXgNSi6wksPZ6AtK+HdP8BwoZTuO2DCy644NZMIM13Q5RS0ke/AmSPsoE3uOCCC24NB1IlYgGJQWEOIwZxApLxbyqY2JLXgZQqgGlwwQUXKNIMLFUkZYMfpkHTA7qii5SJ8C8gaHDBBVefa14dC2WB5oZ+daZILeMzXCyXgTEaXHDBrUQgJYRpqZDeCvhlnZT3LtoXUKWyH/4NiO9NfUx9TUC6fVE6lqOyzYL/uBPLmbjeItZAaGVh7To/C1fGfATfH34gfE9NslOZP4CfTRNQJ5W7VZe7T8llA+V7AfwrYXgH92UB0t1ArN1aIb0lwKsPQOHNwO8LuH8M/sUG5XNz+G/AbwO/CcYUBrjsxSlNc9UukqX7gJQMVUoky3gtf9ob93uSMIor6HLglUS5ikTJXqzA8wUaSJ6F/zP8QxpcGu166PLuJaLNBGqTGExkd6ZI/DnyPQ/hf4d/Av5++Nc78M214L8Fvwf8TvjKYAJw1EWLptpX4KPzEU4A/rT+5gMa0BvlvqJI31eI3eNyyw0oD/h+V6XMxmUrC745gJrsQVwe0KmroIAla7STbYMKdzZ9B/5PQgpjx4yGoqjH2lSgtctpKS4nw1+N2z/40K7GzqaBuD0CN+S3TahjvmvCBlJzFxajQmUSMduOJVlOZE45kghK5O4E+hjXpOB/Mfy7DdjZNAjPjsHl0QjZzNwdZuVbObuLFsHfC38JwqdU2Nm0I65H4/JAEauLeevSN9kg7H38/J7aGCEf8/JV3Nm0FS5PwPVBuF4vA0wp+G4ZM+/+HXS4Ph2Xl3bGALJ3/5SJF3Y2rX47m2oB6d6I9bAzmP2d1wCkKEwDrg4lID0DfkYJIMVyTv4Yj35EyzrftsU8kMjb4phRMzKSzieSfN/2z2zWENE+WLPs0uos6aD+EN86C7dj6wTSnrg+CcmejtuBfhByO0qSJWsiWIg4VyIP5+H28wIgHYbfn+OXJqoWuz4UI8VT8GNBZr7Um/h3JvzdFYF0HXjKw2jBdpuVG1zuQMD1bLxGk+77KxdBk++rUvRoANLVG0i7tPbpXfTuQrx4LGL2tAdGXudJPhL9yriwOmxzojbw+zz8OwUd5UCE3Y7fQ2K+oJt5mSTu3V+dNL6vcaTxzYyqkd4Gy/KmdDmkQeFKs1H7IKkDaXmMaI9ofnFNINX52BH5AFUrRyPRPtLTKe36dQakCVotuN2VWDPwj+jlv914JyPeOPidOY/YR3UbZVdWG2fv9Uecw3S8J+x2tZtZP0d9qTtxNwK3XXNBId0o4fK5EzU3NgGehoDHOwNEOXuh1PLPbPPK75RhMDRablqfIFYafadcmtXznpe3MulwDKjSHnn5rAWkJIxpxUd3d/lTku0E0gNeZEtgvmRmANxPAyQt99+1KqMb/K/hr4h5dTLtpGZhpZ9BlQKiRjjJC6yM/JozrQ+MXZA2Kl7GbI0EyCwg3wlxN4xYIgVgysp9nGYNDJEJWc/KyuvXpU51uSzgZQ75kMQHJt7pPMYHvZmWv6iHHr7BTVRWWl7PUlpKF9xVRrnvgectmn+c17mbEOeXCLsKT/rb5eLtbVIBkq0ITApZv0P956LO5IgGIA1AGgFp/769hW+bJPPPoLNujctNE8rEx5vkg17aSCqM9LrFWzPlXYxSWgcD5nbcj+INYC4NlR5k0gIvlVKo1uCegp+leiJwl4MMmFK2hPRXMLc+pByGrHCAXsqUn/tojYY8B/4yosaKG9Yscwbgdh0lbIvknQh0BuCXqNObif8Kfz/K8K1s8PsnEs7GyPImrSWRWRcsCRKSkTbBFE/n7oXrsQDeH2XVoKx6V6xs0lMnDoX8Ca5+grALO1u0FIA0AGkUWsuMnh64RC2egQSwzBckye1umk7z8zc4j9RDSU3AxX4iVm0h6m0Hm/9jAkW+iTkWj4D5NUF8ShnxZEmqvEkOf4pUeRaSBawYD03hGaf4SK9fLz27uqyAojpQJDm+L6dBLtY8Y1cw5uEraqpvAcP0Xsm3FefjGjOc5JyI8QjGZBipe3nZA+ZkEaW5BKFLdPrdENzi5iuX/4q6VQTg/8farSexMHC9vy00stuV3VO0BZZFv+UIXIBH7QjExCBuwLNpogRvuvFAGnikgUeqSgNpksEeuB6G36/QstUSPK2NW+K37Y/bTRnBGNktlVZBdeZPpaU+rndPV7VKeKSz0e1HuH4c14/jdzoJVLRFVKoUifvluAcVJKfqt2l5jWvZbAqo0gbDslJdZfIHpStwit0KPCNhEKldfRv3I3Hf1ydMsSp8mp4g5lqd/0w8/7UHKD0AKp/C5R9xSdTdLL2abYqMsUjxTdwegfeGeoV9Mv/akImbHeRD+AkIm4Rvo/7U5zpfREmSOcKRmhfcNc9OK7unttoHaS3DgyY8ujHWRhA5k0XaRsRSmoTQCQh8GddzpLkLbxmizdFAqnxqawFIA5B+mYFU+DutUQm9cX0cfs/HbT+/BDsTBpn8Ta/A42O8fwkKPg6375ngalOkBpQMF7FBZyMOq4Sj4MfxvBUAqfUNsRXuL8HvcJEDXKwcPxGmyb5vawpcuiCSsDCi+pyM8AsQ/pCvk7D7vrSshf854jf76sNVCbPC4qjzEHwZbscQmGaDSDkAD7czHv8Gv7sWpa0nsAMQfh8uzkLwr2yD0h43VvM5X+OzqvT2Sb9KVgDSAKSdDaQrY689URNXRoChRHvG1+SeNbqTOcUr40E83k0PrPcq8k825gKlpDFZQ73ZgTK+ROVDWje7Da1ssPs+LYv1Q+JR/i7pA642QfSfBFRni1gR/6ESeSF2Bqk5HYVEF1m6BGbOlDIERSn4KfUi/u2DoHM1RVrL/Y0oTbxztznBSoPC1gK5UbjaBRfn2B3W5ENH+riHkfBNs2c61ZmaIFIEFfvgqriVZrQEg+Yp9E1QfWoZnzEUA55s8DGrSxm/81Jc0oaAN8oNBEcQNcSYtZieEO0IElrPsAP77KlcP0wESsnMS9RbBhgqsTC1o87Xr0SkcG9JpzX4wC+BPxrh54vqWzBvjwUuwtAmsCcooy3iiqYdWiP0bxW3EGUenQiUMoo009HVU9fe+Hcb7Uyy+eSMIpiGd/dF4J1hSAYXgNTlfU3EALreINeVTb1k1GlGoSpSYzldqfImmTQQcb9hZmNUsVV/9I9AdE6t5VOJMi7Bz4+JCudkv0WhEf92W/jthMUfTE37pcshebyIzpOq212LfDwkWJETbJM6Y0oZIE6CoJHwM+tZ9sHPgz9NTyqGJDRtTylbEbvN5icnkx7eJ0r0YAS/EIZjcAFIDUrT8FdISZSWrVTNAdewA0rLxf+qZ2nGfBf4Nptnw1io72kQSPNZJ5CQfxX+Nr5k5slpKo0k5afh200FvBziud5UBdQTwLbK8RuRaXcxZXaz6mNhTQTss+opO3NP4XaCUsqw9conzqxunFMMQHXLE0Vj7DFU4G+GpXtwX3Igdfmh8jWETuE6gAnYmmga3ZPxj1OEoRFQjvS1HFkK2ijLj801pJ1VDeWJ3clhylXSlyO1KpSTbV1Mku6fV4+1/oy6Sz2pfL2aUqJO3IhGpgfEZnipgyCahN7h6ve6zZOoabF4oL7VPRn/WolgFza4NR5ICwSML7uK41IfuZuKWmgIXYQHH2SjLQffrO0syvXrCdPcnJ3PafWf1eQDYEl83LnGct1kYaxN+VHM+pRJmUqiIudXBzWvp2X2PziLgfFDdQnkDASM8SZYo209EyV5oigX+5Kxv824NWT674IwBINbHVyzjU+i/FnxZccguVlc6JFK8s2V4PtScCl4PkIrTVTlMxfERvhKc2aYJFPh0SyGN8osmTnw16iTDxF/Lj7XmswctnWjRHMg0xlNc/shnt3pT7uK6ovh3ubHqyRlYOoot4lYu6JmO5akjD9QZF5Pym4iXw1MByYTqJokcqXz5VSKggvuSwmkvgFUG1BLdfi+GUibunQMvB9A2Kei5OdUcZQ2nxoQ2/3zduNZGiqhqo06cVV+pAEuuH8St590bGntuOU+EGNnqkwonIY8YbU/m02Mrg0Ca+dVnJf7a5c1gGlwqziQ+ghCe8lWgWoYnA0yZagKMcX8JxtVKKS4caIn7VGi/USWkVJLWVpRV0Sm4GQflZObTKHdTjN69nw11kmpDK3rblBI3cxs91dt0C4p/CJDKD18CwhnQo61CZbj/p9h+AW3RgFp4fKv9jgjZfStfC+wbZHLcdFIJezBwrBZagxosm4/uywkl1zakoZAa8L31W96d7KYOqTRv2kroV3bOOhawDYL/xtNAQ+OTytQBhuB73DhgqZYY0KW0hZIdWyFz+JUGMDBrcJA6q4EC3v09uj2QzPrSq4N0FgfU7aXGdSuXVQ/hai8O6aid5fiemnNZWq1VSXZGGjidgXoQmXG+L2TkA6f3uA2pSM5NrL4sHzbKJkvLHneVOlKWJ+zLfi79spFszNoQ8S8hqw+2I61cIhhcKsskJZYbh4bgYy1xOWgojIZfRX0LspV78z2lNQC/hRIeuCyu2BS5trgUQispPlwGJ9TlDVh8H3hFoU4G3Hay9Vz6epZm86pMvef833F8vWV0I+G2nZTM3LSXe4jsBfyQbZpP6nFTqoHVIMLbtWjSH3L/cxthgFxZJ7BDU5FiVhl6U1fulUk2vqt+YnNSuWCPh2GR5Za5pb/VuEgJduqO6TvGkIV6YCZ5Wbi3dkNbtMNkdeeyTdtNgW+N62DbepzGzsUoTRw1Jw4FRn4VuuLXHsHgbIMbtVyDdcjZXqSdEW7dXonD23bohncRPnY2T+QVQFVmveM8d+UM4gJZL5RX/kc/UlQtvKC1KapUqneZKLm6oKRwXclQyyLGtymZGm/STAF+cx+UnQ1YyX0oyEO+8JDiTIpPrm97PoMLrgApC6okgWj/ZTiNAa37GSazoI/Cj/NqVJ96a09Xqv+Uw24TnU30zSPx3UXe39+2bHMsnYhvr+d/8yoyH2SAKW9PVaXeVqOUr2oZ5eTdm0mTaf48S+LkNaHDf4m6c4OKqorm1+rVaRGpZNscMEFIPW6MzBQzs1Myvmsvzv7NrdFtOOFUqUXdsnOUo/BkuftBaJKvhkH7qANhHTEnYI0T7Up1hglYvjCz3hcLcoAxc6Rmubdl+XxnjLm+SHGTiLFGZURsM8sW7clPVmzWsvHHvEbvk7PIaB8/kcy0QX2ZnABSDNHR1FcTMdopGcK6cFjG/81KMBMTelCOmivDvrXDvgLfLuPjJQZNXgRvrVbnUtKoravkIqbwMv2imuOxL149piMrB/5lNOTraXeLaeifjsAcpivfqL6VxGItje4zUlntQdXNTN/fUZq0omHgPSQMAyDC0CaIRWdz/NnjKczfLwyH+jxJbxe/pGxETprab96wJTx29rxczff0cMFT5qSouOT6VsjKnxkYxFbpzovWTRn51wYRzaD8pMn49m6nDKzeL6kgvRBybotmz/S2R1sHrLGAE6K6WUpzQpuowLWhyHwyiYcXXvxGVA3wI8OxkqCW5OBlICC7FmSUeHHMRh28w0mNjDpPPt5qW6h10J8tEz8I/z18LvA96wzb2Slf3HRIMfdV/GPtirSEdBbFaRFp4KSUOlp+O9ye6PmcchpeenMeLJ5urXNe2UgR9L6WQ1uzzYA51pOWTNze9MrsAjK+mFJuWzeKoKo/udbW1Rtlbk+uKe2piOpaTJuDsMyuFXNFXXaLeDp+Il/EfF59CsssnJQrMIiBybAaC/vhOBWkMT7+Pk3Ok4C9+fwfdmmtfw4X9r6+miEk4ERUiKfK8wzhMmCPCmzkyHjxxKKh6VBh6ZdDf9T+8RTvrMI1/QtMt13PK5fQji996n+BgHt5vBb4rYr36Vj8wPZd2m5epuuk42Ecb6UAbkz8UoFIC1FJg5A/nrzw+2sPfDTGvw9ckP4hGmpkJGVrTEI+61PtSwTQkXsjsOR98N1u/1TTzJNFllO/eCVeNKOTjmo6kbovnyHFb6BXgXdKHL1i6OxcoyIT9FtESbj/0VPmtwdosdTdx2fCIp7Re1jXeidb2qqfXGJ8h2nx8JbHcSFA3WeiVAiuxR3iUL7DJHrT2MIvpdwDV3cIfJtzvbUxNg98Et0GLURnal2q2AG2Jmjleup+luEA/N1WJd4Naht8rqOhKJH6rh2Hol4ey4njyQUJdu96+h+oHTfpD5KhthnG4ff6fFOAeejYx+Bjt0r7uQq74RLYR+OlnOgFJnROyweBKovntC++m2Sr7qWkkyKyjmuWAq2oyp6YXzciGq+BWp0MNyjeHcHn1J93oF1vud8eZpRYMZhexRGBqkv1FGoUekAt6E5u7F+L+KjSsqyTspE2pPYK/aBY6w+CEgmlfpa+ZX2BFTBvtKfxqP49N74pYF0qF0eKaR5mqmwmthz9LUuCg3KM/D84YoAMQYpHI80dsG7f5MZafyIiNXvBor8HVc99cT9Kd59nU6n1Xnpgmw+Qfz9gu8+g3fWxvcew293/H5ND+Yj4CebdW5U/HGISwcntunJvcjtQSCKNK5FXk6qE0BpghiLNA5AGrTKfBvXQ6O2kxFgnCD4EThmHyGC4xW89xiCP5PRSbeK1NzoxFuqmycKAJgmllso3/owOZqcX9JE3GueiZ2A9heI3xtp4311EL5zj24bkgH8p2ASVuZoxfxklEeFPMaG1ukY2ia8/1s+WVhaQ8Qum0pG3BGdVppd8O4y3G8R36vhNkVKDTwOkTY1t/ZJDzUhnS2IHIiYysskXB/LZt95uB8VA5z4qi3JjvdkZ78mEaqZrtYOKbjvoVA99Cy6jFGmNChG4fpRvDbIB6LpQW3p0lQxvqpwTuM06yK1/E5nv9MMeS3jS66LlNcSypwkdImIur+5NISWNxDzKb5B219b7FMS6VhlhL1bBUQLNlBw97ZQwrD6xOK/q9MhK/hDEP61bOKU2XZaayaP/6Q5aZpHetMkTCex0gCa4OY/19jKZ7o8Y/Sgmh9pXii1F1KfXmuyQpqL8e4vkfS4hN9bUlhJx3nfjXfO1PFbcI2JVN6AW2IpLfKwPMgtVURtucdw+tYPZ8cTjDoId6S/Pa2OCZIm9oOR/O4WdXYjXtzOWpXaZacjdWYqep+oSGMi9xMjSd0QFYm0qI+0I+p/44XlMUtIrTA7R5rQXE2RUtoD8H9HxD0JaXzktplDjVBdH4zLOfbW5YKy0dMFCD0Brzwnszh74j0iXFr50mkoolPn3NTMhDKW6O7qL1eqvBjvnwu/P+ku8pdw/yL8EfFRy46Zt1RlxzWjJr3HVuh3yQL99zz5oBltpKLjRaxyeE4WNbavZubgpJddkaUvhycgygQqbTKaOZUpwInfuwvxniziPfr4zCU8LXvfsAQ6SQpzkO47Zb7JjUKX+PYTnskzuU92LtFyiw4yfN5YrShfGc1zn7ikzrKgT4K1azRFUzQIuOuFJP6qd779j+Z9EwBdru09SK4pYW0YoM8voT6NZ4/j/i/4JVZAk2+lY3nKdHeWL0x2klZ969XgzbOjylm+nBAxgs4Eg98b33gOvz+rTzdYfQd5utmzxCV2wWUmDerU8TKtBjdRRVS2fIqAOe/YaOYJgxYi3i9EfKz4yQSUZfTIdb/tF5+GLPuVeGWFpronIv5kOqCTlvq+/mK3Hx2Lgy5AdXC39kShX4VXScA+p5mR9NdFSxvp8v78S1xhngdkVTw1Jp49XVCoRxBnH8QZGx0MJ2wqiJ8uKoWti8opYjZXEZDe4qFKaAAT2F2vYgEWG3A2a8J/Vrpneb5UC8RoIH7smdXWj/koDgvgH/jeKfVug6zRwRbHjSuvsc9RJ+oQ9wuqplvClOCf9DJsKw9Fyg2yzMSTfRHjOsQ50FjJKJXp+TqrHWGxUkzhGvzhySRWgvJqinluEU98CiLRIBojImqR8qSK+MSUBWLXPKRZFioe8AmVpmoBubLzFatM17QbUaKt5Nnx8ljthL41NQak6ADJV6vxv6USjgC6aGehkQ4t5al/XRdte5aRUsvreQSB9d3ueJco9il493b89kWkhb7KMYsuC8vmI9xjQKQ8kp0Lqkr1Ut6q23oPPjKs9JaK8fKHmp9/EPF2mzTiErWwh0l1KWvJ7Rlcbm8lhCdhEgmpni6BCwAVRds1MRupdq4mlFEn0rj2NSjLShvidcvZckidCjO2OEcwYxmJeTffwHMPsUuWaeJBfczwSQmIembbITarA/7Z+PymAiFTx3dK/g5ZvdWT0Ix6wDkTsOXGoeXy94U2TahSgIzqb7pFCVEbf1dTHW+lebROOHUHS3Z0c7pDLhMW7uqjvArUuojXOQPXFyOA2uFs0oOVUogSurtEeExGXDpn6g9EjVRQFVOZ8ZrItgSBX7sNdu42ZCHszRlWHOqHOxAw4Pos/G4DTyyVn+UcC1O0uphIrDD4ncxJQe6Ff+jz2cYL/yQlF8LfpgVHqB/5SpkJThNLrXpSPh3XdJ5Yq81KKFod5REBlo+E1PqEiHvwHuVxakn2DE0wl8b5E6eQDEmv3gfQ681ae+cko9va1iaE9Ah/okom1ZaXNcOcOtYzorpCIJZZCuAmQd2pQwFsI5HO9poZ7yw3XT6eIXzrVeNbn2sm9f/i/WNjHlvEJG/mvEhDoKSXLZrnRB2NGuGZEuXaOqN2I8MkRA1jOanmFh9EVVKmnlKbyrd8OQ6PaZCeiMddddrvuFRePRSx971nkQ9MxvLqWEAgEyLzLc8AoiuKNx7pHI3wIyM+oVLdeJnSo1GEZHYapMEq17z01gq8wF6kP6yfX4rrm2hlgV8C11aPJpvtiA9P50yNZpRbkxaWnJhI1j1CshYt9d1Ux8dqRfXTEuQFBd/rGueLGYM0JzWy9XClFgSNZnF2wSt/JcGTiDeneCdH3ySMp7vh+WQtwKXJl9TbDkV642rkVeE90uCZqOMleSYqnoTL5xSQDq1xWaNXiF2zrub5tpTokl1023UpB4YkS5G+PN6vgdI3rpo0C6kvY0/ei1iTUC+k0fB12TZoABKRNAut5ZG2Oybg4iN0VTvuSXpFpPvMZHnjP6vHtAtqSial5zqKOwjxtowqVEYqSE0+vVRXEBTpbo4vEpxYgNAV+ds6lqLS1ko5GL/d9AvzkTTN7G8j3t8R75WYUS295fJUPjqCJBWxKZIk5RJAZvC8fMunDCjyNCA4yJvfNOtSP94ez/dFXBLOkArNw0UUqcvSMAedKcAyBTpJfdLkhOuvI4QEXj8VzChLTp2R+hkN1h0jPn3MEulNggZjE4XRF9NJrwvAlIDicvd8LC/gD9eD9g6rbBvgWyO0ALBI/WmUioWWLXzy08bCrxH5dl4Pxnsoo+qu65F2mBFV+1EN1sUWeqff2Jx8UVl+oEhA7KpS0SphKtcKyBO2eibow+IlqyJgpDFwu+9oGOvVKC8I7Ul8Tyvt1/i4tCjA7poKJqHheyzdg7Wkv73Gqq1/lF+l7hCGqpT00XQD8e1/17zyJpOAUS/g33057UfqT8fg3QeipX2WLKlDgSBTYwlIBVeILwGkwjLM4T/krCyQSg4upiGTPMlxAZAKe9DmUWAuIChrX7o0L5UJUjYPMq9TJpagRAIKLu+ygUDq1odPgu22cf1AatdLfh9RXv5hXv5S6b5dOud4BpM3aWsQFS377LJV0Wjw1bXd73zjKG81YY+vPH6rt75KrGV849ptWyVcLRo3f8XaHObJCHlCwGKTlXkspgJAVSqHR2qOa//Y8/Qj5fKIfZiXxGnqiPkyw9hEnclIYUvFO7ZVsLxx32qGMjK+a3XhQFK4zjQUl8eLWlnGQaoc/WFumZUN+DbjiavadeE9Grywp9RX50XGWDLVqTyBiSxi3zixTXsPdddkYRvmm7VUJUd6NdZRre3KVaxQlME5f3uYYeamowz8mkzk9pmSU51uKzLT7eQdQ1nLOgun6u5E0vhNBVzCNNRcIfee9L5IV24wNgpM6+kzXFXLob5VdjZrwjOVunM0smprVU+2mrBBuEra1e2ufhFW/zPhTPUBwOskA6aVPAbqmpBtrJP5k4Ks3e+b9fq/qwguuOCCC64et/j/BRgAcy0abEDvPtQAAAAASUVORK5CYII%3D') 1px 1px no-repeat #fff; + } +#remoteContainer { + background:url("../images/remote.jpg") no-repeat; + width: 659px; + height: 213px; + position: relative; + margin: auto; + margin-top: 50px; +} +.remote_key { + cursor:pointer; + position:absolute; +} +#navigation { + float: right; + } + +#spinner { + float: right; + padding: 11px 10px; + } + +#commsErrorPanel { + float: left; + line-height: 50px; + background: #c00; + color: #fff; + font-size: 20px; + padding-left: 10px; + width: 330px; + } + +#navigation ul { + list-style-type: none; + border-right: 1px solid #969696; + margin: 0; + padding: 0; + } + +#navigation ul li { + float: left; + color: #000; + cursor: pointer; + line-height: 50px; + margin: 0; + padding: 0 24px; + border-left: 1px solid #969696; + font-family: Verdana, sans-serif; + font-size: 18px; + font-weight: 700; + } + +#navigation ul li.selected, +#navigation ul li:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAzCAIAAADZxfV4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgxMkRGQzczQkFDMDExREY5RDE0QzJCMjZBM0JGMURBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgxMkRGQzc0QkFDMDExREY5RDE0QzJCMjZBM0JGMURBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODEyREZDNzFCQUMwMTFERjlEMTRDMkIyNkEzQkYxREEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODEyREZDNzJCQUMwMTFERjlEMTRDMkIyNkEzQkYxREEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4vOcxrAAAAVUlEQVR42lyMUQ7AMAhCF+9/px5MIFNpl2YfREF8z1orSAaAYAnUnsdzdiR+vRLsuzNZ36bLyLM3p36zuhpWzp/7Zn/c5tA8zc3eeUvXbi/tXHwFGAC2dpagcbC63AAAAABJRU5ErkJggg%3D%3D') repeat-x; + color: #fff; + } + +.floatableAlbum { + float: left; + width: 130px; + height: 150px; + padding: 10px 10px 15px 10px; + } + +.floatableMovieCover { + float: left; + width: 130px; + height: 200px; + padding: 10px; + } + +.floatableAlbum:hover, +.floatableTVShowCover:hover, +.floatableMovieCover:hover { + background: #aeaeae; + } + +.albumView .floatableAlbum:hover { + background: transparent; + } + +.tvshowContainer .floatableTVShowCover:hover { + background: #fff; + } + +.floatableTVShowCover { + float: left; + padding: 10px; + width: 379px; + height: 70px; + } + +.floatableTVShowCoverSeason { + width: 500px; + height: 70px; + margin-top: 30px; + } + +.toggle .activeMode { + font-weight:700; + } + +#tvshowLibraryContainer { + padding-top:40px; + } + +#libraryContainer .floatableAlbum, +#movieLibraryContainer .floatableMovieCover, +#tvshowLibraryContainer .floatableTVShowCover { + cursor: pointer; + } + +.floatableAlbum div.imgWrapper, +.floatableMovieCover div.imgWrapper, +.floatableTVShowCover div.imgWrapper { + width: 130px; + height: 130px; + display: table-cell; + vertical-align: middle; + text-align: center; + overflow: hidden; + } + +.floatableTVShowCoverSeason div.imgWrapper { + margin: auto; + height: 70px; + width: 379px; + display:block; + } + +div.imgWrapper div.inner { + overflow: hidden; + width: 130px; + } + +.floatableMovieCover div.imgWrapper, +.floatableMovieCover div.imgWrapper div.inner { + height: 190px; + } + +#overlay { + top: 50px; + left: 0; + right: 0; + bottom: 150px; + background: #3f3f3f; + position: fixed; + opacity: 0.8; + z-index: 2000; /* Above contentContainer's */ + } + +.floatableTVShowCover div.imgWrapper, +.floatableTVShowCover img, +.floatableTVShowCover div.imgWrapper div.inner, +.floatableTVShowCoverSeason div.imgWrapper, +.floatableTVShowCoverSeason img, +.floatableTVShowCoverSeason div.imgWrapper div.inner { + height: 70px; + width: 379px; + } + +.floatableAlbum img { + width: 130px; + } + +.floatableMovieCover img { + height: 180px; + } + +.floatableAlbum p.album, +.floatableMovieCover p.album { + font-size: 12px; + font-weight: 700; + color: #000; + text-align: center; + margin: 0; + padding: 0; + width: 130px; + white-space: nowrap; + overflow: hidden; + } + +.floatableAlbum p.artist, +.floatableMovieCover p.artist { + font-size: 11px; + color: #777; + text-align: center; + margin: 0; + padding: 0; + } + +.contentContainer { + overflow-x: hidden; + overflow-y: auto; + position: absolute; + top: 51px; + bottom: 1px; + left: 0; + right: 0; + background: #fff; + padding-bottom: 149px; + } + +.footerPadding { + clear: both; + } + +.albumContainer { + top: 74px; + } + +.albumView .trackRow td, .seasonView .episodeRow td { + cursor: pointer; + line-height: 14px; + font-size: 14px; + padding: 1px 0; + padding-left: 4px; + } + +.albumView .tr0, .seasonView .tr0 { + background-color: #efefef; + } + +.albumView .tr0:hover, +.albumView .tr1:hover, +.seasonView .tr0:hover, +.seasonView .tr1:hover { + background-color: blue; + color: #fff; + } + +.seasonView .tr0:hover td.info, +.seasonView .tr1:hover td.info{ + background-color: cyan; + } + +.albumView, .seasonView { + width: 100%; + height: 100%; + border-collapse: collapse; + } + +.seasonView td.episodeThumb { + text-align:center; +} +.seasonView td.episodeNumber { + text-align:left; +} +.seasonView td.info { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMYAAADICAYAAACzkZ4tAAAgAElEQVR4nO19eXgcx3Xnr7p7BjO4AQLgBdIUeEkkRR0UQZHWQVGyLCuKs3YSH8l+ubXO5SgbJ75EKrBI2dYqa228TmJbmy+Jvy+W1nIUx/GhlW2SunmIkixT1EVRFEmAF4iDuAYz0/X2j5kBZnqququ6ew6Q+OFrcma66tWr6veqXr1XVc0wi9CxZHNPbGQkuoRbdhc4LeGMLTSANmJoA6ENQCvAagFqBmBkr8Zs9iSA8eznUYAlGGiAQP0A6wcwQMBJEDtKJj/KDX509LmeM+Wv5YUNVmkGZjKWbO6JDSYiqxjxteB0BZixFqBVAOaVmZVxAG+C4SARfg7GX45yOnh2f8+pMvNxwWBWMTQwZ+OOBWkbmxjR9WC4DsBaAFal+XJBHwOeI4anCfTMcJy/gt096UozNRMwqxguWLCup3bCsLZwhl9iwK0AdVWap4AYJ2C3AfqxbfLHzz/fc7jSDFUrZhXDgfb1PfPSzPg1gP0yB25gQKzSPJUKxOh1RvgR4/i3wRe2PTcrDtOYbQkADd1fbDVg/xoD+zhANyAzGQ4FlmWioaEBsboY4vEo4vEaxGIxxGMRWJYJMCAaMcEMEwDAiDCZSoOIAE5ITKYwnkgiMTGJxEQCExOTGBkZRWJ8MiwWczgBhu8QsYeH9219IWziMw0XsWL0GK3rzVs5o08A7A4EnCvUNdSitbUF7R3NaG1pQFNjLZoa46iL15SklVMpG0MjEzh/fhxDQ2M4e24IA/3DGDw3BM55INoMeJMz9pCdNP559KXP94fE8ozCRacYbevum2eb/PcI7E6AlvihEYmYaJvbjoUL27BgXhvmttUjFo+GzKk/cE44OzCK06cHcfLUOfSeOIOxkTG/5JJEeIwZ/BtDe+/ZfTGJy0VT09YNX1zFyf4MgI8B0JJixoD2uW1YcskCLO5sx9y2RhjmzGm6kZEEjp88h3ePnsaxd/uQnEz6IfMKI3pgkM99BAc+ccF7tmbO0/WJ5mu3bwanvwLY7Tr5LMvEovcsRFfXAnQtbquaESEoOCf0nhrC0XdP4e23TmDk/IguiRPE2N9GrMjX+5/9zGgpeKwGXLCK0bJhx3VEdB+AG1TzMJNhYed8rFyxGMsu6UA0Ws0hihBAQN/pIbz+1gkcefM4JiYmdHL3E9gDdXb6a30Hesa9k88sXHCK0dS94xoDuI9At6rmaWisx+rLl2L1pYtQe4GMDLrgnHD0eD9+8YsjOH6sF6Q+fz8F4L6hMfubeLXHl41WjbhgFKNlXc9ibpr3s8wcwhOMAYsu6cTaNV1YsqgNbAa2BBEFy8/F+c+PJnDw0DG8dugIEhMJVXLHAHbX0L6t3wvEVJVgBopDITo3fiU2ao99GsDnoBCMMw2G5au6cM2VK9DSHA+Nj1IJqXL+QLnF+W3bxmtv9OHll1/HyLCiZ4uwmxnGXYN7734lIEsVxYxWjOb12z8MhgcBLPZKG4lGsOryZbj68ktQV1fjmrYahbSs+R1mFCfC2++cwksvvYHB/iEVEmkQvsl45HODBz57PiA7FcGMVIy6Dfd1RMD/AYQPe6U1DYZLL1+O7quXIx6LaJdVbUJabg543khIBLz9zikc2P8azg8rebP6GIw7B/fd/aNATFQAM04xmrt3/BZADwJodUvHDGDpykuwYd0KNDZMm0wXkqBWoHhwANzmeOOtPrx04BAmxr3nIAR8206Zd82kKPqMUYz6TT0dVtr4J5V4RMe8ObjuuivRPqfBI+XMF9JKIjlp48Arb+ONV96E7b0M5Qwj9vuD+7f+oBy8BcWMUIzG7i/cymD8C/PYAFQTj6F7wxqsXL5A38s0w4U04PKoQBgcHsOe5w/iVO9pz7TE2N+3xNOfOrq7R9ndVQlUt2Is+2q0uXX4fgB/7pV0+WVLsal75VRQ7mIWVACZCUGZ8fa7Z7D32Z9jMuEp84eYSR8dfP6eg+Xgyw+qVjHmbNyxgNv07wR0u6WrravD9Tdcic7OOdI0F6OQ5iOgk01rNE1MJvHcnkM4/s5xr6TjjNidg/u3fjsIa6VCVSpG8/odN4DRowA63NItXdmFazdchmjEVCd+EQmpsHxdAo7krvGaPGk6+u5Z7NvzMpIJj2A44atDdfanqm3LbdUpRnP39j8F8CBc9kdEoxFsuv5qXPIeV73xxIwTUmfxMiFVJRvw6RfHewoJjk9M4plnXsHZU56HmDyVtuxfr6bTTqpHMX79O0bTsTf/NyP6Y7dkczpaceON69BQLwhyV6ugemZUTOfxtKZdyTp8TBN1z+VNU1R9IsIrrx7Faz9/zWuwPmpzvH/khW1vehZUBlSFYsxd+0DtZE3iYTB80C3dijXLsf7qFTAMb7aDLtFwJ66QRLt4cvmWD7VHFniJiv+iheWfPjOE559+CZPua68GGOhXBvfd84x6SaVBxRUjG8X+T5B8km1aJtZvvBLLuvwd1xQ0KCcWMfVuXimliyD7FnGWIx1SvEWZTqFYUZbA2Pgknnn6ZQyfG3QrKgGi3x7ef893fHAaGiqqGC3rehaTaf0MoGWyNLHaGG7Y3F0QrPP3mEnwSQSF0Wjqg09OZPlUn4ZqsZJyKjm1Sqdt7N37GvrePeGajhH+aHD/tq8HKCoQNNw54aKpe/sSGOZut7OamlpacMv7r0VTYxwETF35oGyP7H0xEAnyE2V+n7rI85pKzAQMaaJASdQq4qi//lWQn8NRf+8rn5huXsYMLFrUDjIs9J8+J28YhjtiC7cMJ3p37dFu1BBQEcVouGb7CoNhN1xWxbbP78CNW9ahJmp5PKS8L9zribpD2+SY4UJaVN3A8xL1Wre3NyNWV4fTfa7R8tvinVsmE727yj7nKLtiNHR/cYXB6EkGLJCl6bxkEa7btBaW6f94p1khDdYCudFVfhX/FeX3uJqb69HU2oqTvafdOqVbYgu3UKJ315OBGkQTZVWM5k07FhucuypF14ourO++DMzhedIVVOeTDCSkQAUE1Vm8SBTlVIX5A9Q/EPcuTVdfH0fb3Db09Z4Ct6VekpvKbVaVTTHa1t03jwO7ASyRpela0YWrrl4BwOtBSVpaUXZL05u6/02DKQonSesfjHulBnK/7Ytofv7CJxCPR9HWMQd9J067HRZ3W83Cm3one3e96L9kdZTFK9WwrqfNNMxdYFgjS9O1sgtXXil1TknhvyMnxfzuTeQ0IcoNbSF1VCc0V67f7Hn5BwdHsffZA0inUrLknDH6zcG99zwSrFRvlF4xVvdEm+vMnwG4Tpaka2UXrrhiKXK9qRhqT6CyYqqhqNJBL6DJ5pHd64EXKkrY/mNvDAyNYt8zB5BOSZdOJQn4wPC+bTtDK1SAEptShOZLnvkWgF+SpVi4pBNXXb3C35DvVXrg3kzPLi8yedzSwtvkmZ4vuWQouMIVZO5pIGb/VNlTuGKxKBpbW3DqhHRCbjLgl6KLb/z3yRO7BxQrrI2SKkZzt/UFAH8qu9/eOQ/d61dBKahWSiENOf+UpHjCvd4sLwVXmhmp/qnpWkH9uVfhGsrrkaY2XoP6pkac7pO+EKqWkXm71XHLw8lTPyvJYW8lM6VaNtz7MSL2sOz+nI456N54BUwfLtmgI4ETios2kGsuzy2tTHyfMYY5DRHMbalBa30UsRoTUcuAZWZMyETSRjLNMTyWxpmhBM4OJ5FMZyejeSSD7zt3EPREoZgEXWypihMnzuDVF191S/LU0Jj9vlIc9FaSMyhbNt67hmz2j7L7tfV1WNe9BoZh+BJypyDLBVVxwR0gFWZByuIJrFNQ87rc5voILlvcgFWLG7CoPQ5L8zDo04OTeLN3FG+cGMW7Z8aFR/uUfh+We9v4msCT5HMeFs5vx9iKpTj65tsyKjc01xr3DwH/XZ8Bd4Q+YrSs+3IjmakDAIQuJitiYdPmbtTXyc5GU2RJIsi+e9OQOsFcb7psQT1uvLwNXfNrwyEMYHA0hedfO4cDbw4hkRJXtGReJkWypNTBALLnLGL/5ZdfR3+v/D2bROyjw/u3hrroMGTFIDR3b/8PgAmXjzMGXLNxHdram8IqzhXlGvLzsag9jl/eMB8L20J4Q5mE/ckUx5Ov9OPpg/2wZbutSHUuLm+jYiHVExdvJVV7PjbnOPD8LzAyPCxLMm4wc/3A3s8f0uHPDaFOvpu6rb9kYJ+U3V95+aWYv7AtNA+GzuQRUJ2buCRyKcxkDLdc1YEPv3chmmolFqpuN8QKrxxnpsmwdEEdVnTW4/UTo0gkbUn9HasHAka/g7V+dilbQSoGYizzv8vFmIHWjlac7jsDbtsi0hHO+M1z5t34TyMnd0uDIDoITTFaNty3FqBHZDTbO+fhslWXTH337k28tqvlLlVvSHH2IMgvNmIZ+J1b34OrljVrHNsTfDRrrLWwekkDXjlyHpMS00rWAJxUVyVLBNmr2T0UjXQ0lAiWaaC+qRFnTp4RNh0Da0saxpzJ3l0/1G5IAUJRjCWbe2KJFHscwHzR/Xh9Ha5edzkMw5iWqDyEKaR++jNfS89zVBjwGzd1YmVnvX/+nUODxhWLWuhsi+OFN4cCxEuyv2oJ6zQxnXLF44maBMTjMXBmYnhAvNGJAdfEF96yP9G78y0lgi4IZ8Ro3/IAmHheYZoGrtxwJeLxqE8h9b78q0QxMu567+E9tw/kiq4mbLmyAzlBZT6EO/+bHzddS30EJwcSOD2YgDD45tl+upBnKrqjNNEp3HfudjU112P4/Dgmx8UvuSHQzZGO9/1L0PhGYMXIHHWDb8juL121Ah0dLY5f1QWXK21EchFecn53F5ZpohmjnooN44Lr4zd1oiFe+Tcv1VgGXny7+CTyKcFX9RY5BFne3mrdju5oXkzAmYChpbUpM98QLDhkQL1h8GWJvl2BvFSBFGPJ5p7YZJr9CIDwtLPmtlasXL10ul6U37BqV37LktdGJI9Wn06iHkV2Q3NdBLd3+9uH7gdu3NTXWvjZS2ddBU3TQhL0/j6uguyKyilBjj/DNBGrrcW502fFCRm7LNZ580uJ3p1v+C0rUFc3NGHcDWCF6J5pmVi5ejlIssY+00Shb3JWTAefJkRhSa2N0YCPOiADeYhZJmojBsYmhV4bQfbgQhoof0DCrW1NmDNvHs6dksQ3iP6u7b337/T7Ak3fitFyzX1riPhnZfeXXrYcsZiX4EzfLVlDy+AwLVzLl9wz8l1QQTXEjys3D0QZK8jvCezFiqLI0FR5ISqaYtGXrFiE80ODSCUmRbc708nk/QD+xA8/PveOEsjg/wCJYjW1tmLu/HZwgvKVP/pyouIL7lfBH1e4bBRcmRc/ZK6itBLP1MhEnsvcEW/QvlTMHJcrZXOMT+biGW4rYbnwyieWqTdXuyhvYaLH5QbGpi/VRrNMC5csX+pCFH/Y1L3jGo+ihfA1YjSt3/4RgAn3VxiMYemqrowLUPUUDZc0VPBBv1cq5UjUd24CE5M2YlG3qVp5jK0TZ8aRTquZUZ49Mpv+j1S8Si7PJn8k8mM+ey3xaZ7TiMa2OTjfLzxxxGCgBwG6XndI1p58ZybcxvcBCNd1LOxagrb27MuOHFLpZ85ckN/HVUxB9JvaNR2/yFycCB3NNVjYFt5LLt0hd/n+5MXTOHZ2wtVd7HganqUVtb/L6Ont5YPsoSgzIAwKE1Df0ID+k9L9G4trFj796mTvTq3lItqKwTpu+TQgfvddTbwWK1YvA5jYnVcMv72pWFB9D+Y+sxMYTp5LYNOqNpiGAd34RdCxJCeoZ4cSeGTXMXBXwfXogVTqXbRExSm5qoxnLu8DLpxBVTEsywAMEyND4rVUDKx73vIbvjF0dLfyiepailG/qafD4OxRAMK3xHddtgy19TEEFlQvCLIHiR7nhNQPx+OTNobHU1j9nkZXoQxVUPOYSdmEb/7gbQyO5G1J8OHs8zOvETeO6nN1xkuCdRO19XUYOHsOtticbJ5ImSOTvTufVaWnpRi1C26+F8CNonv1zU1YsmwRAGTt0tILqUxg84+aUaYQQEBPnJ3AaCKNSxc36r/iLABGJtJ46IdH8M5Jxzu4tRqtWCCDiahvHZ/OX/Q4vJ8kGGBFajB8TrzblQHrajtv/PpE726hC8sJZcVoX98zj8P4V0gm7MtWr0CkRuyeJe6+0TL/T+uxSFqpYIkFJL2bRm+nMid69/Q43joxiq759aiLlT4SfvDoMP7h+4dxckDpram+hRTIdTSA6nGoRVRkCT23y2Kqz1JBvDaO4aFhpJPCDX1xInM80bfzKRVayv1b84Z7/xbE/kx4r6MdK1a5uM1yILjaiips+d6IE1Is0WvItwwD16xswU1XdmDBnOJJedDe+O2+Ufz0pdM4+M6QgsdNUGlhHkWuCOrnLbjQCJLRq86jI2N4++BrsttDzI68Z/DAZ897laY0YszZuGMB5/gWE4wWjGWCeZbpfsbslF2qCtkDcJv8aSL8IR+wiXD87ASe/kU/DveNYjLF0RCPIF4jaGpF9s8OTWLv6wP47pPH8fj+UzgzmNDqSaUISMB9JJYMrQIwpV5repFm7k8kUNFoBKOj47KgXwwmJRK9O59UKc0TLevvfYAY+0vRveaONixbuTQUIQ2UP+BIVMiAKjeFq0LdMLelBos6ajGvJYZ5rXG01EdQEzFQEzERi5pIpmwkkhyTKRuDIymcGpjAyYEEjp0Zx5khBXMpsJao1CIDkSBTkBMamMbzlyXMG8pGR8Zw5JB01OivN+sWnXj+L1wb1dMYbt/cU58aZ38guz+/c4FwC6n7g1JoBgKC2D+S2YIiTXFvpFLu1B3HrVPnEjh1LuxXW7uUn3dPeRu2EuUsbWczOr/nCPgMEOp3tNPp6xriqG1owPjIiChh2xgf+z0Af+9GzdOUinbc/N8giVs0tbWhfV5b3lCZtx5CyHIOOoaqSnfiTk873BFK75tXvuosMzfFdTAs98moMsA0+hjFeItyZFbP7RJW80dqYhgSR8MBsJWJ3hv+DtgtLcpjxOgxAHaXjNW5C+c5ekbvHll/8hyulFLAw2ZE3Gj1yAo9KLkQLQ6qqUg8TQ1h3qyG3Cs4qZdyjU4e6uprEautQ2J8THCXljVvsO4Y2ovvy/K7KkbLeut2krwGrLaxAfHauMDi0Kt4KQRVBVNyp+lmKbYYyFWQvSA1GQIb3Yq5yySoytlV+WHeyVvmteHkEZFiACC6C/CpGMToE7J7bXPnFgl1Kb0kTCLA+b/q2KVT5x/lCXQgGQlBkCsvpPkEdJedl/b5q6R1ikhTSxPORiKy09O3NK3v6Rre33NEdFOqGHM27lhg23SbMFM0iqaWRndBCvUh+ZmMeRbgfrviQqpLyLHEIrDzI+BI5CfekReRVS8+ryDK/5gx65s7OtDf2yvJa94J4HPCO7LiYgtu+iSA94nutc6fh/pG/6di6GK6kXw+rICTb1JdPi/hUTxPdY8iT8PnBg8n/7ooiBcpXFQ4gc7/or0OC5n4WMHyBZ/sR2MRDJ0Rb4FlDF2J5Td+FUd3F9nzkhGDQNhxp5gaoaWtRVGjg9rPkuyK803prYJ7Kr1n7gNzfBfBW4umpsGqD92RLqj/gkDBnoEgr9sasaJbKhUQKLhL8VKYhoXaxiaMiU8xXNAybt42CPzAeUOoGK3d26/lYEtE92obmhGNRKYq58mkqMHyR78cAS37smDM1CzcQUpnNJial4hZ0QZpmIiyZAHKz+yWC2gy5f53EWSV/EFSZCB/1o2tLTLFAAd+E6qKwQkflZXT3D5nesrt5FlaB7XKBX3vidBD5kWzyC7VL1d434+8eeRhHp4v7YHEYUAEHMg1qYii5yEPY1nUNtTBtCzY6eLtGAy4o3PjV2LOSLhAMQhgO35NVIBhmKhvqpdXwG3IV6kzwTGX0mwoUfRVayRyfpdlVtTgPEGuiZrobK/F4o46zJ8TR33cQrwmsxzEMg0kJm2MT6aRSNo4NzyJY2fGcfzsGPqHptf8hLPswwk50dKU513udPlhMcBQ19yC8/3CuUb9aHrsdgCP5f9YpBit6+/bxIFOEYXa5iYADDz/hO2w9x/omAzKDae2W66oR5aaTGrlNtRGcM2KVnRf1oblnQ2+mmp4LIX9r5/Dvtf6cbhvJKxuXRvhCWmpyxe3cl1Tg0wxwAx8FF6KwRn/VRnxxubsNm+/JoNy9NUjep6loC5oiqacqrnvkbCxLoIPvrcTN14xF6YRrOdoqovglnXzcMu6eTg1MIF/e/I4DrzZX+Le3B2BHC9F0G8fT4NSkCBWG4NpRWCni2MaRLgdy74axeE/m9rIUaQYxHC7yJQ1DAO1DXVFb/TRfT5qzeBOtSCoV/GebPozY8AHuhfgg9ctQk3E58lELpjXGseffGgFjvQtwL88/jaOnRkLUUH8CXLgVdXES6lDeQUB8aYGjIp3+NU3zRnePHwYT+R+KIhjNG/asZhx3CfKWdfchIbmZiGvhS7ngBPYgHBXlJB2KwkQsQz8yYdW4uZ187VfJ6aLloYorlvbgcHRJI6dLjxoL2jzOuMRxZfGvnVVOGImrkmV98oXB2CYaWBsqPh8XwBgDGcTvbumFKNgxGBpfjtJhKe2oVG7d5YnD7uLENMLuo5LFYwBf/grK3DV8taS0BchYhr4vQ8sg2kw7HzxpHtin80deDSirCBrFF64xEdIUr1wR4VqYjEwwwRxwYEJhNsAfCr31Si8x94vKyZeX+d64oXobKEC2gX3mGIUVPXEDXH+wroF++PEpdf7rpmPq8uoFDkwBvzW+7uwdGGDZyRZ6SIUHA/JaPryS1R1n7jX0vOC5enKcuE4bRFArL5O1pyrWtb1LM59yVOMHgPAFlGOSE0cpmkGEmRRMwQTVNElF14VRXKrjxO5NPXxCD50wyJZY5ccBmP4g9uXZ/pGzwrBtyA7QVR0MKr8z6cgy44QzZTP1C5HPWJ18peFkmltzn2eMqWau401ABpFGeIN9VldlRBUH9+cORXTKWxEmkqnQpPCKho3XDEX8Whl34+xsL0WVy1vxYE3+t0TKlumio0zJaQqifVjPx6FO9nwSgYAqIlLRwwAdCOAbwF5ikFg18pYj9fXZgv3ZrpQSL0QviD71lEXgm5RkO5Lha8GKTs2rm7HgTc83LhaPZiGICstkVF8hgEfoLADz/vJtCyYkQhs4VJ0ujb3aUoxGHC9rKiaWG5DksbCInIbY0qLnCB7OwtUncdiOtGIiSXzyrfK2A0rFzfCeQCz6goFMYILciAJCGFEL6z+9JdoPI4JoWKwVY0be1rPP98zkGcDsGtF3Fg1ccAwFITMG7KG0vVceJcz/W/B70U/kfuy0PxyBTzObYnDCBjACwstDTWIRBiSSfmOyKn2L0WPpUAzcwJ+EE+j+2jgSZFnyo7UxDEB8dFSpm1uAvADCwAaN/a0whZvYa2prS0SaHVBBvKFuTAwl/dZx6RSbVgPclPlB1D4uip4914+4lETk0nFNypxxXpL27vYb+RNazqd+usFigiIySogt+QnGq+RF0m0HjnFMNLGGhn1aCwG57ZsdUGGnOsCu1SjJwth5Coi6bMLjVrVMVrkGs40xB40IVSFVGc01yja75ZkETLHNykqGhEsKwrDMIQvtwTDWiA7x2AMa2WsRWM1csZLJMgKU3xtmlrl6zllRHcCcqCrcLk1B0yvuSUKIXreOhx5CTrpUFSukKKXKgszWgOeEL0S2VgD5CbfZFwucpMxBpiRiEsvpNdcfhB8gNAxQkXzEkEdPasd3kiiM7fLuPsLxc7b/6BGX7YiQpJ4+mPJOg81yNrPitYgJVQM6urc+JXMsdyc0VpRtc1oFCzPxhSIjWb9gjVGUR3DnbOLE7qYfF4vNCk/CIWuB+btSiWxY0FMOyB3ZWgr1RKMaER6a4SPrsqYUpJXEluRmLQyvuoYoiBPl6/iDtFgRcNOriqdQFZRC8xmOYOVV+icAvvzUgXl3rKkigGDcKnV9t7769OppHChj1UT9Xw5YA4aA773r1p2sloyZ/MXbfbLp6NgXlRarETILWPxmVsxlWxe4pdmOC5k3exmRK4YAFti2XxyiayLNqyI8MDmQFDyd2f+V7eAVAVZ7SgLVVdmqXpd3zOU7Jq0YotTcxWCa7XK0Gm4tas/A6EYzAAzDJDAM0XAUgtpY4lMsMyIlWtrJYQlyNPTGqYmfFk3nFrCcKFx1oIyCgYvjXwcBKdO5884fCGg8offd6gT9Go7w4rATgrfo7HEIkZLZBlN08zIcMExli52qxI7qKgg61H0mJwo2Jmi8xmCcODaugqmlGf5ygnC90iqUNQ57kiYLO9Hw7RgQ6QYbIlFhIWi4CYzMhkp53ny4U8OL6UqAT07OWj5fvJ7bcTRKVM0TyrfDkYKTk44uqnSUgwLukwuDVN8ECeBFliMsTYRS4bhFr8QUvMBEnwSpdJxU/kbifwKqZ/+M4dQ4+YMIEauZ3O5npVSPDHxBuV/DGn27HMg8hOEZpZYMRgQs8CoVZjZMMWL7lRA5NsNp/qLJsmAkBDkkloGlXifWsp45pIJiTJZ3fKdW2KldMOaOWtCQtMw5AdWWOBoFT1Iw5peUVtI14dJVXbfpirHqssSmNBhIO2dtSYGAvicmEh3GzoJeC3EVA6bTxUQPvLFx42PIJ2QIX+hmAWGDmF5LJyl5k4IhSn0hWpiQQacQqI4ruVP+PKzq65Q9etmEuRxyz69K9qLH//PVSoTGo9QG27Re52qODK7vS3WAiDcaWOYpkuPSBpMycfZgoeotGaHCjs7tywSh5EzexAvFUFje0EZoBXgC0GQi8vys5TcLW1AD5sXXPbSWARExXay4R7ocmxpBCDk1G3CV5CdwjBBy26zVRWIsh5k5X3TQQVZccdguaBQnfy9RMxtjsEA8bEJzMNh7NndiuYn5cO0V6+UHFSZIk5tdFAMjJaSf0/ldJfiKSeVX8+om8WnMIdy2YKm2IUrQKp+boAAABWGSURBVGtLYynmNT78Ba7IPvSK95BOcC7mySsq6AHyJlJYXO6oHtci3Mtl0i8ukCmDs02mvrrPMYRH5oCpnRBemqNWFKEpyKGVPzXF8jPBCMaAW27KxjKmIeCviADz7JW1w6EuQTW5kLogRJmZ3l/jTlQ+YhDU9wWrQkCuLGeJuBXhuszWLR/LOquC8R/Uk1twjzJxjGkojAa501xCDoqrQmnvtyth3fZ3eqbEFCwCEgyIFd1hqnZqiPDVAeeNBp70PQqYkhA1lyeRvzGjVBC6azXMyOAHp/nxpYbny/bVSRlM6Ha3GJCESDE4z5og/h69+7xcwReu7AsNuqpMQFHV7VnSjkO/3Ykjb12jH4FTyaNWZ38jaXjDkddIxG0bE5MpGBK3vgWJxz/jdGK5UtT4CdOp7wx/eNnBIXphRKaFqKGp6LyL4GXL0rsFo8RwuFIDlu8fqnNL1fqpdoTikZM4YWIyiVQq8z6+qISWBeA8gOIXXzhpu02gpm9AtYK6glwQmBMJqY5SKgdMZK6VTFlMy5RSDF8HgGrk2736Ogrhc0T34aUKCs45JidTSCaLX1ApggWwtJApu3DdTUFgJC+Z3uQpL9/URn1VIZX9wPJ+UnZT5VHympnLJ3wEKpmQ+4H34QwiL1UQgQwuzH7nsV5vsM2BE5BMppBKplEUNXCPY9AAgC7nDSJeMCmRei5E7kHlCV9hQm8hFRLx+K6SR8iOTyr+EYqOBRgNCto/5MrJBLl4oNcwqYrkZxqcU0YhUuJ+P5PBRTEY2IBIIDkJdnt79spBJ3yOOwW3yuwhK2ZAcL+qBgyAh3ecj2qPnE0t/LXQEC0WZDHylVO/LpwIycn01BzCjUW3Z2cRSPhSBXJs29TnMWRBrnCUWTyalY8nlSkUYyQV6GLvvTuKBNm1/UvQDg6/htfBbWRzTKbSSKckZ/eKTH5XU4pRvygTpW2PSXbloOFbKnmhfhxxQR2Zboue1YKywdqmLLldz9OdvmfbHKlkCmnb6zBrgWfVZc++Bc7OCls693onBfibGxRTCR2qz0CRXHFvnKl5mNHrIJiKYodLVSFJrkb+vFTS0VjaLxPsdBqplJ05mFnH01vwVVq3fguMjokoc5vDtm3phnGNGbZiOri1hQaNPO+Zop2sHCMgFHUWVTXHyK6s1dr45UCxkKrEDXJBAo2np6pD+aVwQiqdRjqZnuZoKo2PkUg+up6wQMZR4RJhsjE6NgHDMGFFTEQjFphzY4dne+mJOWM+4wKSn0n5rBV/6uhVPf2gnIO+Jl/ThzprdFr+dcg7jeu0xLvgXBI7zZFOpWGLju3PL1ylI8xLIx8x6KjFePooSUYFxjNvQk3aHMlECqbJYEUsRCxryrZ27ZWLhNQd6oIMjXS55CqzV7fSBBNRj3Ol8vMwH5MRX4olO8Yx4FAc+oJSzwKzo0P+XNejOZjmgkSXIPMRa7Br1Ynmd99IQ7DSljn8kZwTkpMpJCdTsEwDVsSCabDikUTCSOFXWR61ymkF11R7UWmwxomsAjPmS+BVS3GD+BXLee7aEssxablz5SgQZgJs285c6elOhymZc1BMM0UU0v3PYO9YePQjHN3bj0EQ5GOwQSTe/pdO20inM54A0zRgWiZM03A9kqRAGrwaVnnZRggLDQsc7oqNm9MNiIXUC6HKbZ6dXUA3JOEtJMkK/s8WK4D6yM9tjrRtg9u2e/OH6cchgElGfAYczb44BgfBihUDRICLnOdgcw57MqskRkZJLMuUzEk8aqf7LLWi5yGCsqU5n2QlZ+POJTakY16EY8IWtIebaUoEO23Dtrm6mabVAXnVW06LAwctACCGgwz4YBFpbispRj5szmEnOZLJFAyDwTSzI4lpTAlTOVEoFzoeMpU5EbztXvUSA4NxKhoknIFadwKK6bR0aDoxcYLNM2aSrxNGdLYYeFGSt8vo8L6tuRGD/Vz4qrGcbe7Tc8E5gfM0UqlMIMzImlqmKRhNpAgYECJHGmXzQsXDUV3u2szTEoxgPgXZHWrODLI50jYHtyX70bURznxDNvEm4CDAMhNu0zAOciqOHDJw6EewJAUSMkMnbKSQAkNmFDFNA6ZhyEPIymWrCTKQMS9COUUjgKemNOdRkYu5wZwpg5clejg8s8Sb80zwjZSVTWc0V08qlx9xpNwg9gqQ9UQNxJNvNo+b4xAcpcPAs+tmFJ+kcqyMw7Y5cpF8w2AwTDPzv2EUxm1CtpO15iFuRbvosx7C0RIitwMs5D1c4SCq7zLnnMPmBOJc/Irg6aTeUI6XBCMod9XynwM5F+3unjS6t78A4IYiAtwGmZaWh8PPhI9sgm2np/SYGQwGM7IKY6i7RUPQoYJbLiNLxkwNv+v3TZG8HpNqx+GSlOVGBALZHDxnVXghhNW6RWkUR/0iakw+x+CmuQfIi10wYA+JFIO4Q9BL4U8WUCCCTTZsDiCdaVfDNMCMzKjCGMTddch2MnMJOjJRo4cNjQII5C0ryuuKMoSIODJbczLeI04iRQhTkN0i0j6KFUHOx+jwouUvY09+UI/Y02D06aKyiaOgJfSCi4ppvBMSMispM5qSZYUxGAYDmAGDZY511wu4qU6gMsrh5FI5jBISvIrKCJSHF8qDaU4Eyu7ryMQVvJ+NsiC7F+0PPtaFST1SDHvw6Ec4kKcYqbSxx4qIJuA2CgQobM+FFgoFmYhg2xlhmOKcAQYzMv9nRxbG3BRG1esl+E1jYWdJ4AwTKa+uzUzSM2ur+JQiiJQgdCdBqLGIXBo9K0aqGJyey32cUozRlz7f39x97yGArXIWzIiDmFnwmzozYfunPdIRkPOw8fxNXCw7wmQ+gLGc0qguaRGUzXyOpAIEXXAookJAodCTXAGy2cUIsFpXnCZEl7kPMIlHikBP5j5bjjtPgGGVM0OxYuigBG44TTt5ijxRpkmKyiEwZhbMWzIjTFaBAMBgGbEr2NUG32ulXNn2up+NnzDGYGT0HKbBwLmNdDKVFX6uQikchqdQ3uCtv7Klcbnx4cGWZ3JfChSDDPZjRvhzZw5GwjWGJRDksImqTvgY4NjjLs2VG2UYgwGO+limwyDK2Oe5jARoBbQMg2UVDVOBQyOnAcjY8UZ2dJN27HbGW6Q+Us8EQYaiu14teMuksSfajcN/lsx9K5D2BqPuqVF7LAHHyYSMMkt0i85uCl2Q1clVcsJHPKtExBG18omXcsahKuilFHbV+Vh4gpxJGl6dmMQ5wYAf538vWAl14vm/SBCj3cKMsgkLqV40pWCuF7KmgscFnStrX6tdCnWpqoUgblB8OKrPUBWM1K4SVMUrgUyObZM/nv+9yD4yOPsPYrituK42mGQJeknk5AKb8JUFRQKs2CuXYHm6uiGhbCIoOijczGfx78To9fPP9xzO/61IMZKG8ViE+N/BMZpMDUFl8VzoYAYLctjw0xPnoDsieKYJQ5Cd0GKy+BfBekAAYBzfcf5WNASM7b37DIDdxTxRhnBg8yLscVsHynZf5VgMAp/mBZBRKBUTljENS0nVfAWgbBerms8aZhQj81Hnb8IXxzDQowS2pZiADWKaGzQCQ1ECq3jCVy5Mzb+K7yj2ysF6ZHEyjdEgbBYLIFsRQIcGX7j7oPNXoZSnLP4YgKJjoYuWh4gLUrvCHjgqMeGrNrj2yhreCqVkIT9nrfbUJypfTcv+r+hXoWKMPtdzBsDjonvM03Oj0ZNUynNBiom9zAs97kqPMAS5FJ0WoF62ckX1ypWYUZyAb4luyN/BZ+AhcNxRxBK3QWaIIqHcFgoJlSd8GuW6JqyyYSPUkawUQhpmuepJ5TEvtnt439ajojtSxRiK2T9qHjP7wLCgsBAORgo8qZ4CqPyaY7VkmvaXYrIqUwApVDRDVZBVXdzhC7IWVJ6NZPMUAx6SZZHPpHf3pGXDDIPt7bkAq37PRVA7eUaiBCaVjpWkakKrPmolMkLFGGiqTX9P1kpyUwoAYD8EmJ+GM6bBOcgw4S0dGsOsUq+sMlShhELrJFyF2hE2S8qjpdqzVh98NSriVrT8KJdvHd3dk5Blc/W9Du/vOQIGgVYRGOzweuQZMeGbIQi5R4biyK+03Cf/qE2lshXh8mgl84s0s+0H3Uh6jBiAAfYAB33Y+TsjDtI9dMoT4fZO4ZfrSFqVOsVcXJP5CKlH9kO2JO0mIkoQxW8Y8NjggZ5jbtQ8JXtg79Y9BOwpLlPXuFSB6hPQKFeHTdWq5Pe6VQSGEvXKpXjUWoRVUFwZWQfBGHMdLQDVcwaJhIRcTnNzElC/SirIXhe0J3xVi6oX5IqV+9TA3q3FHb0DSooxvJ9/F8Ah5++MeMaGq3JBLqmdXEXgRZtwLghB1iSZ+SDrtInx7SrFKU4SejgRfUF4i/OqF2RGOmUrgoCx8ZRGhtJjbMLJTwlMU1VodYYKiVTlB64h3meG9/71T1XY95x85zC8n3+3eb15EAxr8n/PzPoZQl+kNgMmfGcHx8In6hPjiRRGxiaDEVFtI8VVCMoPUfnZKCaU8cf4NtWSNNxKPRyMiQnz7Dr3i2zCd/zUCCaTXm8LLQ8OHxsM1iNDb0RXI0lqF6C+5N3zIvHjI+we2vvXu1XbU8vfOrTv7u8xYJ/zd5ZriSoX5LDLTaVtvHDoZAnK1sezL/eWT5BJY++G4gXolO9RDwEMg31Opz01AxEMjLG7hHemTKnqFWTtchXIfW/nW6FwHxT//tPXZ64gaz8akk88xam/reKJyod2hC4b13hEWDwIF9uE7z+ffAt9Z0b1+AwZO/cexeHjgxUQZI1nreqcUYW6uIwbtq01WgA+FAMADNv+DICidSaZxVolEuaQBHnqUlYidyGanExj+zemzukqO0bHk9jxjWcrJMgaz7oE/aASGL7iFeUWwdfxgomTu4djnTebAG4q4oMBWm8umjpWz+PK2ckhIiyz4u3jg6ivi+Lqy+aFy6AHbE6460tP4MXXTql3CBcXjtUkYh8bO/0Tbb+633M3kYj/l+dr4pO/zoC2optVLshF5oVa6a53n3nxOJobanDlpXMD1VEVick0/vz+n+CJ546UpbyZCAbjN/pf/GxRYFoFvhUDAz+2a+ff9BIY+/0ihrKmSjULsi949MRPvnAMx0+P4JrV8xGPRcIvP4uXXz+NP+j5Ifa+0leyMmY6GMN3Bvdt/ZLf/P4VA0Cib9fx+MItCwCsK2IMWRMpdEHWEPgKmBevHenHI48fgmUaWL2sHZYZ3grkd3qHcPdXd+OLDz2Lc0MTodG9ADGUYsbtqd6dviOwgcWiZd2XG8lMvQqgU05edb6hWGgpJmklQHNDDLffsAwfvnklrrps3vSop4GhkQT+37NH8B8738S+g32C9VCzKALR7w7tv+efg5AIpb9s3vCFzSDjZyjyctG0DXSRP8/mhhhWL2vHmmVtWLFkDlob42ioi6K+Nopo1MDIWBLnR5MYGU/ixKnzOHSkH4fePosjx4eQtlVXMc8CDI8N7d32q8HJhISW7u0PEPCXYdGbxSx84JQNc/XIvs8PBCUUmgE8OGbfDeDlsOjNYha6IIbfDkMpgBAVA6/2JE0DHwdQ2TDwLC5KMOBvhvdueyIseqFu2j63Z9vrRFTkvp3FLEqMpwbfs/IzYRIM5K4VYbJv16uxBTc1g7Frw6Y9i1kUgdCXMoybU0/8UaiWSkmOLh8a558BULkFRLO4WJBkBvto9tUVoaI0Z/q/2pNMW/avAjhREvqzmAUARrhrcO/WknTAJXvZxehzPWeYSR8AcL5UZczi4gUx+vLg/m1fLxX9kr4FZvD5ew4S8Q9B/taOWcxCH4TvD+/ld5eyiNAn305M9u1+J75gyxmw4lcKzGIWumDAvlpu//LIyZ6kd2r/KLliAECib9cL8c4tkwBuKUd5s7hAQTiYTpu3nntx23CpiyqLYgBAonfXM/GFW2oBvLdcZc7iQgI7bFrs5uH9d58uR2llUwwASPTu/GnNwqfmMeCacpY7ixmPE2Tj5sF927S3qPpFmV/ByjC8b+sfMYb/U95yZzFjQegzbfN9wwe2lXWrYrnfTQyAYXDv1jsB9rXylz2LGYZjBPv6cwc+/3q5C66AYgAAw9C+rZ9kwN9UpvxZzAAcZrZ9/fD+nopsai/rHMOJRO+un8Q6byYIThuZxUUMwkGLGzcNHLint1IsVFQxACDRu/PJWOeWdwHcgYqNYLOoGjD8lNmR9w8c+Py5yrJRJWjasP1WRvg3APWV5mUWFcO3hsbsO/FqaYN3KqgaxQCAlg33rSXiP4TwYIVZXOD466F9W++tFpGsDi7yUH/VF9ssy34UDJsrzcssyoLzAH57aN826Tu3K4GKzzGcSJ762XhixY3/GksZjQBmNztdwCBGr1u2dcvgC6VZOh4EVTdi5KOle8fHCPQQZucdFx4YHjNg/+7A3p6q3JZQ1YoBAI0bti8zCA9jdhnJhYJxBvrU4L57SraXIgxUnSnlxGTvroHEvI/9U9wYq0XGtKp6ZZ6FFK8YzHz/4L6tP640I16YUULWtH77LYyxhwBaUmleZqEFDob/1Ry37z66u6fovSrViBmlGADQvrmnPjVufgnAH2M2IFj9IBzkxH7//Atbi97dWM2YcYqRQ+v6HZtsRv/IgEsrzcsshEiC2Pah8fT/qIaAnS5mrGIAAFb3RJtrzT8Fwxcw67mqGhCjx8ngnzz/fM/hSvPiFzNbMbJoW3ffvLRJ9wH0O5g1ryqJwwbhkwP7tz1eaUaC4oJQjBwar72327DZ/bNR87KjH2BfGhpLf20mmk0iXFCKkUPT+u23GAz3EdBdaV4ucAyBsQcj8fRXzu7uuaAO874gFSOHlvU77iBGXwBwdaV5ucBwnkBfQzTywPAznxuqNDOlwAWtGDk0dW/fYoB9hkC3VpqXGQ1CHxnsQRPpb1brUo6wcFEoRg4tG+9dQzb7KwI+woBYpfmZQXgFYP9zaCz9yIUyh/DCRaUYOTRu7Gk1uPlfQfQJgK2qND9VilGAPcI5HpppwbkwcFEqRj5arrl3ExnG7wL0YQCtleanwuAgPEUGPRyxar7d/+xnLqgJtQ4uesWYwrpvWC3WmVuJ8HEAHwTQWGmWygUC9jCGh02Dfffc81v7Ks1PNWBWMQRYsrknNjhh3sAIHyBGtzFiF9qyk1EwPEFEPzYZf3xgb8/se0wcmFUMBTR1b19iEG7jDNcz4DoAiyvNkyYSIOyBQc8QsV3DY/YzF8sk2i9mFcMHWtb1LIZpXEdgG0FYA4a1qJ75SRrA6wQcZIT9hsGeG0i3v4ADn0hXmrGZhFnFCAmtG3o6CeZa4rgUjF1CoC4AXQCWlMQ1TOgDwxEAR0F0BIbxFjg7ODSeOjQ7GgTH/wdEBXo2wJTlKwAAAABJRU5ErkJggg%3D%3D') no-repeat; + background-size: 40%; + background-position: 50% 50%; +} + +.seasonView td.episodeThumb img{ + height:30px; +} +.albumView td.albumThumb { + padding-left: 0px; + border-right: 1px solid #aeaeae; + } + +.albumView td.time, +.albumView th.time { + text-align: right; + padding-right: 4px; + } + +.albumView tr.headerRow, +#albumSelector table { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAXCAIAAABF+LJYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTQ0NDZGQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NTQ0NDcwQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg1NDQ0NkRDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg1NDQ0NkVDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FuFIdAAAAOklEQVR42kyMUQoAMAhC0+j+J+s2ffXTVtDYA1EUpLsjImhmVFU2IsKqGm1uz8zxX7sBeF1zv44AAwDVBhSDNN7oJQAAAABJRU5ErkJggg%3D%3D') repeat-x; + } + +.albumView th, .seasonView th { + font-size: 11px; + text-align: left; + border-left: 1px solid #aeaeae; + border-bottom: 1px solid #aeaeae; + padding-left: 4px; + height: 13px; + padding-top: 1px; + } + +.albumView tr.headerRow, .seasonView tr.headerRow { + background-position: 0 -1px; + } +.seasonView tr.headerRow th.thumbHeader{ + width:40px; +} +.albumView .albumThumb, +.albumView .albumBG { + width: 120px; + background: #efefef; + border-right: 1px solid #aeaeae; + vertical-align: top; + } + +.albumView .fillerTrackRow2 td { + height: 100%; + line-height: 100%; + } + +/* Album Selector */ + +#albumSelector { + height: 23px; + font-family: Arial, sans-serif; + font-size: 12px; + font-weight: 700; + } + +#albumSelector table { + width: 100%; + border: 1px solid #aeaeae; + border-top: 0px; + height: 23px; + border-collapse: collapse; + } + +#albumSelector td { + padding-top: 2px; + } + +#albumSelector .prevAlbum, +#albumSelector .allAlbums { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAIAAADJDItPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJCOEEyQzlGQ0U1QTExREY4MUI0RjIyREY1QUFBQTlBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJCOEEyQ0EwQ0U1QTExREY4MUI0RjIyREY1QUFBQTlBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkI4QTJDOURDRTVBMTFERjgxQjRGMjJERjVBQUFBOUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkI4QTJDOUVDRTVBMTFERjgxQjRGMjJERjVBQUFBOUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Hnv/HAAAA1ElEQVR42mxQOw5EUBSd9/IyCxA2YQlaO1JbgkVIiIpKgR1oNBqdEKERVD7xmzkzk5gYc6r7zn3nnnMvWdf1dkHf923bchxHH2eM49g0je/7qqoOw8AOxbIs6CVJYppmnudgtm1j+75DhGllWdq2HYbhIQDPpmmCjed5ruvO8/wTghVFoWlalmXXgPCiPM8riiLLMiFkPQM/SNd1sEfINE0ty4rj+FDruv5qfx4wxrQoigzDqKoKDIrvYvc3JEkSRTEIAsdxKKUEsf9era5rQRCeAgwAxPWf44ZS0FcAAAAASUVORK5CYII%3D') no-repeat; + } /* This must appear before #albumSelector .allAlbums */ + +#albumSelector .allAlbums { + width: 94px; + border-right: 1px solid #aeaeae; + text-align: center; + padding-left: 10px; + cursor: pointer; + background-position: 10px center; + } + +#albumSelector .activeAlbumTitle { + text-align: center; + } + +#albumSelector .nextAlbum { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAIAAADJDItPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdCMUE3MDBGQ0U1QzExREZBREU0QkQ5NzdFRENBNkQxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdCMUE3MDEwQ0U1QzExREZBREU0QkQ5NzdFRENBNkQxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0IxQTcwMERDRTVDMTFERkFERTRCRDk3N0VEQ0E2RDEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0IxQTcwMEVDRTVDMTFERkFERTRCRDk3N0VEQ0E2RDEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz62tw0dAAAA3UlEQVR42myQPQ5EUBSF573414jQUEh0Go1GrRGFKKiESuxCYztWYAMqy6ATEg0NmbkiMWTmlPede75zH5rneZomURR5nn/9CC/LUhRFXdfjOK7r+n4K9X2f5zkYNU1LksQwDJZlSZI8t1HXdVmWXWm2bUdRpKoqsBBCBIz2fb+em6Zp29b3fc/zoBAG3v4UTKqqKssSgo/tbdvubQHsOE4QBJIkEVDvHm6aZhzHuq5zHIcx/rIVRUnT1LIsaE5R1OkmwELTdBiGrusKgsAwzB10HDYMgyzLf3/tI8AAgcVrkw2eqPgAAAAASUVORK5CYII%3D') no-repeat; + } + +#albumSelector .prevAlbum, +#albumSelector .nextAlbum { + width: 28px; + border-left: 1px solid #aeaeae; + cursor: pointer; + background-position: center center; + } + +/* Movie Overlay */ + +.moviePopoverContainer, .episodePopoverContainer{ + z-index: 3000; /* Above overlay */ + border: 1px solid #000; + padding: 10px; + margin: 10px; + position: fixed; + background: #3f3f3f; + top: 50px; + bottom: 150px; + left: 10%; + right: 10%; + opacity: 0.9; + } + +.episodePopoverContainer{ + bottom:none; + top:30%; + } + +.moviePopoverContainer .closeButton, .episodePopoverContainer .closeButton { + float: right; + cursor: pointer; + } + +.moviePopoverContainer .movieCover { + height: 100%; + padding-right: 20px; + float: left; + z-index: 3100; + } + +.episodePopoverContainer .episodeCover { + width: 40%; + padding-right: 20px; + float: left; + z-index: 3100; + } + +.moviePopoverContainer .movieTitle,.episodePopoverContainer .episodeTitle { + font-size: 24px; + font-weight: 700; + color: #fff; + margin: 0; + } + +.moviePopoverContainer .runtime, +.moviePopoverContainer .director, +.moviePopoverContainer .genre, +.moviePopoverContainer .plot, +.episodePopoverContainer .runtime, +.episodePopoverContainer .director, +.episodePopoverContainer .genre, +.episodePopoverContainer .episode, +.episodePopoverContainer .season, +.episodePopoverContainer .plot { + color: #fff; + } + +.movieTitle .year,.episodeTitle .year { + font-weight: 400; + font-size: 18px; + } + +.playIcon { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAB+CAYAAADiI6WIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY3NEJBNzU2QkM0OTExREZBNjg4RTExODNGRTMxNzlDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY3NEJBNzU3QkM0OTExREZBNjg4RTExODNGRTMxNzlDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Njc0QkE3NTRCQzQ5MTFERkE2ODhFMTE4M0ZFMzE3OUMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Njc0QkE3NTVCQzQ5MTFERkE2ODhFMTE4M0ZFMzE3OUMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6EY6YgAAAd50lEQVR42uxdCYwc1Zn+qqrn9Iznto1tPINtMD6wjQFjDgNLQhYlJgkKIecCClJWSsgqJBGKFolspCyXokDYDWGTYAJJOJLsAiExEI5wBAg3GIyN8QH2+BrP2HMffdV+r+q9ntc11T09PX1U21Nyubtrqrur6/v/7//+/10hHH2b4XPMPtpuQugoAtfQQDbS/A1Hg2GEShxYL4iG9uh9bqQA3Q9gO81z/dEoVaMIlSjg+qPpc444ZsnfJx4reKBcHjd9wBfgxWx3D8Pdo+IY97jcbc/5dikzQ6gEAfd6sNjKuFcT2YYqoLkWOKYOmDMTmM3nLY1AUz3/xr/X0AqqdOD5xOCHRInwINHu7wS6etz9wAFgXy+wpx/YPwAc5Dl8iSFpFKZ2DfFSM4BQCQFuyZut6LqqggAT3BO4L5kHLJ4LtM0CWhsINgGvKpMWYfhwPzyWZGsfbEtXH+ZO0PtoDPv2Ah/tAna0A5v3cKdRbCPaB6QRWPLjYh4jsIN+Y4N0PbZG36ZG2+KxspLAHg+s5n7WQmDZHGAePbqxSp7kBTikfYiZBnidy+MeLjc1Y6Ah2AfJADSCXe8Dr70HvPAB8Cb/vo9/jshTo56PtINmCEYAPdvQ4rTYKwjorOOA008BLlwCnDmbr2t4vFzjW0sL6t5AnqnHey/E1ng85uH0mET5MG1hJ43gTeDpl4Enif7bPK9L6gRb0wiBMgAjQKB7HbOWcXnxUuDja4B1i4CVBNvUAS7XADd8cjKvLB8PeMPnIkyPelSe77cT7ZG3gOf/BvxpK/AcdcGHMmLYGgPEgwC+ERAvNyWW4nnNLNe7P0vAP95Kai+XJ5bLvcyjrPS7GfcE2XgKsOGT9+mvLQ14y/Oos0lcer5KA8RxAo5N9PxngUdfAR7pcV4mGEBlC0UF3wgI4ALLCsbqlWuBy84ALqBYm6U8WYBdoYGhAxzzicmZgDve3wyf/FAXHJaHbSARVUZgSflPDfDBk8BDZIH7RigO5SWHfdJE+0gG3vA4kpNjU5idcBbwlfOBL1OZN5dr1lDuEWDRFHfMGAe4yQLvJ0T0sFOmGYiK/0rpSQZ4/yFgPXXAw7z2PZrnx4oBvlVg0NX9csIzX8ykWPvC5cB/fgz4FNOwauHZlXIv0zwpLG9k1KeakglwuQbeG+/VdakfqButMAamnM2CyShMlxH1nh43C4hpNl1QR7QKDLrSZOUEec1ngB98AbiKXj5D/KFK7qq4ENYAj6VQ3sUE3vCIPp2RFK0pA1C6gGlo22k0AJ7T+BHwUdQtCllHmsd7y6fCketPAi6/DPgRPWA1D5jCy6fJG2R7PDw2QQCKAbzXTWOa/tAZoEIer+V9WMXfTuF62i7gYDfQ7gO8UarA6/m4o8/4409YB1xLL/+3Y2nx4sur5Q0xNGEU8Shzo4SANzwCNKaFgJD8rSo9JPCzTwY+Rpc3d1IE8tBIoTzfKgC1O2xHxb6WXn4jY/knSedWhQTd0mRu2CfnLlXgDU8NQYUAU0tJxesaRrdTgXNE+fl9YGvUqQkl1ZTsUgFeT9PEb6xeAFxyJXDDcmCpJWm9Uv6iiDTzWJp0o5SB92qAmOYRldp5DH9L5wDLNzPlGwT2I89NvlYeAFcxXfyu6SuAK68A/qONwtbSYnlUK3rYE7yZpQa8twwc1+i/Qnq/MAg6yNyFwBlbgd2M+7s8JQsjl3E/l8CbHuXecCZj+VeB77fQ68skteuxPJ7FjSt14L0C0JDAh+SxWdQ+SxkWCf6+TmCbhzQC5/E6vYu96Vzgu18Erq6V8bxKXnk6Lz9agPfWASDBV55fT2IkU55F1A92AFs0qWAHCXhvTK9fC3yPoF9FWjerJOfHtVhuI31r2dECvJf61Q0Uz6fTV6iJzqTnHyD472u0nxMDsCYJuKGxlcC3bg0B/xIpnp4eqpQxLCZBj6e44Ucz8PAgGtLyfYJfuYSevwn4qMut8/v19ika8ErI1VCZfu1fgH8XoKvSa1SL58YU8GkfFfiWJoDreBtPAFa/Tq/vo+jLFfiTAT7RUULsVO0XU73/oIkUpTw9quXmmAJ+QqVfUwO/EaidB6x4CXgz7Hb30tv3Cwq83thS0QCc8zXgRl5cixJyMQ10Ywr4Cb1f93zlQMzxm0j9ba8Br/De9kw21ltZgq7aHyp5YSdSyF1PFbrYlCmb6pxgZwjGFPBjz7W1mK/U/nygdYC3+F2C7yObJkzX2cZ1YYyNTNu+uRo4zdA8fVJXNLUltqi8lwZGm6m/CnzlFOALshaml/6NfAGvd6JwGJ2i43MX8iJMrfwYngI9p5sqdqlUj2LP+FdmToz7p0scQtmAb2bBEE6jC5X7yRcD31IK3poCPa+eH9FQXgwcQ011NVGe7QN+ToHX29WF4bV8nBS/EJirKk6qd0yhNtXpwW+P4cgZ5WhoFc+Y1FAC5X+moD7XYf5E84c5EY8PTRB4R8WT4j+9lt9tacWGaAEBFzeisrkZzeecg/rTT0f5jBm8QgPR7m4MvPceul96Cf3btyM6OJiw1lLfFPgqVRbbV/jvPeDFDuBZiWXGpd1QhqAnOpLQuxddAFxez/daWhwqhIc5TZoVFZh/xRVou/pq1Cxa5CtCon196Hn5Zey77z50bNiAof37J86FAfT8uARfufdSUv064Ir1bj1/L5KHcNmTSecM7TxhbA2nAVd+Alin55jxSaZYmZwrvsOqqcHy227D8dddh7KGBsQGBhAfGRndw2HY3I1QCNNoFDM/8xmHFex4HH2bNiEaiyV1hw5yOpeuYcfUUjwG+WNfBz445Lbk6X1RjckCr75nGoPJqi8B1zbxeYUmPJBn4NUPXnrzzZj/jW8gIgAfGnLo3TAM59HZEyfbjiHYBLqqrQ0zLroI9aedhuE9ezD44YdjvqeUgNeBkz14yvm3hheBv8MZ2ucQ8KQ83luLb6CYuOoMYI1eVLDzDLyhKlef+xwW33gjYsPDsKM8Yo4St2Ek35aEMSgD4LHaxYsx65JLUDV7tqMDhnt6ElZdSsB7x4aHpde/DezocMZvJHVKNrIFPlGhY9p2+iVMIVTfd70tOZ/AO82VVVU4iRRfPX8+YvR0X6C9F6+OiUdSvQgDJhVK45lnYgZDgBGJYGDbNkRoSCby3wMol8BDK+lqQ5Ganwee4fE+jHZ5sLNJ53Tga04FPkvLalID3AqVMonvaT7vPNSdcgriw8OSyZO/WbzO5FicYIf7+1HZ2orFP/sZVv3xj5j5qU8lBkWUmsqPYnTKj9XAScuA8zHaocfIJo/Xad5kHFmyCji3QgM9XqAfJy6w6eyzEaKwE8DpwI45387MFGNM86I0osbzz8eK++/HSb/+NWoYCqIllv+rDhwCJOquELOti+AM2knYg5EN8IpFpi0E/qkNmGdowBfKqkOUlLUrVriAxOPjAu3n+T5xgD8i5ohEkR7OvvxynPL001jw/e/DYrYQLaEKZFwDil6/nDidKr3eSlfUMccrz/K/uSvo7dWZSMU8AF/e1ISquXOdlGwyXp7qPSL2R2kAIX7PCTfcgFWPP45ZF1/sVCwiJQK8uldzgemnunRfr5VxMwY+qQVuFnDyYsYPRbvxAoLveHxdnZOzx6PRrL08Ew0g8v8wDWA6076T/vAHLLvnHqcqGHTv93bcOAc4Y5rTUzsxjYBfNug7VZg+3KvuRGAtlXxlzrt5ZrhZ5eUwxMw3OkhZUnwmx6IUfyL/P+aLX8Sqhx/GoptuQhnZIMjxX5+7h0563AKX7quQpvHGTEPzYu6ZOUtpQepAMX54wjOzADar0MD4b1NERpg2Wi0taL3mGqx69lnMvuwyJrLVgTQAPWGfzqdrXMzq4T/pV1qqdzyeNL+McaM1CDP22OPE6gmJu/Heo6p/VP6ioad6yRIsuftunPTAA2g899xApn9xTXifwn/kyHmS/UPjebzhUfNVpPnTxYRDdkCsPFPwMzGGcWO+9jpO8EXhqGXdOqwQ9H/LLahauLBgjVOZ3htVVGsFZi1whuMl5odKG+NtT9GmZT6w0kCAWrV8AMsZxaf7LFn+ddK/mhoc++1vY+UTT2Det74FI0D0r7Cis+Jkx/ETcd47MVhKjzcp6BYcwwwhEMBn6dW5CAPe+C/oX5R5K9vacPytt2L5Y485haC4ZQWC/hXCSxim+djiAd1OBTykhYRmA4vqgGlGQGhsPFWfq/g+7jmy9i+qfzGKwPq1a7F8wwYsuv12TFu6tOjpn0JYTLrQ5Dwk5mhKS/Wqw8o0evuJFfINgQF/nDidaU6fCw3gHGPaJwzANk3M+frXsfwvf0Hrtdci1NCQiP9GEUAXeyMxbHOm3ElQvZmO6tXomMaZQFsZgjXZbS7FXTYZQqoMQDQTi/SvorUV83/0I4f+Z37+80lToRZ6qybglPULZZw3U3m83jRtMBWY0Qw0GwEDPpW4y4UxTPY8sQnlHxsZQe3q1Vj8u99hCdO/mpUrC9qopTATcl7M5g2nR/bYXN6P6kM8c2ad+4aS2HKl9LOp+3vfJ9oUojSAOB9nXHoplj/1FNquuw6hlpaC9kIW/M5w3UzWbhiP6hXNl9W4s0NPtwPk6UiRY+cidmfyOXYG3+81AKf6x3h/3A9/iKUPPugwQSGUv0KXrD19uvOQNAWv4Ve5c6Zl4ckzhbArtDiZaHzPNk5n6/nZMIToKhYNh1F31lkO+E3r1hXE88WV0dVrG1zgx9Ts/cRdOdVAQxCXrrDzBHQuNYDvNQn6pwFUzJ6NE9avR+MFF+QVfOWs1GrVVaNU7xvj9eKN8Pi6QPZBz5Di86UBstUB6j0i9oeam7HgjjswbeHCvAq+uAu8VTvaWGOmA16UJyoZ32uK1RqXCy/LOA/PMHZPVDuk/C7eXUH9VfPnY9711yd3Cc8DOwplP935l5hPOSXVi0sJlbndqYu+jbcKYKE9dtJMI8AXcZ95f9NFF6HuvPPySvmyc0YVfHrimD4327LcTvqBonjkkZpzRfsZvy8WczqXNF5yScaGnY3Hy2bWCviMHzFTVPxKMlfPt7jLWS1AnjPt5JNRVl1diJDq2xHDe8Ai1YfsgIJv57AnzkRz82y/z++7hPgqq693Onna+UXcd53dMXm8bMyPB9Lti5Ce5fWaCiOg7VTx33uW6L0ePxK8PJcdNHIVBvRjsd5exLq78xpb7TTCb0wKaAesR7FdYM/PZ2ueHnQH333XGctv5PG+pcLS9En840wxIkGK8YbylnE8OluxlWkNP1tWGXvXTWcgx6EHH8xbm72aUyDiTpxl+wGf1IlWLKUddldHDJ68z1Hlzs5z3720n8PnVkUFep58Et2PP57XVZ1Fg9Dg6EqXSZdk+rBDuBvoL+XZq3La0SKHYk/U7K1p0xDp7MSua691x/nnsXgjXL3XXeVqTH8Q00dkhgeA7ljQgExT3sxn1W4yGsDr6abI2QcGsPOqq9D/1lt57cQq7hZdPTyYDHwikTA9oDvLxPQDh8LI86IoExUp2kjZbGvx2dJ5tnV+/bOEp9sUctu/+U10PPBAXkFXV9EHDPS5ixul9Hh9bV4BfOeQjPNBVvfFTs8y+SyjvNwBfWjzZmy59FIcuPvu9APXc+jxhxiyDzsPSR7vq+qdKetoJQcJfn8pFHFyOZImZxqAx8TMW2IyBwwPY/8vf4n3PvEJdP/1rwUBXXlwB2l+wAXeuxxvkqhMrJBF4Dt4ds9xQLMdLJTd9Gec5kwBhvccv2O5ep/3Gs3aWuc93U88gb233ILDjz6atDR5ITbh4nuBA/bYGD8GeGUVIo8/dIBv4tkLjIAAng4M5XXeY+OBmKv3qddiciWrqgqDW7di349/jE7G8khvb2Jx5ILUO+Qu4vRu4CO4U6ApbBMRM+TzPmEdvQT+Qyb/Z5YHlNIzBSjvni+OizhOwEUJdu/tt2PPrbdipL09Mfq04ELYTePCO4GdSF4DKi3Vi0Egw/vcFQ8jtNayIHW6zAWI2Zwz5jzZo0bM2CHG0x965BG033gjel98sSiAw4Ms43vfXnfRQjWqO6k0E/JJ55x17/mm7V00nDqgKSjAZ3IdufLoVJ/jHJc5uVlRgYE33sDe225D529+4/SlL2YnVX1Zkw8I+qA7v21EAz6txzvKnnl8OwPETgq8pjgCMlTaR9xlEqdTAZ3J+7zniDq7RfEW7ejAbtL6gTvvxMiePYkBasV2DOXebwPvwl27xrsa+xjg9feK+k3PVmDj2cCpIRR+AOB4+ftEvTqtB493nkzPnMpbOIyD992H9htucFrXxFaGYGyKy8nU0Y3AJj4dwuj6EWljvPJ6cfLwDr75MMVBC1BhF9nTswEsU/DTfi/PN5mPC+D7X34Z7TffjK4HH/T1mmJvMXlNW6jmO9wFCoWw885onVbVi5OHmM9vp9dvmQWsiBeLyrwzU+chdvtSvIjjQq2T1od37MB+Qet33YXIoUMI6mATBd6LwFtxd326YaQYsBvyYVS14MQwD3SQMl5fQ+CLTvcqvk8wTmdrIJZQ68PD2HfHHY5469+8ORBxPB3NG27RZvgt4A0+7daAT0v18ADvtOp9CLy5Bzg0H2gshteLVEl0WrDENOVZVu4yysslrVuM4+Kx929/w+6bbkI3H22p1oO6woWt0fxrwNZ97ooVg0iewjxpM9N8VkTS/bZ3gHf8RFYhtkhfn7PWjGFZGRd3UhV8Up4j0zMxslXQ+vbvfAebPvlJHH7qKZgS9CC3Wygm7OfTF8jQcTeNG/bEdzsd8LYnzos3dxD1f1ApjhgYuzhwvvPSaGenky7pwOesQUUySEguc7LnJz/BOxddhD2M56KTRKksYqQw2UysmMa97BbuHMb2TeXSebxO9/3ttCJ+6HagsNOaiouL9PejT6RNgpa1VSkm3f4u1Lrwcir2zocewnuf/jS2f+97jscH3cPhU3wRadgzxIkMvVWmcRGkWW8+lIY5Yqp8y3fvfhX4+0rgxGp5+40C/rCef/wDMRqASKnsyCTmlJZxXAxfElW3oU2bnDgugI/LlSpKbaUqhewuOugzDvZOxwsdeEzE45WVKLofoFp4gaa0q5Dz1asL7H7+eWcdGTG3fNY9aBirRWOKMyExU7Jd11+PjRdeiP333++0mVsl5OVeISa2v1LXdblFm0GMrk+YkpwzWYUq0ZRMGqleAZyiJk7zmyQv12vSOHQvliQZGUHzunWOxxtjUv00a9Jo6ZnYDhJoQen7773X6f8WQuktRqQXbASyzLz6/wu4a8gFvktT9ClnmR9vMSKdFcoOkUJmAIvbgBZVvzfyDLy6AJFHV7W2YvqaNQ4t+w4I81mkSFC6qLz1v/IKdnz3u2ingBtub085rXOpAK+v7nknHZ65+5/5dD/c+nwYSD/TaiYer8+iFe+kLmCsX10lDcIsAPDOF5Oqe557DtULFqB21SoYQmmIDpieIdTiuGofN7mH9+7F7ptvxs5rrkHfxo1OemaluI5SAV7FYGG8bxDs9cDdYTd3P+TxdmQDvNfpHMon3Q+JKbFP5K7GYJsT/OHZAC++Q8whd+jxx531ZIQBiJGmouBiqp1Ai8EKouI2SIbYt349dpDWOx97zAkVVgqgS23BQcXfRNj+OfCnbcATcJrgE2lcbLwEzMjA49U0p2JmBTGfyszpwPnfAK5ZADQYGFvwzwfwurWLHy4WEGw491zULFuGsuZmx9NFoWd42zb0v/MO+kjtI11diYs3UvzoUlxiNCJBeYSp+y3AjRGnFRYHNeCjnjI8Mknn/NJEyO8TNNLLT399A7DhSuDLlbIJpVDFDlOL+X3cHZFJLxfx3FlbVva/t4BANqZMVsUrRCnoBu8B/i/i1ld6ZQoX1ZIue7z7OJHMYVh+SddG4NEXaGmmVhcs1I9XwCqBZosFhYXgk+XVUl85Ol3OroordwOPU8m9BLcxZkDz9IxqbGaG91ovEA3JL9v1KPDABzQCCyjodJ1+saiQRaVibApwy6X4d55kbJdxvUery2dcVLUmeI+TNlrBIK0uvgxYJmZL1lvv8hXjJ5tBlGKMj2sqnsG8i3H9l0T6LQl8nyboMl4dLpvQnPTBYogOKaB+CXCC6UkBpoDPzfuj8jWdbPhm4LftwNNwO1r0SN014WibC00W30XLqwCOPR6YrS9sMwX85N+v+FvE19uAP79KQcene2RNfsBTnrXzBbw+gFb/kjClZUczvb4VaIyNU9WbAj6zc/UO8euB5/4M/Abu6JgujeKzWgtpsh6fSPd4gUMUep2zgcWzmGbHMHbm3CngM3+/GtkiXv8eeIOp2118uk1SfB/GdrQoCPC2TyHJJuf0CPDnASfOAGpSef4U8OnPVb1gxL17GNj0C+AXPPaeFte97e0otMd7PT/OK+oi7fcQ/MUtQHXMJ+ZPAZ++HKtA3wC8fzvwP3SojVLBdyPDZtd8Am948nzVZcum4uii5x86BlhE2p8WSyH4poAfK+RUPYRJ+qY76OlDbjlWga4GSGRcqMlnjPd6vaNHCH7nFl5wEzB/DlAXRfKKR5gCfkz9Xd28PwCv/wr41fCopx+Wnj6cjYLPN9XbHvBjgvbfAfbWMM2j2m9RJ5hTHj+m/m5Id74TeOZe4J6oG9M7tJJseKJFmkIAPybWy98T43/dBH83r7h+PjCnnL8xPo7oOxqAt7WbJNoW9hHY/ybDP0oRbzuDXR0hp8f0KHLY1zUfjWq253fF+GJgK7DzII9T9LVOB8qiE6zyHSnAGxq12xKAN90y7L2vAX+B0/CWpN5Hcg16vjx+DOVLix3aA3z0Pn9kPXAMhV+dOslA7vqhBRl4We9I5OfipjzIOP5z4NftwLN82Y7RDhVD2dTgi+nxfko/IvcR/qI9G91B+5XHAnOrJPXbE4j7pQS84bkRKsPZCfQzVdtA4O8fchtchJd3aqCH8+Hp+QY+1W92wI+6hZ4dpP9D9P6ZzUBtCKM9CMwjCHhbc1mnAwmfPgFs+Snwu81ul6kdmnLv14ozMeRx/Eq+O87YGk3FtKKUoLBB/tL2V4Ftve569c00ggpD8wqjhIGH9mMtiSTd+gDTtEf/lwJu0PVy0dhyUMbzAa0Mm/ehC4XqMeUVfAp8MUrnMGlvC5V/O829nHl/E9O/kLISPfUrBeBtTyFGbFv4G38LPM/99zvd0S5CwImu0F3Sywc0ao/71EjyQseF2HTsnPVr4a6OJDpwToPbiVPsc2YBK9cCZ58JLKcRlOlvsiZRAMon8HrHRP2R6PYxPXv1ReDFw+6cNEqtq3Z0PZbnldqLBbz3fikcy6UBVHOnozuL4zUKA2gBFhP8NacCS+fwuFo8Le75gGIBr1OYnqbRdePULp106zdfAl7pc3Py/TKG92qADyN5RiqggCPRi9FNzc/7yz0MUCd3QfsLxbCtVcBJxwOzyAIV5VqVyEDycC4zD8Drm46QGn4lENxL76ZL730FeIN5+ZtRd465w7IIowOuhi/rXl5Q0IsFvJ8BqE6zeggQe61kgjqeNLeVLEDwT1wKzJ8PzBahIKQBorcFWD4Ug3HEmO7NhicntT1MM+Ty9gCVefvbFKh06817Xe/eJ4FWsVuJNn28+pj544tx81Fk8OHBS/WQFgZQKfdqyQTCCBrp8ccwHrQeRwNYBLTxce4MGgetxAhpHwSkHx83nhHoXh5x0YxRhneSyncT8J0fMRU77JajVXm1X3q27t0qhkfgM6dssW88AmAA3hBgaWGgTDJApXxUhiAYoYEnNDfTGKgF5sx1q4ItfF1PwVApev9WuosoWiE5+MPweDZGERGdSWJ0zyiRi4klWphgH6YLdxDkve1Mv3hsf9RV4zrQAxrQwxLsiCbwvRMU2AiIxwUF/FQiULGArgcqPGFBfy5Ww64TKynTOmppHdP5vIYnlJe5mYLJD7XEcEsiEhWAE6UIURuh3O6jIOsjor19rvru1YAd0mh7UD4qrw57YndMq18kzTEXhC1Io4y83uBtxFJGoJhA1wU6Mzg731RGlwx1J5+vhxbTU2DypuH6rkD1Pka1Ok1Uo/K4p34BBGxV9iAPL7N92FgZQFgT85a2q4mjLe3R8sn+jDRtC0nNyh4P1ju+6s9TgR3YrRTGFXpvon7jDY+YNz27d4RVqmzN65k6mHpLo+1hCT9lbpfAPS2pAaW2j9g2Uoh3I8NsLlWo8TMEw1OkQxBj95EIfDo9YKcB1chCxKai60yPTQFfZFYYzyiOCBCz2f5fgAEArFexS9eRpekAAAAASUVORK5CYII%3D') center center no-repeat; + position: absolute; + z-index: 3500; + cursor: pointer; + opacity: 0.8; + width:100px; + } + + +.playIcon:hover { + opacity: 1; + } + +/* Effects */ + +#topScrollFade { + position: fixed; + top: 51px; + height: 33px; + z-index: 101; + left: 0; + right: 0; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAhCAYAAAAYucG/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYwREM0NTA2QkM1MzExREY4OEFDQUU5NTc5MTFCNkUxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYwREM0NTA3QkM1MzExREY4OEFDQUU5NTc5MTFCNkUxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjBEQzQ1MDRCQzUzMTFERjg4QUNBRTk1NzkxMUI2RTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjBEQzQ1MDVCQzUzMTFERjg4QUNBRTk1NzkxMUI2RTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4NLytwAAAANElEQVR42mL4DwRMDEAAIv6AiN8g4hec+AkifmAhvoOIb6isb3jFvmHRhs3kn6gu+A0QYACIHCJCHDLYgwAAAABJRU5ErkJggg%3D%3D') top left repeat-x; + } + +/* Now Playing */ + +#footerPopover { + position: fixed; + height: 150px; + bottom: 0; + left: 0; + right: 16px; + z-index: 10000; /* Top most always */ + background: #333; + opacity: 0.98; + } + +#nowPlayingPanel { + height: 130px; + width: 600px; + padding: 10px; + } + +#audioCoverArt img { + width: 100px; + height: 100px; + float: left; + padding: 0 10px 10px 0; + } + +#videoCoverArt img { + height: 100px; + float: left; + padding: 0 10px 10px 0; + } + +#audioArtistTitle, +#videoShowTitle { + float: left; + padding: 5px 5px 0 0; + color: #777; + } + +#audioAlbumTitle:before { + content: ' - '; + } + +#audioAlbumTitle { + padding-top: 5px; + color: #777; + } + +#audioTrackWrap, +#videoTrackWrap { + width: 365px; + white-space: nowrap; + overflow: hidden; + } + +#audioTrackTitle, +#videoTitle { + color: #fff; + white-space: nowrap; + overflow: hidden; + font-size: 16px; + font-weight: 700; + padding: 5px 0; + width: 365px; + } + +#audioDuration, +#videoDuration { + float: right; + color: #808080; + font-size: 20px; + font-weight: 700; + padding: 0 5px 5px 0; + } + +#progressBar { + background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAAAAAAdccqdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABZJREFUCB1jsGfiYOJh4gJCdiY2JlYABfcAiC/XwOEAAAAASUVORK5CYII=') repeat-x scroll 0 0 transparent; + border: 1px solid rgba(0, 0, 0, 0.7); + float: left; + height: 8px; + padding: 0; + position: relative; + width: 365px; + -moz-border-radius: 20px 20px 20px 20px; + border-radius: 20px 20px 20px 20px; + -webkit-border-radius: 20px 20px 20px 20px; + } + +#progressBar .elapsedTime { + background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAAAAAAdccqdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABdJREFUCB1j+M/0g+kr02emj0D4mekrAD41B7hJ9Jz5AAAAAElFTkSuQmCC') repeat-x scroll 0 0 transparent; + height: 8px; + left: 0; + min-width: 5px; + width: 0; + position: relative; + -moz-border-radius: 20px 20px 20px 20px; + border-radius: 20px 20px 20px 20px; + -webkit-border-radius: 20px 20px 20px 20px; + } + +#progressBar .progressIndicator { + background: url('data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMpJREFUeNp8kD0OgzAMhe0QWAB1RoKbVKrE0L3H4AztSM/AYaoiVepNuABDGPhN/dIODJQnWYmTL8+O2VpLUJZlJ1kKiSN99ZaomqZ5IWGAApVKqWsYhuT7vqPGcaSu62hZlrvAN07TNBfoGccxMTOtBRNjDM3zfNYoBxc4bElrDbCAY+t53oF2JKCBI/V9v8c5V4D1NE0XebUJSTWAD4URoMdhGJzzOnD2m0LlfiZ9lkmS2CiKbBAELrDHGe7A8Grg+Z+B10g+AgwAK9Fl++J3PdcAAAAASUVORK5CYII=') no-repeat scroll 0 0 transparent; + height: 10px; + left: 0; + position: absolute; + top: -1px; + width: 10px; + } + +#nowPlayingPlaylist, +#nextTrack { + width: 416px; + float: left; + cursor: pointer; + z-index: 1000; + } + +#nowPlayingPlaylist { + clear: both; + color: #fff; + position: relative; + top: -16px; + } + +#nowPlayingPlaylist ul { + list-style-type: none; + margin: 0; + padding: 0; + } + +#nowPlayingPlaylist li { + padding-bottom: 2px; + padding-left: 4px; + } + +#nowPlayingPlaylist li:hover { + cursor: pointer; + background: #004986; + } + +#nowPlayingPlaylist li span.duration, +#nextTrack span.duration { + float: right; + height: 14px; + padding-right: 4px; + font-size: 12px; + } + +#nowPlayingPlaylist li div.trackInfo, +#nextTrack div.trackInfo { + width: 364px; + height: 14px; + font-size: 12px; + white-space: nowrap; + overflow: hidden; + } + +#nowPlayingPlaylist li.activeItem div.trackInfo { + width: 362px; + padding-left: 10px; + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIZJREFUeNpi/P//PwMxgImBSECyQlWCKkFuBOI9QBwLxBxQPgaGMS4A8R0g7gNiFWwKYVb/gGI/IJ4GxJHoNjNCg+ckEHMA8V8gFgPi10BsiKyQBeZUIGYFYi4gPg7Ek9FNhCnkBJkOxAuBeBYQv8Ll621A7AfETIR8rYBLAQwzUj2uAQIMAPXkkCPo9C41AAAAAElFTkSuQmCC') no-repeat; + } + +#nextTrack, +#nextText, +#nowPlayingPlaylist { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAOCAIAAABhIeELAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNoMxSEOACAMA8CmAdai5ibBwf9fCOJy8DQyE1WFtTfuPZRMW4y/FFSIIwZ7/1ojgCfAAEzrAiPgCWVXAAAAAElFTkSuQmCC') repeat-x #606060; + border: 1px solid #222; + } + +#nextTrack { + border-left: 0px; + color: #ddd; + padding-left: 4px; + } + +#nextText { + clear: both; + float: left; + color: #457cbf; + font-size: 12px; + font-weight: 700; + width: 54px; + border-right: 0px; + height: 14px; + padding-left: 4px; + } + +#playbackControls span, +#playbackControls span:hover { + width: 24px; + height: 24px; + float: left; + display: block; + -moz-background-size: 24px; + background-size: 24px; + -webkit-background-size: 24px; + -o-background-size: 24px; + -khtml-background-size: 24px; + cursor: pointer; + } + +#pbPrev { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAxVJREFUeNrsWU1q20AUluxgsEBgCDjUYBAYui7kArlAu4+7T/dt9m0OkAMkB+gFeoFeoNB1wCAwuNhgCLjIUDDuN+W5vEzejEbyWKqKBx4zaKQ33/d+5k/hdrsNmlzCI4EjAc8EwjAspQh6eqhiSBcSQdrCaxtIBllDVhjrseRYfgjg2w6qM8ipAXBeUYSWkDnG/VUZAXyjwA4JuK+iiEwx/uagBChUEsHiamAVEisVItCTCd9GFGIq1HoGHWleaJUmgHeV1fvaY+X6Gb5blohl5cEBpKN1LaBv6pUA3ku0kNkQ8MW+sQPdfSLCPbKE7tQLAQG8Co9JkcRznBBGNINZSRQiIISN0TKeiOjGehZOzgQoYUdVgbeQmPDE5phbOVNlwsOmCvBkxJTCdFcSwvOstCx6hiypVMJOKt4lTGjcgHAMnQlQQnEXznwmrKMX/kzP7NEp4XLywBmf531MlSVJLGidkXBZCTyxfs0bzpkBl0yAZp6/sV9mhfXshSXPBcJn9UDM2rnbXSi8I3ltecfWdw4Z5AzzaMAnEuiy9srBSOckLwRwA0UOzY9CXwz5gOad9K1WVgZ8wYnwMl/K13ssRsrq73WL7ayO6pMDcAlHlEegzeIvKwE8JotfGPquIJcF8yBjq287j8A+W4ALAi9Z/SWq2wJWdyo+CVxKwFn5fIhZquVR188CifhPEvgCeWcBqvoeqiCw0c6wRZLtG6o3kK9C3wNkjOZ9idyKJHwmAplpznUkoe57rtG8kbyBvnvyxo8CarsGfCKBtWnVK0hEhdRbKWzIU2PJU4YSm9amE0Oy7Y6QvT33MWojNkYIXEmeQnVNU29egvdMk4F4pMSzV2zBSOvc0NHVS8I2l99djpQc8CCotwwMuKwE5qzdoXubOqzf1y695k4E6Dj3xAvSce7A4Du69aVjrW0hm2qH6lHFDhhplwrTQisx3RLza5SI7muqsH6ibZtT0631/30zZ1HanLtRC4nm3E5bwikImvJ/QLt2SYIm/qFhCpr7j0xIvOb9pbSEVv3/iZtWjgTqLr8FGAAhgOqLmi3nxQAAAABJRU5ErkJggg%3D%3D') no-repeat; + } + +#pbPrev:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACUdJREFUeNrsml9w1NUVxz/3t0lI0pAsICgBmyhq/0wrS6t1+mcE1D7olGSjVYt/JhtwbF86ig8+1IeYB8ZHoDpVEExS1FoZzB+cju3QSXDs1DJTWXEcq1ZYSISAEDaB/N3fvacPub/k8mM3f6kzznhnzkx2791zz/f8u+fcGyUifJWHx1d8fOUB5IW/WLdu3ayZtbfviwIxIIYiar+uAI4BIKSBJJCsqlqXnu0++/btyw1gpmNva3tUKRIKarVIbHxiitBqaWtPCjSL0HRPvCp92Sww3fHnve2VCuqNkGB2eSBmacvre9ubBBruv6cq9aUAeHVP29PaSD0A5pLplFIkFer98IQgK0WIAZWhqQSQeHVPW8MD91Y//X8D0Pxaa0xBo28cV7FCe0ptA1ofuq96Si2+/HpbJRA3Io+FwNT/8bXWaoGa2l/Fp2UNFT4HcgXxrldbYkCHmgjOMW2jGurWx5tm64qNf2pNCFLvApGxYF+78YGa5FRBPK00+sLulphv6NCGqK/B0lZtWDUX4QHq1sebtGGVr9ka8NaGqG/oeGF3S2zOFni26Y2Y59GBqEDzaeVR98Z/aANUFp7TDun9m2suWvuH3S1xMTSCtbKStDGs/W3i7mQuC0wKYMtLe6Oe4hCiAvOmBW578zN12AqvZqhwmeR7AaTqOlkpQocDImWEVZs23JOesQtpQ2NGU5kxQsYIo0Zuf/Mz9QEQsb+NWMpzKDIXav+v+iBj5LZgz4ymUo9ZZWalxDPb98Z9Q9w34BvIaJ7461HvsCP4PKAQKA7RN4CiHBReW2T5zLPgPcB766h3OKN5ItjbN8Sf2b43PqM06mvZoiYc5EBnd+RZu0EeUGDJ1fp0YkBCfxtLGsg4pP5+3Pv9muW6GlhtM9MWoHVaFqh/bk/CN1KZ0UJGC8O+bLD+Hmi+yGq6FFgALASusLQYWOLQlaHPS+yaxXb9QqDM8iu0/D3AG/ZlQyCDb6Sy/rk9iWlZwNfUOuHZ/K9TecdD2i8GShw3KADy7RqVhVztG/u3BnxgBBgCLgDnnTXm3Z6847dc6TcDtZZDLdA0aRp9+9OhSk9x1LHzte+dye+22i+2Wi+1Wiv75XcjDxkhL5WW1HsnTSrQnhPolJcSPdFPOiS8AUYWFELE4/yZQT4HeoF+C2YI8Fctyiz3FEcCeYxwza3XF6VyWkCLxPUEpuTh3oJjoWxTaM1dBixaWqLuBRgY5R2r0XwnICM/X+HFvr3Iu+XZg/52x+81kPlhuVr+o2Xeune75fkzg2bY/n7UWmUU0IfO5h+7ceFo0hZ+AHFga04AvpbVjvu0BZZyABQ4lligrWeMGikBlgXBvbCQkjtviNxcVkiZXfPNwDWK8lB3Xh9ZedV8rgYY9SVqY2nA0qDdTwHKN9I2DkBYPSmAjKbSAdDpAAhAFFi/LwFKtQl+J8U2MAtuKlfLb1ziVeTnkacnqtUlgLlhEaU/uzqywp3zhfnWoueshfNdABlNJ1BvAVROGsRupanGuiflgPAs84LgDNB6/NCbFy3kitUV3nWLi9V8gGAOYF4eC356tVp0bdQrC8/5RoqdLJTvxs/YWknKxX1E7jTqGxmnHU+tT2cBEGSjfKBAi6BFWFqiFv/iOu/GhUXMD75zqfoG75sVZaos25wx5Nv06cbPuB6PDBb2uXJNbgE9efEXAqK0ZVhSQLG1RNZReLE7hU83L5Ry1XTl8i6NARmnLMNNgxrQ2owJ/eFp6f7wtJwIPofpn91ydtjHZJtz+BmnsLuoas0lV7YYyHX8S+gAGgVG9MQ5kvl3Dyd6BqT/pnKuKcpjnsvk016+6LkgvT9eztKFRZSE9hgBhi1P3wEyvn8WuXLEwETDQtWTL0cdwYO6JeOcngOOFoeB9Ofn6XrrUw529dET0nLv+VFO/+0IyY/PcCQ0N+gcXiNhEFVPvuw2UlNawD00YsDbjvtkrKADQB+QH/i1GisDuoH8EUPeP7rpunYB5d9fzE8iigLgeKCIQ6c4cuICyZuXcntBhLKI4hxw1p7CAQgdKM8gMTMRP8mpgjjlAFhDPgey1C4DNpWOB7Hn0Q/quFOdekfOkUoP8eEPrpK7QB11tGpODeB3HOP9VVfKrXlK9VoA54MSwpIA4mvWuH34pAAyRg7Y4xqQagUNjgsFFrhg3U9/0svvDOSnh1TaHkSem6l6h2F/SiVDSUAAPZAh8063OmwV0u9YIONaIGNMtZOYDkwKQBtpNWO195gL9fdXFJSWdllmvgXg2c+jH51VB7JUouRoOSUUU9qJqUELJKiDBJDR/v4KFLEgpj11cU9wSRB3bqtN+ZrO8aAZu8ASB8CoE3R9toI8A3xh6RTQA5wEToTopKUeu+60/e25kP8HQWx8I/VOAHd2bqtNTd0PGGmGcb9L9J3tayhbVNblpLwgJkZDLmNmcDshObqy4DwwfWf7KpQi4bBqnlZHdvD5RJOvJeV0Q43ORsYKPmwtMeRYZNDSeft5Mhpw1g9ZfuPC799cY3wjjeMyaEkdfD7RNO2m3jdscprqNT0n04+FtOU7QT3iHEbDof42oNEc5DuC+4Dev7nGfG9D4+O+YY0jw6YZX2x9p+6llomMBMbIqo+bNybveKolW8tItjJguvdF7iXXt2p3xTxPHXLmWz9q3FAz4/cBbaROmLhNFuhY8fCutfs31yRdQe94qkWFb9lmO1Y8vCumocNMlA4pBXWzemL6pHlj2jfUZHzSGR98n6g2dFQ8uCs+2RXhbEfFg7vi2tDh+0QzPmR80r6h5pPmjelZv5Ed3b0xqZG1GSNpe1sW9Y20LFu/c0v5/Tujl0Pw8vt3Rpet37nFN9KSMRK1+6Q1svbo7o3JOT/ydb3ySNIYWesbSTuNxeMaObTkvhcTcxF+yX0vJjRyyDfyuMM7bYys7XrlkeRlex8AuOLeHZUitITbOhFSCNsEWs+98eiUDxML7t5RqSCO4jGlLnmtSSpFzZk9uflM+3Y61yir2fH0eJN96emUApIC72dp51YCMXXpE1MwGvpaHp3yiWnOAABK4jsqRaRext635jQUNCmlGi60Tm29y/bMajerm7du+yYgIUht2LWmGEmFagaaRvb9+st/Zh3vBcc23wpsjdz1QtR5Ps2WodK2IUnqv/wmfTkymPr6nz2+BjC38b8BAE58Q+P5oSYYAAAAAElFTkSuQmCC') no-repeat; + } + +#pbStop { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAp1JREFUeNrsWV9rwkAMb3UIFsaEgmJhUBB82Os+1D7APsc+2l73IAiFQUWh4BAqlBWXg7ClsWnvSv/Y0cBRLXfN75fkcrk7+3K5WH2WkdVzGQh0LXf0j23blT4C82gCjxm0e2jqtyN0jaEl0E7QjqAvqajvD3PmjyEBGOvCw0XgVUQRiUBv1CoBGKOs/YjWrkOUJz5B/7FRAtB3DA8fwyUvPL7QqjF8K80Z66C3HoQwUwQCPrYWAtBPKVzlWF25PzSNZ5w3HoYg98YWvhfXRgDBr6GNWfwGVSciI+KzeaQ8sJFIGBEQwKt4PdSZDkHPHOdVKQltAmidJwK+0DI1kODGUvo+uJcp5rKFbNUWeDSg+vYGdVmoe1VpJQaWHssUQZPgGYmAvHIQiz4BDJ0leXXQzdE1kVC66BxbIiZtD3gsrYUdlDkh6s7DJBPABYfm5rBsYWnICykznIvYSj1AwSemdUrNJCLmBbewGs3ptDdIgWuDou4E4DaaffdkfXDZ3MgSIPUKrU105RXas2bfd2gvmn2PhICDGFMphBwWPonVsSCGRMB4RWDKqstbkVjAeEWAhtT5hgicpbAfNvUDgYFAVr6l2d6xTAWMVwTOUr7tWBwpO44K8u1EKmHbFMQwkdYnfjKXwoCYMJ7x2qNA3kxqIQMO9AgnRoyFxVxECCx0CRgUZ6ayYNhKs1DEwsjtMHxcFj7lBHAjQTt6eRuJFsCP2S4syttYjQq2c79ekLZzDYvHrB9qL2RYwu7Iqzke6LZlfaVrTl7tpNJ+VDApQ5ayfDx4ahq80uGzzBNWLSW2VvaQad0kCeFkbluY/f712WgJiX6cTjMS/bwfYLnZt/p4Q5OT5vp3RyYs9f27pRTiuft74mFPPBAwlx8BBgDogIiBqL/sAAAAAABJRU5ErkJggg%3D%3D') no-repeat; + } + +#pbStop:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAB9BJREFUeNrsmk9sVMcdxz+zWYJjaNhQ2gb6J1sOSL2glXKN5EsOPRTYjXGBpIhdIEBRWthKjZRUiuNDpEiVatMqKnFidhEklFCyC/SIFPlWKYeuqkiVIsUYmkASCjzjgIE3b349eGaZfX62dw1pFYmRRs+7+2bm+/39nxkrEeGb3FJ8w9sDAv/vlvY/rFu3bkGT1E6dzitUj4IckFOKTPwdEQKgIdAQZLSwYX19IWudOXOm5bPynbgTAidqp7MK9ikokgB43iYEAlWBA32F9eP/MwLH/noqo1CDKIr3zQ6EqiDlLRs3BJ0SSHeyzpH36vnIUEFJhtboGyioKxgFGs/2bWjEx7574lQOyAn0COShRWtFhPyR9+qlrT/Pd2RabWugcqxeUTOlPq5gYNvmfLVToR/+S70o0A9kY74yVNqSL99XE3rrnVocfKBgYMezhaF7tZ6Rd2v7LZGMR6L6/HOF0n0h8OcjtYqiBXxDKQq7f1Focbynf1dTce22WLnXzr5WaPn85tFaVoQa01HMDaj+cutMEh0R+GPl/UGl2O99Vf1V8ZlSDLTywKoE8HES/lN8Mn+qvl/BE5YIQ78uPVNeEIE/HDqZB2qeOKvl7b2lBOCup2xXc2jA2L/dU+JEBg+drEirxgu/2d5bn41AYiZ+ffhkRmsqWoPtjQTwKeAhYBGwGOgCHgGWAN/y+lLbu23vsu8vsuNTgHImWN7eW9Kahrd25fXhk5m2MrFrkZFBc9epAqVUIWbbDnzaAnk49nzI04yTeASEXr9jnzqmHSKhICL/sI6dERgESm3VQq++cSKrjRRDI4RG0EYGXtrdO26ln4pJvstK/FFgOfAd4HFgJfB9YJXtK4Hv2d+X2/eX2PFNTdj5eWl377g2MuBhKL76xolsWwQiwz5twPbxV/b2DSXYfdpKu9sD/10L9oc2tmeBH9vnE/b7VfY9R6LbzpN2cztTemVv35A2jDsskWFfWyakjRSRpv8NJIRGZzpO+hkLaDnwmLV7J1llTeMOMAV8BUwAV+08Yk3L9ZbwqjUDQMWGmyJQnjMTj358M69SzcgT/L686TEvZDrTedg6a1PyTyxTP1n7eOppbeiODF0ipI1M+4FSiIIoleJOSnE7nWLqn5+bs+cn5F/Al5bMdUvwDhCdfa1g3Lq/HTx+zSU5MRR61nTXZ9WANtLjSb+eIH3nwM7+lwKZZV2szi5TP203+54PGGOCS8BN26eA27GcAkAYUW/mBpGeOK4WHwgNuTASwkjQkYwmZFnfhBY7B9aGpVqEtrthqefIi+18LnK1ZHUdyajDFJq7mTpZA1pyKOWQNpKKP0vaOXEXsEQb6Tam/fpHG+n2opBz4lRSBtcRDbmbmnNzRiFtyOhp6XPw5c2NWWqbGSQiYbGeDndt9UiaiS8JfAuJgy9vbjhM2szcOMV9YN7yO1Y2pIG0COmoAw2ITI/zwKeS7L8dXDECHVXCzbxgBBWZ9s+XjMyoo+YxuTY39WE0Lwi/kjR+DI86OyDzY79JqFRpF1erBqK2QBiva1fT6Kgj7blaSMfmS9bAHLhSMY8PdAQ6gnUvHs3NIf3IArgFTCFMGYF2O8KUjf23XPKaTQvrXjyac5h0RDBPFJKGFy1yCTsoX/K3LYhJBTc6iUIKbgCTXgLzNdGyY9NGct7YxpwEQiMNrwLsmcUHXFl829U2SslkFEG7XSmZtDXRV3aeMKkWctWBwxQmEIiH0VGwW0ghH6vBxSOgveLs2lig/j4WsBf4NrDM1krxYu6mlfpV4ApwzY6fsvNF3hq+/ee9ODU6pwY+GNpWDzVBqCGMyDz1wuFiAgET00Bgi7JLwL+BcWAM+MQ+x4Bz9vsL9r0v7ThfAyZO4KkXDhfDiEyoIdQEHwxtq8+7H9BGqs7mwkj6Y34gMR+4YYFcAT4HPgXOW8BjMQIXgM/se1fsuBsxH2jZ5IeR9Hv2X213Q3PgbsqX7JN7KvtjWvDD5y1nRsBlC+4zS+SCJXPBfr5of7/smc+tWDhtgn9yT2V/JJJtYjEcaIvAhweL46GmatWG1vSv3VnJzqGF+EblMvCFNZMvvL//Y3+f8Gw/Ufprd1ayWtPvMISa6ocHi+Nt3w9EhrI2Elj2mchIzTMlM4smHJFJu0GZsP267ZPWZKaSJO9vYiIjNW0kY9cPIkO5owuOjw6VAh1JqVkFRpJbs22kEiNhvHLCEXEamfI2Kze973zgrowwPvg120YqOpKct3bpo0OlYEGHu6u3jgw2w6o9mRs7sqM0y5HiXKdyiadz8SPG1VtHWk7mgKGxIzsWdjLn2o+eG6mIeJMqaYih8OmxnXNeSvi7qjjQePvBlrezKkUNUc3srxTVC+/suLezUddWbXo7dtwnATBw6fjz93w6vXLTW/uBflAZ/xjz4vGdbZ1Ot3XJd/H4zlIkMnQ3JpPRhsEVfcPnVmwcXtBNzYqNw8UVfcPntGFwer5m6B6aDfw9XXAALO8dzotQid2uIBCIULepvjFR2zWjZllWGM7Z4/MepcgrZmwPA6UoXT25q/613pE9Whh2Z5X3744MqgrK12u7vt47MgC7SOmR9W8OCOyzRDILAB1Y4AemTu8eXyjz9EIH2kXLQHnRzw7mReixJpKbhVDA9FFNQylGw7/tqd8P1akH/+zxgMC9tf8OAFnnK1XN43WDAAAAAElFTkSuQmCC') no-repeat; + } + +#pbPause { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAApxJREFUeNrsWY1qgzAQ1rYILQiC0EKhIPQR9lB9mj3A3ml9gUJBEAoTBEFQGEh3GddxvSXROGvqMBD8T74v+XKXO93r9eqMucyckZeJgO2yoBeu63ZqBNZRAAcf6hLqCupc8loNtYRaQS2gr7xjX3fXLr1hQgC+8+CwgRoqADcVQSiD+gH9fg5GAN4XYHcIvK8iiCTQf/1QAiiVSDLiomMhiUJIBNopJd+uUGJCaoGijbhJWp0JwHti1Nfstpj6C3yXddCymMEtVI89SqG9pFcC8E7EJFMj8PSv2oG210iEzkgGbce9EJCAF/I4myy8lgZhjxZMS8KIgEQ2ypHpiQgfrF9y4gRmDQt2MPA4gDFapFtZIw4zT4ymMqKyeTR4RoJasQjxGG0ldmRRiQV7HniHcMZ+HcSxa00AFxTV4aXPBdtyFr7NM7kVIq5WM7Chdr4PU9mRRIp+RoZLS+Bu9C1vNi8KXHICuOJ/tN/Fw/Y8CxldCzKLtGDXPjlvvd2Fht/g8EJuHaHzA3n+zj45wPNjy+ZzMvo+x8UltCTnxZPELIUCn5QAdeXVkxCoFPikBOZEf+UzoGc45lNQPxGYCOgJ1CyGtV4YjrqJQKmzuZbKUoFPSqBSeGWbxdf5poXE692isMCgk1fWEffiB3Z9Mmg70O0OeGoxB83V6DDE5ilss6GDd04Nz48d9R+yzWXeJiamgLeW5bNV4NIS+CDnHuZtbFgf0a+nwKUmgOHc3SyowrkHgvf46KvCWpUjS1hQvR94AvYsqZAYeWLMEtM0ygqTTkOMfsS2zbEuaz3TWA4R+aQsMxANAJ5n5rSR4f/OjWpIjCc7TT4c7/8BlnaJnDH+oSENjPcfmWThje8vpUZa9v8TTzHxRMC8fAkwABzhg7l0cw47AAAAAElFTkSuQmCC') no-repeat; + } + +#pbPause:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAB/RJREFUeNrsml1sVMcVx3+za/PZkIW6VSNVlRVF6UsVbZXXSO4DjwV2YxwgKWIXE6BRWryVGilBCvFDpEiVatMqKjGFXWQIJRR2gTZPqSK/lge26kPUSA1W1EIpKV7Mp7kzc/qwM/bs3bW9Nk6rSIx0tHv33jvz/8+crzmzSkT4KrcEX/H2iMD/u3WEFxs2bFhUJ+Vz5zMK1aMgDaSVIhV/RoQaUBWoCjKW3bSxspixLly40HCtQiNeCIHT5fPdCvYpyNEC8LxNqAmUBA72ZTeO/88InPz9uZRCDaHILZkeCCVBCts2b6otlEDHQsYZ/aCSMZYiSlI0et+agoqCMaD6Yt+mavzd90+fSwNpgR6BDDSsWg4hM/pBJb/9hcyCVKvtFSierBRV86yPKxjcsTVTWuikH/tdJSdwAOiO2cpwflumsKQqdPhEOQ6+pmCw/8Xs8MNqz5H3ywOOSCogUXr5pWx+SQj8ZrRcVDSArypFds+Psg2Gt35/WbUD+KO3s02h/73j5W4RytS9mDMLSj/e3kxiQQR+VTw7pBQDwU+ln+Sez8dAe1mY2dalgdCvS2eLBJMlwvBP888XFkXgl0fPZIDy9INQKuzszbcAHpe2gAffBRBPZOjomaI0rnj2Zzt7K7MRaBmJ3xk5k9KaotbgpBoDn3DSAXQCywNZEcjyWaTTvev7UV4FCzt781pTDcYuvjNyJtVWJPbNWBmyM0ZVU0plW4BPBkA63HXCrUI4y/EVsIABdCC43wXACFkRueQMOyUwBOTbyoXeevd0t7aSi6wQWUFbGXx9T+/4jCahHNhlbpZXA48Bj7sB1wLrgu+hpIA17p2VwWokgcT6/eUEwOt7ese1lcEAQ+6td093t0XAWPZpC07G33ylbzim94lAbVY7QOuALuAbwDdjn166nHhyjzkSy9wKqlCV3nylb1hbxj0WY9nXlgppKzlk2hYHQ4MP9H6ZA59yM78GWOV+T7YwWH+tgXvAHWAyeNY6iRqwaAaBonM3OaAwZyQe+/RuRiWmPU/tF4UtawOXmXQD+plf62b26y98L7n7a8t4UqQ+izfvc/XsJ+aPnkD++8mXAVGqbgMX/2mP/vWa/AW4AUw4MneBB4D56O2s9eP+fOjUhA9yYsn2PL2qMusKaCs9wexXWgSp0POsdGqQWpHkqVUdPOWff2BY4VRIAFZ3ztwD6EjwLeAyMOWAeztocsWRoTIdG0R6QlxNNhBZ0pERIiNoI2Px1YrZgDfgNdqSNHU9xViIDB1O19cB68J7xkKkWRWzgdCDNUR1bWTMY4rsTKRuvQJa0ijl0VZbJX8xO1gJrNJGksaq0A13OIDiHEOjo6i/573QsiAmNAVCbajKTGhOz+mFtCWl67PPoTe2VlvMvoqR6ASWGyGh6+7OCYkwoDXeE4yVTge8Mz77cRKH3tha9Zi0bd44xW2grRQ8IJEEksaKsjO2gxVRrm+pXzdtL5MB8MR8qchcuGIEFrGXqkfOhkGMNN6PA7DCgopRc+HqaLR4mRNoLAEzTiJrRUI9t3bapzsbkHhnPpUwQQywLVKP+XDFVsDIvLMdy2UeAFPGYhsICNa5x5ZG7N9zJHUMvDQbsrRXF9KGmjagDWx47Xh6FhLWDep9+G0RTJB+YC3aBadJYDK8py2oejS+C9z3watF5K6n+K8dT3tM2lCbxwtJNfAW6VnAe/W471MCQbSpexeMFQSJgP94Ce8ZKyQUd4BbjsRUoE5NmxxtJR1gqs5tA/UHfuAue4CS73D9/jKB7kcup5kEOq7f5U/LknwikBQhcS9iArjmAV29w4eAKLAKolv3+Ttw002AVyXbahW0lZ5wOzufGx0Dt4UUMrEcXIKEzBO4BahL19S5WFT1tgLAn6+o0eBdv3K3gNvuOppNjbSRTOBcx+ZUoY+Hd1QiTS3SEBlSz716LDfLZiQkMAF8Afwb+JeTq8FnKNeA6y6Jm5xNhXx77tVjuciQijREmtrHwzsq8+4HtJWS17nIyIFYNUECG5gK0uIbjsR1RyT89PKFkxtAzZG/54xYx/fGzn0eCPS/1O6G5uB0yBfpfnZvcaCFGhk3cKgONx2wiQDkRExqjvAdB34qUB8bptHP7i0OGJHumfSDg20RuHgoNx5pSm7Z0JoDz+wqdgerYANX6kn4TcptJ3fmkLsB+AdBMJue+Wd2Fbu15oDHEGlKFw/lxts+HzCWgrZSc+xTxko5pkohCa9OXu4HMjWLhAHMxlXHWClrKyk3fs1YCguujX53x5GGupBA6dNj/fkW1bglK2wBPL3jSLwSmP3bsf7KoipzT24/MjTtVl1l7rPR/pbljYcpLQbjNVTmgOHPRvsXV5nz7TsvHSmKBJ0qqYol+4+Tu8ZZovbtbb/tVgnKiJqO/kpR+vxE/7y10XnPyD4/0Z83RkrTmwpN2li59MSWwwNLAf6JLYcHjJVLWpP2YxgjLcEv+pDvyqldeSMyHOy4Utoy1NU3crlr88iiTmq6No/kuvpGLmvLUL2/adc9fOXUrny7/SzoiGld70hGhGLsdAWBmggVF+qrN8u7m3KWx7MjaVc+71GKjKJpe1hTivyNM7srX+oZ2ZrsiK9VLt0ZGZQUFCbLu7/cMzIAN0h+5cb3BgX2OSKpRYCuOeAH753fs2iH0LHYF92gBaDQ+cNDGRF6nIqkZyFUc+lwVSnGoj/srSzF0qlHf/Z4RODh2n8HADwXARqtrKZ1AAAAAElFTkSuQmCC') no-repeat; + } + +#pbPlay { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAv9JREFUeNrsWl1q20AQ9k8RRGASELjEUBAY8tDXXCDXaHuAHqAHaA+Q9r19L31vLpAL9LUPBoOgoJCAwMUgg6hxZ2DaTiea1Wq1trolA4tiodV838zs7Owow91uNwhZRoPA5YFA3/KI/xgOh04vgXUUweUExgQG/h0rj5YwKhhrGCvQVznq+4P5rx8tCcDcBC4JAXcRJFKA3uKgBGAOWvsJWduHoCe+gf7VXgnAs2O4pBQudeHxnaxawru2NXNj8taxEmZIIJNzvRCA51DhvMbq6P68bTzTuplRCEpvLOF9pTcCBP4MxljEb+a6EAWRVKwj9MBCI9GKgAIe4/XOZzoEPVNaV40krAmQdZ4y8EbLeCAhjYX6vkovc8xNG9n8UODJgPjuBekakO65004MLGciU2T7BC9IZOxWTFjsCVDonLJbd7Y52hMJ1MXX2ClhsvbATKS1vIcyJyfddZh0ArTh8NycN20sYv7Ekxe2wnAJYWv0AAdfta1TQF6DomeeSBTCC0lbArcOetEDr4DEe9PiayG31gRYvcJrE1c5h/HRgzdWIiONTR6IRfhUHZVzb0wcw6gSYRSbCByJ6tKXoDc+A4kLx/mlgvEeAX5C23hOi+iBSyBx6eCNjXaK7ONMfNHRG//Eof63N0LuSuB54ovXrsQBBSvON5BhFr4J/NBWu0f5BMDftpxzpGC8R2Cj5VsPckNWdwmbWMuOI0O+jbQS1kGuYTx3AU8YIm1/kp25LUwoGeMTUZe7LNR38N6rDu/gLZySMBqzEK8+H3dQjNZ+0RG8xFDYpNFChFHioPQDAH8Jo9NBiHRHJgK1XQm4l7LStaLOwNZS6QSeXXvoUIypI/KLAPZQM9uuBLdcpB3nlOpx7Wnhz4T1c+udmErYG3ZrSg3dgwjpmvIUrJX2I4Mlc5GyUmo87Rs86khF5slda6GlaDKd7ZOE0plbGkP2v+6NNpAIozstSIT5fUDk5nQQ4heamjQX3jcyZasP7yulEs/9fycOUR7+V6Jv+SnAAJqtxFYrTd5IAAAAAElFTkSuQmCC') no-repeat; + } + +#pbPlay:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACGdJREFUeNrsmm2MlNUVx393ZoEFBEZQEbS6vgSb2pJp6Ic2sVltTNM2IjO8CGjpzggCNVJ2P9T4krjuBxKTJu7SxhZRmCGACIgzQD/S4vZDU7VtJtYPaKwZFQUB8VnK8vbc555+4D7jnWdnZ2dwbWPCk5ws8/LM/f/P+d9zzj0PSkT4Ol8xvubXZQL/76vFfTF37txL+pHC3n0phWpXkASSSpGIfkcEDygJlATpT8+7t3gpa+3fv7/qtXI3cTMEdhf2tSlYqyBDDcAjXoInkBdYvyh9b/l/RmDHK3sTCtWLIjNqOhDygnQtXTjPa5ZASzPrbN1VTAWGHEoSVGdfT0FRQT9Qun/RvFL03pd2700CSYF2gRRURS2DkNq6q5hddl+qKWk1HIHcjmJODfV6WUFPx5JUvlmnb3m5mBHoBtoie6UvuzTVNaoSemF7IQreU9Cz/P50n/u9u58sKPf1gXXpEavkppcKnZZIwiGRf+iBdHZUCPxhayGnqAJfUor0qp+nyw7o0Cq/CxWRCSD1yDy/rdAmQoGLWSy8Kf/LZUNJNEXgt7lXe5Wi03krvyYzP+t4POaAr0VErJlGiPwu/2oOx1ki9P0qO7+rHoFhC9mzm/ektEinbwTfCNpILfChtQBjgXHWWp1/j7Gfx4HY3U8WYlGphdeazPysNpKvrCnS+ezmPammK/EzG/cktCanNVgrdT24oJbnYxZgCH48MNHaFcAE+16rQyRmidQk0fXggqzWlJy1c89s3JNoikBgpFcbSeiLnvcCIR3NXvbeuAXWakFPtptxKnCltcn2swlOROJA3Dpi6PpCWhvx7PqJwEhvwwSefm53mzaScaTT8/iqBeVIpnG9P86Cm2wBXwVcDVxj/15l359kibTaiIWSikej8fiqBWVtpMfBkHn6ud1tDREIDGu1AWvlpx5e1FfD+8oCaLEEJgJT5syIfe+um+I/A2YA11mbCUy3RKZYaY239w0rqaceXtSnDeUQS2BY2xABbSTj6K+nVvFzItBiPXoFkIgpZn77avXYA7Pjj00ay63AN6xdB1xrozLVRsPdGyGJKjxa01PBYiQzYiXuf/dMSsUohMXqN12Lr6xRqKLAp1qpXDt7uvr+D2+MrbnoCM6/Vjb73zkh7wMDwOfASeAzwLPvnQbOAhcA36Zb46baX/fu/DwscmJIt8+aUBw2AtpIux+AtXo9iYqkzwnAJG24whgwBmIw7kdtsYU/viV2z8Sx3OJEYoaVU8KJxFj7W9E6gh9QDDFpI+11JeQbkn4g+IGgA+mvAx5nH1SyUGCYYARcuymhvjX/m/HFt0wl6RCYDkyzG3+CQyAGKHc/6ED6Q0y++aJS1+xGtZYkSoXoSg1EwI1Cq0FaAzP0y+PiTLzrxvhP26aYG/72sRwcvEBgZXPeMR/QVkaVVkQHlOSL0pysGwFtSOiL3mfDE0tGIoBTC1qAMYFhjBFhOLtxiro9NSv2i9um8R0nI1Wl1aiENjyxpBRi0mbowSm6ByrWSCseyUhxEWJRCUVtTJzJP7g+1vGTW9XiRCtXOvKJu/KsklEdXNEIVKyZM0VoAiowQiN29XjuvG0atztSjEa3IVwt1Tv+koZc4lojwbsQ4P3ruGw9dII3gcDpVsPfqzpL1MNVvYmbI+C2ysYCCcwIk75PT3Po9U/YO+jzfqQGBFESjeCqllCApwPQAcx9dFtyBPA44LUF4Yd1IGoXAvy/H+FPf/6A/YM+R2sUssAhUUE899FtyRCTDvDqR8BICbjTIkwyfCqNev4CcA44X2v7DJzj2BtHeM07xwfAp8BxW5VPAWfs/ToipRBT0tkUpfp7wCEAtAP5Ot6XCPhBBWeideC9k7z+1nH+aQEft3YiQuC8S8DVf6T6lkZKo/2VlBVIagQJhdK5YEGciilOhzn/jC/H/nqY7W8d5zXgQ+Aj4GPgqCXhWQmdi+yBqP5TThrtr0vgYF9H0dd4vgY/IHHHI1syw0wZQu/7ofeBgbhiwAgcG6T/Lx+p3x8dpOSAPwwcAY7Zxu4/jv51rUbujke2ZPyAhK/B13gH+zqKdSVko5CHiwd5EbpryEgc7fsWxCl7kvvo3ZM8cegz9Z7N59pG57QFPGhfn4tkH1PrwO8H0q2+2AD5EdOoPdCsFyScRLTNWZ3r/MeGbF+N9OlGQAHm3556w7YG8dAf9vMzlmitvkcOrEsP2ftzVuc6A5G2UFAKtb6hA82bGzJlX5O3YUNrumevyLVFZBSatoDOWg97tt8/bqUSZpsBx/vnI73/EPCzV+TatKY7xOBr8m9uyJQbioCNQpcg4fwyARSA79aQETUyUszpJsONHlrgzomGmxEFRgrOpM5TqK6mphJvb856OpBspQsMJDmrY1OuRhSideCs9fKgI5tzkY0aHFiXNsOBn9WxKacDSTprZ9/enPWafkLzzpblRd/Q5xvwLzZSmZuXVZEwkWLmOz2++1c7G9XUm8zdvGxTThsy4Zq+oe+dLcuLX2o6fcMDm3IizmxUSUkM6cM7VpQjA11Vo5MccZwIcP3SF9tUjAKiKu2LUuQ/3L78y81Gw2vm4hdzUjXgFQ/oObLzoejIpUKokck0wIzFL3QC3aASTj+d/2TnitGZTofXNfe90CtSNehFkDJCz4lXVjb9fOCqhRszKLoVqmpgpRR9x3Y9NLrPB8Jr6oKNKRFykacrCHgiFLFPaAYKK4f0LFPSG5N2fN6uFCnFkOOhpxTZk3tWFr/SZ2ST0xsTAr0wis/IIK+g61Rh5Vf7jAzALpIdf+/zPQJrLZHEJYD2LPD1Z/etKl8q85ZLvdEu2gV0jblnQ0qEdiuR5DCEPNsOl5Si3//j6uJohE5d/s8elwl8ueu/AwCDqx8QqEWrWwAAAABJRU5ErkJggg%3D%3D') no-repeat; + } + +#pbNext { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAvpJREFUeNrsWV1q20AQtmJjiCA0IAgkUDAUAi0ECr1ALpADuNdo39u+pweI39tcoAfoBQKFQAuGgCGQkIAhxUEGkeB+E0ZhWO9IK3llVcYDg2ytdne++dvZ3WA2m7WaTMEawBqARwBBEJQaBGN08dgGb4Hpd6h8GoMT8AR8h/mSkvP5AYC+ER4RC16GCMgY846XCgB9SNsvWds+iCxxifnvKgWAb9t49NhdbO7xl7UaY6xHS9+QrfVCcTMCMDL7egGA72jCVxatk/mvivozx80eu6BpjQuMF3sDwMLvg9uG/47KBqIBpGfEEVlgqIEoBEARnvz11mc6xDw7HFe5IJwBsHbeCOEzNeMBhKksmu+3aeUiAF6LYKtU+AwQlBD+FAaA9xRgu6LfhWua8wBimxNGSteY+8oZALvOgRjgFm2XyywRIAPFw454dZ66kguAnkhvCfvh45IBtDn+0rRNK/YoFwB3fCvGGhVd6j2CiDjFpvSLFCll3rD0kwtLUpfwrNAxe4BNNicAN/9BxXzjDEDUK7I2yTLxIXhLaXvHmUzr+wF8Aj7KASBlCFlG1QKh4T55ZUIf/J2EtbTRu29o6yt99/mb3Rw3Sgw3CrMAbBrVpQuRACesUdMa9D/V9N4CbhQrMs4B6Ijf04KTuFjjqCSAqSKjNYgXoWdrWHZp9P8T2o61uClDnYoyRz+j7ZAtcu9joo1WdTTJaLv3NUlVAAbgU6XtB/g97eKqAPCgRbsjXZNwSH0DxSIf0fYZPCk47qYi41wMTLV860Ck8YEi3Bn4iyyJC1KoZcdORr7tUlntsJhNWLifSvtXtJ0uuGfuautTx1j1qNKLBWLaWGTtfc/YLWxaH7I7DRd0c3mEE5vVqK2clptrKifO66zkIM+BsMDTYUJeOT023CiqUfjIcJ+50n71dmQrsSdu/KnESpwLrcTJnDLoczrzLLz/s9EcEM04nTZANPN+wMjNvVYTb2gsaa55d2TKUt+8W0rFn+u/J24irQHUTf8EGABePUpJ23F8cgAAAABJRU5ErkJggg%3D%3D') no-repeat; + } + +#pbNext:hover { + background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACRFJREFUeNrsWm1sU9cZfs6145hAjJvwEbrR3raiQ6iA+bFq0jSBVSZtUiE2g62NaOM0HaumiYZp/1othSl/2h8FpFYswPIBKrR8OCGbqm2pQqWt1co6XIpKV0owHyUIssT5jnPPOe9++Fzn+GI7cUI3VeJKr7jm3HPe93m/zzlhRIRv8mPgG/7cA/D/ftz6jw0bNsxokWj7KZMBIQa2FoDJGALZviNCDECcQO8T0Bau3BifCb+Ojo70O9ODuFAAx6OnIgyoBsO6GSEnnCagZXN4Y/P/FMCR4+0hBvY6GMy74geEOIF2PL25sq1QAO5C+Bx6p83PwJoEIQQQkJmBYwbQDuA0gFjVlsqEPvjWsXY/gACAdRKoVO/2YwKIHn6nvY1ANc/8NJSYrkzTtkDT0WiAgXUB8GcsADQD2Fn9VKggf2452mYCqCcg4oiTOBiFa54Kx+6aCzUejgYYQxdjGcKfZkBNbVU4PhvvOfhW1CSgCZiMIyIkiBDctjU7iIJc6M3WaEAQuhhlCL/jhWfCu2cj+PqXogwAlAKC+w5F6wC8rob9BHS92RoN/vLZ3JaY0gJ7m06aDDiLSc0nGBD8VWRTTAnAZiC7c54tAFUuo1UAJt2UkCBgzfaaTfFcFshbyDhR1CLyW5JgSUpwScG2i+zc+peiLgD5yJ2Hcs5rv8g+nRD0hCUpYUmCReTnRNEZVeJXG0+8wjkCnAOKnvvTJePTLIyLAHgcVJSDvIqKHZQG9m63cc7iqNX4Bl5tPPFKQQAa9h03uaR6LgmK9vzlitGhmBiaMHMVzctCpVmoRJH9TQmAOYpsIMZfrxgdlqS9Gv/6hn3HzSlbibTrSKrXfsbHhfE75beGQ9PFmiV0355OfBAACcBSlNQUyocttsvrkhtVjQCAegA1U1rg5b3H/FwiwiXAJWAJ7Dpz0xjUhC9WWvcBKAOwCMBiABUAlgC4X/2rU4Wixer7RQAWAihXa/jUml7Fw3XmpjHIJXbZcnCJyMt7j/mntACXFGEyrbz4mdvuFi0APcrspYqpX/32aH5sW4ppmra1LbV3rrQ+BmBEzQUAocbEhz3ulu8u5L+1rUCgCIDd+QEIqmZGOrXu0YSxAcxVgpeHlrue/axXXvqil/rVmGGD+P5S47FxjrGPe2S3ElookgCsSMBV6/Oyh68P0MmTF8QhTfgJRRYAxknusesDSVTnBbD9taN+TghApP+rXdOoWwvc+QDKSz1Y9cOHjdBSH330Xrf8TLeCxwUzsIQ9ZvpdV9/9Unw0amFcCWgBmJgQ8AhJSAoqUQqxlDU8ekxZAm1agQtsf+2oH0AiawwIiYAlCIri5/s9V7TvdBfyASjjEkVSAo+WscerVro2LSnFo3YcTAj4pAQWzcUDVStdoeUL2EotHhZzCY9MxZjXEQNFmjux8/2eK5aguC2XkJl7jQwAnFOAC0CRXsL1nO9VKdBnSXLbQTa3CL4nl7ke/9632XIA5YLIa48xwP2DB4zVax9kq7xuLEqBT821RNot5zhrwqRbI5aWi1MgpwtxCb/WI3+ipUSnFbwASoSES8jMnnrFAlZx/zxWNmwRd449ch+rWDKPlf39uvySq7mSyK1nH8VDT8GMC/oEQMjuk/IAoOn0MXaguoUkJunOdO8rhsdXzDzZlvO64XnCNFZYIsVOyLRistWTKeVyWmD6eyiAUgJkXzyRJO4vZlkLZc8w9c8tYh5fMdwyZXHK0txNS64MBpag6VROO09PSCLJHVPGLFj/uIFbi0tQMm8h3ecQRFzoxY3zt3DtR4/QCk4AyXRm4mptcgLKJ5fbUQOy1WnKVXykhBCTKRe3RtD34XVcS0rQ4hJU6GNDFkb+dhWfD01gGEBSUmouTabPpAIitIKXXa7cACbzKwGrYaQXEVqRGQUwCCBBBEsSwCUmzt3Gx9396LP9mAGltnd1J/D5v27iklKABSBJMjWXEZIAhtW6ScXDrtrKM7BaC4pEviCOaQACWZquccWsPzWXJgaT6P5nD/tz3ziSWrfKDIPKRycweL6XvXd1ED2aElIgGCUFAYxhFGD/UUoZVQC4bfnOhjD9+DeHAhqAWE4AQlJM6icFY0MPYk7pNc33k6pvcQNgPSOInrvFvlD526P3QTeH2PiFXpxSFfiOPmjMwkUGjCQ54kqrQ9kArP91q8klmZpXx/JuKYN1LWfTRx6EHa55vr1afvaqgqPvAfTqaTgaOabFkJOE1kaPKsuOqPcxOx7E8OB2sHQrEevaXb0m76be4mjRzmxedKUaOtJiwBbKdqkiR/7OtRcgR2HUM9q4Ij2QKZWB8KJ+GjNlOy2JmiWlEZtDfQPVpWXzW218Du2N637vKHjZiiCygNA3NbZFJAA51DdQzbTTP4OhecoNzQdvRBJcUnN6O0dU33c74dOY2Rob1Uw/5KDBLDSgSB8fUvPHNAsQANnfO+DjlLGtbf7gjUhiWntiLrDT4oCV2lSbXKK+syEsNbNLh+nHNEA6jWWhkSzj40r76fUtQfWcw0zLIbBz2pv62P6auCDaaaMXkupWPPeHUGdDWHY2hG2/5VpqLJR4rjU6G8LiRk9/pZBUl+ZPtDO2vyZe8MHWd6oPpjMSAQkCghdbamP5TtoKONzKCPDOhjABwLLqgwEGdLHJrjP275baNTM6WuSEMBHOqhbWD6Droa0Hg5cP3wnCFqCAZvCO56GtBwNCQj9ATjCG8IyvmC611saFRNASSFgCsAT8XOLs0qoDdXf7qmhp1YE6LnHWEvArXgkhEbzUWhuf9fH6t54+EJCZmgFApwmoufn2z2d1Ol3xs/0mA5oApt/yJAwDwa+OPD/l6fS0Lvm+OvJ8TBAFuaT4ZFrDOiFxecGWxqbyzY0F39SUb240F2xpbBISl7nEOi1dxgVRTuFnfMEBAGU/afQToUnb3ulOHSOavKEZiG7LyNnzw43pGxrGUMmQ9SKwjTHU9J3Ylvha78hKw40hddRh3qUQiAPYMRTd9vXekaU3JylGbXM2/j5CQLV+u1Lgc5oBLWOnftE8U+Tu2ahNMW4uenKfCSBEhLXKKoEcU2IA4ozhfQBt1h9fiM/WdOzeH3vcAzC7578DAGoYGUoN5WewAAAAAElFTkSuQmCC') no-repeat; + } + +.tvshowContainer .seasonPicker { + position: absolute; + right: 5px; + top: 0px; + } + + +.tvshowContainer .active { + font-weight:bold; + } + +.tvshowContainer .episodeListingsContainer { + position: absolute; + top: 40px; + left: 500px; + width: 500px; + padding-bottom: 149px; + } + +.tvshowContainer .episodeListingsContainer ul { + list-style-type: none; + margin: 0; + padding: 0; + } + +.episodeListingsContainer li { + clear: both; + } + +.episodeListingsContainer li img { + height: 30px; + float: left; + } +.tvshowContainer .showDetails { + text-align: center; + width: 100%; + height: 18px; + position: relative; + padding-top: 5px; + background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAXCAIAAABF+LJYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk4NTQ0NDZGQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk4NTQ0NDcwQ0U1ODExREZCMjM4ODgyQjJEQTE5ODBBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTg1NDQ0NkRDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTg1NDQ0NkVDRTU4MTFERkIyMzg4ODJCMkRBMTk4MEEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FuFIdAAAAOklEQVR42kyMUQoAMAhC0+j+J+s2ffXTVtDYA1EUpLsjImhmVFU2IsKqGm1uz8zxX7sBeF1zv44AAwDVBhSDNN7oJQAAAABJRU5ErkJggg%3D%3D') repeat-x; + } + +.contentContainer .toggle{ + position: absolute; + font-size: 12px; + font-weight: 500; + left: 5px; + top: 4px; +} +.tvshowContainer .showDetails p { + margin: 0; + padding: 0; + } + +.tvshowContainer .showDetails .showTitle { + font-size: 12px; + font-weight: 700; + } + +.tvshowContainer .showDetails span.heading { + font-weight: 700; + } diff --git a/usr/local/share/xbmc/addons/webinterface.default/css/ipad.css b/usr/local/share/xbmc/addons/webinterface.default/css/ipad.css new file mode 100644 index 000000000..429ae843b --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/css/ipad.css @@ -0,0 +1,9 @@ +.contentContainer { + overflow-x: hidden; + overflow-y: auto; + position: absolute; + height: auto; + bottom: auto; + background: #fff; + padding-bottom: 150px; + } \ No newline at end of file diff --git a/usr/local/share/xbmc/addons/webinterface.default/favicon.ico b/usr/local/share/xbmc/addons/webinterface.default/favicon.ico new file mode 100644 index 000000000..38ce097b0 Binary files /dev/null and b/usr/local/share/xbmc/addons/webinterface.default/favicon.ico differ diff --git a/usr/local/share/xbmc/addons/webinterface.default/icon.png b/usr/local/share/xbmc/addons/webinterface.default/icon.png new file mode 100644 index 000000000..6b9e1d1dc Binary files /dev/null and b/usr/local/share/xbmc/addons/webinterface.default/icon.png differ diff --git a/usr/local/share/xbmc/addons/webinterface.default/images/DefaultAlbumCover.png b/usr/local/share/xbmc/addons/webinterface.default/images/DefaultAlbumCover.png new file mode 100644 index 000000000..bbfd653c3 Binary files /dev/null and b/usr/local/share/xbmc/addons/webinterface.default/images/DefaultAlbumCover.png differ diff --git a/usr/local/share/xbmc/addons/webinterface.default/images/DefaultVideo.png b/usr/local/share/xbmc/addons/webinterface.default/images/DefaultVideo.png new file mode 100644 index 000000000..1aa81a1d9 Binary files /dev/null and b/usr/local/share/xbmc/addons/webinterface.default/images/DefaultVideo.png differ diff --git a/usr/local/share/xbmc/addons/webinterface.default/images/ajax-loader.gif b/usr/local/share/xbmc/addons/webinterface.default/images/ajax-loader.gif new file mode 100644 index 000000000..4fb7c2352 Binary files /dev/null and b/usr/local/share/xbmc/addons/webinterface.default/images/ajax-loader.gif differ diff --git a/usr/local/share/xbmc/addons/webinterface.default/images/close-button.png b/usr/local/share/xbmc/addons/webinterface.default/images/close-button.png new file mode 100644 index 000000000..628fbf6a2 Binary files /dev/null and b/usr/local/share/xbmc/addons/webinterface.default/images/close-button.png differ diff --git a/usr/local/share/xbmc/addons/webinterface.default/images/remote.jpg b/usr/local/share/xbmc/addons/webinterface.default/images/remote.jpg new file mode 100644 index 000000000..8e10d5970 Binary files /dev/null and b/usr/local/share/xbmc/addons/webinterface.default/images/remote.jpg differ diff --git a/usr/local/share/xbmc/addons/webinterface.default/index.html b/usr/local/share/xbmc/addons/webinterface.default/index.html new file mode 100644 index 000000000..9b3a7be11 --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/index.html @@ -0,0 +1,72 @@ + + + + XBMC + + + + + + + + + + + + +
+ +
+ +
+
+ +
+ + + diff --git a/usr/local/share/xbmc/addons/webinterface.default/js/MediaLibrary.js b/usr/local/share/xbmc/addons/webinterface.default/js/MediaLibrary.js new file mode 100644 index 000000000..bbe81d6ae --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/js/MediaLibrary.js @@ -0,0 +1,1058 @@ +/* + * Copyright (C) 2005-2011 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +var MediaLibrary = function() { + this.init(); + return true; +}; + +MediaLibrary.prototype = { + playlists: { }, + + init: function() { + this.bindControls(); + this.getPlaylists(); + }, + bindControls: function() { + $('#musicLibrary').click(jQuery.proxy(this.musicLibraryOpen, this)); + $('#movieLibrary').click(jQuery.proxy(this.movieLibraryOpen, this)); + $('#tvshowLibrary').click(jQuery.proxy(this.tvshowLibraryOpen, this)); + $('#pictureLibrary').click(jQuery.proxy(this.pictureLibraryOpen, this)); + $('#remoteControl').click(jQuery.proxy(this.remoteControlOpen, this)); + $('#overlay').click(jQuery.proxy(this.hideOverlay, this)); + $(window).resize(jQuery.proxy(this.updatePlayButtonLocation, this)); + }, + resetPage: function() { + $('#musicLibrary').removeClass('selected'); + $('#movieLibrary').removeClass('selected'); + $('#tvshowLibrary').removeClass('selected'); + $('#remoteControl').removeClass('selected'); + $('#pictureLibrary').removeClass('selected'); + this.hideOverlay(); + }, + replaceAll: function(haystack, needle, thread) { + return (haystack || '').split(needle || '').join(thread || ''); + }, + getPlaylists: function() { + xbmc.rpc.request({ + 'context': this, + 'method': 'Playlist.GetPlaylists', + 'timeout': 3000, + 'success': function(data) { + if (data && data.result && data.result.length > 0) { + $.each($(data.result), jQuery.proxy(function(i, item) { + this.playlists[item.type] = item.playlistid; + }, this)); + } + }, + 'error': function(data, error) { + xbmc.core.displayCommunicationError(); + setTimeout(jQuery.proxy(this.updateState, this), 2000); + } + }); + }, + remoteControlOpen: function(event) { + this.resetPage(); + $('#remoteControl').addClass('selected'); + $('.contentContainer').hide(); + var libraryContainer = $('#remoteContainer'); + if (!libraryContainer || libraryContainer.length == 0) { + $('#spinner').show(); + libraryContainer = $('
'); + libraryContainer.attr('id', 'remoteContainer') + .addClass('contentContainer'); + $('#content').append(libraryContainer); + var keys=[ + {name:'up',width:'40px',height:'30px',top:'28px',left:'58px'} + ,{name:'down',width:'40px',height:'30px',top:'122px',left:'58px'} + ,{name:'left',width:'40px',height:'30px',top:'74px',left:'15px'} + ,{name:'right',width:'40px',height:'30px',top:'74px',left:'104px'} + ,{name:'ok',width:'40px',height:'30px',top:'74px',left:'58px'} + ,{name:'back',width:'40px',height:'30px',top:'13px',left:'161px'} + ,{name:'home',width:'40px',height:'30px',top:'154px',left:'8px'} + ,{name:'mute',width:'40px',height:'30px',top:'107px',left:'391px'} + ,{name:'power',width:'30px',height:'30px',top:'-3px',left:'13px'} + ,{name:'volumeup',width:'30px',height:'30px',top:'49px',left:'422px'} + ,{name:'volumedown',width:'30px',height:'30px',top:'49px',left:'367px'} + ,{name:'playpause',width:'32px',height:'23px',top:'62px',left:'260px'} + ,{name:'stop',width:'32px',height:'23px',top:'62px',left:'211px'} + ,{name:'next',width:'38px',height:'25px',top:'102px',left:'304px'} + ,{name:'previous',width:'38px',height:'25px',top:'101px',left:'160px'} + ,{name:'forward',width:'32px',height:'23px',top:'102px',left:'259px'} + ,{name:'rewind',width:'32px',height:'23px',top:'101px',left:'211px'} + ,{name:'cleanlib_a',width:'46px',height:'26px',top:'47px',left:'553px'} + ,{name:'updatelib_a',width:'46px',height:'26px',top:'47px',left:'492px'} + ,{name:'cleanlib_v',width:'46px',height:'26px',top:'111px',left:'553px'} + ,{name:'updatelib_v',width:'46px',height:'26px',top:'111px',left:'492px'} + ]; + for (var akey in keys) { + var aremotekey=$('

').attr('id',keys[akey]['name']); + aremotekey.addClass('remote_key') + .css('height',keys[akey]['height']) + .css('width',keys[akey]['width']) + .css('top',keys[akey]['top']) + .css('left',keys[akey]['left']) + .bind('click',{key: keys[akey]['name']},jQuery.proxy(this.pressRemoteKey,this)); + libraryContainer.append(aremotekey); + } + } else { + libraryContainer.show(); + libraryContainer.trigger('scroll'); + } + + $('#spinner').hide(); + }, + pressRemoteKey: function(event) { + var player = -1, + keyPressed = event.data.key; + $('#spinner').show(); + + switch(keyPressed) { + case 'up': + return xbmc.rpc.request({ + 'method': 'Input.Up' + }); + case 'down': + return xbmc.rpc.request({ + 'method': 'Input.Down' + }); + case 'left': + return xbmc.rpc.request({ + 'method': 'Input.Left' + }); + case 'right': + return xbmc.rpc.request({ + 'method': 'Input.Right' + }); + case 'ok': + return xbmc.rpc.request({ + 'method': 'Input.Select' + }); + case 'cleanlib_a': + return xbmc.rpc.request({ + 'method': 'AudioLibrary.Clean' + }); + case 'updatelib_a': + return xbmc.rpc.request({ + 'method': 'AudioLibrary.Scan' + }); + case 'cleanlib_v': + return xbmc.rpc.request({ + 'method': 'VideoLibrary.Clean' + }); + case 'updatelib_v': + return xbmc.rpc.request({ + 'method': 'VideoLibrary.Scan' + }); + case 'back': + return xbmc.rpc.request({ + 'method': 'Input.Back' + }); + case 'home': + return xbmc.rpc.request({ + 'method': 'Input.Home' + }); + case 'mute': + return xbmc.rpc.request({ + 'method': 'Application.SetMute', + 'params': { + 'mute': 'toggle' + } + }); + case 'power': + return xbmc.rpc.request({ + 'method': 'System.Shutdown' + }); + case 'volumeup': + return xbmc.rpc.request({ + 'method': 'Application.GetProperties', + 'params': { + 'properties': [ + 'volume' + ] + }, + 'success': function(data) { + var volume = data.result.volume + 1; + xbmc.rpc.request({ + 'method': 'Application.SetVolume', + 'params': { + 'volume': volume + } + }); + } + }); + case 'volumedown': + return xbmc.rpc.request({ + 'method': 'Application.GetProperties', + 'params': { + 'properties': [ + 'volume' + ] + }, + 'success': function(data) { + var volume = data.result.volume - 1; + xbmc.rpc.request({ + 'method': 'Application.SetVolume', + 'params': { + 'volume': volume + } + }); + } + }); + } + + // TODO: Get active player + if($('#videoDescription').is(':visible')) + player = this.playlists["video"]; + else if($('#audioDescription').is(':visible')) + player = this.playlists["audio"]; + + if (player >= 0) + { + switch(keyPressed) { + case 'playpause': + return xbmc.rpc.request({ + 'method': 'Player.PlayPause', + 'params': { + 'playerid': player + } + }); + case 'stop': + return xbmc.rpc.request({ + 'method': 'Player.Stop', + 'params': { + 'playerid': player + } + }); + case 'next': + return xbmc.rpc.request({ + 'method': 'Player.GoTo', + 'params': { + 'playerid': player, + 'to': 'next' + } + }); + case 'previous': + return xbmc.rpc.request({ + 'method': 'Player.GoTo', + 'params': { + 'playerid': player, + 'to': 'previous' + } + }); + case 'forward': + return xbmc.rpc.request({ + 'method': 'Player.SetSpeed', + 'params': { + 'playerid': player, + 'speed': 'increment' + } + }); + case 'rewind': + return xbmc.rpc.request({ + 'method': 'Player.SetSpeed', + 'params': { + 'playerid': player, + 'speed': 'decrement' + } + }); + } + } + }, + musicLibraryOpen: function(event) { + this.resetPage(); + $('#musicLibrary').addClass('selected'); + $('.contentContainer').hide(); + var libraryContainer = $('#libraryContainer'); + if (!libraryContainer || libraryContainer.length == 0) { + $('#spinner').show(); + libraryContainer = $('

'); + libraryContainer.attr('id', 'libraryContainer') + .addClass('contentContainer'); + $('#content').append(libraryContainer); + xbmc.rpc.request({ + 'context': this, + 'method': 'AudioLibrary.GetAlbums', + 'params': { + 'limits': { + 'start': 0 + }, + 'properties': [ + 'description', + 'theme', + 'mood', + 'style', + 'type', + 'albumlabel', + 'artist', + 'genre', + 'rating', + 'title', + 'year', + 'thumbnail' + ], + 'sort': { + 'method': 'artist' + } + }, + 'success': function(data) { + if (data && data.result && data.result.albums) { + this.albumList = data.result.albums; + $.each($(this.albumList), jQuery.proxy(function(i, item) { + var floatableAlbum = this.generateThumb('album', item.thumbnail, item.title, item.artist); + floatableAlbum.bind('click', { album: item }, jQuery.proxy(this.displayAlbumDetails, this)); + libraryContainer.append(floatableAlbum); + }, this)); + libraryContainer.append($('
').addClass('footerPadding')); + $('#spinner').hide(); + libraryContainer.bind('scroll', { activeLibrary: libraryContainer }, jQuery.proxy(this.updateScrollEffects, this)); + libraryContainer.trigger('scroll'); + myScroll = new iScroll('libraryContainer'); + } else { + libraryContainer.html(''); + } + } + }); + } else { + libraryContainer.show(); + libraryContainer.trigger('scroll'); + } + }, + getThumbnailPath: function(thumbnail) { + return thumbnail ? ('image/' + encodeURI(thumbnail)) : xbmc.core.DEFAULT_ALBUM_COVER; + }, + generateThumb: function(type, thumbnail, title, artist) { + var floatableAlbum = $('
'); + var path = this.getThumbnailPath(thumbnail); + title = title || ''; + artist = artist ||''; + if (title.length > 18 && !(title.length <= 21)) { + title = title.substring(0, 18) + '...'; + } + if (artist.length > 20 && !(artist.length <= 22)) { + artist = artist.substring(0, 20) + '...'; + } + var className = ''; + var code = ''; + switch(type) { + case 'album': + className = 'floatableAlbum'; + code = '

' + title + '

' + artist + '

'; + break; + case 'movie': + className = 'floatableMovieCover'; + code = '

' + title + '

'; + break; + case 'tvshow': + className = 'floatableTVShowCover'; + break; + case 'tvshowseason': + className = 'floatableTVShowCoverSeason'; + break; + case 'image': + case 'directory': + className = 'floatableAlbum'; + code = '

' + title + '

'; + break; + } + return floatableAlbum.addClass(className).html('
' + title + '
' + code); + }, + showAlbumSelectorBlock: function(album) { + if (album) { + var prevAlbum = null, + nextAlbum = null; + $.each($(this.albumList), jQuery.proxy(function(i, item) { + if (item.albumid == album.albumid) { + if (this.albumList.length > 1) { + prevAlbum = this.albumList[i <= 0 ? this.albumList.length-1 : i-1]; + nextAlbum = this.albumList[i >= this.albumList.length ? 0 : i+1]; + } + return false; /* .each break */ + } + }, this)); + var albumSelectorBlock = $('#albumSelector'); + if (!albumSelectorBlock || albumSelectorBlock.length == 0) { + albumSelectorBlock = $('
'); + albumSelectorBlock.attr('id', 'albumSelector') + .html('
All Albums  
'); + $('#content').prepend(albumSelectorBlock); + $('#albumSelector .allAlbums').bind('click', jQuery.proxy(this.hideAlbumDetails, this)); + } + $('#albumSelector .prevAlbum').unbind(); + $('#albumSelector .nextAlbum').unbind(); + if (prevAlbum) { + $('#albumSelector .prevAlbum').bind('click', {album: prevAlbum}, jQuery.proxy(this.displayAlbumDetails, this)); + } + if (nextAlbum) { + $('#albumSelector .nextAlbum').bind('click', {album: nextAlbum}, jQuery.proxy(this.displayAlbumDetails, this)); + } + $('#albumSelector .activeAlbumTitle').html(album.title||'Unknown Album'); + albumSelectorBlock.show(); + } + }, + hideAlbumDetails: function() { + $('.contentContainer').hide(); + this.musicLibraryOpen(); + }, + displayAlbumDetails: function(event) { + this.showAlbumSelectorBlock(event.data.album); + var albumDetailsContainer = $('#albumDetails' + event.data.album.albumid); + $('#topScrollFade').hide(); + if (!albumDetailsContainer || albumDetailsContainer.length == 0) { + $('#spinner').show(); + xbmc.rpc.request({ + 'context': this, + 'method': 'AudioLibrary.GetSongs', + 'params': { + 'properties': [ + 'title', + 'artist', + 'genre', + 'track', + 'duration', + 'year', + 'rating', + 'playcount' + ], + 'filter': { + 'albumid' : event.data.album.albumid + } + }, + 'success': function(data) { + albumDetailsContainer = $('
'); + albumDetailsContainer.attr('id', 'albumDetails' + event.data.album.albumid) + .addClass('contentContainer') + .addClass('albumContainer') + .html('
Artwork NameTimeArtistGenre
'); + $('.contentContainer').hide(); + $('#content').append(albumDetailsContainer); + var albumThumbnail = event.data.album.thumbnail; + var albumTitle = event.data.album.title||'Unknown Album'; + var albumArtist = event.data.album.artist.join(', ') || 'Unknown Artist'; + var trackCount = data.result.limits.total; + $.each($(data.result.songs), jQuery.proxy(function(i, item) { + if (i == 0) { + var trackRow = $('').addClass('trackRow').addClass('tr' + i % 2); + trackRow.append($('').attr('rowspan', ++trackCount + 1).addClass('albumThumb')); + for (var a = 0; a < 5; a++) { + trackRow.append($('').html(' ').attr('style', 'display: none')); + } + $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow); + } + var trackRow = $('').addClass('trackRow').addClass('tr' + i % 2).bind('click', { album: event.data.album, itmnbr: i }, jQuery.proxy(this.playTrack,this)); + var trackNumberTD = $('') + .html(item.track) + + trackRow.append(trackNumberTD); + var trackTitleTD = $('') + .html(item.title); + + trackRow.append(trackTitleTD); + var trackDurationTD = $('') + .addClass('time') + .html(xbmc.core.durationToString(item.duration)); + + trackRow.append(trackDurationTD); + var trackArtistTD = $('') + .html(item.artist.join(', ')); + + trackRow.append(trackArtistTD); + var trackGenreTD = $('') + .html(item.genre.join(', ')); + + trackRow.append(trackGenreTD); + $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow); + }, this)); + if (trackCount > 0) { + var trackRow = $('').addClass('fillerTrackRow'); + for (var i = 0; i < 5; i++) { + trackRow.append($('').html(' ')); + } + $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow); + + var trackRow2 = $('').addClass('fillerTrackRow2'); + trackRow2.append($('').addClass('albumBG').html(' ')); + for (var i = 0; i < 5; i++) { + trackRow2.append($('').html(' ')); + } + $('#albumDetails' + event.data.album.albumid + ' .resultSet').append(trackRow2); + } + $('#albumDetails' + event.data.album.albumid + ' .albumThumb') + .append(this.generateThumb('album', albumThumbnail, albumTitle, albumArtist)) + .append($('
').addClass('footerPadding')); + $('#spinner').hide(); + myScroll = new iScroll('albumDetails' + event.data.album.albumid); + } + }); + } else { + $('.contentContainer').hide(); + $('#albumDetails' + event.data.album.albumid).show(); + } + }, + togglePosterView: function(event){ + var view=event.data.mode; + var wthumblist,hthumblist,hthumbdetails; + $("#toggleBanner").removeClass('activeMode'); + $("#togglePoster").removeClass('activeMode'); + $("#toggleLandscape").removeClass('activeMode'); + switch(view) { + case 'poster': + xbmc.core.setCookie('TVView','poster'); + wthumblist='135px'; + hthumblist='199px'; + hthumbdetails='559px'; + $("#togglePoster").addClass('activeMode'); + break; + case 'landscape': + xbmc.core.setCookie('TVView','landscape'); + wthumblist='210px'; + hthumblist='118px'; + hthumbdetails='213px'; + $("#toggleLandscape").addClass('activeMode'); + break; + default: + xbmc.core.setCookie('TVView','banner'); + wthumblist='379px'; + hthumblist='70px'; + hthumbdetails='70px'; + $("#toggleBanner").addClass('activeMode'); + break; + } + $(".floatableTVShowCover, .floatableTVShowCover div.imgWrapper, .floatableTVShowCover img, .floatableTVShowCover div.imgWrapper div.inner").css('width',wthumblist).css('height',hthumblist); + $(".floatableTVShowCoverSeason div.imgWrapper, .floatableTVShowCoverSeason div.imgWrapper div.inner,.floatableTVShowCoverSeason img, .floatableTVShowCoverSeason").css('height',hthumbdetails); + }, + displayTVShowDetails: function(event) { + var tvshowDetailsContainer = $('#tvShowDetails' + event.data.tvshow.tvshowid); + $('#topScrollFade').hide(); + toggle=this.toggle.detach(); + if (!tvshowDetailsContainer || tvshowDetailsContainer.length == 0) { + $('#spinner').show(); + xbmc.rpc.request({ + 'context': this, + 'method': 'VideoLibrary.GetSeasons', + 'params': { + 'properties': [ + 'season', + 'showtitle', + 'playcount', + 'episode', + 'thumbnail', + 'fanart' + ], + 'tvshowid' : event.data.tvshow.tvshowid + }, + 'success': function(data) { + tvshowDetailsContainer = $('
'); + tvshowDetailsContainer.attr('id', 'tvShowDetails' + event.data.tvshow.tvshowid) + .css('display', 'none') + .addClass('contentContainer') + .addClass('tvshowContainer'); + var showThumb = this.generateThumb('tvshowseason', event.data.tvshow.thumbnail, event.data.tvshow.title); + if (data && data.result && data.result.seasons && data.result.seasons.length > 0) { + var showDetails = $('
').addClass('showDetails'); + showDetails.append(toggle); + showDetails.append($('

').html(data.result.seasons[0].showtitle).addClass('showTitle')); + var seasonSelectionSelect = $('",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="

",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); diff --git a/usr/local/share/xbmc/addons/webinterface.default/js/json2.js b/usr/local/share/xbmc/addons/webinterface.default/js/json2.js new file mode 100644 index 000000000..c7745df80 --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/js/json2.js @@ -0,0 +1,486 @@ +/* + json2.js + 2012-10-08 + + Public Domain. + + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + + See http://www.JSON.org/js.html + + + This code should be minified before deployment. + See http://javascript.crockford.com/jsmin.html + + USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO + NOT CONTROL. + + + This file creates a global JSON object containing two methods: stringify + and parse. + + JSON.stringify(value, replacer, space) + value any JavaScript value, usually an object or array. + + replacer an optional parameter that determines how object + values are stringified for objects. It can be a + function or an array of strings. + + space an optional parameter that specifies the indentation + of nested structures. If it is omitted, the text will + be packed without extra whitespace. If it is a number, + it will specify the number of spaces to indent at each + level. If it is a string (such as '\t' or ' '), + it contains the characters used to indent at each level. + + This method produces a JSON text from a JavaScript value. + + When an object value is found, if the object contains a toJSON + method, its toJSON method will be called and the result will be + stringified. A toJSON method does not serialize: it returns the + value represented by the name/value pair that should be serialized, + or undefined if nothing should be serialized. The toJSON method + will be passed the key associated with the value, and this will be + bound to the value + + For example, this would serialize Dates as ISO strings. + + Date.prototype.toJSON = function (key) { + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + return this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z'; + }; + + You can provide an optional replacer method. It will be passed the + key and value of each member, with this bound to the containing + object. The value that is returned from your method will be + serialized. If your method returns undefined, then the member will + be excluded from the serialization. + + If the replacer parameter is an array of strings, then it will be + used to select the members to be serialized. It filters the results + such that only members with keys listed in the replacer array are + stringified. + + Values that do not have JSON representations, such as undefined or + functions, will not be serialized. Such values in objects will be + dropped; in arrays they will be replaced with null. You can use + a replacer function to replace those with JSON values. + JSON.stringify(undefined) returns undefined. + + The optional space parameter produces a stringification of the + value that is filled with line breaks and indentation to make it + easier to read. + + If the space parameter is a non-empty string, then that string will + be used for indentation. If the space parameter is a number, then + the indentation will be that many spaces. + + Example: + + text = JSON.stringify(['e', {pluribus: 'unum'}]); + // text is '["e",{"pluribus":"unum"}]' + + + text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t'); + // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]' + + text = JSON.stringify([new Date()], function (key, value) { + return this[key] instanceof Date ? + 'Date(' + this[key] + ')' : value; + }); + // text is '["Date(---current time---)"]' + + + JSON.parse(text, reviver) + This method parses a JSON text to produce an object or array. + It can throw a SyntaxError exception. + + The optional reviver parameter is a function that can filter and + transform the results. It receives each of the keys and values, + and its return value is used instead of the original value. + If it returns what it received, then the structure is not modified. + If it returns undefined then the member is deleted. + + Example: + + // Parse the text. Values that look like ISO date strings will + // be converted to Date objects. + + myData = JSON.parse(text, function (key, value) { + var a; + if (typeof value === 'string') { + a = +/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); + if (a) { + return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], + +a[5], +a[6])); + } + } + return value; + }); + + myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) { + var d; + if (typeof value === 'string' && + value.slice(0, 5) === 'Date(' && + value.slice(-1) === ')') { + d = new Date(value.slice(5, -1)); + if (d) { + return d; + } + } + return value; + }); + + + This is a reference implementation. You are free to copy, modify, or + redistribute. +*/ + +/*jslint evil: true, regexp: true */ + +/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply, + call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, + getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, + lastIndex, length, parse, prototype, push, replace, slice, stringify, + test, toJSON, toString, valueOf +*/ + + +// Create a JSON object only if one does not already exist. We create the +// methods in a closure to avoid creating global variables. + +if (typeof JSON !== 'object') { + JSON = {}; +} + +(function () { + 'use strict'; + + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + if (typeof Date.prototype.toJSON !== 'function') { + + Date.prototype.toJSON = function (key) { + + return isFinite(this.valueOf()) + ? this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z' + : null; + }; + + String.prototype.toJSON = + Number.prototype.toJSON = + Boolean.prototype.toJSON = function (key) { + return this.valueOf(); + }; + } + + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + gap, + indent, + meta = { // table of character substitutions + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }, + rep; + + + function quote(string) { + +// If the string contains no control characters, no quote characters, and no +// backslash characters, then we can safely slap some quotes around it. +// Otherwise we must also replace the offending characters with safe escape +// sequences. + + escapable.lastIndex = 0; + return escapable.test(string) ? '"' + string.replace(escapable, function (a) { + var c = meta[a]; + return typeof c === 'string' + ? c + : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"' : '"' + string + '"'; + } + + + function str(key, holder) { + +// Produce a string from holder[key]. + + var i, // The loop counter. + k, // The member key. + v, // The member value. + length, + mind = gap, + partial, + value = holder[key]; + +// If the value has a toJSON method, call it to obtain a replacement value. + + if (value && typeof value === 'object' && + typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + +// If we were called with a replacer function, then call the replacer to +// obtain a replacement value. + + if (typeof rep === 'function') { + value = rep.call(holder, key, value); + } + +// What happens next depends on the value's type. + + switch (typeof value) { + case 'string': + return quote(value); + + case 'number': + +// JSON numbers must be finite. Encode non-finite numbers as null. + + return isFinite(value) ? String(value) : 'null'; + + case 'boolean': + case 'null': + +// If the value is a boolean or null, convert it to a string. Note: +// typeof null does not produce 'null'. The case is included here in +// the remote chance that this gets fixed someday. + + return String(value); + +// If the type is 'object', we might be dealing with an object or an array or +// null. + + case 'object': + +// Due to a specification blunder in ECMAScript, typeof null is 'object', +// so watch out for that case. + + if (!value) { + return 'null'; + } + +// Make an array to hold the partial results of stringifying this object value. + + gap += indent; + partial = []; + +// Is the value an array? + + if (Object.prototype.toString.apply(value) === '[object Array]') { + +// The value is an array. Stringify every element. Use null as a placeholder +// for non-JSON values. + + length = value.length; + for (i = 0; i < length; i += 1) { + partial[i] = str(i, value) || 'null'; + } + +// Join all of the elements together, separated with commas, and wrap them in +// brackets. + + v = partial.length === 0 + ? '[]' + : gap + ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' + : '[' + partial.join(',') + ']'; + gap = mind; + return v; + } + +// If the replacer is an array, use it to select the members to be stringified. + + if (rep && typeof rep === 'object') { + length = rep.length; + for (i = 0; i < length; i += 1) { + if (typeof rep[i] === 'string') { + k = rep[i]; + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } else { + +// Otherwise, iterate through all of the keys in the object. + + for (k in value) { + if (Object.prototype.hasOwnProperty.call(value, k)) { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } + +// Join all of the member texts together, separated with commas, +// and wrap them in braces. + + v = partial.length === 0 + ? '{}' + : gap + ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' + : '{' + partial.join(',') + '}'; + gap = mind; + return v; + } + } + +// If the JSON object does not yet have a stringify method, give it one. + + if (typeof JSON.stringify !== 'function') { + JSON.stringify = function (value, replacer, space) { + +// The stringify method takes a value and an optional replacer, and an optional +// space parameter, and returns a JSON text. The replacer can be a function +// that can replace values, or an array of strings that will select the keys. +// A default replacer method can be provided. Use of the space parameter can +// produce text that is more easily readable. + + var i; + gap = ''; + indent = ''; + +// If the space parameter is a number, make an indent string containing that +// many spaces. + + if (typeof space === 'number') { + for (i = 0; i < space; i += 1) { + indent += ' '; + } + +// If the space parameter is a string, it will be used as the indent string. + + } else if (typeof space === 'string') { + indent = space; + } + +// If there is a replacer, it must be a function or an array. +// Otherwise, throw an error. + + rep = replacer; + if (replacer && typeof replacer !== 'function' && + (typeof replacer !== 'object' || + typeof replacer.length !== 'number')) { + throw new Error('JSON.stringify'); + } + +// Make a fake root object containing our value under the key of ''. +// Return the result of stringifying the value. + + return str('', {'': value}); + }; + } + + +// If the JSON object does not yet have a parse method, give it one. + + if (typeof JSON.parse !== 'function') { + JSON.parse = function (text, reviver) { + +// The parse method takes a text and an optional reviver function, and returns +// a JavaScript value if the text is a valid JSON text. + + var j; + + function walk(holder, key) { + +// The walk method is used to recursively walk the resulting structure so +// that modifications can be made. + + var k, v, value = holder[key]; + if (value && typeof value === 'object') { + for (k in value) { + if (Object.prototype.hasOwnProperty.call(value, k)) { + v = walk(value, k); + if (v !== undefined) { + value[k] = v; + } else { + delete value[k]; + } + } + } + } + return reviver.call(holder, key, value); + } + + +// Parsing happens in four stages. In the first stage, we replace certain +// Unicode characters with escape sequences. JavaScript handles many characters +// incorrectly, either silently deleting them, or treating them as line endings. + + text = String(text); + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + +// In the second stage, we run the text against regular expressions that look +// for non-JSON patterns. We are especially concerned with '()' and 'new' +// because they can cause invocation, and '=' because it can cause mutation. +// But just to be safe, we want to reject all unexpected forms. + +// We split the second stage into 4 regexp operations in order to work around +// crippling inefficiencies in IE's and Safari's regexp engines. First we +// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we +// replace all simple value tokens with ']' characters. Third, we delete all +// open brackets that follow a colon or comma or that begin the text. Finally, +// we look to see that the remaining characters are only whitespace or ']' or +// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. + + if (/^[\],:{}\s]*$/ + .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') + .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') + .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + +// In the third stage we use the eval function to compile the text into a +// JavaScript structure. The '{' operator is subject to a syntactic ambiguity +// in JavaScript: it can begin a block or an object literal. We wrap the text +// in parens to eliminate the ambiguity. + + j = eval('(' + text + ')'); + +// In the optional fourth stage, we recursively walk the new structure, passing +// each name/value pair to a reviver function for possible transformation. + + return typeof reviver === 'function' + ? walk({'': j}, '') + : j; + } + +// If the text is not JSON parseable, then a SyntaxError is thrown. + + throw new SyntaxError('JSON.parse'); + }; + } +}()); diff --git a/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.core.js b/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.core.js new file mode 100644 index 000000000..00830a7a2 --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.core.js @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2005-2012 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +(function (window) { + "use strict"; + + var xbmc = window.xbmc || {}; + xbmc.core = { + 'DEFAULT_ALBUM_COVER': 'images/DefaultAlbumCover.png', + 'DEFAULT_VIDEO_COVER': 'images/DefaultVideo.png', + 'JSON_RPC': 'jsonrpc', + 'applyDeviceFixes': function () { + window.document.addEventListener('touchmove', function (e) { + e.preventDefault(); + }); + }, + 'displayCommunicationError': function (m) { + window.clearTimeout(xbmc.core.commsErrorTiemout); + var message = m || 'Connection to server lost'; + $('#commsErrorPanel').html(message).show(); + xbmc.core.commsErrorTiemout = window.setTimeout('xbmc.core.hideCommunicationError()', 5000); + }, + 'durationToString': function (duration) { + var total_seconds = duration || 0, + seconds = total_seconds % 60, + minutes = Math.floor(total_seconds / 60) % 60, + hours = Math.floor(total_seconds / 3600), + result = ((hours > 0 && ((hours < 10 ? '0' : '') + hours + ':')) || ''); + result += (minutes < 10 ? '0' : '') + minutes + ':'; + result += (seconds < 10 ? '0' : '') + seconds; + return result; + }, + 'getCookie': function (name) { + var i, + match, + haystack = window.document.cookie.split(';'); + for (i = 0; i < haystack.length; i += 1) { + match = haystack[i].match(/^\s*[\S\s]*=([\s\S]*)\s*$/); + if (match && match.length === 2) { + return match[1]; + } + } + return null; + }, + 'hideCommunicationError': function () { + $('#commsErrorPanel').hide(); + }, + 'setCookie': function (name, value, days) { + var date, + expires; + if (name) { + if (days) { + date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + } else { + expires = ''; + } + window.document.cookie = name + "=" + value + expires + "; path=/"; + } + }, + 'timeToDuration': function (time) { + var duration; + time = time || {}; + duration = ((time.hours || 0) * 3600); + duration += ((time.minutes || 0) * 60); + duration += (time.seconds || 0); + return duration; + } + }; + + window.xbmc = xbmc; +}(window)); diff --git a/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.init.js b/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.init.js new file mode 100644 index 000000000..05a412496 --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.init.js @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2005-2012 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +(function () { + "use strict" + + var mediaLibrary = new MediaLibrary(), + nowPlayingManager = new NowPlayingManager(); + xbmc.core.applyDeviceFixes(); +}()); + diff --git a/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.launcher.js b/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.launcher.js new file mode 100644 index 000000000..678602a8e --- /dev/null +++ b/usr/local/share/xbmc/addons/webinterface.default/js/xbmc.launcher.js @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2005-2012 Team XBMC + * http://www.xbmc.org + * + * This Program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This Program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with XBMC; see the file COPYING. If not, see + * . + * + */ + +(function (document) { + "use strict"; + + var i, + script, + debug = false, /* Set to true to disable cached javascript */ + version = (debug ? Math.random() : '2.1.0'), + scripts = [ + "js/jquery-1.8.2.min.js", + "js/json2.js", + "js/iscroll-min.js", + "js/xbmc.core.js", + "js/xbmc.rpc.js", + "js/MediaLibrary.js", + "js/NowPlayingManager.js", + "js/xbmc.init.js" + ]; + + for (i = 0; i < scripts.length; i += 1) { + script = '