It is currently 30 Apr 2017, 07:12
   
Text Size

Mtgdb.Gui - Windows app to search MTG cards and build decks

Discuss Card Scans and Other Artwork Here

Moderator: CCGHQ Admins

Mtgdb.Gui - Windows app to search MTG cards and build decks

Postby hidalgo » 18 Oct 2016, 19:12

Download current version v1.3.5.21

Hi all!
Using the pictures found in this site and data from mtgjson I made a nice application which I use to build my decks for Magic Duels online game.
It doesn't limit to Magic Duels cards only, all Magic The Gathering sets up to "Aether Revolt" are available.

Mtgdb.Gui is free to use. You can download it by links in the header of this post.

Major features

  • Contains all MTG sets up to "Amonkhet"
  • Built-in update capabilites. Updating images, data and the program itself can be done from whithin 'Update' window. From there you can
    • Download card images and/or artworks
    • Download and install new version of Mtgdb.Gui
    • Download latest cards data from mtgjson.com
  • Supporting Forge, Magarena and XMage deck formats. By the way, Cockatrice also supports the deck format used by Magarena. See details under the spoiler.
    | Open
    To export deck to Forge
    • Select Forge format when saving your deck in Mtgdb.Gui
    • [Optionally] Save to
      Code: Select all
      C:\Users\<Username>\AppData\Roaming\Forge\decks\constructed
      Then you will see your deck in deck list immediately after opening Forge's deck editor tab.
    • If skipped previous step, use button "Open Deck" in Forge's deck editor tab, then press "Save Deck".
    To export deck to Magarena
    • Select Magarena format when saving your deck in Mtgdb.Gui
    • Save your deck to
      Code: Select all
      \Magarena\decks
      subdirectory of Magarena application.
    • In magarena threre are 3 groups of decks - "Prebuilt", "Player" and "Firemind top decks". As you may have guessed, your deck will be in "Player" group.
  • One click to filter by keyword abilities (such as Flying) and other card properties.
    Supported are one-click filters by Keyword abilities, Rarity, Type, Mana cost, Converted mana cost. The filter selectors are organized in two rows. When you check the value in top row, it is included to the filter by AND operator. When you check the value in bottom row operator OR is used.

    Consider an example. You checked Flying in top row and Vigilance and First Strike in the bottom. The result is showing only the cards that meet the following criterion:
    has Flying AND (has Vigilance OR has First Strike)
    Filter_example.jpg
  • Cost semantics of filtering by colors in mana cost.
    Another example. You checked White and Blue mana in top row and Red mana in bottom row. Other mana colors were made unchecked. The resulting criterion is:
    has White AND has Blue AND (may have Red)
    Cards with colors other than White, Blue, Red are excluded from result.
    Filter_mana_example.jpg

    The above examples show both general approach and nuances. General approach is that top row means AND; and the bottom row means OR.
    Nuance is that Mana has a meaning of cost. So when you say "Red OR Blue" you really mean "Can be paid by Red OR Blue". In terms of applied criterion this means "has no other colors in cost than Red or Blue". So if the card doesn't require any specific color of mana it meets the criterion "Red or Blue".

  • Filter by mana symbol in card's text since v1.3.3

  • Filter by generated mana color since v1.3.5.8. It filters card by color of generated mana and also by possibility to generate engergy. It is more pricise and subtle than just looking at mana symbols in card's text. A simple example: Paradise bird will be matched when you check {W}, while it's text doesn't mention {W}. It tells
    Code: Select all
    "{T}: Add one mana of any color to your mana pool".
  • Legality is fully supported since v1.3.5.2. Legality can be used when filtering or using search text. Illegal cards are marked visually in deck. They are also marked visually in search result in case when not filtered out after setting filtering mode to ignore legality.
    Legality.jpg
  • Possibility to either show or hide card duplicates in search result since v1.3.3
    Namesakes can be confusing when creating a deck or building some statistics. But sometimes you want to put into your deck a specific version of a beautiful island. Check 'Show duplicates' button and can select any variant of card image to put to your deck.

  • Inplace filter and sort buttons.
    You can hover the mouse over a field and click a filter or sort button. This will invoke a filter editor specific to a field.
    inplace_filter.jpg
  • Card search by text.
    The search text can be an arbitrary string or an expression containing field names and values.
    The search supports intellisense by field names and values.
    The intellisense by value uses fuzzy text matching. So if you type in search string "Name Local":neveirfl disc and press Ctrl+SPACE the first suggested variant will be "Nevinyrral's Disk".
    Search-example.jpg
  • Custom filter editor to setup a complex filter. Supporting both graphical expression builder and textual user input.
    Custom_filter.jpg
  • A pivot table combined with graphical diagram to show statistics on a created deck. By default shows a breakdown of deck by Converted mana cost and card Type, but can be customized in many ways.

    To give you an example of possible customization, let us assume we have set up some criterion. We may have used one-click buttons or search text or filter editor in any combination. In the screenshot below I filtered by ablility to counter a spell.
    Now we want to see the distribution of search result by Converted mana cost and card Type among cards available im Magic Duels online game.
    To do this:
    - open the Pivot table
    - remove the summary filter "Count in Deck >= 1.00"
    - replace the summary field from "Count in Deck" to "Count in Duels"
    - add the summary filter "Count in Duels >= 1.00"
    - add filter "Is Filter match = true"

    You can see filtering example and the corresponding pivot report below:
    Report_example_p1.jpg
    Report_example_p2.jpg

    Note that the first picture tells there were 290 cards matching the filter ("Cards scroll position 0/290" in form's header text). Although the diagram is showing 48 cards. The explanation is that we are aggregating by 'Count in duels' which is 4 for common cards, 3 for uncommon and so on. Most cards are not available in Magic Duels at all, so they contribute 0.

    Note that you are not bound to using Converted mana Cost and card Type as report axis.
    You can assign any field to report axis.
    You can assign multiple fields to one report axis.

  • Card pricing information. It is shown both in search result and deck statistics form.
    Price statistics.jpg

  • Tabbed document interface - since v1.2

Minor features
  • Zoom in card image by left-clicking it. Zoom out by left-clicking zoomed image.
  • Showing card back for flipped cards or meld pair/melded card for meld cards. Can be done by mouse scroll on zoomed card image.
  • Undo/redo changes in deck, filters and so on. Works even after closing the program and starting it again.
  • Card texts localization to all languages supported by Gatherer (including russian, spanish, portugal and etc.)
  • Saving/loading deck
  • Printing proxies is supported by exporting deck to images printable on A4 paper
    proxy.jpg
  • Tooltips on most buttons since v1.3.3
  • One-click mana color cost filter usability.
    1. By default all mana colors are allowed therefore they are checked in bottom row. If you click a color in bottom row then all other colors become unchecked. It lets you make only 1 color allowed by 1 click.
    2. The previous point would lead to difficulties trying to undo unchecking all colors except selected. Of cource you could undo using Ctrl+Z or use undo button in form's header, but there is even a faster solution. Click the same button again and all colors in the bottom row will become checked again.
    3. As phyrexian mana color requirement is weaker than normal mana color requirement, therefore checking a color in bottom row also checks phyrexian mana of the same color. Because if you agree to pay a white mana, then you would agree to pay white phyrexian mana too. Thus you will not be missing a card of desired color by accident.
    4. All the previous points make one-click filter's behaviour quite complex especially in case of mana color filters. To make things more predictable to you the one-click filter interface shows you a previw of what is going to happen if you click a value when you hover the mouse over it.
    5. Resetting one-click filter to it's default state is done by clicking it with mouse middle button. Useful when you have checked a lot of things and want to start a new search from scratch
  • Highlighting matched text in card. One-click filter values and search text values are highlighted when found in card's text.
  • Using images from Mtgdb.Gui in Forge. You can export images downloaded for Mtgdb.Gui to Forge directory using Mtgdb.Integration.Forge.exe. With High Quality images enything gets prettier :)
  • Using card images you already have with Mtgdb.Gui. If you already have images since you downloaded them for Forge or any other purpose, you can configure Mtgdb.Gui to use images from those directories. To do it edit etc\Mtgdb.Gui.xml the section <ImageLocations>
  • Showing the last card added/removed to deck in card's list. Even if it doesn't matches card's filter. The people who used Magic Duel's online deck builder will understand me. It is such an annoying thing when you have a filter, then you remove a card, and you cannot quickly undo as the card is not shown in card's list due to filter criterion. This is not going to happen in Mtgdb.Gui!

