From MTG Studio

(Difference between revisions)
Jump to: navigation, search
(Integrity Checks)
Line 106: Line 106:
C105 - A tool tip will be displayed while scrolling the card pool showing the current card name  
C105 - A tool tip will be displayed while scrolling the card pool showing the current card name  
C106 - Export of the card from the card pool in .pdf formats is planned
C110 Add quick filters like in Access 2007 on the column headers for Equals, Contains, Does not equals, Does not contain, Clear Filter  
C110 Add quick filters like in Access 2007 on the column headers for Equals, Contains, Does not equals, Does not contain, Clear Filter  

Latest revision as of 23:24, 14 January 2020


Next Release

D106 - Fill the missing set description for Alternate Art Box Topper Digital Cards Duels of the Planeswalkers Elspeth VS Tezzeret Foreign Language From the Vault: Angels Introductory Masters Edition IV Mirrodin Besieged Multiverse Premium Deck Series: Fire & Lightning Welcome Deck 2016

Batch download of TCG Player prices from (taked from Prices.xslm for MSC)

Search for Missing Directories should check for SubSet directories

Search for Unnecessary directories should handle properly SubSet directories and _CON

MaxSameCards check to be applied on AddCardToDeck, Toggle etc.

total summary for the Value column is not filled in.

Add new menu "Add to Collection as new row" to the context menu

get latestcard of the day

In wiki mtg sets there are some sets published in the past we don't have. What are those?

Load just 4 legalities in Grid the rest are fetched with a sql call. To minimize memory footprint.

Can we use Smart Average on update prices

Update MTGO Vanguard Cards

Add Navigator Bars for Decks and Collection grids (as Card Pool has) with custom Filter button.

Values in Added column in collection seem odd

Test to paste an old 2.0 collection file and try to open it as 3.0. We must check this an report an error

Make import Prices procedure for PAC and GEA

Abilities Pane

R201 - Each ability has an ability description which is taken from the Magic Comprehensive Rules and Official Magic FAQ

R202 - Ability description to allow Game Rules hyper links and links which navigate to a card in the Card Pool


Make unit tests for the Decks and Prices as well

fill the card pool with passing the column indexes as a structure (currently absolute indexes are used)


D101 - Split Timespiral to two sets Timespiral and Timeshifted

D102 - Assign the correct rarity for promotional cards. Currently most of them are rare

D103 - Add foreign language sets (lookup mci and faq)

D104 - Add missing sets

  • International Edition Dec 1993
  • DragonCon 07 1994
  • Novels 08 1994
  • Arena League ?? 1994
  • Renaissance 09 1995
  • Rivals 07 1996

D105 - Add Summer of Magic cards (from Summer of Magic.mht)


D202 - Add Wallpaper of the week to the card notes

D203 - Add new rarity type "Basic Land" for all basic lands

D204 - Perform database cleaning for foil, "name on card", release, type, language, version, name, short name, artist, text, flavor

Portal, Alternate Text, Starter 2, Player Starter, Eighth Edition Box, Ninth Edition Box, Anthologies Box, Visions, Alternate Art, Planeshift, Alternate Art, Microprose Computer Games, Sega Dreamcast, MTGO

D205 - Update the card text, artist names, flavor, types with the real umlauts, accents etc.

D206 - Add R1, R2, etc. Arabian Night rarities as custom card ability

D207 - The legality update procedure should mark all cards from Un-sets (like Unhinged, Unglued) as illegal


Enable auto vacuum for all databases Card Pool, Collection, Prices and test if shrinks indeed

OPT : Selected abilities settings can be stored in memory table

Add Price column in deck, and Availability column in deck

Add Price column in card pool and Availability columns


C104 - Display an icon with the flag of the country in whose language the card language is printed

C105 - A tool tip will be displayed while scrolling the card pool showing the current card name

C110 Add quick filters like in Access 2007 on the column headers for Equals, Contains, Does not equals, Does not contain, Clear Filter

C111 - Add to the column header filter box predefined values as in MTGS2

C112 - Ability to draw a small card image in the Preview line of the card pool (lookup DX Grid Demo Central Custom Draw Row Preview)

C113 - When grouped by rarity the full rarity name to be shown, same for color, edition abbreviation on the group row

C114 - Use RTF in Rules column for the preview column and replace the { T } with its image

C116 - Add a column in the card pool which shows how many copies of the card we have in the collection. There can be 2 values one for the exact set reprints and one one for all set reprints

C117 - Highlight card pool against

  • by edition
  • if supported by Shandalar
  • if supported by Magic Workstation
  • if supported by Magic Suitcase
  • if the card is last reprint or has a newer reprint
  • by the language of the card,
  • by release year
  • highlight against Collection availability
  • highlight agains Card Art availability

C120 - Update the database with correct umlauts in the card names, types, artist names, rules and flavor