Installation and usage instructions are under the spoiler below

| Open
Download and extract Mtgdb.Gui.v{Version}.zip to some directory. In my PC it is d:\games\Mtgdb.Gui

=== Running the Mtgdb.Gui application to search cards and build decks
Run Mtgdb.Gui.exe

=== Downloading Images
Run Mtgdb.Downloader.exe from Mtgdb.Gui application directory to download all images automatically.

If you prefer doing it yourself see instruction below:
To download images open subdirectory \images
For every subdirectory you may follow the instructions from _readme.txt located there

=== How to use High Quality images from Mtgdb.Gui in Forge
Run Mtgdb.Integration.Forge.exe

INFO: Forge is a very feature-rich application to play Magic The Gaghering
see more at http://www.slightlymagic.net/forum/viewforum.php?f=26

=== I already have card images somewhere on my PC. How do I make Mtgdb.Gui use them?
Edit the configuration file \etc\Mtgdb.Gui.xml
To prevent your edit from accidental loss I recommend
copying \etc directory to a location higher than Mtgdb.Gui directory in directories tree.
Mtgdb.Gui will find and use the copied config.
Note that the entire \etc directory must be copied, not just the config file lying inside.

=== Telling the program the cards count available to you
Edit the file \Resources\DuelCardsCount.txt
The format is the following:
CardNameInEnglish, tab symbol, count
The file is loaded once during program startup