C122 - Add promotional cards Pendelhaven [FNM 2008 Foil] Desert [FNM 2008 Foil] Shrapnel Blast [FNM 2008 Foil] Magma Jet [FNM 2009 Foil] Figure of Destiny [Eventide Release] Obelisk of Alara [Conflux Release] Cryptic Command [MPR 2008 Foil]

C125 - Add Spoiler card which can have its name and notes changed. This card can be used during the collection and deck design until a set is being added to MTG Studio.

C128 - Similarly to the card pool, it would be nice if a card highlighted or just added to the collection never appeared at the top or bottom of the screen, but always had a row above or below visible (to see neighboring cards).

C129 - Add new columns ... =2908#2908

C130 - See how Full Name column in Card Editor has ... and use it in Storage, Group, Notes for collection

C131 - The Never ask again for Adding a card to collection to be during the session and be able to toggle off

C136 - Clicking twice in the search bar sometimes performs a double-click and add a card instead.

C137 - Add tooltip to each card like in MTGO with all the important iformation for the card like Name, Color, Cost, P/T, Rules, Artist, Collector No, etc.

C138 - Display mana cost images as they are types in the top right corner of the card. See also.

C140 - Build a taxonomy for the card abilities


Collection Grid

I101 - In statusbar show the totals for Owned, Excess, Aquire cards in inventory

I106 - Add support for Edition Name column

I109 - The Price column must display the prices depending on the user settings - this should be available as an option to choose from: Chose Store: XXX Store YYY Store All Stores

and a sub-options: Average of non-foil cards Average of foil cards Average of all cards (no matter foil or not). There must be an Update Prices command which updates the Price column depending on the changed settings from Options dialog.

I111 - Add all key combinations in available for Card Pool to Collection

I112 - Make it possible to track unopen booster packs in your collection "Imagine you have 3 Mirage, 5 Time Spiral boosters etc. I want to be able to track them in my collection." I114 - Highlight collection rows against:

  • By Card Rarity
  • By Block
  • If legal for Standard
  • If legal for Extended
  • If legal for Legacy
  • If legal for Vintage
  • If available in MTG Online
  • If available in MTG Interactive Encyclopedia
  • highlight against edition
  • highlight against Collection availability
  • highlight agains Card Art availability
  • highlight against Shandalar availability
  • highlight against MWS availability
  • highlight against MSC avalability
  • highlight whether the card is the last reprint or it has a newer reprint
  • highlight against the card Language
  • highlight against release year

I116 - Add ability to lock the Collection setting it as read-only

I117 - Implement auto-update relation between qty columns CODE: SELECT ALL Owned - how much do you own. When changed Target (if NewOwned > Target then Excess++; else Acuire++;) Need - how many of that card I wish to have Excess - how much you have but don't need. When changed Excess (Target := Owned + Aquire - NewExess) Aquire - how much do you wish to aquire. When changed Aquire (Target := Owned + NewAquire - NewExess) Target - the desired number of cards to own. When changed Target (if NewTarget > Owned Aquire++; else Exess++;)

Collection Commands

I201 - When ctrl is holded and the mouse scroller is scrolled the Qty, Used, Needed, Excess, Target, Price, BuyAt, Sell At to be increased and decresed

I202 - Add option to choose whether to prompt "Do you wish to delete card XXX from your collection?" before deleting a card in the deck of collection

I204 - Ctrl+C to copy selected vell value, Ctrl+V to pause it, Ctrl+X to cut it

I205 - Batch Update of collection fields. Can work on the focused record, selected rows, all collection

I207 - When adding a card to your deck/inventory that has a note in the card pool, the card notes automatically to be copied down

I211 - While importing collection update the Main form statusbar with the label 'Importing collection...'

I219 - Add "Update Legality" command under Cards menu. This command will update the legality of the cards in the collection showing progressbar of the current status.

I222 - From the Options|Prompts screen to be able to turn on "asking for adding cards to Collection with apped or insert"

I224 - Add to Collection currently prompts for Add to Exiting or Add to new Row when the card is already present. Use some additional key like Shift, Ctr etc. to not prompt for the current batch, current card.

Collection Properties

I301 - Add collection properties similar to deck properties. Doubt that such need to be added.

I302 - Open collection properties when Alt+Return is pressed. Depends on I301

I303 - The inventory has the properties: name,owner,version, created, last modified, email, notes

I304 - When collection is imported the creation time property to be set the same as the creation time of the imported file.

Collection Statistics

I501 - Add collection statistics - color breakdown, card type breakdown, rarity breakdown, total cards in set, total price

I502 - Breakdown by card Print Type, Price distribution $0 $1 $3 $5 $10 $20 $50 $100+

I503 - Inventory Statistics grouped by rarity and sets with the following columns Total Number of Copies, Total Unique, Total in Set, Marked for Trade


Deck Grid