=== Clearing undo/redo history
Remove the files from \History folder

== Mtgdb.Gui functionality (you can get this within the programm by pressing F1) ==

5 groups of buttons below the form title with buttons painted in circular frame when checked:

* The 5 button groups differ by the card property they correspond to:
* These buttons filter cards by abilities, type, rarity, cost and converted mana cost.
* Checking the button's top position enables filtering by corresponding property value through AND operator.
* Checking the bottom position filters through OR.
* Filters by different properties are always joined through AND.

3 buttons painted in a square frame when checked:

* These buttons manage how filter types are combined.
* There are 3 filter types: 'button filters', search text and custom filter.
* Checking the top position corresponds to AND, the bottom to OR. If neither top or bottom is checked, the filter type is ignored when filtering cards.
* To edit the Custom filter press the Edit filter button in bottom right of card's list.

The rightmost buttons group:

* The top row contains button for Undo, Redo, Displaying this help, the Language selector.
* The Language selector affects the cards' texts only.
* The bottom row contains button for clearing, loading and saving the current deck, customizable deck list report, the print button.
* The deck report filters, fields and summaries can be adjusted to create a report relevant to all Magic Duels cards rather than just to the cards whithin the deck. Tip: to do this
* Remove summary filter from "Count in deck".
* Change summary field from "Count in deck" to "Count in Duels".
* Optionally: filter by "Is filter match" to apply to the report the same filters that are applied to the main card list.
* The print buttons doesn't actually print anything, it creates images of cards by groups of 10 that can be printed on A4 paper.

Zoom in/out the card image:

* Left mouse click

Deck editing:

* The deck is displayed at the bottom of the form.
* Right mouse click adds 1 card copy to the deck.
* Middle mouse click removes 1 card copy from the deck.
* To change card's position in deck use drag-n-drop.
* To remove all the cards from the deck click the recycle bin button in the rightmost buttons group.

Search text:

* Ctrl+SPACE shows the intellisense
* Ctrl+ENTER applies changed search text

Fuzzy search:

* TypeEn ':' type the text, press Ctrl+SPACE

Field names suggest:

* TypeEn field name part, press Ctrl+SPACE

Field values suggest, works for TextEn, Mana Cost, TypeEn, Rarity fields only:

* TypeEn field name, ':', press Ctrl+SPACE

Search text general syntax

["<field name>":][+|-]"<searched value>"

* Quotes can be omitted, if the text inside doesn't contain spaces and there is one or less fields in the search expression
* Feild name can be omitted to search through all fields values
* + corresponds to AND operator
* - corresponds to AND NOT operator
* omitting both + or - corrensponds to
If there are no other + or - in search expression: to OR operator
Else to AND operator
Last edited by hidalgo on 24 Apr 2017, 03:19, edited 109 times in total.
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Re: Mtgdb.Gui - Windows app to search MTG cards and build de

Postby skibulk » 18 Oct 2016, 19:14

This belongs in the DotP forum: viewforum.php?f=62
User avatar
skibulk
HQ Team Member
 
Posts: 976
Joined: 19 Jul 2010, 20:34
Location: Northeast USA
Has thanked: 371 times
Been thanked: 300 times

Re: Mtgdb.Gui - Windows app to search MTG cards and build de

Postby Huggybaby » 18 Oct 2016, 20:34

I don't think this app is specific to DotP is it?
User avatar
Huggybaby
Administrator
 
Posts: 3031
Joined: 15 Jan 2006, 19:44
Location: Finally out of Atlanta
Has thanked: 541 times
Been thanked: 559 times

Re: Mtgdb.Gui - Windows app to search MTG cards and build de

Postby hidalgo » 18 Oct 2016, 22:51

It is only Magic The Gathering specific :)
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Re: Mtgdb.Gui - Windows app to search MTG cards and build de

Postby skibulk » 18 Oct 2016, 22:54

hidalgo wrote:Using the pictures found in this site and data from mtgjson.com I was able to build a nice application which I use to build my decks for Magic Duels online game.
Okay I read this and I thought it was only for Magic Duels. My mistake.
User avatar
skibulk
HQ Team Member
 
Posts: 976
Joined: 19 Jul 2010, 20:34
Location: Northeast USA
Has thanked: 371 times
Been thanked: 300 times

Re: Mtgdb.Gui - Windows app to search MTG cards and build de

Postby hidalgo » 02 Nov 2016, 17:30

I made some minor improvements/fixes

  • Changing cards language is undo/redo -able
  • Search result / keywords highlighting was slightly mispositioned in some rare cases
  • Renamed fields to use in filter and search: Name -> NameEn, NameLocal -> Name.
    E.g. now to search by name you type just Name:死灵式渴求 instead of "Name local":"死灵式渴求"
Last edited by hidalgo on 09 Jan 2017, 05:38, edited 1 time in total.
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Mtgdb.Gui v1.2.1

Postby hidalgo » 29 Dec 2016, 01:05

List of changes:
  • TDI - tabbed document interface. Before I had this tabs feature I had to keep several open instances of Mtgdb.Gui.exe, which was undesirable for several reasons:
    -Slow program startup - around 15 seconds in my PC to load all sets.
    -High memory consumption - multiplied by N where N is the number of opened instances.
    -File access concurrency for undo/redo history files.
    Now you can open some tabs, work with them in parallel - no problem.
    Multitab.jpg
  • Improved printing - more precise card size, white guidelines between the cards to help cutting.
    proxy.jpg
  • Minor improvment of mana buttons behavior
Last edited by hidalgo on 09 Jan 2017, 05:38, edited 2 times in total.
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Mtgdb.Gui v1.2.2

Postby hidalgo » 08 Jan 2017, 07:04

Deck reordering - as suggested by aidscoi168 here deck reordering is now possible. Implemented via drag-n-drop.
Last edited by hidalgo on 09 Jan 2017, 05:39, edited 1 time in total.
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Mtgdb.Gui v1.2.4.3

Postby hidalgo » 08 Jan 2017, 13:36

Deck reordering improved - now you can scroll the deck while dragging the card.
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Mtgdb.Gui v1.2.5