D103 - Add Reserved column along with Qty and SB to keep the amount of cards you are currently considering adding to your deck but not added yet. It can be named Consider deck area.

D104 - Deck and Sideboard cards are separated in two views, allowing to hide the rarely used Sideboard

D105 - Move the deck cards Up and Down in the deck. Assign Ctrl+Shift+Up, Ctrl+Shift+Down shortcuts. Details

D107 - Pressing the middle mouse button over a deck page to close the deck

D113 - When printing deck print the mana cost with glyphs instead of with symbols

D114 - Add "Open Containing Folder" menu to the context menu of the deck pages. It will open the folder where the deck is physically stored

D115 - Allow grid synchronization (when Fog is selected from the Decks the Fog in the card pool is located and shown vice versa). This feature is optional. Look the DX Grid Demo Central Several Data View

D116 - Support for Undo and Redo operations is planned (Add/Toggle/Remove/Replace/Delete operations, etc.)

D118 - Add the deck full path as a hint of the tab page in the Decks panel

D123 - When trying to open an already loaded deck do the following - ask whether to reload it or just to set it active. Currently we are just switching to it

D124 - When closing a large amount of decks the cursor to be changed to Hour Glass

D125 - Drag and drop cards between decks

D126 - When the X button is in the deck page control tab is clicked prompt for closing the deck

D127 - Drag and Drop - when a card is dragged from the card pool and dropped over the a deck, the card to be inserted at the row where the cursor is currently pointing. Currently the card is appended at the end of the grid.

D128 - If the opened deck has file size greater than 1 MB prompt the user if he wishes to continue opening the deck.

D129 - When the same deck is opened to ask whether to reopen it or just to set it active. Currently if the deck is opened we just set the focus to it.

D130 - When prompting for Exit and there are unsaved decks promt "Save deck before exiting?" with Yes, No, Cancel buttons

D131 - The page control with Decks to show hint with the full filename name and the logical deck name when the cursor is positioned over a tab sheet "DeckName [Filename]"

D132 - Ability to highlight the deck cards considering the card availability in the Collection (not available, not all copies available, all copies available (exact match), the collection has more copies than the number of copies used in the deck)

D134 - If not deck is opened the label in the cenger fo the Deck grid to saw. "<No deck is opened>"

D135 - Have an empty deck opened by default. If the user clicks Save for the first time it will be prompted for deck location and deck type.

D136 - Add Maybeboard for cards you consider adding to the deck

D137 - Rule "4 copies of a kind" is broken. If a Fog is added to a deck where a Fog from different set already exists ask whether to Q: I know the rules say no more then 4 of the same cards in the deck, but you can add 4 of each editions of the same card. That kind of defeats the purpose of enforcing the 4 card rule. A: I will make this optional in the Options form. "Allow same card from different edition" checkbox will be added.

Deck Commands

D201 - When Ctrl is holded and the mouse scroller is scrolled the quantity of the selected card in the deck to be increased and decreased

D202 - Ctrl + Up, Ctrl + Down to increase decrease qty, Ctrl+Alt+up/Down to increase/decrease SB quantity

D203 - Shift+"Add Card" adds exactly 4 cards

D204 - Shift+"Remove card" to remove all the cards from the deck

D205 - Exporting to .txt file format to allow choosing the encoding (including Unicode)

D206 - Add "Close All but This" menu to the context menu of the deck pages. It will close all opened decks except the currently visible one

D209 - Remember the last focused row in the deck and restore the focus on that row when the deck is reopened from file, or between switching decks

D210 - If "Add Card to Deck", or "Add Card to Sideboard" was pressed but no deck is currently open suggest creating a new deck ("Do you wish to create a new deck"? Yes|No)

D211 - "Copy as Text" command for decks adds ability to copy the deck to Windows clipboard as text CODE: SELECT ALL Add TXmlIndent for Collection. insert a TDomText node containing two spaces before each TDomComment node. If you only want

D213 - Add support for the Magic Album .mad deck file format.

the spaces in the XML output, you alternatively may use the TDomToXmlParser.OnBeforeWrite

D212 - Shift+Add Card adds exactly upto 4 cards. If more in the deck leave them, if less make them 4.