Postby hidalgo » 20 Jan 2017, 19:37

Now supporting Forge deck format.
You can actually play the deck you've built with Mtgdb.Gui. To do this
  • Select Forge format when saving your deck in Mtgdb.Gui
  • In Forge deck editor load the deck from previously saved file.

HINT
To skip importing deck in Forge you may save the deck to C:\Users\<Username>\AppData\Roaming\Forge\decks\constructed
This is somewhat riskier than manually loading the deck from file in Forge and then saving it, because Forge makes some adjustments when saving the imported deck, like assigning particular card image variants to the cards in your deck.
Last edited by hidalgo on 21 Jan 2017, 03:12, edited 2 times in total.
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Re: Mtgdb.Gui - Windows app to search MTG cards and build de

Postby Xitax » 20 Jan 2017, 22:39

This is very interesting. I'll have to check it out.

Will this program have the ability to use my card images kept separately?
Xitax
 
Posts: 751
Joined: 16 May 2010, 17:19
Has thanked: 109 times
Been thanked: 86 times

Mtgdb.Gui v1.2.6

Postby hidalgo » 21 Jan 2017, 02:53

Will this program have the ability to use my card images kept separately?
Configurable location of directories with card images. You may store images separately from Mtgdb.Gui directory. To tell the program where to find your images edit the configuration file \etc\Mtgdb.Gui.xml
To prevent your edit from accidental loss I recommend copying \etc directory to a location higher than Mtgdb.Gui directory in directories tree. Mtgdb.Gui will find and use the copied config.
Note that the entire \etc directory must be copied, not just the config file lying inside.

Particularely you may use images from Forge cache located at C:\Users\<Username>\AppData\Local\Forge\Cache\pics
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Mtgdb.Gui v1.2.7

Postby hidalgo » 22 Jan 2017, 01:47

  • Aether Revolt set included.
  • Better support for manually updating data from mtgjson.com
    Just replace \Resources\AllSets-x.json by current version from mtgjson.com
  • Reduced download size from ~70MB to ~60MB
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Mtgdb.Gui v1.2.8

Postby hidalgo » 22 Jan 2017, 19:32

  • Supporting Magarena deck format.
    To export deck to Magarena
    • Select Magarena format when saving your deck in Mtgdb.Gui
    • Save your deck to
      Code: Select all
      \Magarena\decks
      subdirectory of Magarena application.
    • In magarena threre are 3 groups of decks - "Prebuilt", "Player" and "Firemind top decks". As you may have guessed, your deck will be in "Player" group.
  • Translations to non-english languages for new sets Aether Revolt and Commander 2016
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Re: Mtgdb.Gui v 1.2.9

Postby hidalgo » 28 Jan 2017, 09:22

  • Faster startup and scrolling.
    • The startup delay decreased from ~12 seconds to ~4 seconds.
    • Previously the scroll was fast only when scrolling up after scrolled down or vice-versa. Now to get the scroll slowdown you have to scroll fast during several seconds. When scrolling normally the speed is ok from the very beggining.
  • Possibility to replace pictures in Forge by those you use with Mtgdb.Gui. See \ets\Mtgdb.Gui.xml <ForgeIntegration/> tag for instruction.
  • Scroll on zoomed card to see other variants of card image.
  • Fixed compatibilty issue when importing some decks from Forge.
  • Fixed some minor usability issues of intellisense in search textbox.
  • Minor visual enhancements e.g
    • Prettier visualization of dragged card
    • Partially showing the word that doesn't fit the last line.
User avatar
hidalgo
 
Posts: 128
Joined: 17 Oct 2016, 21:51
Location: Russia, Moscow
Has thanked: 8 times
Been thanked: 17 times

Next

Return to Pictures

Who is online

Users browsing this forum: SkyBoys and 4 guests


Who is online

In total there are 5 users online :: 1 registered, 0 hidden and 4 guests (based on users active over the past 10 minutes)
Most users ever online was 279 on 11 Jul 2013, 22:03

Users browsing this forum: SkyBoys and 4 guests

Login Form