D213 - Copy the deck as formatted BBCode (with deck name in bold, deck colors, card names, quantity and card names as url to My Deck {G} 10 Terror 5 Fog ...

D214 - Shift+Double Click on a card to remove all copies of the card from deck. Same for sideboard.

D215 - Hold down a number key while adding or deleting cards to add or delete that quantity. For example, if you hold down the '5' key while pressing return to add a card, that card will be added with a quantity of 5. The '0' key corresponds to 10.

D125 - Allow marking cards in deck by using flags with different color (like in Outlook 2007). Add ability to sort by Flag. The user is able to define the default flag color.

D126 - Add menu command "Add deck to want list" - when there are quantities in the card which are not sufficient from the Inventory increase the inventory Acquire quantities

D127 - Drag from decks grid to the card pool when the Ctrl is down, remove all copies of the card from the deck

D130 - Add "Reopen Closed Deck" command

D131 - Add "Recently Closed Decks" command which lists all recently closed decks and also "Open All Closed Decks" subcommand. For reference see the IE8 implementation.

Deck File Formats

D301 - When importing a deck from a deck format different from *.deck format the file creation time stamp to be taken as the creation date.

D303 - When saving a Shandalar deck warn if the total number of cards is < 40

D304 - When saving a Shandalar deck warn if there are more than 500 total cards or 200 unique.

D306 - .deck deck file format to be able to save the selected rows in the grid and the focused one and restore those settings when being opened.

D307 - .deck deck file format to be able to have a setting the deck type. By default the following will be available Burn, Casual Play, Combo-Based, Control, Creature-Based, Creatureless, Discard, Fast Mana, Fun, Highlander, Horde, Land Destruction, Life Gain, Multi-Player, Rogue, Stompy, Theme-Based, Tournament Quality, Trash, Tribal, Weenie

D309 - .deck file format to save the Creation Time and Last Modification time with date and time. Currently only the date is saved.

D310 - When a card is exported in non-MTG Studio deck format, if the set abbreviation is not supported by the third party software the card to be exported as a comment. Such feature is currently available in .mwDecks since 1.5.7. Make it available for other comment-supporting formats

D212 - Validate all XML decks against their XSD schemas

D213 - Add support for OCTGN 2.0 .o8d decks

Deck Statistic

D404 - Manalyzer to have an option whether to to take into consideration the cards from the sideboard

D407 - MTG Online-like probability analyzer for creature types

D408- Add a "Prices" page which has the Total Deck Price (with/without sideboard), Avg. card price, Min. card price (and list of the cards with minimal price not counting the basic lands), Max. card price and the list of those most expensive cards

D410 - Calculate the total price of a deck and the total price for the cards needed (not available in the inventory)

D411 - from combobox to be able to select the deck whose stats you wish to see

D413 - The custom user card notes to be parsed using a paser and stored in a Hashtable

Deck Legality

D502 - Check if there are lands in the sideboard (this is not allowed)

D506 - check if there are tokens in the deck. Such are not allowed

D503 - Warn if there are newer reprints of the cards used in the deck

D504 - Change the interface to have a list of the formats on the left. Before each format name an icon showing whether the deck is valid for the format to be shown. The name of the format is colored depending on format type (ethernal, mtgo, etc.)

D505 - Change the interface the right-hand side of the dialog to have a browser where the reasons for the deck being invalid for the selected format to be shown

D506 - Validate is the deck is contains cards which are supported by the software this deck is relevant to Shandalar, Mana Link 2.0, MWS, MTG Online, etc.

Deck Properties

D602 - Open deck properties when Alt+Return is pressed

D603 - The Creation Time and Last Modified time to be allowed for editing

D604 - Deck version to be auto-incremented when saving a modified deck if the deck version has one of the following formats \d+, \d+\.{n}, or [AZaz]\d+.

D605 - In Deck Properties window show the file icon from own icons (LargeIcons.png) and if not found there show the Windows file associated icon

D606 - Create, Modified in Deck Properties to be mmmm d, yyyy

D607 - The email address field to be checked for correct email format using a regular expression

Open Deck Dialog

D701 - Open Dialog to have a custom place "My Decks"

Deck Printing

D901 - When printing the deck - print cards in the deck, sideboard, consider list, deck statistics, deck description and deck properties, deck legality, deck strategy, and deck colors

D902 - Print decks with row colors and man symbols as in grid

D903 - Print decks with statistics charts

Deck Protection

D1101 - if the deck file is readonly show a lock image in the deck page

D1102 - any attempt to edit a locked deck will result in a prompt "The deck is write protected. Do you wish to remove the readonly lock."

D1103 - add a File|Protect and File|Unprotect menu items to add/remove lock

D1104 - the the currently selected deck is protected the "Lock" icon to be also displayed in the modes "Deck from Card Pool" and "Deck from Collection" drop down list.

Deck Hints

D1202 - For some of the "Quick Hints" warning a "Quick Fix" can be applied by right-clicking over the warning icon. (For Example: right-clicking over a Quick Hint saying "Lands are not allowed in sideboard" will ask you whether to remove the land card from the sideboard.)

D1203 - Information whether the deck is legal for Standard, Extended, Legacy, and Vintage formats will be displayed in the status bar. There will be a tool tip displaying the reasons why the deck is not legal for the respective game format.


F105 - Add quick search filter buttons for color and type like in MTG Online

F106 - Ability to filter by notes

F107 - Filter by Price (Buy, Sell, Store)

F108 - Filter by Super type and Sub type

F110 - Add Guild Mana and Hybrid Mana filtering capabilities

F111 - Planned new filter criteria: Released after Date, Released prior to Date, Released within the interval X Date – Y Date

F112 - Ability to filter cards using regular expressions. Currently DX does not allow to do so. If the db is migrated to another database and the DX filtering is not used it may be performed on the db instead. Doubt this will be implemented soon.

F113 - Filter by language

F114 - Show Regular (non-promotional) Cards Command

F115 - Show Promotional Cards

F116 - When filtering deck filter by Qty, SB and Reserved

F117 - Ability to search for cards with names containing the apostrophe and come escaped as \' and \,.

F118 - In the Set Info panel show "Unique cards from the set in Collection": 209 / "All copies from the set in Collection": 511

F119 - The combo box for Sets to display the legality of the set for SELV (Standard, Extended, Legacy, and Vintage) after the name of the set

F120 - Show Unique Cards, Show Promotional Cards, Show Non-Promotional Cards, Show MTG Online Only, etc. filters will be moved from View menu to the Filter form

F122 - Be able to save and restore various filters. The name of the filter files to be loaded in a combo box.

F126 - Check Gatherer filters if it has some that MTG Studio does not support

F127 - The filter does not remember correct Unicode filters. The mtgstudio.filter file must be saved as UTF-8

F130 - Advanced Search form to be displayed as embeded control on the Filter dialog.

F131 - Be able to filter Deck by abilities

F132 - Be able to filter Collection by abilities

F133 - Be able to filter by Collection specific filters

F135 - Add additional set information

  • centered artist
  • merged artist with legal text
  • has brush symbol
  • is in print
  • list valid formats for this edition
  • add which other sets are in the block. show the sets for this block listed in release order

F136 - Filter by Standard, Extended etc. filters only cards from the latest edition. Show also the reprints of the cards which are tournament legal from previous editions. (This can be achieved by filtering by LEGALITY intead of by EDITION_ID).


O205 - Whenever the Notes dialog is called only the selected card's notes to be loaded and automatically saved upon dialog close

O208 - Add Notes column to the Card Pool and Deck which displays the first X symbols of the notes and has ... Button which when pressed opens the Notes dialog and loads the selected card notes

O209 - Add a new field in the .mtgs decks called Notes which to store the notes for a card in the deck

O210 - Attach the same dialog to the Notes column in the Collection to edit the collection card notes.

O224 - User Notes.txt to be loaded in THashedStringList only once not every time on demand

O226 - Notes dialog to be added for Collection, Deck and Card Pool

O227 - Make the Notes dialog card related (show only info for one card), add Notes column for both card pool and deck


O302 - Support for price lists from Online stores such as:

  • (Perform an empty serach and all card prices will be returned.)

O303- The user can choose the currency exchange rates and choose in what currency the prices to be displayed. The user can assign the exchange rate by himself or download it from Internet web service

O305 - The price is displayed from the last known price in the price lists, than the price is tried to be updated from Internet if there is an active connection, if the price has changed - update the price list

O307 - Make the reports data module a singleton

O308 - Remove the matherialized columns from the collection, fetch them from the attached card pool database

O309 - Compact the Collection on Exit

O310 - Add IsValid from Collection to Prices

O311 - Make Collection and Price inherit from one and the same class

O312 - Display progress bar when deleting and inerting records


I602 - Collection Report. Report like Edition Checklist which prints the quantity of cards which you have from this set and dim the ones which have qty = 0

I603 - Collection Report. Make a report showing grouped by Sets the the card names and the qty from collection. If the card has present more than 4 copies it is bold, if the card qty is 0 the font is red. Below each set a total of the copies, missing cards count to be shown.

I604 - Collection Report. Export collection with option to group by Set, Rarity, Color, Cost diapasons. Show total number of cards (Sum(Qty), count of cards Count(*), Total Value Sum(Price), Total Rare Price Sum(Rare cards Price).

O401 - Report which prints a game mat with life counter on it.

O403 - Report for the artist - artist contacts, list of his card images, proxies of his cards

O405 - Report for the edited deck. Prints the deck properties, cards, legality, statistics, availability in collection, total price

O406 - Report for the selected card - card details, card abilities, Oracle rules, all card notes, proxy image

O407 - Printing checklists

O408 - Printing tournament sheets

O409 - Printing Collection of cards

O410 - Printing card art availability, file size, image dimensions, image quality

O411 - Report for a given set. Prints is characteristics, list of cards, card legality

O412 - Printing game mats. The user will be able to choose a background of his own.

O413 - Printing life counters. The user will be able to choose a background of his own.

O414 - Report for a set - all information for the set, avg CMC, total CMC, set statistics

O415 - Report which prints life counters

G1101 - Add reports in the format of

G1102 - Add reports in of standard checklists

G1102 - Add reports as in Magic Workstation

G1103 - Add reports as in Magic Library


Card Preview

  • A103 - Show (like in mtgs2) the filename, card quality, size, bits per pixel, last modified, file size for the card in the tooltip. Use a transparent SuperTip for that.
  • A104 - Ability to choose a card back of your own. (Card back image is shown if the card face image is not found and during card image download from Internet)
  • A105 - When a card is selected from a modal dialog the card preview to display the selected card. When the modal dialog is closed the previously selected card to be restored.
  • A107 - If the card is not found in the hint show How it should be named, where it should be placed?
  • A108 - the Card Preview hints to be able to be toggled on/off. Add user interface for assigning this option
  • A109 - The card art hint to display information like in mtgs2 with the image size width/height, Bits per Pixel, Image Quality, Filename, File Size, File Created, Modified, Correct Filename if not correct.
  • A111 - The hint may optionally display the Card Rules as printed or the Oracle ones. This can be changed from the Options dialog.
  • A112 - Investigate dxFading usage instead of the custom fading.

Validate Card Art

A302 - Remember the checkbox states and restore them on form creation

A303 - Add the image quality as a new column in the grid

A307 - Pressing Del to simulate pressing the Delete button

A308 - Search summary by set in percentage Full, Cropped by Edition and total Summary

A310 - Search by Short Edition names

A311 - The progress form to display ... for longer lines in the label

A312 - Search in _CON folders and _CON subfolders


  • G209 - The user can control the number of last used decks to open when MTG Studio starts. Currently only one
  • G210 - Open and Save dialogs which open/save text files to be extended to display the first 1KB of the text file being manipulated on the right hand side of the dialog
  • G212 - Add small module icons on the right to the main menu bar
  • G213 - All Grids to have Popup Menu in the Filter Bar which allows to toggle the filter on/off
  • G214 - Operations can be canceled by pressing Ctrl+Break
  • G215 - Ability to "Reset Layout" which deletes all layout configuration files and does not saves them on exit
  • G216 - When right clicking over the menu tray baloon the hint not to be shown any more
  • G218 - When the program is minimized with Ctrl+Shift+L the minimization effect of the form not to be visible
  • G221 - All lengthy operations will display status bar with percentage of completion, the estimated time left, and ability to cancel them
  • G222 - Add visual tooltip with the card name while scrolling the card pool from the scrollbar (MTGS2 supports it)
  • G228 - Add support for Segoe UI and Calibri fonts when run on Vista. The change can be done general from TApplication instance
  • G321 - Use FlashWindowEx for notifying that something has happened (chat message received, import completed, etc.)
  • G329 - All Split Integers with ' to replaced with space
  • G331 - Automatically saving and restoring the last document used or all previously opened documents, and possibly restoring the previous scroll position.
  • G333 - Automatically expand an unexpanded node in a tree control when you drag and hold an object over the node for more than two seconds.


  • G701 - When a new panel is opened the first control in the panel to be focused
  • G704 - Ability to assign the deck file associations from Options menu. Currently only during setup
  • G705 - Ability to add MTG Studio to Windows Firewall allowed communication. Currently only durng setup ... hp/c14167/ C:\Program Files\Microsoft DirectX SDK (April 2007)\Samples\C++\Misc\FirewallInstallHelper

  • G709 - Use inherited from TRecall TOptionsRecall class to store the settings in the Options and allow Reset to Default button


  • G901 - Prompt whether to save the edited decks if the Windows is being shut down or cancel the reboot operation (as in MTGS 2.0)
  • G902 - The reminder about the program being minimized to have the text "Click here not to show this reminder any more.". Handle the click event over the ballon and set the App.config settind Show Minimized Reminder
  • G903 - When a directory is dragged in MTG Studio prompt "Open Decks", "Open Decks in sub-folders", "Cancel", and open all recognized decks from the folder.
  • G904 - MTG Studio will detect changes from Windows Explorer of the deck file (updated, deleted) and prompts you whether to keep the deck content or to update/close it
  • G906 - Each time the program is being started to check if the .deck file extension has not been reassociated with another program. If so ask to run a fix procedure.
  • G907 - for Windows 7 When right click over MTG Studio from task bar display a Task for openeing of a new deck, save current


Integrity Checks

A103 - Check all cards from Gatherer Oracle spoiler are present in the card pool

A104 - Check all cards from MWS are present in the card pool

Design Patterns

A201 - Automate with good interfaces as much as possible:

A202 - New Column

A203 - New Format

A204 - New Deck Parser

A205 - New Edition

A206 - New Collection Type Import

A207 - New Price Provider

Source Code

  • A201 - Make use of collections instead of dynamic arrays
  • A205 - Use the new TStreamWriter, TStreamReader classes
  • A208 - Remove unt_DirScan, unt_UTF8, unt_Encoding dependencies
  • A209 - Make the source code more OOP oriented, remove global constants and functions
  • A213 - All destructors check the composition objects for being assigned before trying to free them
  • A214 - Make all source code comments Help Insight compatible.
  • A215 - Replace calls of Pos with TString.IndexOf, Copy with TString.SubString and Delete with TString.Remove
  • A218 - Revise all encoded with # characters
  • A219 - Make all units UTF-8 encoded
  • A220 - Investigate the usage of TdxFader for fading in/out animations
  • A221 - Investigate the usage of TShadowWindow class
  • A224 - Make use of XSBuiltIns.DateTimeToXMLTime function instead of a custom one. Is it right?
  • A241 - New events published throughout VCL: OnMouseActivate, OnMouseEnter and OnMouseLeave now with reliable enter/leave detection
  • A243 - Replace unt_StrUtils.CRNL with TEnviroment.NewLine
  • A244 - Use dxImageList with PNG files instead of gif, jpg, bmp
  • A246 - Use TdxPNGImage instead of third party PNG
  • A250 - New TDragObject properties AlwaysShowDragImages and RightClickCancels
  • A251 - New TDragDockObject properties EraseDockRect and EraseWhenMoving
  • A252 - New TDragImageList property DragHotSpot

Delphi 2010 Upgrade

  • A309 - Refactor existing unt_File, unt_Directory, unt_Path to use the object-oriented file and directory IO classes
  • A320 - Gesture Designer enables full control of all gesture design and interaction
  • A321 - Gesture components (TGestureListView, TGesturePreview, TGestureRecorder)
  • A322 - TTouchKeyboard a virtual keyboard for enhanced non-keyboard interface interactions that supports multiple locales and languages
  • A325 - Use the new class constructor/destructors for all singletons and typesafe enums and remove all initilization/finalization sections
  • A330 - Use the new Diagnostics.TStopwatch
  • A331 - Use the new TimeSpan.TTImeSpan
  • A333 - Use TStringBuilder class

Delphi XE

  • A338 - TBinaryWriter make use of it instead of FileStrream raw writing
  • A339 - TBinaryReader make use of it instead of raw FileStream reading
  • A340 - Use SplitStrings instead of the custom TString own impmentation

Delphi XE3

Use record helpers to extend the string object and deprecate the TString method Site Updates

A401 - Use H1...H6 tags for important content for better SEO

A403 - Rename the screenhot files from "Shot1" to "screenshot-of-interface.png"

A404 - Put rel="nofollow" on links that should not be followed

A405 - Validate the web site against Section 508 rules at

A406 - Add Apple-Touch-Icon to the web site as described below ... r-any-site

A408 - add custom user tracking for google analytics for the download clicks and screenshot openers

Default Price Algo

I can think of the following default scenarios

1. Option to pick favorite store for pricing

2. Option to exclude prices for cards with different condition

3. Option to exclude prices for cards with different foil-ness

4. Option to exclude prices from different sets

or consider using an expert system

Possible Menus

Add 4 to deck

Add X to dekc

Add 4 to SB

Add X to sideboard

Remove X from deck

remove 4 from deck

remove X from sideaobrd

remove 4 from sideaobrd

add 10 to collection

add X to collection

remove 10 from collection

remove X from collection

Add mene for adding the card to collecting as a new row


Exchange Collection

N102 - Menu "Create Exchange File" - the exchange file contains all cards which you sell or wish to buy/trade. The exchange file has your Name, Email, Website, Country, Region, Comment. Exchange file can be uploaded to central server and viewed by MTG Studio users

Thumbs View

N1601 - support for visual editing of deck such as in MTG Online where cards can be sorted by piles

N302 - show hint on the card

N303 - The selected mode Grid or Thumbs to be saved and restored during MTG Studio settings

N304 - ability to choose different card sizes 50, 75, 98, 186

N305 - the Grid View row position to be synchronized with the Thumbs position

N306 - allow Incremental Search

N307 - The user can choose a max limit of cards to be cached or MB to be occupied by the cache. The cached can be cleared manually too. In the future caching the thumbnail images to disk can also be implemented.

N308 - Thumbnails are loaded in a separate thread.

N309 - The statusbar to display the download progress.

N310 - The selected cards to be displayed with lime

N311 - The card hints to show all info from the Grid view as Super Tip

Search in Decks

N1201 - Utility to search for a card in all decks on your local drive or Online published decks.

Search in Decks

N1501 - Allows searching for a card in all the opened decks. A form which shows the found results is displayed which shows in which deck the card is found.

Deck Summary

N1701 - Add a deck summary page with quick info about the color, type distibution, manalyzer and legality.

Net Deck

N1801 - Ability to upload your deck to a central deck database marking your deck as "private" or "public". You can use this feature to keep an on-line/backup copy of your decks.

N1802 - Ability to download your or other players' public decks from Internet

N1803 - Ability to set a password for viewing, uploading modification, allow rating of the deck

N1804 - Rate Deck" feature - allows you to rate published on-line decks

N1805 - A deck has a Keywords property which is a collection of words separated with commas. When a deck is uploaded online the deck keywords are used for searching

Sealed Deck Generator

N1901 - Finish the utility similar to MTGIE, MWS, ML

N1902 - The generated deck to be opened as a new deck.

Print Proxy

N2302 - You will be able which cards from the deck to print, whether to skip lands.

N2303 - Ability to choose the border of the printed card: no border, white borders, black borders, rounded borders

N2304 - You will be able to print a "Deck Card" describing the cards in the deck, the deck name, and creator

N2304 - Proxy Cards are printed the same size as the paper cards

N2306 - Option to choose whether to print the cards with their original type of borders

N2307 - Add the File|Print menu which prints the opened deck or collection

N2308 - There is an option to choose between the whole deck/collection or the selected cards.

N2309 - There is an option to choose the paper size (the default one is A4)

N2310 - On A4 paper sizethere can be 8 cards printed as shown in the image

N2311 - Add also a Deck Summary cards which as the cards in the deck printed as well

N2312 - Option to exclude some cards (let's say I don't want to print lands because I already have them)

Card Details

N2501 - From this dialog you can read all possible type of information about the card characteristics, notes, FAQ, combos, view Images, read Oracle rules, and card abilities

N2502 - Add Previous and Next buttons. They show the details for the next and previous card in the card pool, deck or inventory

N2503 - Card Details window shows information about the card availability from the inventory

N2504 - A dialog displaying all the information for a selected card: all its characteristics, border, release date, versions, alternate art versions, promo versions, Oracle text and type, game format legality, abilities, Crysta Keep errata, Card of the Day information, user notes, card art availability, prices, collection availability, etc.

N2505 - The card information can be printed as a report

N2506 - Add ability the user to define his own notes, rating, strategy, list of articles, combos, cards with same abilities

N2507 - Show Printed in which editions, First Printed, Last Printed

N2508 - Show the legality for all formats


N2601 - In the rules panel a user can select from 1 to 5 start. When he clicks his ranking is send to a web service.

N2602 - He can only change his ranking but not vote again.

N2603 - Ability to display the everage ranking from all user votes.

My Decks

  • N2701 - Add/Remove decks from your local disk by selecting them from an Open Dialog

If you add or remove decks to the "My Decks" the number of cards used in the decks is added/subtracted from the collection "Used in Decks" column. Whenever MTG Studio starts if checks if each deck in "My Decks" is still present on disk. If not a warning message is displayed in the Messages window and the decks is removed from the list.

  • N2702 - The "Used in Decks" column in the Collection is run-time evaluated by loading

the "My Decks" at MTG Studio startup. The value will NOT be stored in the mtgstudio.collection file since it is always run-time evaluated. MTG Studio "listens" while decks are being edited if the Last Modified timestamp of a deck has been changed and reevaluates the "Used in Decks".

Better images from

  • Journey into Nyx
  • Conspiracy
  • Magic 2015
  • From the Vault: Annihilation


"When I set the order of the columns from left to right that I prefer, it seems to not keep the order the next time started. It does keep the proper columns hidden or shown."

  • B101 - Pressing middle button to close the deck below the page instead of the currently active one
  • B103 - Small memory leak in closing MTG Studio while in the process of downloading card art
  • B105 - If the Application is terminated the other running threads such as checking for update, card art download, etc. to terminate gracefully.
  • B108 - Moving the Up and Down arrows in other non-modal dialogs cause the the cards in the main window to move. (The problem is in unt_Forms.ShowFormInTaskBar)
  • B111 - Do not allow more than 4 copies of a card (except for the Rats). Count also the versioned, reprinted and alternative art cards. (Currently reprinted and versioned cards can be added breaking the "4 copies of a kind" rule)
  • B112 - Fix replacing cards. The deck has cards A 2, B 3, C 1. We replace B with another C. The deck now looks like A 2, C 3, C 1, and it should look like A 2, C 4.
  • B113 - Importing .mwDeck with split cards to threat correct the split cards (which are separated with "--" instead of "/"). View issue When saving a split card in .mwDeck format replace the "/" with "--".
  • B115 - Pressing Alt keyboard button clears the IE Rules panel
  • B116 - Sometimes a not fully downloaded card art image is stored as invalid jpg file and causes AV upon drag and drop from Card Pool to Collection
  • B118 - If the name of the deck from Deck| Properties does not match the physical name of the deck for Shandalar, it does not show in the Shandalar Deck Editor
  • B119 - Double clicking over the Next Page, Prev Page, Close Page in pcDeck shows Open Dialog. DX Issue. No way to GetHitTest
  • B120 - If a column is used to group by and then is remove from the group by panel the column has 0 width in the card pool
Personal tools